From f60e60996dbfca5081a975061d886579a911aeba Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Fri, 18 Aug 2023 12:52:51 +0200 Subject: [PATCH 001/107] Initial commit --- .gitignore | 130 ++++++++++++++++++++++++++++++++++ LICENSE | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 + 3 files changed, 333 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..c6bba5913 --- /dev/null +++ b/.gitignore @@ -0,0 +1,130 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/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 [yyyy] [name of copyright owner] + + 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/README.md b/README.md new file mode 100644 index 000000000..e07e4e787 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# multi-parser-js +This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version From 8aa8a816d98f71237cb54d382458e172abda1734 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Fri, 18 Aug 2023 16:51:53 +0200 Subject: [PATCH 002/107] Initial commit --- .editorconfig | 12 + .eslintignore | 9 + .eslintrc | 134 + .gitignore | 138 +- .npmignore | 9 + .releaserc | 22 + .sonarcloud.properties | 1 + jest.config.ts | 25 + package-lock.json | 20156 +++++++++++++++++++++++++++++++++++++++ package.json | 79 + src/index.ts | 35 + test/index.spec.ts | 36 + tsconfig.cjs.json | 7 + tsconfig.json | 26 + 14 files changed, 20560 insertions(+), 129 deletions(-) create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .npmignore create mode 100644 .releaserc create mode 100644 .sonarcloud.properties create mode 100644 jest.config.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/index.ts create mode 100644 test/index.spec.ts create mode 100644 tsconfig.cjs.json create mode 100644 tsconfig.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..1cbf16249 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true + +[*.js] +indent_size = 2 +indent_style = space +quote_type = single \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..329c07896 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,9 @@ +node_modules +.vscode +.DS_Store +/docs +/coverage +/lib +/esm +/cjs +/browser \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..6ddc11a44 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,134 @@ +parser: "@typescript-eslint/parser" + +env: + node: true + es6: true + jest: true + mocha: true + browser: true + +plugins: + - "@typescript-eslint" + - sonarjs + - security + - github + +extends: + - eslint:recommended + - plugin:@typescript-eslint/eslint-recommended + - plugin:@typescript-eslint/recommended + - plugin:sonarjs/recommended + - plugin:security/recommended + +parserOptions: + ecmaVersion: 2018 + +rules: + # Ignore Rules + strict: 0 + no-underscore-dangle: 0 + no-mixed-requires: 0 + no-process-exit: 0 + no-warning-comments: 0 + no-use-before-define: 0 + curly: 0 + no-multi-spaces: 0 + no-alert: 0 + consistent-return: 0 + consistent-this: [0, self] + func-style: 0 + max-nested-callbacks: 0 + camelcase: 0 + no-dupe-class-members: 0 + security/detect-object-injection: 0 + sonarjs/no-small-switch: 0 + sonarjs/no-nested-template-literals: 0 + + # Warnings + no-debugger: 1 + no-empty: 1 + no-invalid-regexp: 1 + no-unused-expressions: 1 + no-native-reassign: 1 + no-fallthrough: 1 + sonarjs/cognitive-complexity: 1 + + # Errors + eqeqeq: 2 + no-undef: 2 + no-dupe-keys: 2 + no-empty-character-class: 2 + no-self-compare: 2 + valid-typeof: 2 + handle-callback-err: 2 + no-shadow-restricted-names: 2 + no-new-require: 2 + no-mixed-spaces-and-tabs: 2 + block-scoped-var: 2 + no-else-return: 2 + no-throw-literal: 2 + no-void: 2 + radix: 2 + wrap-iife: [2, outside] + no-shadow: 0 + no-path-concat: 2 + valid-jsdoc: [0, {requireReturn: false, requireParamDescription: false, requireReturnDescription: false}] + + # stylistic errors + no-spaced-func: 2 + semi-spacing: 2 + quotes: [2, 'single'] + key-spacing: [2, { beforeColon: false, afterColon: true }] + indent: [2, 2] + no-lonely-if: 2 + no-floating-decimal: 2 + brace-style: [2, 1tbs, { allowSingleLine: true }] + comma-style: [2, last] + no-multiple-empty-lines: [2, {max: 1}] + no-nested-ternary: 2 + operator-assignment: [2, always] + padded-blocks: [2, never] + quote-props: [2, as-needed] + keyword-spacing: [2, {'before': true, 'after': true, 'overrides': {}}] + space-before-blocks: [2, always] + array-bracket-spacing: [2, never] + computed-property-spacing: [2, never] + space-in-parens: [2, never] + space-unary-ops: [2, {words: true, nonwords: false}] + wrap-regex: 2 + linebreak-style: 0 + semi: [2, always] + arrow-spacing: [2, {before: true, after: true}] + no-class-assign: 2 + no-const-assign: 2 + no-this-before-super: 2 + no-var: 2 + object-shorthand: [2, always] + prefer-arrow-callback: 2 + prefer-const: 2 + prefer-spread: 2 + prefer-template: 2 + + # TypeScript + "@typescript-eslint/no-empty-interface": "off" + "@typescript-eslint/no-use-before-define": ["off"] + "@typescript-eslint/no-empty-function": "off" + "@typescript-eslint/ban-ts-comment": "off" + "@typescript-eslint/no-explicit-any": "off" + "@typescript-eslint/explicit-module-boundary-types": "off" + "@typescript-eslint/no-this-alias": "off" + "@typescript-eslint/no-unnecessary-type-constraint": "off" + "@typescript-eslint/ban-types": "off" + +overrides: + - files: + - "test/**" + - "*.spec.ts" + - "*.test.ts" + rules: + prefer-arrow-callback: 0 + sonarjs/no-duplicate-string: 0 + security/detect-object-injection: 0 + security/detect-non-literal-fs-filename: 0 + "@typescript-eslint/no-non-null-assertion": 0 + "@typescript-eslint/no-unused-vars": 0 diff --git a/.gitignore b/.gitignore index c6bba5913..943fd793b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,130 +1,10 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' +node_modules +.vscode +.DS_Store +/docs/api.md +/coverage +/lib +/esm +/cjs +/browser *.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* diff --git a/.npmignore b/.npmignore new file mode 100644 index 000000000..0a6120ec2 --- /dev/null +++ b/.npmignore @@ -0,0 +1,9 @@ +.DS_Store +*.swp +.github +.all-contributorsrc +.editorconfig +assets/logo.png +vscode +coverage +node_modules diff --git a/.releaserc b/.releaserc new file mode 100644 index 000000000..bc27e3500 --- /dev/null +++ b/.releaserc @@ -0,0 +1,22 @@ +--- +branches: +- master +# by default release workflow reacts on push not only to master. +#This is why out of the box sematic release is configured for all these branches +- name: next-spec + prerelease: true +- name: next-major + prerelease: true +- name: next-major-spec + prerelease: true +- name: beta + prerelease: true +- name: alpha + prerelease: true +plugins: +- - "@semantic-release/commit-analyzer" + - preset: conventionalcommits +- - "@semantic-release/release-notes-generator" + - preset: conventionalcommits +- "@semantic-release/npm" +- "@semantic-release/github" diff --git a/.sonarcloud.properties b/.sonarcloud.properties new file mode 100644 index 000000000..16365be9c --- /dev/null +++ b/.sonarcloud.properties @@ -0,0 +1 @@ +sonar.exclusions=test/**/* diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 000000000..c59d3b93e --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,25 @@ +import type { Config } from '@jest/types'; + +const config: Config.InitialOptions = { + coverageReporters: [ + 'text' + ], + transform: { + '^.+\\.(t|j)sx?$': '@swc/jest', + }, + // The root of your source code, typically /src + // `` is a token Jest substitutes + roots: [''], + // Test spec file resolution pattern + // Matches parent folder `__tests__` and filename + // should contain `test` or `spec`. + testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$', + // Module file extensions for importing + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], + testTimeout: 10000, + collectCoverageFrom: [ + 'src/**' + ], +}; + +export default config; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..a36dca6cf --- /dev/null +++ b/package-lock.json @@ -0,0 +1,20156 @@ +{ + "name": "@smoya/multi-parser", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@smoya/multi-parser", + "version": "0.1.0", + "license": "Apache-2.0", + "dependencies": { + "parserv2": "npm:@asyncapi/parser@^2.1.0", + "parserv3": "npm:@asyncapi/parser@^2.2.0-next-major-spec.2" + }, + "devDependencies": { + "@jest/types": "^29.0.2", + "@swc/core": "^1.2.248", + "@swc/jest": "^0.2.22", + "@types/jest": "^27.4.1", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "browserify": "^16.3.0", + "browserify-shim": "^3.8.14", + "cross-env": "^7.0.3", + "eslint": "^8.23.0", + "eslint-plugin-github": "^4.3.7", + "eslint-plugin-security": "^1.5.0", + "eslint-plugin-sonarjs": "^0.15.0", + "jest": "^29.0.2", + "markdown-toc": "^1.2.0", + "path-browserify": "^1.0.1", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "typescript": "^4.8.2", + "webpack": "^5.74.0", + "webpack-bundle-analyzer": "^4.6.1", + "webpack-cli": "^4.10.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@asyncapi/specs": { + "version": "6.0.0-next-major-spec.6", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.6.tgz", + "integrity": "sha512-xYiXZetKiAZgZoh2q/sxt+Ceg8bLTK/WSCwtLvlH7JgnjpnOEtCDwKszijmmOJEYdGVSrj0OFXLPrg/dm4JANw==", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", + "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@github/browserslist-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", + "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", + "dev": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/@jest/create-cache-key-function": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", + "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", + "dev": true, + "dependencies": { + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", + "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/ternary": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", + "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@openapi-contrib/openapi-schema-to-json-schema": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", + "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@stoplight/json": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", + "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.3", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "jsonc-parser": "~2.2.1", + "lodash": "^4.17.21", + "safe-stable-stringify": "^1.1" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json-ref-readers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", + "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", + "dependencies": { + "node-fetch": "^2.6.0", + "tslib": "^1.14.1" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@stoplight/json-ref-resolver": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", + "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", + "dependencies": { + "@stoplight/json": "^3.21.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0 || ^13.0.0", + "@types/urijs": "^1.19.19", + "dependency-graph": "~0.11.0", + "fast-memoize": "^2.5.2", + "immer": "^9.0.6", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "urijs": "^1.19.11" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json/node_modules/jsonc-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", + "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" + }, + "node_modules/@stoplight/ordered-object-literal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.4.tgz", + "integrity": "sha512-OF8uib1jjDs5/cCU+iOVy+GJjU3X7vk/qJIkIJFqwmlJKrrtijFmqwbu8XToXrwTYLQTP+Hebws5gtZEmk9jag==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/path": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", + "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-core": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz", + "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-parsers": "^1.0.0", + "@stoplight/spectral-ref-resolver": "^1.0.0", + "@stoplight/spectral-runtime": "^1.0.0", + "@stoplight/types": "~13.6.0", + "@types/es-aggregate-error": "^1.0.2", + "@types/json-schema": "^7.0.11", + "ajv": "^8.6.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.0", + "es-aggregate-error": "^1.0.7", + "jsonpath-plus": "7.1.0", + "lodash": "~4.17.21", + "lodash.topath": "^4.5.2", + "minimatch": "3.1.2", + "nimma": "0.2.2", + "pony-cause": "^1.0.0", + "simple-eval": "1.0.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dependencies": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", + "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/@stoplight/spectral-core/node_modules/jsonpath-plus": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", + "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@stoplight/spectral-formats": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.5.0.tgz", + "integrity": "sha512-VskkdU3qBSvI1dfJ79ysjvTssfNlbA6wrf/XkXK6iTyjfIVqOAWVtjypTb2U95tN/X8IjIBBhNWtZ4tNVZilrA==", + "dependencies": { + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.8.0", + "@types/json-schema": "^7.0.7", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-functions": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.7.2.tgz", + "integrity": "sha512-f+61/FtIkQeIo+a269CeaeqjpyRsgDyIk6DGr7iS4hyuk1PPk7Uf6MNRDs9FEIBh7CpdEJ+HSHbMLwgpymWTIw==", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.1", + "@stoplight/spectral-core": "^1.7.0", + "@stoplight/spectral-formats": "^1.0.0", + "@stoplight/spectral-runtime": "^1.1.0", + "ajv": "^8.6.3", + "ajv-draft-04": "~1.0.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.0", + "lodash": "~4.17.21", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dependencies": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/@stoplight/spectral-parsers": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.3.tgz", + "integrity": "sha512-J0KW5Rh5cHWnJQ3yN+cr/ijNFVirPSR0pkQbdrNX30VboEl083UEDrQ3yov9kjLVIWEk9t9kKE7Eo3QT/k4JLA==", + "dependencies": { + "@stoplight/json": "~3.21.0", + "@stoplight/types": "^13.6.0", + "@stoplight/yaml": "~4.2.3", + "tslib": "^2.3.1" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-ref-resolver": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.4.tgz", + "integrity": "sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==", + "dependencies": { + "@stoplight/json-ref-readers": "1.2.2", + "@stoplight/json-ref-resolver": "~3.1.6", + "@stoplight/spectral-runtime": "^1.1.2", + "dependency-graph": "0.11.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-runtime": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", + "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", + "dependencies": { + "@stoplight/json": "^3.17.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0", + "abort-controller": "^3.0.0", + "lodash": "^4.17.21", + "node-fetch": "^2.6.7", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-runtime/node_modules/@stoplight/types": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", + "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/types": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.19.0.tgz", + "integrity": "sha512-HvbH6fbvNcTJZVRGV1Xb87cwnXXuc94XYTg4SOvKOL4F9cc4UMw7Q40oaIgJ8iewkMnOSIlLExdmTkjF/QH2pg==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/yaml": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.2.3.tgz", + "integrity": "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw==", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.1", + "@stoplight/types": "^13.0.0", + "@stoplight/yaml-ast-parser": "0.0.48", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=10.8" + } + }, + "node_modules/@stoplight/yaml-ast-parser": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", + "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==" + }, + "node_modules/@swc/core": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.78.tgz", + "integrity": "sha512-y6DQP571v7fbUUY7nz5G4lNIRGofuO48K5pGhD9VnuOCTuptfooCdi8wnigIrIhM/M4zQ53m/YCMDCbOtDgEww==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.78", + "@swc/core-darwin-x64": "1.3.78", + "@swc/core-linux-arm-gnueabihf": "1.3.78", + "@swc/core-linux-arm64-gnu": "1.3.78", + "@swc/core-linux-arm64-musl": "1.3.78", + "@swc/core-linux-x64-gnu": "1.3.78", + "@swc/core-linux-x64-musl": "1.3.78", + "@swc/core-win32-arm64-msvc": "1.3.78", + "@swc/core-win32-ia32-msvc": "1.3.78", + "@swc/core-win32-x64-msvc": "1.3.78" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.78.tgz", + "integrity": "sha512-596KRua/d5Gx1buHKKchSyHuwoIL4S1BRD/wCvYNLNZ3xOzcuBBmXOjrDVigKi1ztNDeS07p30RO5UyYur0XAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.78.tgz", + "integrity": "sha512-w0RsD1onQAj0vuLAoOVi48HgnW6D6oBEIZP17l0HYejCDBZ+FRZLjml7wgNAWMqHcd2qNRqgtZ+v7aLza2JtBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.78.tgz", + "integrity": "sha512-v1CpRn+H6fha1WIqmdRvJM40pFdjUHrGfhf4Ygci72nlAU41l5XimN8Iwkm8FgIwf2wnv0lLzedSM4IHvpq/yA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.78.tgz", + "integrity": "sha512-Sis17dz9joJRFVvR/gteOZSUNrrrioo81RQzani0Zr5ZZOfWLMTB9DA+0MVlfnVa2taYcsJHJZFoAv9JkLwbzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.78.tgz", + "integrity": "sha512-E5F8/qp+QupnfBnsP4vN1PKyCmAHYHDG1GMyPE/zLFOUYLgw+jK4C9rfyLBR0o2bWo1ay2WCIjusBZD9XHGOSA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.78.tgz", + "integrity": "sha512-iDxa+RknnTQlyy+WfPor1FM6y44ERNI2E0xiUV6gV6uPwegCngi8LFC+E7IvP6+p+yXtAkesunAaiZ8nn0s+rw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.78.tgz", + "integrity": "sha512-dWtIYUFL5sMTE2UKshkXTusHcK8+zAhhGzvqWq1wJS45pqTlrAbzpyqB780fle880x3A6DMitWmsAFARdNzpuQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.78.tgz", + "integrity": "sha512-CXFaGEc2M9Su3UoUMC8AnzKb9g+GwPxXfakLWZsjwS448h6jcreExq3nwtBNdVGzQ26xqeVLMFfb1l/oK99Hwg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.78.tgz", + "integrity": "sha512-FaH1jwWnJpWkdImpMoiZpMg9oy9UUyZwltzN7hFwjR48e3Li82cRFb+9PifIBHCUSBM+CrrsJXbHP213IMVAyw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.78.tgz", + "integrity": "sha512-oYxa+tPdhlx1aH14AIoF6kvVjo49tEOW0drNqoEaVHufvgH0y43QU2Jum3b2+xXztmMRtzK2CSN3GPOAXDKKKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/jest": { + "version": "0.2.29", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.29.tgz", + "integrity": "sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==", + "dev": true, + "dependencies": { + "@jest/create-cache-key-function": "^27.4.2", + "jsonc-parser": "^3.2.0" + }, + "engines": { + "npm": ">= 7.0.0" + }, + "peerDependencies": { + "@swc/core": "*" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/es-aggregate-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.2.tgz", + "integrity": "sha512-erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", + "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/urijs": { + "version": "1.19.19", + "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.19.tgz", + "integrity": "sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg==" + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "dev": true, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", + "dev": true, + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "dev": true, + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accessory": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", + "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", + "dev": true, + "dependencies": { + "ap": "~0.2.0", + "balanced-match": "~0.2.0", + "dot-parts": "~1.0.0" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ap": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", + "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", + "dev": true + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/autolinker": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", + "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", + "dev": true, + "dependencies": { + "gulp-header": "^1.7.1" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/avsc": { + "version": "5.7.7", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", + "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==", + "engines": { + "node": ">=0.11" + } + }, + "node_modules/axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", + "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/brace-expansion/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "dependencies": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + }, + "bin": { + "browser-pack": "bin/cmd.js" + } + }, + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "dependencies": { + "resolve": "^1.17.0" + } + }, + "node_modules/browserify": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "dev": true, + "dependencies": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-shim": { + "version": "3.8.16", + "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", + "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", + "dev": true, + "dependencies": { + "exposify": "~0.5.0", + "mothership": "~0.3.0", + "rename-function-calls": "~0.1.0", + "resolve": "~0.6.1", + "through": "~2.3.4" + }, + "peerDependencies": { + "browserify": ">= 2.3" + } + }, + "node_modules/browserify-shim/node_modules/resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "dev": true + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001521", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", + "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coffee-script": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", + "dev": true, + "bin": { + "cake": "bin/cake", + "coffee": "bin/coffee" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, + "dependencies": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/concat-with-sourcemaps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/default-browser/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "dependencies": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + }, + "bin": { + "deps-sort": "bin/cmd.js" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/diacritics-map": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", + "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/dot-parts": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", + "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", + "dev": true + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.495", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", + "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-aggregate-error": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.9.tgz", + "integrity": "sha512-fvnX40sb538wdU6r4s35cq4EY6Lr09Upj40BEVem4LEsuW8XgQep9yD5Q1U2KftokNp1rWODFJ2qwZSsAjFpbg==", + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "function-bind": "^1.1.1", + "functions-have-names": "^1.2.3", + "get-intrinsic": "^1.1.3", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", + "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", + "dev": true, + "dependencies": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": "~0.1.30" + } + }, + "node_modules/escodegen/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/escodegen/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-escompat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", + "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.0" + }, + "peerDependencies": { + "eslint": ">=5.14.1" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-plugin-filenames": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", + "dev": true, + "dependencies": { + "lodash.camelcase": "4.3.0", + "lodash.kebabcase": "4.1.1", + "lodash.snakecase": "4.1.1", + "lodash.upperfirst": "4.3.1" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/eslint-plugin-github": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.9.2.tgz", + "integrity": "sha512-osez6Sio/fLr/3QkW5HE1wbCOcmYG5030/6QIa9IcKyyfchewlecdnYcsbeUMUtdIiU9lWqhroQp2H/O7auxBA==", + "dev": true, + "dependencies": { + "@github/browserslist-config": "^1.0.0", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "aria-query": "^5.3.0", + "eslint-config-prettier": ">=8.0.0", + "eslint-plugin-escompat": "^3.3.3", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-i18n-text": "^1.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-no-only-tests": "^3.0.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-rule-documentation": ">=1.0.0", + "jsx-ast-utils": "^3.3.2", + "prettier": "^3.0.0", + "svg-element-attributes": "^1.3.1" + }, + "bin": { + "eslint-ignore-errors": "bin/eslint-ignore-errors.js" + }, + "peerDependencies": { + "eslint": "^8.0.1" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz", + "integrity": "sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.4.0", + "@typescript-eslint/type-utils": "6.4.0", + "@typescript-eslint/utils": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/parser": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.0.tgz", + "integrity": "sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.4.0", + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/typescript-estree": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/scope-manager": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz", + "integrity": "sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/type-utils": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz", + "integrity": "sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.4.0", + "@typescript-eslint/utils": "6.4.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/types": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.0.tgz", + "integrity": "sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz", + "integrity": "sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/utils": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.0.tgz", + "integrity": "sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.4.0", + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/typescript-estree": "6.4.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz", + "integrity": "sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.4.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-i18n-text": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", + "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.12.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-no-only-tests": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", + "dev": true, + "engines": { + "node": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", + "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-security": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", + "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", + "dev": true, + "dependencies": { + "safe-regex": "^2.1.1" + } + }, + "node_modules/eslint-plugin-sonarjs": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", + "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-rule-documentation": { + "version": "1.0.23", + "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", + "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima-fb": { + "version": "3001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", + "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", + "dev": true, + "dependencies": { + "fill-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/exposify": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", + "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", + "dev": true, + "dependencies": { + "globo": "~1.1.0", + "map-obj": "~1.0.1", + "replace-requires": "~1.0.3", + "through2": "~0.4.0", + "transformify": "~0.1.1" + } + }, + "node_modules/exposify/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/exposify/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", + "dev": true + }, + "node_modules/exposify/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/exposify/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/exposify/node_modules/through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", + "dev": true, + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "node_modules/exposify/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "dev": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "dependencies": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-parent-dir": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", + "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", + "dev": true + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", + "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", + "dev": true, + "dependencies": { + "accessory": "~1.1.0", + "is-defined": "~1.0.0", + "ternary": "~1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/gray-matter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", + "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", + "dev": true, + "dependencies": { + "ansi-red": "^0.1.1", + "coffee-script": "^1.12.4", + "extend-shallow": "^2.0.1", + "js-yaml": "^3.8.1", + "toml": "^2.3.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gulp-header": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", + "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", + "deprecated": "Removed event-stream from gulp-header", + "dev": true, + "dependencies": { + "concat-with-sourcemaps": "*", + "lodash.template": "^4.4.0", + "through2": "^2.0.0" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-require": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", + "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.3" + } + }, + "node_modules/has-require/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "dev": true, + "dependencies": { + "source-map": "~0.5.3" + } + }, + "node_modules/insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "bin": { + "insert-module-globals": "bin/cmd.js" + } + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", + "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", + "dev": true + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-wsl/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", + "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.6.2", + "@jest/types": "^29.6.1", + "import-local": "^3.0.2", + "jest-cli": "^29.6.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-cli": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "dev": true, + "dependencies": { + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-config/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "dev": true, + "dependencies": { + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsep": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", + "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==", + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-migrate": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-0.2.0.tgz", + "integrity": "sha512-dq4/oHWmtw/+0ytnXsDqVn+VsVweTEmzm5jLgguPn9BjSzn6/q58ZiZx3BHiQyJs612f0T5Z+MrUEUUY5DHsRg==", + "dependencies": { + "ajv": "^5.0.0" + } + }, + "node_modules/json-schema-migrate/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/json-schema-migrate/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" + }, + "node_modules/json-schema-migrate/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsonpath-plus": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", + "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", + "dev": true, + "dependencies": { + "set-getter": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/list-item": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", + "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", + "dev": true, + "dependencies": { + "expand-range": "^1.8.1", + "extend-shallow": "^2.0.1", + "is-number": "^2.1.0", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-link": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", + "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-toc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", + "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.2", + "diacritics-map": "^0.1.0", + "gray-matter": "^2.1.0", + "lazy-cache": "^2.0.2", + "list-item": "^1.1.1", + "markdown-link": "^0.1.1", + "minimist": "^1.2.0", + "mixin-deep": "^1.1.3", + "object.pick": "^1.2.0", + "remarkable": "^1.7.1", + "repeat-string": "^1.6.1", + "strip-color": "^0.1.0" + }, + "bin": { + "markdown-toc": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "dev": true, + "dependencies": { + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "module-deps": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/mothership": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", + "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", + "dev": true, + "dependencies": { + "find-parent-dir": "~0.3.0" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nimma": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", + "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", + "dependencies": { + "@jsep-plugin/regex": "^1.0.1", + "@jsep-plugin/ternary": "^1.0.2", + "astring": "^1.8.1", + "jsep": "^1.2.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + }, + "optionalDependencies": { + "jsonpath-plus": "^6.0.1", + "lodash.topath": "^4.5.2" + } + }, + "node_modules/nimma/node_modules/jsonpath-plus": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", + "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "dev": true, + "dependencies": { + "path-platform": "~0.11.15" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parserv2": { + "name": "@asyncapi/parser", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", + "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", + "dependencies": { + "@asyncapi/specs": "^5.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + } + }, + "node_modules/parserv2/node_modules/@asyncapi/specs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", + "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, + "node_modules/parserv2/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/parserv2/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/parserv2/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/parserv3": { + "name": "@asyncapi/parser", + "version": "2.2.0-next-major-spec.2", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.2.0-next-major-spec.2.tgz", + "integrity": "sha512-KkS+sPCHFFPZrFzzx4UGiYDrDfJI583AksLFg6QUKwr5Wjq8o7cIC3Hel2ptaRVv5x1nJz0o6QzFeY7VIWCc1g==", + "dependencies": { + "@asyncapi/specs": "^6.0.0-next-major-spec.6", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + } + }, + "node_modules/parserv3/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/parserv3/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/parserv3/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/patch-text": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", + "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pony-cause": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", + "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", + "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ramldt2jsonschema": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ramldt2jsonschema/-/ramldt2jsonschema-1.2.3.tgz", + "integrity": "sha512-+wLDAV2NNv9NkfEUOYStaDu/6RYgYXeC1zLtXE+dMU/jDfjpN4iJnBGycDwFTFaIQGosOQhxph7fEX6Mpwxdug==", + "dependencies": { + "commander": "^5.0.0", + "js-yaml": "^3.14.0", + "json-schema-migrate": "^0.2.0", + "webapi-parser": "^0.5.0" + }, + "bin": { + "dt2js": "bin/dt2js.js", + "js2dt": "bin/js2dt.js" + } + }, + "node_modules/ramldt2jsonschema/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/ramldt2jsonschema/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/ramldt2jsonschema/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/randomatic/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/randomatic/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/remarkable": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", + "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", + "dev": true, + "dependencies": { + "argparse": "^1.0.10", + "autolinker": "~0.28.0" + }, + "bin": { + "remarkable": "bin/remarkable.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/remarkable/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/rename-function-calls": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", + "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", + "dev": true, + "dependencies": { + "detective": "~3.1.0" + } + }, + "node_modules/rename-function-calls/node_modules/detective": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", + "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", + "dev": true, + "dependencies": { + "escodegen": "~1.1.0", + "esprima-fb": "3001.1.0-dev-harmony-fb" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-requires": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", + "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", + "dev": true, + "dependencies": { + "detective": "^4.5.0", + "has-require": "~1.2.1", + "patch-text": "~1.0.2", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/replace-requires/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/replace-requires/node_modules/detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "dependencies": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "dependencies": { + "regexp-tree": "~0.1.1" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-getter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", + "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", + "dev": true, + "dependencies": { + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", + "dev": true, + "dependencies": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "node_modules/shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-eval": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", + "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", + "dependencies": { + "jsep": "^1.1.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-color": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "dependencies": { + "minimist": "^1.1.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-element-attributes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", + "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dev": true, + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "dependencies": { + "acorn-node": "^1.2.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ternary": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", + "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", + "dev": true + }, + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", + "dev": true, + "dependencies": { + "process": "~0.11.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex-range/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/toml": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true + }, + "node_modules/totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/transformify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", + "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", + "dev": true, + "dependencies": { + "readable-stream": "~1.1.9" + } + }, + "node_modules/transformify/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/transformify/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/transformify/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/ts-api-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-loader": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true, + "bin": { + "umd": "bin/cli.js" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + }, + "bin": { + "undeclared-identifiers": "bin.js" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" + }, + "node_modules/url": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + } + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webapi-parser": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webapi-parser/-/webapi-parser-0.5.0.tgz", + "integrity": "sha512-fPt6XuMqLSvBz8exwX4QE1UT+pROLHa00EMDCdO0ybICduwQ1V4f7AWX4pNOpCp+x+0FjczEsOxtQU0d8L3QKw==", + "dependencies": { + "ajv": "6.5.2" + } + }, + "node_modules/webapi-parser/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/webapi-parser/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", + "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-cli": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "cross-spawn": "^7.0.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "@webpack-cli/migrate": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@asyncapi/specs": { + "version": "6.0.0-next-major-spec.6", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.6.tgz", + "integrity": "sha512-xYiXZetKiAZgZoh2q/sxt+Ceg8bLTK/WSCwtLvlH7JgnjpnOEtCDwKszijmmOJEYdGVSrj0OFXLPrg/dm4JANw==", + "requires": { + "@types/json-schema": "^7.0.11" + } + }, + "@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "dev": true + }, + "@babel/core": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", + "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "dev": true, + "requires": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + } + }, + "@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "dev": true + }, + "@github/browserslist-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", + "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "@jest/create-cache-key-function": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", + "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + } + }, + "@jest/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", + "dev": true, + "requires": { + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" + } + }, + "@jest/expect-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3" + } + }, + "@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + } + }, + "@jest/reporters": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + } + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@jsep-plugin/regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", + "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", + "requires": {} + }, + "@jsep-plugin/ternary": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", + "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", + "requires": {} + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@openapi-contrib/openapi-schema-to-json-schema": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", + "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + } + }, + "@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@stoplight/json": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", + "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", + "requires": { + "@stoplight/ordered-object-literal": "^1.0.3", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "jsonc-parser": "~2.2.1", + "lodash": "^4.17.21", + "safe-stable-stringify": "^1.1" + }, + "dependencies": { + "jsonc-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", + "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" + } + } + }, + "@stoplight/json-ref-readers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", + "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", + "requires": { + "node-fetch": "^2.6.0", + "tslib": "^1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@stoplight/json-ref-resolver": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", + "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", + "requires": { + "@stoplight/json": "^3.21.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0 || ^13.0.0", + "@types/urijs": "^1.19.19", + "dependency-graph": "~0.11.0", + "fast-memoize": "^2.5.2", + "immer": "^9.0.6", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "urijs": "^1.19.11" + } + }, + "@stoplight/ordered-object-literal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.4.tgz", + "integrity": "sha512-OF8uib1jjDs5/cCU+iOVy+GJjU3X7vk/qJIkIJFqwmlJKrrtijFmqwbu8XToXrwTYLQTP+Hebws5gtZEmk9jag==" + }, + "@stoplight/path": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", + "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==" + }, + "@stoplight/spectral-core": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz", + "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==", + "requires": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-parsers": "^1.0.0", + "@stoplight/spectral-ref-resolver": "^1.0.0", + "@stoplight/spectral-runtime": "^1.0.0", + "@stoplight/types": "~13.6.0", + "@types/es-aggregate-error": "^1.0.2", + "@types/json-schema": "^7.0.11", + "ajv": "^8.6.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.0", + "es-aggregate-error": "^1.0.7", + "jsonpath-plus": "7.1.0", + "lodash": "~4.17.21", + "lodash.topath": "^4.5.2", + "minimatch": "3.1.2", + "nimma": "0.2.2", + "pony-cause": "^1.0.0", + "simple-eval": "1.0.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "requires": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "@stoplight/types": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", + "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", + "requires": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "requires": {} + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "jsonpath-plus": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", + "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==" + } + } + }, + "@stoplight/spectral-formats": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.5.0.tgz", + "integrity": "sha512-VskkdU3qBSvI1dfJ79ysjvTssfNlbA6wrf/XkXK6iTyjfIVqOAWVtjypTb2U95tN/X8IjIBBhNWtZ4tNVZilrA==", + "requires": { + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.8.0", + "@types/json-schema": "^7.0.7", + "tslib": "^2.3.1" + } + }, + "@stoplight/spectral-functions": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.7.2.tgz", + "integrity": "sha512-f+61/FtIkQeIo+a269CeaeqjpyRsgDyIk6DGr7iS4hyuk1PPk7Uf6MNRDs9FEIBh7CpdEJ+HSHbMLwgpymWTIw==", + "requires": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.1", + "@stoplight/spectral-core": "^1.7.0", + "@stoplight/spectral-formats": "^1.0.0", + "@stoplight/spectral-runtime": "^1.1.0", + "ajv": "^8.6.3", + "ajv-draft-04": "~1.0.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.0", + "lodash": "~4.17.21", + "tslib": "^2.3.0" + }, + "dependencies": { + "@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "requires": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "requires": {} + }, + "ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "requires": {} + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "@stoplight/spectral-parsers": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.3.tgz", + "integrity": "sha512-J0KW5Rh5cHWnJQ3yN+cr/ijNFVirPSR0pkQbdrNX30VboEl083UEDrQ3yov9kjLVIWEk9t9kKE7Eo3QT/k4JLA==", + "requires": { + "@stoplight/json": "~3.21.0", + "@stoplight/types": "^13.6.0", + "@stoplight/yaml": "~4.2.3", + "tslib": "^2.3.1" + } + }, + "@stoplight/spectral-ref-resolver": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.4.tgz", + "integrity": "sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==", + "requires": { + "@stoplight/json-ref-readers": "1.2.2", + "@stoplight/json-ref-resolver": "~3.1.6", + "@stoplight/spectral-runtime": "^1.1.2", + "dependency-graph": "0.11.0", + "tslib": "^2.3.1" + } + }, + "@stoplight/spectral-runtime": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", + "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", + "requires": { + "@stoplight/json": "^3.17.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0", + "abort-controller": "^3.0.0", + "lodash": "^4.17.21", + "node-fetch": "^2.6.7", + "tslib": "^2.3.1" + }, + "dependencies": { + "@stoplight/types": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", + "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", + "requires": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + } + } + } + }, + "@stoplight/types": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.19.0.tgz", + "integrity": "sha512-HvbH6fbvNcTJZVRGV1Xb87cwnXXuc94XYTg4SOvKOL4F9cc4UMw7Q40oaIgJ8iewkMnOSIlLExdmTkjF/QH2pg==", + "requires": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + } + }, + "@stoplight/yaml": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.2.3.tgz", + "integrity": "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw==", + "requires": { + "@stoplight/ordered-object-literal": "^1.0.1", + "@stoplight/types": "^13.0.0", + "@stoplight/yaml-ast-parser": "0.0.48", + "tslib": "^2.2.0" + } + }, + "@stoplight/yaml-ast-parser": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", + "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==" + }, + "@swc/core": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.78.tgz", + "integrity": "sha512-y6DQP571v7fbUUY7nz5G4lNIRGofuO48K5pGhD9VnuOCTuptfooCdi8wnigIrIhM/M4zQ53m/YCMDCbOtDgEww==", + "dev": true, + "requires": { + "@swc/core-darwin-arm64": "1.3.78", + "@swc/core-darwin-x64": "1.3.78", + "@swc/core-linux-arm-gnueabihf": "1.3.78", + "@swc/core-linux-arm64-gnu": "1.3.78", + "@swc/core-linux-arm64-musl": "1.3.78", + "@swc/core-linux-x64-gnu": "1.3.78", + "@swc/core-linux-x64-musl": "1.3.78", + "@swc/core-win32-arm64-msvc": "1.3.78", + "@swc/core-win32-ia32-msvc": "1.3.78", + "@swc/core-win32-x64-msvc": "1.3.78" + } + }, + "@swc/core-darwin-arm64": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.78.tgz", + "integrity": "sha512-596KRua/d5Gx1buHKKchSyHuwoIL4S1BRD/wCvYNLNZ3xOzcuBBmXOjrDVigKi1ztNDeS07p30RO5UyYur0XAA==", + "dev": true, + "optional": true + }, + "@swc/core-darwin-x64": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.78.tgz", + "integrity": "sha512-w0RsD1onQAj0vuLAoOVi48HgnW6D6oBEIZP17l0HYejCDBZ+FRZLjml7wgNAWMqHcd2qNRqgtZ+v7aLza2JtBQ==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm-gnueabihf": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.78.tgz", + "integrity": "sha512-v1CpRn+H6fha1WIqmdRvJM40pFdjUHrGfhf4Ygci72nlAU41l5XimN8Iwkm8FgIwf2wnv0lLzedSM4IHvpq/yA==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-gnu": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.78.tgz", + "integrity": "sha512-Sis17dz9joJRFVvR/gteOZSUNrrrioo81RQzani0Zr5ZZOfWLMTB9DA+0MVlfnVa2taYcsJHJZFoAv9JkLwbzg==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-musl": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.78.tgz", + "integrity": "sha512-E5F8/qp+QupnfBnsP4vN1PKyCmAHYHDG1GMyPE/zLFOUYLgw+jK4C9rfyLBR0o2bWo1ay2WCIjusBZD9XHGOSA==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-gnu": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.78.tgz", + "integrity": "sha512-iDxa+RknnTQlyy+WfPor1FM6y44ERNI2E0xiUV6gV6uPwegCngi8LFC+E7IvP6+p+yXtAkesunAaiZ8nn0s+rw==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-musl": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.78.tgz", + "integrity": "sha512-dWtIYUFL5sMTE2UKshkXTusHcK8+zAhhGzvqWq1wJS45pqTlrAbzpyqB780fle880x3A6DMitWmsAFARdNzpuQ==", + "dev": true, + "optional": true + }, + "@swc/core-win32-arm64-msvc": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.78.tgz", + "integrity": "sha512-CXFaGEc2M9Su3UoUMC8AnzKb9g+GwPxXfakLWZsjwS448h6jcreExq3nwtBNdVGzQ26xqeVLMFfb1l/oK99Hwg==", + "dev": true, + "optional": true + }, + "@swc/core-win32-ia32-msvc": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.78.tgz", + "integrity": "sha512-FaH1jwWnJpWkdImpMoiZpMg9oy9UUyZwltzN7hFwjR48e3Li82cRFb+9PifIBHCUSBM+CrrsJXbHP213IMVAyw==", + "dev": true, + "optional": true + }, + "@swc/core-win32-x64-msvc": { + "version": "1.3.78", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.78.tgz", + "integrity": "sha512-oYxa+tPdhlx1aH14AIoF6kvVjo49tEOW0drNqoEaVHufvgH0y43QU2Jum3b2+xXztmMRtzK2CSN3GPOAXDKKKg==", + "dev": true, + "optional": true + }, + "@swc/jest": { + "version": "0.2.29", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.29.tgz", + "integrity": "sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==", + "dev": true, + "requires": { + "@jest/create-cache-key-function": "^27.4.2", + "jsonc-parser": "^3.2.0" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/es-aggregate-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.2.tgz", + "integrity": "sha512-erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==", + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "requires": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/node": { + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", + "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==" + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/urijs": { + "version": "1.19.19", + "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.19.tgz", + "integrity": "sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg==" + }, + "@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accessory": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", + "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", + "dev": true, + "requires": { + "ap": "~0.2.0", + "balanced-match": "~0.2.0", + "dot-parts": "~1.0.0" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true, + "optional": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "ap": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", + "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", + "dev": true + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "requires": { + "dequal": "^2.0.3" + } + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==" + }, + "autolinker": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", + "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", + "dev": true, + "requires": { + "gulp-header": "^1.7.1" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "avsc": { + "version": "5.7.7", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", + "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==" + }, + "axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "dev": true + }, + "axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", + "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "requires": { + "big-integer": "^1.6.44" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + } + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + }, + "dependencies": { + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "requires": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + } + }, + "browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "requires": { + "resolve": "^1.17.0" + } + }, + "browserify": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "dev": true, + "requires": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-shim": { + "version": "3.8.16", + "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", + "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", + "dev": true, + "requires": { + "exposify": "~0.5.0", + "mothership": "~0.3.0", + "rename-function-calls": "~0.1.0", + "resolve": "~0.6.1", + "through": "~2.3.4" + }, + "dependencies": { + "resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "requires": { + "run-applescript": "^5.0.0" + } + }, + "cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001521", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", + "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coffee-script": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, + "requires": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "requires": {} + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, + "default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "requires": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + } + } + }, + "default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "requires": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + } + }, + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" + }, + "deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + } + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true + }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "diacritics-map": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", + "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "dot-parts": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", + "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.495", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", + "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + } + }, + "es-aggregate-error": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.9.tgz", + "integrity": "sha512-fvnX40sb538wdU6r4s35cq4EY6Lr09Upj40BEVem4LEsuW8XgQep9yD5Q1U2KftokNp1rWODFJ2qwZSsAjFpbg==", + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "function-bind": "^1.1.1", + "functions-have-names": "^1.2.3", + "get-intrinsic": "^1.1.3", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0" + } + }, + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "escodegen": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", + "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", + "dev": true, + "requires": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.30" + }, + "dependencies": { + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", + "dev": true + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-escompat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", + "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", + "dev": true, + "requires": { + "browserslist": "^4.21.0" + } + }, + "eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "eslint-plugin-filenames": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", + "dev": true, + "requires": { + "lodash.camelcase": "4.3.0", + "lodash.kebabcase": "4.1.1", + "lodash.snakecase": "4.1.1", + "lodash.upperfirst": "4.3.1" + } + }, + "eslint-plugin-github": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.9.2.tgz", + "integrity": "sha512-osez6Sio/fLr/3QkW5HE1wbCOcmYG5030/6QIa9IcKyyfchewlecdnYcsbeUMUtdIiU9lWqhroQp2H/O7auxBA==", + "dev": true, + "requires": { + "@github/browserslist-config": "^1.0.0", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "aria-query": "^5.3.0", + "eslint-config-prettier": ">=8.0.0", + "eslint-plugin-escompat": "^3.3.3", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-i18n-text": "^1.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-no-only-tests": "^3.0.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-rule-documentation": ">=1.0.0", + "jsx-ast-utils": "^3.3.2", + "prettier": "^3.0.0", + "svg-element-attributes": "^1.3.1" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz", + "integrity": "sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.4.0", + "@typescript-eslint/type-utils": "6.4.0", + "@typescript-eslint/utils": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/parser": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.0.tgz", + "integrity": "sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "6.4.0", + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/typescript-estree": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz", + "integrity": "sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz", + "integrity": "sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "6.4.0", + "@typescript-eslint/utils": "6.4.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/types": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.0.tgz", + "integrity": "sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz", + "integrity": "sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/visitor-keys": "6.4.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/utils": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.0.tgz", + "integrity": "sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.4.0", + "@typescript-eslint/types": "6.4.0", + "@typescript-eslint/typescript-estree": "6.4.0", + "semver": "^7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz", + "integrity": "sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.4.0", + "eslint-visitor-keys": "^3.4.1" + } + } + } + }, + "eslint-plugin-i18n-text": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", + "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", + "dev": true, + "requires": {} + }, + "eslint-plugin-import": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.12.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-no-only-tests": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", + "dev": true + }, + "eslint-plugin-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", + "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + } + }, + "eslint-plugin-security": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", + "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", + "dev": true, + "requires": { + "safe-regex": "^2.1.1" + } + }, + "eslint-plugin-sonarjs": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", + "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", + "dev": true, + "requires": {} + }, + "eslint-rule-documentation": { + "version": "1.0.23", + "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", + "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esprima-fb": { + "version": "3001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", + "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", + "dev": true + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + } + }, + "expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true + }, + "jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "exposify": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", + "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", + "dev": true, + "requires": { + "globo": "~1.1.0", + "map-obj": "~1.0.1", + "replace-requires": "~1.0.3", + "through2": "~0.4.0", + "transformify": "~0.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "find-parent-dir": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", + "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", + "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", + "dev": true, + "requires": { + "accessory": "~1.1.0", + "is-defined": "~1.0.0", + "ternary": "~1.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "gray-matter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", + "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", + "dev": true, + "requires": { + "ansi-red": "^0.1.1", + "coffee-script": "^1.12.4", + "extend-shallow": "^2.0.1", + "js-yaml": "^3.8.1", + "toml": "^2.3.2" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "gulp-header": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", + "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", + "dev": true, + "requires": { + "concat-with-sourcemaps": "*", + "lodash.template": "^4.4.0", + "through2": "^2.0.0" + } + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-require": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", + "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.3" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "dev": true + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "dev": true, + "requires": { + "source-map": "~0.5.3" + } + }, + "insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "dev": true, + "requires": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + } + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", + "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", + "dev": true + }, + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "requires": { + "is-docker": "^3.0.0" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + }, + "dependencies": { + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + } + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", + "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", + "dev": true, + "requires": { + "@jest/core": "^29.6.2", + "@jest/types": "^29.6.1", + "import-local": "^3.0.2", + "jest-cli": "^29.6.2" + } + }, + "jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true + }, + "jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-cli": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "dev": true, + "requires": { + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + } + }, + "jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + } + } + }, + "jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + } + } + }, + "jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true + }, + "jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", + "dev": true, + "requires": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" + } + }, + "jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true + }, + "jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsep": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", + "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-migrate": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-0.2.0.tgz", + "integrity": "sha512-dq4/oHWmtw/+0ytnXsDqVn+VsVweTEmzm5jLgguPn9BjSzn6/q58ZiZx3BHiQyJs612f0T5Z+MrUEUUY5DHsRg==", + "requires": { + "ajv": "^5.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" + } + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "jsonpath-plus": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", + "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==" + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", + "dev": true, + "requires": { + "set-getter": "^0.1.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "list-item": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", + "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "extend-shallow": "^2.0.1", + "is-number": "^2.1.0", + "repeat-string": "^1.5.2" + } + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" + }, + "lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + }, + "markdown-link": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", + "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", + "dev": true + }, + "markdown-toc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", + "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", + "dev": true, + "requires": { + "concat-stream": "^1.5.2", + "diacritics-map": "^0.1.0", + "gray-matter": "^2.1.0", + "lazy-cache": "^2.0.2", + "list-item": "^1.1.1", + "markdown-link": "^0.1.1", + "minimist": "^1.2.0", + "mixin-deep": "^1.1.3", + "object.pick": "^1.2.0", + "remarkable": "^1.7.1", + "repeat-string": "^1.6.1", + "strip-color": "^0.1.0" + } + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "dev": true, + "requires": { + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "mothership": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", + "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", + "dev": true, + "requires": { + "find-parent-dir": "~0.3.0" + } + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nimma": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", + "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", + "requires": { + "@jsep-plugin/regex": "^1.0.1", + "@jsep-plugin/ternary": "^1.0.2", + "astring": "^1.8.1", + "jsep": "^1.2.0", + "jsonpath-plus": "^6.0.1", + "lodash.topath": "^4.5.2" + }, + "dependencies": { + "jsonpath-plus": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", + "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", + "optional": true + } + } + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "dev": true, + "requires": { + "path-platform": "~0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parserv2": { + "version": "npm:@asyncapi/parser@2.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", + "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", + "requires": { + "@asyncapi/specs": "^5.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + }, + "dependencies": { + "@asyncapi/specs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", + "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", + "requires": { + "@types/json-schema": "^7.0.11" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "requires": {} + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "parserv3": { + "version": "npm:@asyncapi/parser@2.2.0-next-major-spec.2", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.2.0-next-major-spec.2.tgz", + "integrity": "sha512-KkS+sPCHFFPZrFzzx4UGiYDrDfJI583AksLFg6QUKwr5Wjq8o7cIC3Hel2ptaRVv5x1nJz0o6QzFeY7VIWCc1g==", + "requires": { + "@asyncapi/specs": "^6.0.0-next-major-spec.6", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "requires": {} + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "patch-text": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", + "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", + "dev": true + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pony-cause": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", + "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", + "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "ramldt2jsonschema": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ramldt2jsonschema/-/ramldt2jsonschema-1.2.3.tgz", + "integrity": "sha512-+wLDAV2NNv9NkfEUOYStaDu/6RYgYXeC1zLtXE+dMU/jDfjpN4iJnBGycDwFTFaIQGosOQhxph7fEX6Mpwxdug==", + "requires": { + "commander": "^5.0.0", + "js-yaml": "^3.14.0", + "json-schema-migrate": "^0.2.0", + "webapi-parser": "^0.5.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "remarkable": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", + "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", + "dev": true, + "requires": { + "argparse": "^1.0.10", + "autolinker": "~0.28.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + } + } + }, + "rename-function-calls": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", + "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", + "dev": true, + "requires": { + "detective": "~3.1.0" + }, + "dependencies": { + "detective": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", + "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", + "dev": true, + "requires": { + "escodegen": "~1.1.0", + "esprima-fb": "3001.1.0-dev-harmony-fb" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "replace-requires": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", + "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", + "dev": true, + "requires": { + "detective": "^4.5.0", + "has-require": "~1.2.1", + "patch-text": "~1.0.2", + "xtend": "~4.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "requires": { + "regexp-tree": "~0.1.1" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-getter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", + "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", + "dev": true, + "requires": { + "to-object-path": "^0.3.0" + } + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", + "dev": true, + "requires": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true + }, + "simple-eval": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", + "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", + "requires": { + "jsep": "^1.1.2" + } + }, + "sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-color": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "requires": { + "minimist": "^1.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-element-attributes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", + "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", + "dev": true + }, + "synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dev": true, + "requires": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + } + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "requires": { + "acorn-node": "^1.2.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "ternary": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", + "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", + "dev": true + }, + "terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "dependencies": { + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", + "dev": true, + "requires": { + "process": "~0.11.0" + } + }, + "titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + }, + "dependencies": { + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + } + } + }, + "toml": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true + }, + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "transformify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", + "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + } + } + }, + "ts-api-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "dev": true, + "requires": {} + }, + "ts-loader": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "dependencies": { + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + } + } + }, + "tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true + }, + "umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "requires": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } + } + }, + "urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" + }, + "url": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "dev": true, + "requires": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webapi-parser": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webapi-parser/-/webapi-parser-0.5.0.tgz", + "integrity": "sha512-fPt6XuMqLSvBz8exwX4QE1UT+pROLHa00EMDCdO0ybICduwQ1V4f7AWX4pNOpCp+x+0FjczEsOxtQU0d8L3QKw==", + "requires": { + "ajv": "6.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + } + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", + "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "dependencies": { + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "cross-spawn": "^7.0.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..71ec8c837 --- /dev/null +++ b/package.json @@ -0,0 +1,79 @@ +{ + "name": "@smoya/multi-parser", + "version": "0.1.0", + "description": "This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version", + "bugs": { + "url": "https://github.com/smoya/multi-parser-js/issues" + }, + "repository": { + "type": "git", + "url": "git://github.com/smoya/multi-parser-js.git" + }, + "publishConfig": { + "access": "public" + }, + "license": "Apache-2.0", + "homepage": "https://github.com/smoya/multi-parser-js", + "sideEffects": false, + "main": "cjs/index.js", + "module": "esm/index.js", + "types": "esm/index.d.ts", + "files": [ + "/esm", + "/cjs", + "/browser", + "LICENSE", + "README.md" + ], + "scripts": { + "build": "npm run build:esm && npm run build:cjs && npm run build:browser", + "build:esm": "tsc", + "build:cjs": "tsc --project ./tsconfig.cjs.json", + "build:browser": "webpack", + "test": "npm run test:unit && npm run test:browser", + "test:unit": "cross-env CI=true jest --coverage --testPathIgnorePatterns=test/browser/*", + "test:browser": "npm run build:browser && cross-env CI=true jest -- ./test/browser/*", + "lint": "eslint --max-warnings 0 --config .eslintrc .", + "lint:fix": "eslint --max-warnings 0 --config .eslintrc . --fix", + "generate:readme:toc": "markdown-toc -i \"README.md\"", + "generate:assets": "npm run build && npm run generate:readme:toc", + "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", + "prepublishOnly": "npm run generate:assets" + }, + "dependencies": { + "parserv2": "npm:@asyncapi/parser@^2.1.0", + "parserv3": "npm:@asyncapi/parser@^2.2.0-next-major-spec.2" + }, + "devDependencies": { + "@jest/types": "^29.0.2", + "@swc/core": "^1.2.248", + "@swc/jest": "^0.2.22", + "@types/jest": "^27.4.1", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "browserify": "^16.3.0", + "browserify-shim": "^3.8.14", + "cross-env": "^7.0.3", + "eslint": "^8.23.0", + "eslint-plugin-github": "^4.3.7", + "eslint-plugin-security": "^1.5.0", + "eslint-plugin-sonarjs": "^0.15.0", + "jest": "^29.0.2", + "markdown-toc": "^1.2.0", + "path-browserify": "^1.0.1", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "typescript": "^4.8.2", + "webpack": "^5.74.0", + "webpack-bundle-analyzer": "^4.6.1", + "webpack-cli": "^4.10.0" + }, + "browserify": { + "transform": [ + "browserify-shim" + ] + }, + "browserify-shim": { + "node-fetch": "global:fetch" + } +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 000000000..91eca34d2 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,35 @@ +import { Parser as ParserV2 } from 'parserv2'; +import { Parser as ParserV3, convertToOldAPI as convertToOldAPIV3 } from 'parserv3'; + +import type { ParseOutput as ParseOutputV2 } from 'parserv2'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceV3, ParseOutput as ParseOutputV3Original } from 'parserv3'; +import type { AsyncAPIDocument as AsyncAPIDocumentV3 } from 'parserv3/esm/old-api/asyncapi'; + +export type ParseOutputV3 = ParseOutputV3Original & { document: AsyncAPIDocumentInterfaceV3 | AsyncAPIDocumentV3 | undefined } +export type ParseOutputPerVersion = ParseOutputV2 | ParseOutputV3 | undefined; +export type ParseOptions = { + ParserAPIMajorVersion: number; +} + +// Cache for parsers +const parsers = new Map(); +export async function Parse(doc: any, options?: ParseOptions): Promise { + if (!options || !options.ParserAPIMajorVersion) { + // Using Parser v3 (latest atm) by default + if (!parsers.has(3)) parsers.set(3, new ParserV3()); + const parsedDoc = await (parsers.get(3) as ParserV3).parse(doc) as ParseOutputV3; + if (parsedDoc?.document) parsedDoc.document = convertToOldAPIV3(parsedDoc.document) as any; + + return parsedDoc; + } + + switch (options.ParserAPIMajorVersion) { + case 1: + if (!parsers.has(2)) parsers.set(2, new ParserV2()); + return await parsers.get(2)?.parse(doc); + case 2: + if (!parsers.has(3)) parsers.set(3, new ParserV3()); + return await parsers.get(3)?.parse(doc); + } +} + diff --git a/test/index.spec.ts b/test/index.spec.ts new file mode 100644 index 000000000..2a163df7c --- /dev/null +++ b/test/index.spec.ts @@ -0,0 +1,36 @@ + +import { Parse, ParseOutputPerVersion } from '../src/index'; + +import type { ParseOutput as ParseOutputV2 } from 'parserv2'; +import type { ParseOutput as ParseOutputV3 } from 'parserv3'; +import { AsyncAPIDocument } from 'parserv3/esm/old-api/asyncapi'; + +describe('Parse()', function() { + it('Parses documents and outputs an AsyncAPIDocument compatible with Parser-API v1', async function() { + const doc = { asyncapi: '2.0.0', info: { title: '', version: '' }, channels: {} }; + const output = await Parse(doc, { ParserAPIMajorVersion: 1 }) as ParseOutputV2; + + expect(output).toBeDefined(); + expect(output.document).toBeDefined(); + expect(output.document?.extensions().get('x-parser-api-version')?.value()).toBe(1); + }); + + it('Parses documents and outputs an AsyncAPIDocument compatible with Parser-API v2', async function() { + const doc = { asyncapi: '3.0.0', info: { title: '', version: '' } }; + const output = await Parse(doc, { ParserAPIMajorVersion: 2 }) as ParseOutputV3; + + expect(output).toBeDefined(); + expect(output.document).toBeDefined(); + expect((output.document?.extensions().get('x-parser-api-version')?.value() as string).split('.')[0]).toBe('2'); + }); + + it('Parses documents and outputs an AsyncAPIDocument compatible with old API prior to parser-api existence', async function() { + const doc = { asyncapi: '3.0.0', info: { title: '', version: '' } }; + const output = await Parse(doc) as ParseOutputV3; + + expect(output).toBeDefined(); + expect(output.document).toBeDefined(); + const output2 = output as ParseOutputPerVersion; + expect((output2?.document as AsyncAPIDocument).extension('x-parser-api-version')).toEqual(0); + }); +}); \ No newline at end of file diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json new file mode 100644 index 000000000..a21e300b0 --- /dev/null +++ b/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "commonjs", + "outDir": "./cjs" + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..cf73ca08b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "outDir": "./esm", + "baseUrl": "./src", + "target": "es6", + "module": "esnext", + "lib": [ + "esnext", + "DOM" + ], + "declaration": true, + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + }, + "include": [ + "src" + ] +} \ No newline at end of file From 7ddfd58a7e892864b128d13bfc93b22abb762f99 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 23 Aug 2023 17:12:24 +0200 Subject: [PATCH 003/107] feat: add CI/CD workflows --- .github/workflows/if-nodejs-pr-testing.yml | 78 + .github/workflows/if-nodejs-release.yml | 126 + .github/workflows/lint-pr-title.yml | 47 + .releaserc | 2 +- package-lock.json | 3758 +------------------- package.json | 25 +- 6 files changed, 394 insertions(+), 3642 deletions(-) create mode 100644 .github/workflows/if-nodejs-pr-testing.yml create mode 100644 .github/workflows/if-nodejs-release.yml create mode 100644 .github/workflows/lint-pr-title.yml diff --git a/.github/workflows/if-nodejs-pr-testing.yml b/.github/workflows/if-nodejs-pr-testing.yml new file mode 100644 index 000000000..9ce9f9a19 --- /dev/null +++ b/.github/workflows/if-nodejs-pr-testing.yml @@ -0,0 +1,78 @@ +# This action is centrally managed in https://github.com/asyncapi/.github/ +# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo + +# It does magic only if there is package.json file in the root of the project +name: PR testing - if Node project + +on: + pull_request: + types: [opened, reopened, synchronize, ready_for_review] + +jobs: + test-nodejs-pr: + name: Test NodeJS PR - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - if: > + !github.event.pull_request.draft && !( + (github.actor == 'asyncapi-bot' && ( + startsWith(github.event.pull_request.title, 'ci: update of files from global .github repo') || + startsWith(github.event.pull_request.title, 'chore(release):') + )) || + (github.actor == 'asyncapi-bot-eve' && ( + startsWith(github.event.pull_request.title, 'ci: update of files from global .github repo') || + startsWith(github.event.pull_request.title, 'chore(release):') + )) || + (github.actor == 'allcontributors[bot]' && + startsWith(github.event.pull_request.title, 'docs: add') + ) + ) + id: should_run + name: Should Run + run: echo "shouldrun=true" >> $GITHUB_OUTPUT + - if: steps.should_run.outputs.shouldrun == 'true' + name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows + run: | + git config --global core.autocrlf false + git config --global core.eol lf + - if: steps.should_run.outputs.shouldrun == 'true' + name: Checkout repository + uses: actions/checkout@v3 + - if: steps.should_run.outputs.shouldrun == 'true' + name: Check if Node.js project and has package.json + id: packagejson + run: test -e ./package.json && echo "exists=true" >> $GITHUB_OUTPUT || echo "exists=false" >> $GITHUB_OUTPUT + shell: bash + - if: steps.packagejson.outputs.exists == 'true' + name: Check package-lock version + uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master + id: lockversion + - if: steps.packagejson.outputs.exists == 'true' + name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: "${{ steps.lockversion.outputs.version }}" + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + - if: steps.packagejson.outputs.exists == 'true' + name: Install dependencies + id: first-installation + run: npm install --loglevel verbose + continue-on-error: true + - if: steps.first-installation.outputs.status == 'failure' && steps.packagejson.outputs.exists == 'true' + name: Clear NPM cache and install deps again + run: | + npm cache clean --force + npm install --loglevel verbose + - if: steps.packagejson.outputs.exists == 'true' + name: Test + run: npm test --if-present + - if: steps.packagejson.outputs.exists == 'true' + name: Run linter + run: npm run lint --if-present + - if: steps.packagejson.outputs.exists == 'true' + name: Run release assets generation to make sure PR does not break it + run: npm run generate:assets --if-present diff --git a/.github/workflows/if-nodejs-release.yml b/.github/workflows/if-nodejs-release.yml new file mode 100644 index 000000000..32bd8a8f7 --- /dev/null +++ b/.github/workflows/if-nodejs-release.yml @@ -0,0 +1,126 @@ +# This action is centrally managed in https://github.com/asyncapi/.github/ +# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo + +# It does magic only if there is package.json file in the root of the project +name: Release - if Node project + +on: + push: + branches: + - main + # below lines are not enough to have release supported for these branches + # make sure configuration of `semantic-release` package mentions these branches + - next-spec + - next-major + - next-major-spec + - beta + - alpha + +jobs: + + test-nodejs: + # We just check the message of first commit as there is always just one commit because we squash into one before merging + # "commits" contains array of objects where one of the properties is commit "message" + # Release workflow will be skipped if release conventional commits are not used + if: | + startsWith( github.repository, 'smoya/' ) && + (startsWith( github.event.commits[0].message , 'fix:' ) || + startsWith( github.event.commits[0].message, 'fix!:' ) || + startsWith( github.event.commits[0].message, 'feat:' ) || + startsWith( github.event.commits[0].message, 'feat!:' )) + name: Test NodeJS release on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows + run: | + git config --global core.autocrlf false + git config --global core.eol lf + - name: Checkout repository + uses: actions/checkout@v3 + - name: Check if Node.js project and has package.json + id: packagejson + run: test -e ./package.json && echo "exists=true" >> $GITHUB_OUTPUT || echo "exists=false" >> $GITHUB_OUTPUT + shell: bash + - if: steps.packagejson.outputs.exists == 'true' + name: Check package-lock version + uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master + id: lockversion + - if: steps.packagejson.outputs.exists == 'true' + name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: "${{ steps.lockversion.outputs.version }}" + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + - if: steps.packagejson.outputs.exists == 'true' + name: Install dependencies + run: npm install + - if: steps.packagejson.outputs.exists == 'true' + name: Run test + run: npm test --if-present + - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel + name: Report workflow run status to Slack + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,action,workflow + text: 'Release workflow failed in testing job' + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} + + release: + needs: [test-nodejs] + name: Publish to any of NPM, Github, or Docker Hub + runs-on: ubuntu-latest + steps: + - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows + run: | + git config --global core.autocrlf false + git config --global core.eol lf + - name: Checkout repository + uses: actions/checkout@v3 + - name: Check if Node.js project and has package.json + id: packagejson + run: test -e ./package.json && echo "exists=true" >> $GITHUB_OUTPUT || echo "exists=false" >> $GITHUB_OUTPUT + - if: steps.packagejson.outputs.exists == 'true' + name: Check package-lock version + uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master + id: lockversion + - if: steps.packagejson.outputs.exists == 'true' + name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: "${{ steps.lockversion.outputs.version }}" + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + - if: steps.packagejson.outputs.exists == 'true' + name: Install dependencies + run: npm install + - if: steps.packagejson.outputs.exists == 'true' + name: Add plugin for conventional commits for semantic-release + run: npm install --save-dev conventional-changelog-conventionalcommits@5.0.0 + - if: steps.packagejson.outputs.exists == 'true' + name: Publish to any of NPM, Github, and Docker Hub + id: release + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + GIT_AUTHOR_NAME: smoya + GIT_AUTHOR_EMAIL: 1083296+smoya@users.noreply.github.com + GIT_COMMITTER_NAME: smoya + GIT_COMMITTER_EMAIL: 1083296+smoya@users.noreply.github.com + run: npx semantic-release@19.0.4 + - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel + name: Report workflow run status to Slack + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,action,workflow + text: 'Release workflow failed in release job' + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml new file mode 100644 index 000000000..77aa1c6e4 --- /dev/null +++ b/.github/workflows/lint-pr-title.yml @@ -0,0 +1,47 @@ +# This action is centrally managed in https://github.com/asyncapi/.github/ +# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo + +name: Lint PR title + +on: + pull_request_target: + types: [opened, reopened, synchronize, edited, ready_for_review] + +jobs: + lint-pr-title: + name: Lint PR title + runs-on: ubuntu-latest + steps: + # Since this workflow is REQUIRED for a PR to be mergable, we have to have this 'if' statement in step level instead of job level. + - if: ${{ !contains(fromJson('["asyncapi-bot", "dependabot[bot]", "dependabot-preview[bot]", "allcontributors[bot]"]'), github.actor) }} + uses: amannn/action-semantic-pull-request@c3cd5d1ea3580753008872425915e343e351ab54 #version 5.2.0 https://github.com/amannn/action-semantic-pull-request/releases/tag/v5.2.0 + id: lint_pr_title + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN}} + with: + subjectPattern: ^(?![A-Z]).+$ + subjectPatternError: | + The subject "{subject}" found in the pull request title "{title}" should start with a lowercase character. + + # Comments the error message from the above lint_pr_title action + - if: ${{ always() && steps.lint_pr_title.outputs.error_message != null && !contains(fromJson('["asyncapi-bot", "dependabot[bot]", "dependabot-preview[bot]", "allcontributors[bot]"]'), github.actor)}} + name: Comment on PR + uses: marocchino/sticky-pull-request-comment@3d60a5b2dae89d44e0c6ddc69dd7536aec2071cd #use 2.5.0 https://github.com/marocchino/sticky-pull-request-comment/releases/tag/v2.5.0 + with: + header: pr-title-lint-error + GITHUB_TOKEN: ${{ secrets.GH_TOKEN}} + message: | + + We require all PRs to follow [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/). + More details 👇🏼 + ``` + ${{ steps.lint_pr_title.outputs.error_message}} + ``` + # deletes the error comment if the title is correct + - if: ${{ steps.lint_pr_title.outputs.error_message == null }} + name: delete the comment + uses: marocchino/sticky-pull-request-comment@3d60a5b2dae89d44e0c6ddc69dd7536aec2071cd #use 2.5.0 https://github.com/marocchino/sticky-pull-request-comment/releases/tag/v2.5.0 + with: + header: pr-title-lint-error + delete: true + GITHUB_TOKEN: ${{ secrets.GH_TOKEN}} diff --git a/.releaserc b/.releaserc index bc27e3500..8034f0602 100644 --- a/.releaserc +++ b/.releaserc @@ -1,6 +1,6 @@ --- branches: -- master +- main # by default release workflow reacts on push not only to master. #This is why out of the box sematic release is configured for all these branches - name: next-spec diff --git a/package-lock.json b/package-lock.json index a36dca6cf..fb183581b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,8 +19,6 @@ "@types/jest": "^27.4.1", "@typescript-eslint/eslint-plugin": "^5.36.2", "@typescript-eslint/parser": "^5.36.2", - "browserify": "^16.3.0", - "browserify-shim": "^3.8.14", "cross-env": "^7.0.3", "eslint": "^8.23.0", "eslint-plugin-github": "^4.3.7", @@ -28,13 +26,9 @@ "eslint-plugin-sonarjs": "^0.15.0", "jest": "^29.0.2", "markdown-toc": "^1.2.0", - "path-browserify": "^1.0.1", "ts-loader": "^9.3.1", "ts-node": "^10.9.1", - "typescript": "^4.8.2", - "webpack": "^5.74.0", - "webpack-bundle-analyzer": "^4.6.1", - "webpack-cli": "^4.10.0" + "typescript": "^4.8.2" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -756,15 +750,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -1358,6 +1343,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, + "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1464,12 +1450,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -2130,6 +2110,7 @@ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "dev": true, + "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2140,6 +2121,7 @@ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, + "peer": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2149,7 +2131,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@types/graceful-fs": { "version": "4.1.6", @@ -2435,6 +2418,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -2444,25 +2428,29 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2473,13 +2461,15 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2492,6 +2482,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, + "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -2501,6 +2492,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, + "peer": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -2509,13 +2501,15 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2532,6 +2526,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -2545,6 +2540,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2557,6 +2553,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2571,58 +2568,25 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "peer": true }, "node_modules/abort-controller": { "version": "3.0.0", @@ -2635,17 +2599,6 @@ "node": ">=6.5" } }, - "node_modules/accessory": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", - "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", - "dev": true, - "dependencies": { - "ap": "~0.2.0", - "balanced-match": "~0.2.0", - "dot-parts": "~1.0.0" - } - }, "node_modules/acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -2663,6 +2616,7 @@ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, + "peer": true, "peerDependencies": { "acorn": "^8" } @@ -2676,38 +2630,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2765,20 +2687,11 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, + "peer": true, "peerDependencies": { "ajv": "^6.9.1" } }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -2864,12 +2777,6 @@ "node": ">= 8" } }, - "node_modules/ap": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", - "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", - "dev": true - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -3004,49 +2911,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -3198,32 +3062,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/balanced-match": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", - "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/big-integer": { "version": "1.6.51", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", @@ -3233,12 +3071,6 @@ "node": ">=0.6" } }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, "node_modules/bplist-parser": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", @@ -3289,215 +3121,6 @@ "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "node_modules/browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "dev": true, - "dependencies": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - }, - "bin": { - "browser-pack": "bin/cmd.js" - } - }, - "node_modules/browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", - "dev": true, - "dependencies": { - "resolve": "^1.17.0" - } - }, - "node_modules/browserify": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", - "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", - "dev": true, - "dependencies": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "browserify": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-shim": { - "version": "3.8.16", - "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", - "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", - "dev": true, - "dependencies": { - "exposify": "~0.5.0", - "mothership": "~0.3.0", - "rename-function-calls": "~0.1.0", - "resolve": "~0.6.1", - "through": "~2.3.4" - }, - "peerDependencies": { - "browserify": ">= 2.3" - } - }, - "node_modules/browserify-shim/node_modules/resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserify/node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, "node_modules/browserslist": { "version": "4.21.10", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", @@ -3539,34 +3162,12 @@ "node-int64": "^0.4.0" } }, - "node_modules/buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, "node_modules/bundle-name": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", @@ -3582,12 +3183,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cached-path-relative": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", - "dev": true - }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -3668,6 +3263,7 @@ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, + "peer": true, "engines": { "node": ">=6.0" } @@ -3687,16 +3283,6 @@ "node": ">=8" } }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "node_modules/cjs-module-lexer": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", @@ -3717,29 +3303,6 @@ "node": ">=12" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -3787,29 +3350,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", - "dev": true, - "dependencies": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - } - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "peer": true }, "node_modules/concat-map": { "version": "0.0.1", @@ -3849,73 +3395,12 @@ "node": ">=0.10.0" } }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", - "dev": true - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -3954,40 +3439,12 @@ "node": ">= 8" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, - "node_modules/dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -4205,15 +3662,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/dependency-graph": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", @@ -4222,21 +3670,6 @@ "node": ">= 0.6.0" } }, - "node_modules/deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "dependencies": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - }, - "bin": { - "deps-sort": "bin/cmd.js" - } - }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -4246,16 +3679,6 @@ "node": ">=6" } }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -4265,23 +3688,6 @@ "node": ">=8" } }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/diacritics-map": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", @@ -4309,23 +3715,6 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -4350,64 +3739,12 @@ "node": ">=6.0.0" } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/dot-parts": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", - "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", - "dev": true - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, "node_modules/electron-to-chromium": { "version": "1.4.495", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", "dev": true }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/emittery": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", @@ -4439,18 +3776,6 @@ "node": ">=10.13.0" } }, - "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4536,7 +3861,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/es-set-tostringtag": { "version": "2.0.1", @@ -4597,71 +3923,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", - "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", - "dev": true, - "dependencies": { - "esprima": "~1.0.4", - "estraverse": "~1.5.0", - "esutils": "~1.0.0" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=0.4.0" - }, - "optionalDependencies": { - "source-map": "~0.1.30" - } - }, - "node_modules/escodegen/node_modules/esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/escodegen/node_modules/esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", - "dev": true, - "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/eslint": { "version": "8.47.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", @@ -5306,19 +4567,6 @@ "node": ">=4" } }, - "node_modules/esprima-fb": { - "version": "3001.1.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", - "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -5387,25 +4635,6 @@ "node": ">=6" } }, - "node_modules/events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -5538,71 +4767,6 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/exposify": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", - "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", - "dev": true, - "dependencies": { - "globo": "~1.1.0", - "map-obj": "~1.0.1", - "replace-requires": "~1.0.3", - "through2": "~0.4.0", - "transformify": "~0.1.1" - } - }, - "node_modules/exposify/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/exposify/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", - "dev": true - }, - "node_modules/exposify/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/exposify/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, - "node_modules/exposify/node_modules/through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", - "dev": true, - "dependencies": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" - } - }, - "node_modules/exposify/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dev": true, - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, "node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", @@ -5670,21 +4834,6 @@ "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, "node_modules/fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -5731,12 +4880,6 @@ "node": ">=0.10.0" } }, - "node_modules/find-parent-dir": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", - "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", - "dev": true - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -5848,12 +4991,6 @@ "node": ">=6.9.0" } }, - "node_modules/get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -5949,7 +5086,8 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "dev": true, + "peer": true }, "node_modules/globals": { "version": "13.21.0", @@ -6000,20 +5138,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", - "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", - "dev": true, - "dependencies": { - "accessory": "~1.1.0", - "is-defined": "~1.0.0", - "ternary": "~1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -6087,21 +5211,6 @@ "through2": "^2.0.0" } }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -6152,24 +5261,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-require": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", - "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.3" - } - }, - "node_modules/has-require/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -6195,76 +5286,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -6274,30 +5301,10 @@ "node": ">=10.17.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" @@ -6372,36 +5379,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", - "dev": true, - "dependencies": { - "source-map": "~0.5.3" - } - }, - "node_modules/insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", - "dev": true, - "dependencies": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - }, - "bin": { - "insert-module-globals": "bin/cmd.js" - } - }, "node_modules/internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -6415,15 +5392,6 @@ "node": ">= 0.4" } }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -6512,12 +5480,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", - "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", - "dev": true - }, "node_modules/is-docker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", @@ -7844,15 +6806,6 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "node_modules/json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", - "dev": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -7877,24 +6830,6 @@ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, "node_modules/jsonpath-plus": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", @@ -7911,22 +6846,6 @@ "node": ">=0.10.0" } }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -7963,16 +6882,6 @@ "node": ">=6" } }, - "node_modules/labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, "node_modules/language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -8047,6 +6956,7 @@ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, + "peer": true, "engines": { "node": ">=6.11.5" } @@ -8089,12 +6999,6 @@ "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", "dev": true }, - "node_modules/lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -8176,15 +7080,6 @@ "tmpl": "1.0.5" } }, - "node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/markdown-link": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", @@ -8226,17 +7121,6 @@ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", "dev": true }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -8265,30 +7149,12 @@ "node": ">=8.6" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, + "peer": true, "engines": { "node": ">= 0.6" } @@ -8298,6 +7164,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "peer": true, "dependencies": { "mime-db": "1.52.0" }, @@ -8314,18 +7181,6 @@ "node": ">=6" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -8371,59 +7226,6 @@ "node": ">=0.10.0" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "dependencies": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "module-deps": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/mothership": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", - "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", - "dev": true, - "dependencies": { - "find-parent-dir": "~0.3.0" - } - }, - "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -8446,7 +7248,8 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "peer": true }, "node_modules/nimma": { "version": "0.2.2", @@ -8527,15 +7330,6 @@ "node": ">=8" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -8692,15 +7486,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "bin": { - "opener": "bin/opener-bin.js" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -8718,12 +7503,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -8763,12 +7542,6 @@ "node": ">=6" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -8781,28 +7554,6 @@ "node": ">=6" } }, - "node_modules/parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", - "dev": true, - "dependencies": { - "path-platform": "~0.11.15" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -8935,21 +7686,6 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/patch-text": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", - "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8983,15 +7719,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -9001,22 +7728,6 @@ "node": ">=8" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -9178,15 +7889,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -9206,32 +7908,6 @@ "node": ">= 6" } }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, "node_modules/pure-rand": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", @@ -9248,30 +7924,6 @@ } ] }, - "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -9372,35 +8024,17 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "peer": true, "dependencies": { "safe-buffer": "^5.1.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -9431,18 +8065,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/regenerator-runtime": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", @@ -9499,25 +8121,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/rename-function-calls": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", - "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", - "dev": true, - "dependencies": { - "detective": "~3.1.0" - } - }, - "node_modules/rename-function-calls/node_modules/detective": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", - "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", - "dev": true, - "dependencies": { - "escodegen": "~1.1.0", - "esprima-fb": "3001.1.0-dev-harmony-fb" - } - }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", @@ -9536,43 +8139,6 @@ "node": ">=0.10" } }, - "node_modules/replace-requires": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", - "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", - "dev": true, - "dependencies": { - "detective": "^4.5.0", - "has-require": "~1.2.1", - "patch-text": "~1.0.2", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/replace-requires/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/replace-requires/node_modules/detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "dev": true, - "dependencies": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9671,16 +8237,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, "node_modules/run-applescript": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", @@ -9759,7 +8315,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "peer": true }, "node_modules/safe-regex": { "version": "2.1.1", @@ -9788,17 +8345,12 @@ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, "node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -9850,6 +8402,7 @@ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, + "peer": true, "dependencies": { "randombytes": "^2.1.0" } @@ -9866,69 +8419,16 @@ "node": ">=0.10.0" } }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "shebang-regex": "^3.0.0" }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", - "dev": true, - "dependencies": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "node_modules/shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "dev": true, - "dependencies": { - "fast-safe-stringify": "^2.0.7" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" + "engines": { + "node": ">=8" } }, "node_modules/shebang-regex": { @@ -9940,15 +8440,6 @@ "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -9968,26 +8459,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/simple-eval": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", @@ -9999,20 +8470,6 @@ "node": ">=12" } }, - "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -10028,15 +8485,6 @@ "node": ">=8" } }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -10082,71 +8530,6 @@ "node": ">=8" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", - "dev": true, - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -10273,15 +8656,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", - "dev": true, - "dependencies": { - "minimist": "^1.1.0" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10332,15 +8706,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "dependencies": { - "acorn-node": "^1.2.0" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -10350,17 +8715,12 @@ "node": ">=6" } }, - "node_modules/ternary": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", - "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", - "dev": true - }, "node_modules/terser": { "version": "5.19.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", "dev": true, + "peer": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -10379,6 +8739,7 @@ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, + "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -10413,6 +8774,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, + "peer": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -10427,6 +8789,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -10442,6 +8805,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -10451,6 +8815,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "peer": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10476,12 +8841,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -10492,18 +8851,6 @@ "xtend": "~4.0.1" } }, - "node_modules/timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", - "dev": true, - "dependencies": { - "process": "~0.11.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/titleize": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", @@ -10570,53 +8917,11 @@ "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", "dev": true }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "node_modules/transformify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", - "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", - "dev": true, - "dependencies": { - "readable-stream": "~1.1.9" - } - }, - "node_modules/transformify/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/transformify/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/transformify/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, "node_modules/ts-api-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", @@ -10759,12 +9064,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -10878,15 +9177,6 @@ "node": ">=4.2.0" } }, - "node_modules/umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true, - "bin": { - "umd": "bin/cli.js" - } - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -10901,22 +9191,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - }, - "bin": { - "undeclared-identifiers": "bin.js" - } - }, "node_modules/untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", @@ -10977,37 +9251,12 @@ "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" }, - "node_modules/url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", - "dev": true, - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.0" - } - }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, "node_modules/utility-types": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", @@ -11042,12 +9291,6 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -11062,6 +9305,7 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, + "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -11104,6 +9348,7 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dev": true, + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -11146,122 +9391,12 @@ } } }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "peer": true, "engines": { "node": ">=10.13.0" } @@ -11271,6 +9406,7 @@ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "peer": true, "engines": { "node": ">=0.8.x" } @@ -11332,12 +9468,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -11374,27 +9504,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -12022,12 +10131,6 @@ } } }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -12492,6 +10595,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, + "peer": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -12573,12 +10677,6 @@ "tslib": "^2.6.0" } }, - "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -13058,6 +11156,7 @@ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "dev": true, + "peer": true, "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -13068,6 +11167,7 @@ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, + "peer": true, "requires": { "@types/eslint": "*", "@types/estree": "*" @@ -13077,7 +11177,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true + "dev": true, + "peer": true }, "@types/graceful-fs": { "version": "4.1.6", @@ -13274,6 +11375,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -13283,25 +11385,29 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true + "dev": true, + "peer": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "dev": true, + "peer": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true + "dev": true, + "peer": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -13312,13 +11418,15 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true + "dev": true, + "peer": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -13331,6 +11439,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, + "peer": true, "requires": { "@xtuc/ieee754": "^1.2.0" } @@ -13340,6 +11449,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, + "peer": true, "requires": { "@xtuc/long": "4.2.2" } @@ -13348,13 +11458,15 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true + "dev": true, + "peer": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -13371,6 +11483,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -13384,6 +11497,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -13396,6 +11510,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -13410,45 +11525,25 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, + "peer": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, - "@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "requires": {} - }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "peer": true }, "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "peer": true }, "abort-controller": { "version": "3.0.0", @@ -13458,17 +11553,6 @@ "event-target-shim": "^5.0.0" } }, - "accessory": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", - "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", - "dev": true, - "requires": { - "ap": "~0.2.0", - "balanced-match": "~0.2.0", - "dot-parts": "~1.0.0" - } - }, "acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -13480,6 +11564,7 @@ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, + "peer": true, "requires": {} }, "acorn-jsx": { @@ -13489,31 +11574,6 @@ "dev": true, "requires": {} }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -13557,15 +11617,9 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, + "peer": true, "requires": {} }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true - }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -13623,12 +11677,6 @@ "picomatch": "^2.0.4" } }, - "ap": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", - "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", - "dev": true - }, "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -13727,53 +11775,6 @@ "is-shared-array-buffer": "^1.0.2" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -13889,30 +11890,12 @@ "babel-preset-current-node-syntax": "^1.0.0" } }, - "balanced-match": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", - "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, "big-integer": { "version": "1.6.51", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", "dev": true }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, "bplist-parser": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", @@ -13958,206 +11941,6 @@ } } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "dev": true, - "requires": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - } - }, - "browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", - "dev": true, - "requires": { - "resolve": "^1.17.0" - } - }, - "browserify": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", - "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", - "dev": true, - "requires": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-shim": { - "version": "3.8.16", - "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", - "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", - "dev": true, - "requires": { - "exposify": "~0.5.0", - "mothership": "~0.3.0", - "rename-function-calls": "~0.1.0", - "resolve": "~0.6.1", - "through": "~2.3.4" - }, - "dependencies": { - "resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, "browserslist": { "version": "4.21.10", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", @@ -14179,34 +11962,12 @@ "node-int64": "^0.4.0" } }, - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, "bundle-name": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", @@ -14216,12 +11977,6 @@ "run-applescript": "^5.0.0" } }, - "cached-path-relative": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", - "dev": true - }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -14269,7 +12024,8 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true + "dev": true, + "peer": true }, "ci-info": { "version": "3.8.0", @@ -14277,16 +12033,6 @@ "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "cjs-module-lexer": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", @@ -14304,25 +12050,6 @@ "wrap-ansi": "^7.0.0" } }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -14355,29 +12082,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", - "dev": true, - "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "peer": true }, "concat-map": { "version": "0.0.1", @@ -14413,75 +12123,12 @@ } } }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", - "dev": true - }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -14508,37 +12155,12 @@ "which": "^2.0.1" } }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, "damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, - "dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -14671,62 +12293,23 @@ "object-keys": "^1.1.1" } }, - "defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true - }, "dependency-graph": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" }, - "deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "requires": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - } - }, "dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true }, - "des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, - "detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, - "requires": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - } - }, "diacritics-map": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", @@ -14745,25 +12328,6 @@ "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -14782,62 +12346,12 @@ "esutils": "^2.0.2" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "dot-parts": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", - "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, "electron-to-chromium": { "version": "1.4.495", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", "dev": true }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "emittery": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", @@ -14860,12 +12374,6 @@ "tapable": "^2.2.0" } }, - "envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -14939,7 +12447,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true + "dev": true, + "peer": true }, "es-set-tostringtag": { "version": "2.0.1", @@ -14982,48 +12491,6 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "escodegen": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", - "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", - "dev": true, - "requires": { - "esprima": "~1.0.4", - "estraverse": "~1.5.0", - "esutils": "~1.0.0", - "source-map": "~0.1.30" - }, - "dependencies": { - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", - "dev": true - }, - "estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", - "dev": true - }, - "esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, "eslint": { "version": "8.47.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", @@ -15463,12 +12930,6 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, - "esprima-fb": { - "version": "3001.1.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", - "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", - "dev": true - }, "esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -15520,22 +12981,6 @@ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, - "events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -15637,70 +13082,6 @@ } } }, - "exposify": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", - "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", - "dev": true, - "requires": { - "globo": "~1.1.0", - "map-obj": "~1.0.1", - "replace-requires": "~1.0.3", - "through2": "~0.4.0", - "transformify": "~0.1.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, - "through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", - "dev": true, - "requires": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dev": true, - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", @@ -15761,18 +13142,6 @@ "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, "fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -15813,12 +13182,6 @@ "repeat-string": "^1.5.2" } }, - "find-parent-dir": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", - "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", - "dev": true - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -15899,12 +13262,6 @@ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, - "get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -15970,7 +13327,8 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "dev": true, + "peer": true }, "globals": { "version": "13.21.0", @@ -16003,17 +13361,6 @@ "slash": "^3.0.0" } }, - "globo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", - "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", - "dev": true, - "requires": { - "accessory": "~1.1.0", - "is-defined": "~1.0.0", - "ternary": "~1.0.0" - } - }, "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -16079,15 +13426,6 @@ "through2": "^2.0.0" } }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "requires": { - "duplexer": "^0.1.2" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -16120,23 +13458,6 @@ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" }, - "has-require": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", - "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.3" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - } - } - }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -16150,81 +13471,18 @@ "has-symbols": "^1.0.2" } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", - "dev": true - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, "ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -16278,33 +13536,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", - "dev": true, - "requires": { - "source-map": "~0.5.3" - } - }, - "insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", - "dev": true, - "requires": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - } - }, "internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -16315,12 +13546,6 @@ "side-channel": "^1.0.4" } }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, "is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -16382,12 +13607,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", - "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", - "dev": true - }, "is-docker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", @@ -17383,15 +14602,6 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -17410,18 +14620,6 @@ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true - }, "jsonpath-plus": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", @@ -17432,16 +14630,6 @@ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -17469,16 +14657,6 @@ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, - "labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, "language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -17540,7 +14718,8 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true + "dev": true, + "peer": true }, "locate-path": { "version": "6.0.0", @@ -17574,12 +14753,6 @@ "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", "dev": true }, - "lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", - "dev": true - }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -17655,12 +14828,6 @@ "tmpl": "1.0.5" } }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - }, "markdown-link": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", @@ -17693,17 +14860,6 @@ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", "dev": true }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -17726,35 +14882,19 @@ "picomatch": "^2.3.1" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "dev": true, + "peer": true }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "peer": true, "requires": { "mime-db": "1.52.0" } @@ -17765,18 +14905,6 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -17812,50 +14940,6 @@ } } }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "requires": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "mothership": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", - "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", - "dev": true, - "requires": { - "find-parent-dir": "~0.3.0" - } - }, - "mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -17878,7 +14962,8 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "peer": true }, "nimma": { "version": "0.2.2", @@ -17936,12 +15021,6 @@ "path-key": "^3.0.0" } }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true - }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -18055,12 +15134,6 @@ "is-wsl": "^2.2.0" } }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, "optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -18075,12 +15148,6 @@ "type-check": "^0.4.0" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -18105,12 +15172,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -18120,28 +15181,6 @@ "callsites": "^3.0.0" } }, - "parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", - "dev": true, - "requires": { - "path-platform": "~0.11.15" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -18258,18 +15297,6 @@ } } }, - "patch-text": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", - "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", - "dev": true - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -18294,30 +15321,11 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", - "dev": true - }, "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true }, "picocolors": { "version": "1.0.0", @@ -18430,12 +15438,6 @@ } } }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -18452,55 +15454,12 @@ "sisteransi": "^1.0.5" } }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, "pure-rand": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -18572,35 +15531,17 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "peer": true, "requires": { "safe-buffer": "^5.1.0" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, "readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -18633,15 +15574,6 @@ } } }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, "regenerator-runtime": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", @@ -18685,27 +15617,6 @@ } } }, - "rename-function-calls": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", - "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", - "dev": true, - "requires": { - "detective": "~3.1.0" - }, - "dependencies": { - "detective": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", - "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", - "dev": true, - "requires": { - "escodegen": "~1.1.0", - "esprima-fb": "3001.1.0-dev-harmony-fb" - } - } - } - }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", @@ -18718,36 +15629,6 @@ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, - "replace-requires": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", - "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", - "dev": true, - "requires": { - "detective": "^4.5.0", - "has-require": "~1.2.1", - "patch-text": "~1.0.2", - "xtend": "~4.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - }, - "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "dev": true, - "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - } - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -18814,16 +15695,6 @@ "glob": "^7.1.3" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, "run-applescript": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", @@ -18864,7 +15735,8 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "dev": true, + "peer": true }, "safe-regex": { "version": "2.1.1", @@ -18890,17 +15762,12 @@ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, "schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "peer": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -18938,6 +15805,7 @@ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, + "peer": true, "requires": { "randombytes": "^2.1.0" } @@ -18951,52 +15819,6 @@ "to-object-path": "^0.3.0" } }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", - "dev": true, - "requires": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "dev": true, - "requires": { - "fast-safe-stringify": "^2.0.7" - } - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -19012,12 +15834,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true - }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -19034,12 +15850,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true - }, "simple-eval": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", @@ -19048,17 +15858,6 @@ "jsep": "^1.1.2" } }, - "sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - } - }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -19071,12 +15870,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - }, "source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -19117,70 +15910,6 @@ } } }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", - "dev": true, - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -19273,15 +16002,6 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", - "dev": true, - "requires": { - "minimist": "^1.1.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -19313,32 +16033,18 @@ "tslib": "^2.5.0" } }, - "syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "requires": { - "acorn-node": "^1.2.0" - } - }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, - "ternary": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", - "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", - "dev": true - }, "terser": { "version": "5.19.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", "dev": true, + "peer": true, "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -19350,13 +16056,15 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "dev": true, + "peer": true }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "peer": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -19369,6 +16077,7 @@ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, + "peer": true, "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -19382,6 +16091,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, + "peer": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -19393,6 +16103,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "peer": true, "requires": { "has-flag": "^4.0.0" } @@ -19416,12 +16127,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -19432,15 +16137,6 @@ "xtend": "~4.0.1" } }, - "timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", - "dev": true, - "requires": { - "process": "~0.11.0" - } - }, "titleize": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", @@ -19491,52 +16187,11 @@ "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", "dev": true }, - "totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true - }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "transformify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", - "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", - "dev": true, - "requires": { - "readable-stream": "~1.1.9" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - } - } - }, "ts-api-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", @@ -19636,12 +16291,6 @@ } } }, - "tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -19718,12 +16367,6 @@ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true }, - "umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true - }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19735,19 +16378,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "requires": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - } - }, "untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", @@ -19784,33 +16414,6 @@ "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" }, - "url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", - "dev": true, - "requires": { - "punycode": "^1.4.1", - "qs": "^6.11.0" - } - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -19847,12 +16450,6 @@ } } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -19867,6 +16464,7 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, + "peer": true, "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -19908,6 +16506,7 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dev": true, + "peer": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -19939,85 +16538,17 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - } - } - }, - "webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "dependencies": { - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true + "dev": true, + "peer": true } } }, - "webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, "webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true + "dev": true, + "peer": true }, "whatwg-url": { "version": "5.0.0", @@ -20061,12 +16592,6 @@ "has-tostringtag": "^1.0.0" } }, - "wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -20094,13 +16619,6 @@ "signal-exit": "^3.0.7" } }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 71ec8c837..a38484c9c 100644 --- a/package.json +++ b/package.json @@ -21,18 +21,15 @@ "files": [ "/esm", "/cjs", - "/browser", "LICENSE", "README.md" ], "scripts": { - "build": "npm run build:esm && npm run build:cjs && npm run build:browser", + "build": "npm run build:esm && npm run build:cjs", "build:esm": "tsc", "build:cjs": "tsc --project ./tsconfig.cjs.json", - "build:browser": "webpack", - "test": "npm run test:unit && npm run test:browser", - "test:unit": "cross-env CI=true jest --coverage --testPathIgnorePatterns=test/browser/*", - "test:browser": "npm run build:browser && cross-env CI=true jest -- ./test/browser/*", + "test": "npm run test:unit", + "test:unit": "cross-env CI=true jest --coverage", "lint": "eslint --max-warnings 0 --config .eslintrc .", "lint:fix": "eslint --max-warnings 0 --config .eslintrc . --fix", "generate:readme:toc": "markdown-toc -i \"README.md\"", @@ -51,8 +48,6 @@ "@types/jest": "^27.4.1", "@typescript-eslint/eslint-plugin": "^5.36.2", "@typescript-eslint/parser": "^5.36.2", - "browserify": "^16.3.0", - "browserify-shim": "^3.8.14", "cross-env": "^7.0.3", "eslint": "^8.23.0", "eslint-plugin-github": "^4.3.7", @@ -60,20 +55,8 @@ "eslint-plugin-sonarjs": "^0.15.0", "jest": "^29.0.2", "markdown-toc": "^1.2.0", - "path-browserify": "^1.0.1", "ts-loader": "^9.3.1", "ts-node": "^10.9.1", - "typescript": "^4.8.2", - "webpack": "^5.74.0", - "webpack-bundle-analyzer": "^4.6.1", - "webpack-cli": "^4.10.0" - }, - "browserify": { - "transform": [ - "browserify-shim" - ] - }, - "browserify-shim": { - "node-fetch": "global:fetch" + "typescript": "^4.8.2" } } From dd6d03b4daf5fb96dc5c2d219d270a7fed5791e7 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 30 Aug 2023 17:05:26 +0200 Subject: [PATCH 004/107] feat!: allow converting AsyncAPIDocument to different Parser-API versions + NewParser --- package.json | 2 +- src/convert.ts | 35 ++++++++++++++++++++++++++ src/index.ts | 37 ++-------------------------- src/parse.ts | 36 +++++++++++++++++++++++++++ src/utils.ts | 5 ++++ test/convert.spec.ts | 37 ++++++++++++++++++++++++++++ test/index.spec.ts | 36 --------------------------- test/parse.spec.ts | 58 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 174 insertions(+), 72 deletions(-) create mode 100644 src/convert.ts create mode 100644 src/parse.ts create mode 100644 src/utils.ts create mode 100644 test/convert.spec.ts delete mode 100644 test/index.spec.ts create mode 100644 test/parse.spec.ts diff --git a/package.json b/package.json index a38484c9c..1c2c20e0e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@smoya/multi-parser", - "version": "0.1.0", + "version": "2.0.0", "description": "This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version", "bugs": { "url": "https://github.com/smoya/multi-parser-js/issues" diff --git a/src/convert.ts b/src/convert.ts new file mode 100644 index 000000000..a03d1a371 --- /dev/null +++ b/src/convert.ts @@ -0,0 +1,35 @@ +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV2 } from 'parserv2'; +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from 'parserv3'; + +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV2 } from 'parserv2'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from 'parserv3'; + +import type { DetailedAsyncAPI as DetailedAsyncAPIParserV2 } from 'parserv2/esm/types'; +import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from 'parserv3/esm/types'; + +import { majorParserAPIVersion } from './utils'; + +export type AsyncAPIDocument = AsyncAPIDocumentInterfaceParserV2 | AsyncAPIDocumentInterfaceParserV3; + +export function ConvertDocumentParserAPIVersion(doc: AsyncAPIDocument, toParserAPIVersion: string): AsyncAPIDocument { + if (!doc || !doc.json) return doc; + + const docParserAPI = doc.extensions().get('x-parser-api-version')?.value(); + const docParserAPIMajorVersion: number = docParserAPI ? Number(String(docParserAPI).split('.')[0]) : 0; + const toMajorParserAPIVersion = majorParserAPIVersion(toParserAPIVersion); + + if (docParserAPIMajorVersion === toMajorParserAPIVersion) { + return doc; // Nothing to do + } + + const detailedAsyncAPI = doc.meta().asyncapi; + switch (toMajorParserAPIVersion) { + case 1: + return createAsyncAPIDocumentParserV2(detailedAsyncAPI as DetailedAsyncAPIParserV2); + // break; + case 2: + return createAsyncAPIDocumentParserV3(detailedAsyncAPI as DetailedAsyncAPIParserV3); + default: + return doc; + } +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 91eca34d2..761932a89 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,35 +1,2 @@ -import { Parser as ParserV2 } from 'parserv2'; -import { Parser as ParserV3, convertToOldAPI as convertToOldAPIV3 } from 'parserv3'; - -import type { ParseOutput as ParseOutputV2 } from 'parserv2'; -import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceV3, ParseOutput as ParseOutputV3Original } from 'parserv3'; -import type { AsyncAPIDocument as AsyncAPIDocumentV3 } from 'parserv3/esm/old-api/asyncapi'; - -export type ParseOutputV3 = ParseOutputV3Original & { document: AsyncAPIDocumentInterfaceV3 | AsyncAPIDocumentV3 | undefined } -export type ParseOutputPerVersion = ParseOutputV2 | ParseOutputV3 | undefined; -export type ParseOptions = { - ParserAPIMajorVersion: number; -} - -// Cache for parsers -const parsers = new Map(); -export async function Parse(doc: any, options?: ParseOptions): Promise { - if (!options || !options.ParserAPIMajorVersion) { - // Using Parser v3 (latest atm) by default - if (!parsers.has(3)) parsers.set(3, new ParserV3()); - const parsedDoc = await (parsers.get(3) as ParserV3).parse(doc) as ParseOutputV3; - if (parsedDoc?.document) parsedDoc.document = convertToOldAPIV3(parsedDoc.document) as any; - - return parsedDoc; - } - - switch (options.ParserAPIMajorVersion) { - case 1: - if (!parsers.has(2)) parsers.set(2, new ParserV2()); - return await parsers.get(2)?.parse(doc); - case 2: - if (!parsers.has(3)) parsers.set(3, new ParserV3()); - return await parsers.get(3)?.parse(doc); - } -} - +export { NewParser} from './parse'; +export { ConvertDocumentParserAPIVersion } from './convert'; diff --git a/src/parse.ts b/src/parse.ts new file mode 100644 index 000000000..56d51c66b --- /dev/null +++ b/src/parse.ts @@ -0,0 +1,36 @@ +import { Parser as ParserV2 } from 'parserv2'; +import { Parser as ParserV3 } from 'parserv3'; + +import type { ParseOptions as ParserOptionsParserV2 } from 'parserv2'; +import type { ParseOptions as ParserOptionsParserV3 } from 'parserv3'; + +import { majorParserAPIVersion } from './utils'; + +type Parser = ParserV2 | ParserV3; + +// Cache for parsers +const parsers = new Map(); + +export function NewParser(parserAPIVersion: string, options?: ParserOptionsParserV2 | ParserOptionsParserV3): Parser { + const parserAPIMajorVersion = majorParserAPIVersion(parserAPIVersion); + + switch (parserAPIMajorVersion) { + case 1: + if (options) { + return new ParserV2(options); // Can't use cached because options is not empty + } + + if (!parsers.has(2)) parsers.set(2, new ParserV2()); + return parsers.get(2) as ParserV2; + default: + case 0: // Using Parser v3 (latest atm) by default + case 2: + if (options) { + return new ParserV3(options); // Can't use cached because options is not empty + } + + if (!parsers.has(3)) parsers.set(3, new ParserV3()); + return parsers.get(3) as ParserV3; + } +} + diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 000000000..769eae5a7 --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,5 @@ +export function majorParserAPIVersion(version: string): number { + if (!version) return 0; + + return Number(version.split('.')[0]); +} \ No newline at end of file diff --git a/test/convert.spec.ts b/test/convert.spec.ts new file mode 100644 index 000000000..a7cb5313c --- /dev/null +++ b/test/convert.spec.ts @@ -0,0 +1,37 @@ + +import { Parser as ParserV2 } from 'parserv2'; +import { Parser as ParserV3 } from 'parserv3'; + +import { AsyncAPIDocument, ConvertDocumentParserAPIVersion } from '../src/convert'; + +describe('ConvertDocumentParserAPIVersion()', function() { + it('Converts from Parser-API v1 to Parser-API v2', async function() { + const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; + const parsedDocParserV2 = (await new ParserV2().parse(doc)).document as AsyncAPIDocument; + + // Even though the value here is '1' for Parser V3, we force to be '2.0.0' for this test to do the equality check later. + parsedDocParserV2['_json']['x-parser-api-version'] = '2.0.0'; + + const parsedDocParserV3 = await new ParserV3().parse(doc); + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV2, '2.0.0'); + expect(convertedDoc).toEqual(parsedDocParserV3.document); + }); + + it('Converts from Parser-API v2 to Parser-API v1', async function() { + const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; + const parsedDocParserV3 = (await new ParserV3().parse(doc)).document as AsyncAPIDocument; + + // Even though the value here is '2.0.0' for Parser V3, we force to be 1 for this test to do the equality check later. + parsedDocParserV3['_json']['x-parser-api-version'] = 1; + + const parsedDocParserV2 = (await new ParserV2().parse(doc)).document; + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV3, '1.0.0'); + expect(convertedDoc).toEqual(parsedDocParserV2); + }); + + it('Skips converting if no document is passed', async function() { + const doc = { } as AsyncAPIDocument; + const convertedDoc = ConvertDocumentParserAPIVersion(doc, '1.0.0'); + expect(convertedDoc).toEqual(doc); + }); +}); \ No newline at end of file diff --git a/test/index.spec.ts b/test/index.spec.ts deleted file mode 100644 index 2a163df7c..000000000 --- a/test/index.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ - -import { Parse, ParseOutputPerVersion } from '../src/index'; - -import type { ParseOutput as ParseOutputV2 } from 'parserv2'; -import type { ParseOutput as ParseOutputV3 } from 'parserv3'; -import { AsyncAPIDocument } from 'parserv3/esm/old-api/asyncapi'; - -describe('Parse()', function() { - it('Parses documents and outputs an AsyncAPIDocument compatible with Parser-API v1', async function() { - const doc = { asyncapi: '2.0.0', info: { title: '', version: '' }, channels: {} }; - const output = await Parse(doc, { ParserAPIMajorVersion: 1 }) as ParseOutputV2; - - expect(output).toBeDefined(); - expect(output.document).toBeDefined(); - expect(output.document?.extensions().get('x-parser-api-version')?.value()).toBe(1); - }); - - it('Parses documents and outputs an AsyncAPIDocument compatible with Parser-API v2', async function() { - const doc = { asyncapi: '3.0.0', info: { title: '', version: '' } }; - const output = await Parse(doc, { ParserAPIMajorVersion: 2 }) as ParseOutputV3; - - expect(output).toBeDefined(); - expect(output.document).toBeDefined(); - expect((output.document?.extensions().get('x-parser-api-version')?.value() as string).split('.')[0]).toBe('2'); - }); - - it('Parses documents and outputs an AsyncAPIDocument compatible with old API prior to parser-api existence', async function() { - const doc = { asyncapi: '3.0.0', info: { title: '', version: '' } }; - const output = await Parse(doc) as ParseOutputV3; - - expect(output).toBeDefined(); - expect(output.document).toBeDefined(); - const output2 = output as ParseOutputPerVersion; - expect((output2?.document as AsyncAPIDocument).extension('x-parser-api-version')).toEqual(0); - }); -}); \ No newline at end of file diff --git a/test/parse.spec.ts b/test/parse.spec.ts new file mode 100644 index 000000000..4e5551d0b --- /dev/null +++ b/test/parse.spec.ts @@ -0,0 +1,58 @@ + +import { Parser as ParserV2 } from 'parserv2'; +import { Parser as ParserV3 } from 'parserv3'; + +import { NewParser } from '../src/index'; + +describe('NewParser()', function() { + it('Creates a Parser without options compatible with Parser-API v1 and caches it', async function() { + const parser = NewParser('1.0.0'); + expect(parser).toBeInstanceOf(ParserV2); + + // Test cached parser is the same as the one we previously created. + expect(NewParser('1.0.0')).toStrictEqual(parser); + }); + + it('Creates a Parser with options compatible with Parser-API v1 and skips cache', async function() { + const options = { applyTraits: false }; + const parser = NewParser('1.0.0', options); + expect(parser).toBeInstanceOf(ParserV2); + + // Test no cached parser is returned + expect(NewParser('1.0.0', options)).not.toStrictEqual(parser); + }); + + it('Creates a Parser without options compatible with Parser-API v2 and caches it', async function() { + const parser = NewParser('2.0.0'); + expect(parser).toBeInstanceOf(ParserV3); + + // Test cached parser is the same as the one we previously created. + expect(NewParser('2.0.0')).toStrictEqual(parser); + }); + + it('Creates a Parser with options compatible with Parser-API v2 and skips cache', async function() { + const options = { applyTraits: false }; + const parser = NewParser('2.0.0', options); + expect(parser).toBeInstanceOf(ParserV3); + + // Test no cached parser is returned + expect(NewParser('2.0.0', options)).not.toStrictEqual(parser); + }); + + it('Creates a Parser without options compatible with old Parser API (AKA v0) and caches it', async function() { + const parser = NewParser(''); // could be '0.0.0' as well + expect(parser).toBeInstanceOf(ParserV3); // Using Parser v3 (latest atm) by default + + // Test cached parser is the same as the one we previously created. + expect(NewParser('')).toStrictEqual(parser); + }); + + it('Creates a Parser with options compatible with old Parser API (AKA v0) and skips cache', async function() { + const options = { applyTraits: false }; + const parser = NewParser('0.0.0', options); // could be empty string as well + expect(parser).toBeInstanceOf(ParserV3); + + // Test no cached parser is returned + expect(NewParser('0.0.0', options)).not.toStrictEqual(parser); + }); +}); \ No newline at end of file From d42ea8a1532e53fb29d5a23964fd33ede98f5fdd Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Thu, 7 Sep 2023 17:29:40 +0200 Subject: [PATCH 005/107] feat!: optionally include Schema parsers when creating a Parser --- package-lock.json | 288 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 4 + src/parse.ts | 62 ++++++---- test/parse.spec.ts | 80 +++++++++---- 4 files changed, 387 insertions(+), 47 deletions(-) diff --git a/package-lock.json b/package-lock.json index fb183581b..5f2f53430 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,18 @@ { "name": "@smoya/multi-parser", - "version": "0.1.0", + "version": "2.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@smoya/multi-parser", - "version": "0.1.0", + "version": "2.0.0", "license": "Apache-2.0", "dependencies": { + "@asyncapi/avro-schema-parser": "^3.0.3", + "@asyncapi/openapi-schema-parser": "^3.0.4", + "@asyncapi/protobuf-schema-parser": "^3.0.0", + "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserv2": "npm:@asyncapi/parser@^2.1.0", "parserv3": "npm:@asyncapi/parser@^2.2.0-next-major-spec.2" }, @@ -53,6 +57,137 @@ "node": ">=6.0.0" } }, + "node_modules/@asyncapi/avro-schema-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.3.tgz", + "integrity": "sha512-XprbDYPFJ0nc963hPCjbEmM3iu6ypKg/70EFVl0MZJCLbLw/+gBbPy95uV3Qaofm5UQgSI+aTobGhc8rMre4VA==", + "dependencies": { + "@asyncapi/parser": "^2.1.0", + "@types/json-schema": "^7.0.11", + "avsc": "^5.7.6" + } + }, + "node_modules/@asyncapi/openapi-schema-parser": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.4.tgz", + "integrity": "sha512-nfZbL3dTpIQ3K+/V05FBpgOPi7dDWZkqZG8e7pKwtNhwZ0YLBFWTw6RpocztlBlcieFggxZqLm4BT5I1cQbK+Q==", + "dependencies": { + "@asyncapi/parser": "^2.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1" + } + }, + "node_modules/@asyncapi/openapi-schema-parser/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@asyncapi/openapi-schema-parser/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/@asyncapi/openapi-schema-parser/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/@asyncapi/parser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", + "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", + "dependencies": { + "@asyncapi/specs": "^5.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + } + }, + "node_modules/@asyncapi/parser/node_modules/@asyncapi/specs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", + "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, + "node_modules/@asyncapi/parser/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@asyncapi/parser/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/@asyncapi/parser/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/@asyncapi/protobuf-schema-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@asyncapi/protobuf-schema-parser/-/protobuf-schema-parser-3.0.0.tgz", + "integrity": "sha512-kjoLrll611K+xYC/iBUlSnZsCHbrhL999ItVHZhObUOjUB991XgonqbSAaihiiDXTYgceOLhJKAN5llkV/LOOA==", + "dependencies": { + "@asyncapi/parser": "^2.1.0", + "@types/protocol-buffers-schema": "^3.4.1", + "protocol-buffers-schema": "^3.6.0" + } + }, + "node_modules/@asyncapi/raml-dt-schema-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.4.tgz", + "integrity": "sha512-kKam4jwYYdwqoV5zkEb3YEb8VOrN0785fc4ByazxRd+BT/RnkQTLspjTY/akdDs9DLmU4ChP73Z0vqpek6wojA==", + "dependencies": { + "@asyncapi/parser": "^2.1.0", + "js-yaml": "^4.1.0", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + } + }, "node_modules/@asyncapi/specs": { "version": "6.0.0-next-major-spec.6", "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.6.tgz", @@ -2193,6 +2328,14 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==" }, + "node_modules/@types/protocol-buffers-schema": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@types/protocol-buffers-schema/-/protocol-buffers-schema-3.4.1.tgz", + "integrity": "sha512-CBpqIDa1+/F3Z5EL8Uz/t+1eygIinJiMS37KP8O9TN+n38OlckYQhU+t/vYpsF7XhSDuiZS0zAJyfRrAeDKDUw==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/semver": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", @@ -7908,6 +8051,11 @@ "node": ">= 6" } }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, "node_modules/pure-rand": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", @@ -9594,6 +9742,129 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@asyncapi/avro-schema-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.3.tgz", + "integrity": "sha512-XprbDYPFJ0nc963hPCjbEmM3iu6ypKg/70EFVl0MZJCLbLw/+gBbPy95uV3Qaofm5UQgSI+aTobGhc8rMre4VA==", + "requires": { + "@asyncapi/parser": "^2.1.0", + "@types/json-schema": "^7.0.11", + "avsc": "^5.7.6" + } + }, + "@asyncapi/openapi-schema-parser": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.4.tgz", + "integrity": "sha512-nfZbL3dTpIQ3K+/V05FBpgOPi7dDWZkqZG8e7pKwtNhwZ0YLBFWTw6RpocztlBlcieFggxZqLm4BT5I1cQbK+Q==", + "requires": { + "@asyncapi/parser": "^2.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "requires": {} + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "@asyncapi/parser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", + "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", + "requires": { + "@asyncapi/specs": "^5.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + }, + "dependencies": { + "@asyncapi/specs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", + "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", + "requires": { + "@types/json-schema": "^7.0.11" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "requires": {} + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "@asyncapi/protobuf-schema-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@asyncapi/protobuf-schema-parser/-/protobuf-schema-parser-3.0.0.tgz", + "integrity": "sha512-kjoLrll611K+xYC/iBUlSnZsCHbrhL999ItVHZhObUOjUB991XgonqbSAaihiiDXTYgceOLhJKAN5llkV/LOOA==", + "requires": { + "@asyncapi/parser": "^2.1.0", + "@types/protocol-buffers-schema": "^3.4.1", + "protocol-buffers-schema": "^3.6.0" + } + }, + "@asyncapi/raml-dt-schema-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.4.tgz", + "integrity": "sha512-kKam4jwYYdwqoV5zkEb3YEb8VOrN0785fc4ByazxRd+BT/RnkQTLspjTY/akdDs9DLmU4ChP73Z0vqpek6wojA==", + "requires": { + "@asyncapi/parser": "^2.1.0", + "js-yaml": "^4.1.0", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + } + }, "@asyncapi/specs": { "version": "6.0.0-next-major-spec.6", "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.6.tgz", @@ -11239,6 +11510,14 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==" }, + "@types/protocol-buffers-schema": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@types/protocol-buffers-schema/-/protocol-buffers-schema-3.4.1.tgz", + "integrity": "sha512-CBpqIDa1+/F3Z5EL8Uz/t+1eygIinJiMS37KP8O9TN+n38OlckYQhU+t/vYpsF7XhSDuiZS0zAJyfRrAeDKDUw==", + "requires": { + "@types/node": "*" + } + }, "@types/semver": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", @@ -15454,6 +15733,11 @@ "sisteransi": "^1.0.5" } }, + "protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, "pure-rand": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", diff --git a/package.json b/package.json index 1c2c20e0e..3f17a55a8 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,10 @@ "prepublishOnly": "npm run generate:assets" }, "dependencies": { + "@asyncapi/avro-schema-parser": "^3.0.3", + "@asyncapi/openapi-schema-parser": "^3.0.4", + "@asyncapi/protobuf-schema-parser": "^3.0.0", + "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserv2": "npm:@asyncapi/parser@^2.1.0", "parserv3": "npm:@asyncapi/parser@^2.2.0-next-major-spec.2" }, diff --git a/src/parse.ts b/src/parse.ts index 56d51c66b..aa5eda59c 100644 --- a/src/parse.ts +++ b/src/parse.ts @@ -1,36 +1,54 @@ import { Parser as ParserV2 } from 'parserv2'; import { Parser as ParserV3 } from 'parserv3'; -import type { ParseOptions as ParserOptionsParserV2 } from 'parserv2'; -import type { ParseOptions as ParserOptionsParserV3 } from 'parserv3'; +import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; +import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; +import { RamlDTSchemaParser } from '@asyncapi/raml-dt-schema-parser'; +import { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser'; + +import type { ParserOptions as ParserOptionsParserV2 } from 'parserv2/esm/parser'; +import type { ParserOptions as ParserOptionsParserV3 } from 'parserv3/esm/parser'; import { majorParserAPIVersion } from './utils'; -type Parser = ParserV2 | ParserV3; +export type ParserOptions = ParserOptionsParserV2 | ParserOptionsParserV3; +export type Options = { + includeSchemaParsers?: boolean; + parserOptions?: ParserOptions; +} -// Cache for parsers -const parsers = new Map(); +type Parser = ParserV2 | ParserV3; -export function NewParser(parserAPIVersion: string, options?: ParserOptionsParserV2 | ParserOptionsParserV3): Parser { - const parserAPIMajorVersion = majorParserAPIVersion(parserAPIVersion); - +export function NewParser(parserAPIVersion: string, options?: Options): Parser { + const parserOptions: ParserOptions = options?.parserOptions || {}; + + // This is done globally instead of per version because latest versions of those schema parsers are still compatible with newer versions of the Parser-JS. + // If a breaking change is introduced in the future, then we would need to register the schema parsers compatible with each version of the Parser-JS. + if (options?.includeSchemaParsers) { + const defaultSchemaParsers = [ + AvroSchemaParser(), + OpenAPISchemaParser(), + RamlDTSchemaParser(), + ProtoBuffSchemaParser(), + ]; + + if (!parserOptions.schemaParsers) { + parserOptions.schemaParsers = defaultSchemaParsers; + } else { + // If the user provides a schema parser, use that one instead of the default one. Comparison is done with the mime types. + const givenSchemaParsersMimeTypes = parserOptions.schemaParsers.map((schemaParser) => schemaParser.getMimeTypes()).flat(); + const filteredDefaultSchemas = defaultSchemaParsers.filter((defaultSchemaParser) => !givenSchemaParsersMimeTypes.includes(defaultSchemaParser.getMimeTypes()[0])); + parserOptions.schemaParsers.push(...filteredDefaultSchemas as any); + } + } + + const parserAPIMajorVersion = majorParserAPIVersion(parserAPIVersion); switch (parserAPIMajorVersion) { case 1: - if (options) { - return new ParserV2(options); // Can't use cached because options is not empty - } - - if (!parsers.has(2)) parsers.set(2, new ParserV2()); - return parsers.get(2) as ParserV2; + return new ParserV2(parserOptions as ParserOptionsParserV2); default: case 0: // Using Parser v3 (latest atm) by default case 2: - if (options) { - return new ParserV3(options); // Can't use cached because options is not empty - } - - if (!parsers.has(3)) parsers.set(3, new ParserV3()); - return parsers.get(3) as ParserV3; + return new ParserV3(parserOptions as ParserOptionsParserV3); } -} - +} \ No newline at end of file diff --git a/test/parse.spec.ts b/test/parse.spec.ts index 4e5551d0b..5a507693b 100644 --- a/test/parse.spec.ts +++ b/test/parse.spec.ts @@ -2,57 +2,91 @@ import { Parser as ParserV2 } from 'parserv2'; import { Parser as ParserV3 } from 'parserv3'; +import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; +import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; +import { RamlDTSchemaParser } from '@asyncapi/raml-dt-schema-parser'; +import { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser'; + import { NewParser } from '../src/index'; +import type { Options } from '../src/parse'; + +const fakeSchemaParser = { + validate: jest.fn().mockReturnValue(Promise.resolve(null)), + parse: jest.fn().mockReturnValue(Promise.resolve({})), + getMimeTypes: jest.fn().mockReturnValue(['fake-format']), +}; describe('NewParser()', function() { it('Creates a Parser without options compatible with Parser-API v1 and caches it', async function() { const parser = NewParser('1.0.0'); expect(parser).toBeInstanceOf(ParserV2); - - // Test cached parser is the same as the one we previously created. - expect(NewParser('1.0.0')).toStrictEqual(parser); }); - it('Creates a Parser with options compatible with Parser-API v1 and skips cache', async function() { - const options = { applyTraits: false }; + it('Creates a Parser with options compatible with Parser-API v1', async function() { + const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; const parser = NewParser('1.0.0', options); + expect(parser).toBeInstanceOf(ParserV2); + expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); + }); - // Test no cached parser is returned - expect(NewParser('1.0.0', options)).not.toStrictEqual(parser); + it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v1', async function() { + const knownSchemaParser = AvroSchemaParser(); + const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; + const parser = NewParser('1.0.0', options); + + expect(parser).toBeInstanceOf(ParserV2); + expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); + expect(parser.parserRegistry.get(OpenAPISchemaParser().getMimeTypes()[0])).toEqual(OpenAPISchemaParser()); + expect(parser.parserRegistry.get(RamlDTSchemaParser().getMimeTypes()[0])).toEqual(RamlDTSchemaParser()); + expect(parser.parserRegistry.get(ProtoBuffSchemaParser().getMimeTypes()[0])).toEqual(ProtoBuffSchemaParser()); }); - it('Creates a Parser without options compatible with Parser-API v2 and caches it', async function() { + it('Creates a Parser without options compatible with Parser-API v2', async function() { const parser = NewParser('2.0.0'); expect(parser).toBeInstanceOf(ParserV3); - - // Test cached parser is the same as the one we previously created. - expect(NewParser('2.0.0')).toStrictEqual(parser); }); - it('Creates a Parser with options compatible with Parser-API v2 and skips cache', async function() { - const options = { applyTraits: false }; + it('Creates a Parser with options compatible with Parser-API v2', async function() { + const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; const parser = NewParser('2.0.0', options); expect(parser).toBeInstanceOf(ParserV3); + expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); + }); - // Test no cached parser is returned - expect(NewParser('2.0.0', options)).not.toStrictEqual(parser); + it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { + const knownSchemaParser = AvroSchemaParser(); + const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; + const parser = NewParser('2.0.0', options); + + expect(parser).toBeInstanceOf(ParserV3); + expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); + expect(parser.parserRegistry.get(OpenAPISchemaParser().getMimeTypes()[0])).toEqual(OpenAPISchemaParser()); + expect(parser.parserRegistry.get(RamlDTSchemaParser().getMimeTypes()[0])).toEqual(RamlDTSchemaParser()); + expect(parser.parserRegistry.get(ProtoBuffSchemaParser().getMimeTypes()[0])).toEqual(ProtoBuffSchemaParser()); }); - it('Creates a Parser without options compatible with old Parser API (AKA v0) and caches it', async function() { + it('Creates a Parser without options compatible with old Parser API (AKA v0)', async function() { const parser = NewParser(''); // could be '0.0.0' as well expect(parser).toBeInstanceOf(ParserV3); // Using Parser v3 (latest atm) by default - - // Test cached parser is the same as the one we previously created. - expect(NewParser('')).toStrictEqual(parser); }); - it('Creates a Parser with options compatible with old Parser API (AKA v0) and skips cache', async function() { - const options = { applyTraits: false }; + it('Creates a Parser with options compatible with old Parser API (AKA v0)', async function() { + const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; const parser = NewParser('0.0.0', options); // could be empty string as well expect(parser).toBeInstanceOf(ParserV3); + expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); + }); - // Test no cached parser is returned - expect(NewParser('0.0.0', options)).not.toStrictEqual(parser); + it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { + const knownSchemaParser = AvroSchemaParser(); + const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; + const parser = NewParser('0.0.0', options); + + expect(parser).toBeInstanceOf(ParserV3); + expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); + expect(parser.parserRegistry.get(OpenAPISchemaParser().getMimeTypes()[0])).toEqual(OpenAPISchemaParser()); + expect(parser.parserRegistry.get(RamlDTSchemaParser().getMimeTypes()[0])).toEqual(RamlDTSchemaParser()); + expect(parser.parserRegistry.get(ProtoBuffSchemaParser().getMimeTypes()[0])).toEqual(ProtoBuffSchemaParser()); }); }); \ No newline at end of file From ae043a8d40e148cd35394f0e67ebd3a92680944b Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Tue, 3 Oct 2023 17:25:57 +0200 Subject: [PATCH 006/107] feat!: change Parser-API version args to represent just the major --- src/convert.ts | 12 ++++-------- src/parse.ts | 10 +++------- src/utils.ts | 5 ----- test/convert.spec.ts | 13 +++++++------ test/parse.spec.ts | 18 +++++++++--------- 5 files changed, 23 insertions(+), 35 deletions(-) delete mode 100644 src/utils.ts diff --git a/src/convert.ts b/src/convert.ts index a03d1a371..8843aaf4a 100644 --- a/src/convert.ts +++ b/src/convert.ts @@ -7,26 +7,22 @@ import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } f import type { DetailedAsyncAPI as DetailedAsyncAPIParserV2 } from 'parserv2/esm/types'; import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from 'parserv3/esm/types'; -import { majorParserAPIVersion } from './utils'; - export type AsyncAPIDocument = AsyncAPIDocumentInterfaceParserV2 | AsyncAPIDocumentInterfaceParserV3; -export function ConvertDocumentParserAPIVersion(doc: AsyncAPIDocument, toParserAPIVersion: string): AsyncAPIDocument { +export function ConvertDocumentParserAPIVersion(doc: AsyncAPIDocument, toParserAPIMajorVersion: number): AsyncAPIDocument { if (!doc || !doc.json) return doc; const docParserAPI = doc.extensions().get('x-parser-api-version')?.value(); - const docParserAPIMajorVersion: number = docParserAPI ? Number(String(docParserAPI).split('.')[0]) : 0; - const toMajorParserAPIVersion = majorParserAPIVersion(toParserAPIVersion); + const docParserAPIMajorVersion: number = docParserAPI || 0; - if (docParserAPIMajorVersion === toMajorParserAPIVersion) { + if (docParserAPIMajorVersion === toParserAPIMajorVersion) { return doc; // Nothing to do } const detailedAsyncAPI = doc.meta().asyncapi; - switch (toMajorParserAPIVersion) { + switch (toParserAPIMajorVersion) { case 1: return createAsyncAPIDocumentParserV2(detailedAsyncAPI as DetailedAsyncAPIParserV2); - // break; case 2: return createAsyncAPIDocumentParserV3(detailedAsyncAPI as DetailedAsyncAPIParserV3); default: diff --git a/src/parse.ts b/src/parse.ts index aa5eda59c..33d36e05e 100644 --- a/src/parse.ts +++ b/src/parse.ts @@ -9,8 +9,6 @@ import { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser'; import type { ParserOptions as ParserOptionsParserV2 } from 'parserv2/esm/parser'; import type { ParserOptions as ParserOptionsParserV3 } from 'parserv3/esm/parser'; -import { majorParserAPIVersion } from './utils'; - export type ParserOptions = ParserOptionsParserV2 | ParserOptionsParserV3; export type Options = { includeSchemaParsers?: boolean; @@ -19,7 +17,7 @@ export type Options = { type Parser = ParserV2 | ParserV3; -export function NewParser(parserAPIVersion: string, options?: Options): Parser { +export function NewParser(parserAPIMajorVersion?: number, options?: Options): Parser { const parserOptions: ParserOptions = options?.parserOptions || {}; // This is done globally instead of per version because latest versions of those schema parsers are still compatible with newer versions of the Parser-JS. @@ -41,13 +39,11 @@ export function NewParser(parserAPIVersion: string, options?: Options): Parser { parserOptions.schemaParsers.push(...filteredDefaultSchemas as any); } } - - const parserAPIMajorVersion = majorParserAPIVersion(parserAPIVersion); + switch (parserAPIMajorVersion) { case 1: return new ParserV2(parserOptions as ParserOptionsParserV2); - default: - case 0: // Using Parser v3 (latest atm) by default + default: // default to latest version case 2: return new ParserV3(parserOptions as ParserOptionsParserV3); } diff --git a/src/utils.ts b/src/utils.ts deleted file mode 100644 index 769eae5a7..000000000 --- a/src/utils.ts +++ /dev/null @@ -1,5 +0,0 @@ -export function majorParserAPIVersion(version: string): number { - if (!version) return 0; - - return Number(version.split('.')[0]); -} \ No newline at end of file diff --git a/test/convert.spec.ts b/test/convert.spec.ts index a7cb5313c..ed076ac65 100644 --- a/test/convert.spec.ts +++ b/test/convert.spec.ts @@ -9,11 +9,12 @@ describe('ConvertDocumentParserAPIVersion()', function() { const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; const parsedDocParserV2 = (await new ParserV2().parse(doc)).document as AsyncAPIDocument; - // Even though the value here is '1' for Parser V3, we force to be '2.0.0' for this test to do the equality check later. - parsedDocParserV2['_json']['x-parser-api-version'] = '2.0.0'; + // Even though the value here is 1 for Parser V3, we force to be 2 for this test to do the equality check later. + parsedDocParserV2['_json']['x-parser-api-version'] = 2; const parsedDocParserV3 = await new ParserV3().parse(doc); - const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV2, '2.0.0'); + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV2, 2); + expect(convertedDoc).toEqual(parsedDocParserV3.document); }); @@ -21,17 +22,17 @@ describe('ConvertDocumentParserAPIVersion()', function() { const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; const parsedDocParserV3 = (await new ParserV3().parse(doc)).document as AsyncAPIDocument; - // Even though the value here is '2.0.0' for Parser V3, we force to be 1 for this test to do the equality check later. + // Even though the value here is 2 for Parser V3, we force to be 1 for this test to do the equality check later. parsedDocParserV3['_json']['x-parser-api-version'] = 1; const parsedDocParserV2 = (await new ParserV2().parse(doc)).document; - const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV3, '1.0.0'); + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV3, 1); expect(convertedDoc).toEqual(parsedDocParserV2); }); it('Skips converting if no document is passed', async function() { const doc = { } as AsyncAPIDocument; - const convertedDoc = ConvertDocumentParserAPIVersion(doc, '1.0.0'); + const convertedDoc = ConvertDocumentParserAPIVersion(doc, 1); expect(convertedDoc).toEqual(doc); }); }); \ No newline at end of file diff --git a/test/parse.spec.ts b/test/parse.spec.ts index 5a507693b..e46adeb06 100644 --- a/test/parse.spec.ts +++ b/test/parse.spec.ts @@ -18,13 +18,13 @@ const fakeSchemaParser = { describe('NewParser()', function() { it('Creates a Parser without options compatible with Parser-API v1 and caches it', async function() { - const parser = NewParser('1.0.0'); + const parser = NewParser(1); expect(parser).toBeInstanceOf(ParserV2); }); it('Creates a Parser with options compatible with Parser-API v1', async function() { const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; - const parser = NewParser('1.0.0', options); + const parser = NewParser(1, options); expect(parser).toBeInstanceOf(ParserV2); expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); @@ -33,7 +33,7 @@ describe('NewParser()', function() { it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v1', async function() { const knownSchemaParser = AvroSchemaParser(); const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; - const parser = NewParser('1.0.0', options); + const parser = NewParser(1, options); expect(parser).toBeInstanceOf(ParserV2); expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); @@ -43,13 +43,13 @@ describe('NewParser()', function() { }); it('Creates a Parser without options compatible with Parser-API v2', async function() { - const parser = NewParser('2.0.0'); + const parser = NewParser(2); expect(parser).toBeInstanceOf(ParserV3); }); it('Creates a Parser with options compatible with Parser-API v2', async function() { const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; - const parser = NewParser('2.0.0', options); + const parser = NewParser(2, options); expect(parser).toBeInstanceOf(ParserV3); expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); }); @@ -57,7 +57,7 @@ describe('NewParser()', function() { it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { const knownSchemaParser = AvroSchemaParser(); const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; - const parser = NewParser('2.0.0', options); + const parser = NewParser(2, options); expect(parser).toBeInstanceOf(ParserV3); expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); @@ -67,13 +67,13 @@ describe('NewParser()', function() { }); it('Creates a Parser without options compatible with old Parser API (AKA v0)', async function() { - const parser = NewParser(''); // could be '0.0.0' as well + const parser = NewParser(); // could be '0.0.0' as well expect(parser).toBeInstanceOf(ParserV3); // Using Parser v3 (latest atm) by default }); it('Creates a Parser with options compatible with old Parser API (AKA v0)', async function() { const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; - const parser = NewParser('0.0.0', options); // could be empty string as well + const parser = NewParser(0, options); // could be empty string as well expect(parser).toBeInstanceOf(ParserV3); expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); }); @@ -81,7 +81,7 @@ describe('NewParser()', function() { it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { const knownSchemaParser = AvroSchemaParser(); const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; - const parser = NewParser('0.0.0', options); + const parser = NewParser(0, options); expect(parser).toBeInstanceOf(ParserV3); expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); From 6a38e4a137bed76a1a879a98c8c1add88b37e029 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 4 Oct 2023 08:10:54 +0200 Subject: [PATCH 007/107] update parser-js --- package-lock.json | 26 +++++++++++++------------- package.json | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5f2f53430..684970c7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserv2": "npm:@asyncapi/parser@^2.1.0", - "parserv3": "npm:@asyncapi/parser@^2.2.0-next-major-spec.2" + "parserv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.3" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -189,9 +189,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.0.0-next-major-spec.6", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.6.tgz", - "integrity": "sha512-xYiXZetKiAZgZoh2q/sxt+Ceg8bLTK/WSCwtLvlH7JgnjpnOEtCDwKszijmmOJEYdGVSrj0OFXLPrg/dm4JANw==", + "version": "6.0.0-next-major-spec.7", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.7.tgz", + "integrity": "sha512-rorau4qa1rjlIz4vGy3MuzQKSyKyJWuRa3DbFKopixDCjnAOIScVDc/M6/T8X9Ay+GQhebcYrbiPT4JUvWbFAA==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7778,9 +7778,9 @@ }, "node_modules/parserv3": { "name": "@asyncapi/parser", - "version": "2.2.0-next-major-spec.2", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.2.0-next-major-spec.2.tgz", - "integrity": "sha512-KkS+sPCHFFPZrFzzx4UGiYDrDfJI583AksLFg6QUKwr5Wjq8o7cIC3Hel2ptaRVv5x1nJz0o6QzFeY7VIWCc1g==", + "version": "3.0.0-next-major-spec.3", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.3.tgz", + "integrity": "sha512-LCrAQqJpGxraMyU2k1Nh1X6Q1dz7a/YhTRRFFrQHOEo+TUT/kRdoUkRDP++e58dO7h9MBN+/hZK5TaqE+/jQiw==", "dependencies": { "@asyncapi/specs": "^6.0.0-next-major-spec.6", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", @@ -9866,9 +9866,9 @@ } }, "@asyncapi/specs": { - "version": "6.0.0-next-major-spec.6", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.6.tgz", - "integrity": "sha512-xYiXZetKiAZgZoh2q/sxt+Ceg8bLTK/WSCwtLvlH7JgnjpnOEtCDwKszijmmOJEYdGVSrj0OFXLPrg/dm4JANw==", + "version": "6.0.0-next-major-spec.7", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.7.tgz", + "integrity": "sha512-rorau4qa1rjlIz4vGy3MuzQKSyKyJWuRa3DbFKopixDCjnAOIScVDc/M6/T8X9Ay+GQhebcYrbiPT4JUvWbFAA==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15529,9 +15529,9 @@ } }, "parserv3": { - "version": "npm:@asyncapi/parser@2.2.0-next-major-spec.2", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.2.0-next-major-spec.2.tgz", - "integrity": "sha512-KkS+sPCHFFPZrFzzx4UGiYDrDfJI583AksLFg6QUKwr5Wjq8o7cIC3Hel2ptaRVv5x1nJz0o6QzFeY7VIWCc1g==", + "version": "npm:@asyncapi/parser@3.0.0-next-major-spec.3", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.3.tgz", + "integrity": "sha512-LCrAQqJpGxraMyU2k1Nh1X6Q1dz7a/YhTRRFFrQHOEo+TUT/kRdoUkRDP++e58dO7h9MBN+/hZK5TaqE+/jQiw==", "requires": { "@asyncapi/specs": "^6.0.0-next-major-spec.6", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", diff --git a/package.json b/package.json index 3f17a55a8..a254506b5 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserv2": "npm:@asyncapi/parser@^2.1.0", - "parserv3": "npm:@asyncapi/parser@^2.2.0-next-major-spec.2" + "parserv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.3" }, "devDependencies": { "@jest/types": "^29.0.2", From ed8efa7b06a022db409f8b4008c7c6f2aad338e5 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Fri, 20 Oct 2023 00:45:11 +0200 Subject: [PATCH 008/107] feat: export types so any other libraries can use them --- src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 761932a89..82d4dd4d5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,2 @@ -export { NewParser} from './parse'; -export { ConvertDocumentParserAPIVersion } from './convert'; +export * from './parse'; +export * from './convert'; From ce21a374dc55e95bea6c53d0bc88532d57401888 Mon Sep 17 00:00:00 2001 From: Jonas Lagoni Date: Fri, 17 Nov 2023 03:49:43 -1000 Subject: [PATCH 009/107] feat!: add support for parser API v3 (#5) * update dependencies and add support for v3 --- package-lock.json | 176 +++++++++++++++++++++++++++++++++++-------- package.json | 5 +- src/convert.ts | 23 +++--- src/parse.ts | 20 +++-- test/convert.spec.ts | 49 +++++++++--- test/parse.spec.ts | 28 ++++--- 6 files changed, 227 insertions(+), 74 deletions(-) diff --git a/package-lock.json b/package-lock.json index 684970c7b..8a416a2ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,8 +13,9 @@ "@asyncapi/openapi-schema-parser": "^3.0.4", "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", - "parserv2": "npm:@asyncapi/parser@^2.1.0", - "parserv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.3" + "parserapiv1": "npm:@asyncapi/parser@^2.1.0", + "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", + "parserapiv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.10" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -189,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.0.0-next-major-spec.7", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.7.tgz", - "integrity": "sha512-rorau4qa1rjlIz4vGy3MuzQKSyKyJWuRa3DbFKopixDCjnAOIScVDc/M6/T8X9Ay+GQhebcYrbiPT4JUvWbFAA==", + "version": "6.0.0-next-major-spec.13", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.13.tgz", + "integrity": "sha512-mnGllHVaUscCHaDnYfLGo84KK81NcTmevVFQP94RusKM2SvtYkbBuC0nwQ6ie/PAEHQy+kn2PjrJlfwwm7VgEQ==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7715,18 +7716,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parserv2": { + "node_modules/parserapiv1": { "name": "@asyncapi/parser", - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", - "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.1.tgz", + "integrity": "sha512-FnJ5Du9iMu9MEb5mF90gF7z1ZkdnazisBsm3GHVFr7VaiF8luAoB+bklGYFwoMb+9QWKWr1099orY5VyXULAcQ==", "dependencies": { "@asyncapi/specs": "^5.1.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", "@stoplight/spectral-functions": "^1.7.2", "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", "@types/json-schema": "^7.0.11", "@types/urijs": "^1.19.19", "ajv": "^8.11.0", @@ -7740,7 +7745,7 @@ "webapi-parser": "^0.5.0" } }, - "node_modules/parserv2/node_modules/@asyncapi/specs": { + "node_modules/parserapiv1/node_modules/@asyncapi/specs": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", @@ -7748,7 +7753,60 @@ "@types/json-schema": "^7.0.11" } }, - "node_modules/parserv2/node_modules/ajv": { + "node_modules/parserapiv1/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/parserapiv1/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/parserapiv1/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/parserapiv2": { + "name": "@asyncapi/parser", + "version": "3.0.0-next-major-spec.8", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.8.tgz", + "integrity": "sha512-d8ebYM08BCsx3Q4AeLke6naU/NrcAXFEVpS6b3EWcKRdUDce+v0X5k9aDH+YXWCaQApEF28UzcxhlSOJvhIFgQ==", + "dependencies": { + "@asyncapi/specs": "^6.0.0-next-major-spec.9", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + } + }, + "node_modules/parserapiv2/node_modules/ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", @@ -7763,7 +7821,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/parserv2/node_modules/ajv-errors": { + "node_modules/parserapiv2/node_modules/ajv-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", @@ -7771,18 +7829,18 @@ "ajv": "^8.0.1" } }, - "node_modules/parserv2/node_modules/json-schema-traverse": { + "node_modules/parserapiv2/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/parserv3": { + "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.0-next-major-spec.3", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.3.tgz", - "integrity": "sha512-LCrAQqJpGxraMyU2k1Nh1X6Q1dz7a/YhTRRFFrQHOEo+TUT/kRdoUkRDP++e58dO7h9MBN+/hZK5TaqE+/jQiw==", + "version": "3.0.0-next-major-spec.10", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.10.tgz", + "integrity": "sha512-z3kdevI4s7mz4+fElG/fqYtI7Kpuc7TAkrCfABTl6/h75PO0xI8bnz0IfT5xk5sSqSuitupMlfw1CPfYFfFo0g==", "dependencies": { - "@asyncapi/specs": "^6.0.0-next-major-spec.6", + "@asyncapi/specs": "^6.0.0-next-major-spec.9", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", @@ -7801,7 +7859,7 @@ "webapi-parser": "^0.5.0" } }, - "node_modules/parserv3/node_modules/ajv": { + "node_modules/parserapiv3/node_modules/ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", @@ -7816,7 +7874,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/parserv3/node_modules/ajv-errors": { + "node_modules/parserapiv3/node_modules/ajv-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", @@ -7824,7 +7882,7 @@ "ajv": "^8.0.1" } }, - "node_modules/parserv3/node_modules/json-schema-traverse": { + "node_modules/parserapiv3/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" @@ -9866,9 +9924,9 @@ } }, "@asyncapi/specs": { - "version": "6.0.0-next-major-spec.7", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.7.tgz", - "integrity": "sha512-rorau4qa1rjlIz4vGy3MuzQKSyKyJWuRa3DbFKopixDCjnAOIScVDc/M6/T8X9Ay+GQhebcYrbiPT4JUvWbFAA==", + "version": "6.0.0-next-major-spec.13", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.13.tgz", + "integrity": "sha512-mnGllHVaUscCHaDnYfLGo84KK81NcTmevVFQP94RusKM2SvtYkbBuC0nwQ6ie/PAEHQy+kn2PjrJlfwwm7VgEQ==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15472,17 +15530,21 @@ "lines-and-columns": "^1.1.6" } }, - "parserv2": { - "version": "npm:@asyncapi/parser@2.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", - "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", + "parserapiv1": { + "version": "npm:@asyncapi/parser@2.1.1", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.1.tgz", + "integrity": "sha512-FnJ5Du9iMu9MEb5mF90gF7z1ZkdnazisBsm3GHVFr7VaiF8luAoB+bklGYFwoMb+9QWKWr1099orY5VyXULAcQ==", "requires": { "@asyncapi/specs": "^5.1.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", "@stoplight/spectral-functions": "^1.7.2", "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", "@types/json-schema": "^7.0.11", "@types/urijs": "^1.19.19", "ajv": "^8.11.0", @@ -15528,12 +15590,60 @@ } } }, - "parserv3": { - "version": "npm:@asyncapi/parser@3.0.0-next-major-spec.3", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.3.tgz", - "integrity": "sha512-LCrAQqJpGxraMyU2k1Nh1X6Q1dz7a/YhTRRFFrQHOEo+TUT/kRdoUkRDP++e58dO7h9MBN+/hZK5TaqE+/jQiw==", + "parserapiv2": { + "version": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.8.tgz", + "integrity": "sha512-d8ebYM08BCsx3Q4AeLke6naU/NrcAXFEVpS6b3EWcKRdUDce+v0X5k9aDH+YXWCaQApEF28UzcxhlSOJvhIFgQ==", + "requires": { + "@asyncapi/specs": "^6.0.0-next-major-spec.9", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "requires": {} + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "parserapiv3": { + "version": "npm:@asyncapi/parser@3.0.0-next-major-spec.10", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.10.tgz", + "integrity": "sha512-z3kdevI4s7mz4+fElG/fqYtI7Kpuc7TAkrCfABTl6/h75PO0xI8bnz0IfT5xk5sSqSuitupMlfw1CPfYFfFo0g==", "requires": { - "@asyncapi/specs": "^6.0.0-next-major-spec.6", + "@asyncapi/specs": "^6.0.0-next-major-spec.9", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", diff --git a/package.json b/package.json index a254506b5..37aaf6c47 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,9 @@ "@asyncapi/openapi-schema-parser": "^3.0.4", "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", - "parserv2": "npm:@asyncapi/parser@^2.1.0", - "parserv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.3" + "parserapiv1": "npm:@asyncapi/parser@^2.1.0", + "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", + "parserapiv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.10" }, "devDependencies": { "@jest/types": "^29.0.2", diff --git a/src/convert.ts b/src/convert.ts index 8843aaf4a..bb13e0f90 100644 --- a/src/convert.ts +++ b/src/convert.ts @@ -1,13 +1,16 @@ -import { createAsyncAPIDocument as createAsyncAPIDocumentParserV2 } from 'parserv2'; -import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from 'parserv3'; +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV1 } from 'parserapiv1'; +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV2 } from 'parserapiv2'; +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from 'parserapiv3'; -import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV2 } from 'parserv2'; -import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from 'parserv3'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV1 } from 'parserapiv1'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV2 } from 'parserapiv2'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from 'parserapiv3'; -import type { DetailedAsyncAPI as DetailedAsyncAPIParserV2 } from 'parserv2/esm/types'; -import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from 'parserv3/esm/types'; +import type { DetailedAsyncAPI as DetailedAsyncAPIParserV1 } from 'parserapiv1/esm/types'; +import type { DetailedAsyncAPI as DetailedAsyncAPIParserV2 } from 'parserapiv2/esm/types'; +import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from 'parserapiv3/esm/types'; -export type AsyncAPIDocument = AsyncAPIDocumentInterfaceParserV2 | AsyncAPIDocumentInterfaceParserV3; +export type AsyncAPIDocument = AsyncAPIDocumentInterfaceParserV1 | AsyncAPIDocumentInterfaceParserV2 | AsyncAPIDocumentInterfaceParserV3; export function ConvertDocumentParserAPIVersion(doc: AsyncAPIDocument, toParserAPIMajorVersion: number): AsyncAPIDocument { if (!doc || !doc.json) return doc; @@ -22,10 +25,12 @@ export function ConvertDocumentParserAPIVersion(doc: AsyncAPIDocument, toParserA const detailedAsyncAPI = doc.meta().asyncapi; switch (toParserAPIMajorVersion) { case 1: - return createAsyncAPIDocumentParserV2(detailedAsyncAPI as DetailedAsyncAPIParserV2); + return createAsyncAPIDocumentParserV1(detailedAsyncAPI as DetailedAsyncAPIParserV1); case 2: + return createAsyncAPIDocumentParserV2(detailedAsyncAPI as DetailedAsyncAPIParserV2); + case 3: return createAsyncAPIDocumentParserV3(detailedAsyncAPI as DetailedAsyncAPIParserV3); default: return doc; } -} \ No newline at end of file +} diff --git a/src/parse.ts b/src/parse.ts index 33d36e05e..5de041d88 100644 --- a/src/parse.ts +++ b/src/parse.ts @@ -1,21 +1,23 @@ -import { Parser as ParserV2 } from 'parserv2'; -import { Parser as ParserV3 } from 'parserv3'; +import { Parser as ParserV1 } from 'parserapiv1'; +import { Parser as ParserV2 } from 'parserapiv2'; +import { Parser as ParserV3 } from 'parserapiv3'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; import { RamlDTSchemaParser } from '@asyncapi/raml-dt-schema-parser'; import { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser'; -import type { ParserOptions as ParserOptionsParserV2 } from 'parserv2/esm/parser'; -import type { ParserOptions as ParserOptionsParserV3 } from 'parserv3/esm/parser'; +import type { ParserOptions as ParserOptionsParserV1 } from 'parserapiv1/esm/parser'; +import type { ParserOptions as ParserOptionsParserV2 } from 'parserapiv2/esm/parser'; +import type { ParserOptions as ParserOptionsParserV3 } from 'parserapiv3/esm/parser'; -export type ParserOptions = ParserOptionsParserV2 | ParserOptionsParserV3; +export type ParserOptions = ParserOptionsParserV1 | ParserOptionsParserV2 | ParserOptionsParserV3; export type Options = { includeSchemaParsers?: boolean; parserOptions?: ParserOptions; } -type Parser = ParserV2 | ParserV3; +type Parser = ParserV1 | ParserV2 | ParserV3; export function NewParser(parserAPIMajorVersion?: number, options?: Options): Parser { const parserOptions: ParserOptions = options?.parserOptions || {}; @@ -42,9 +44,11 @@ export function NewParser(parserAPIMajorVersion?: number, options?: Options): Pa switch (parserAPIMajorVersion) { case 1: + return new ParserV1(parserOptions as ParserOptionsParserV1); + case 2: return new ParserV2(parserOptions as ParserOptionsParserV2); default: // default to latest version - case 2: + case 3: return new ParserV3(parserOptions as ParserOptionsParserV3); } -} \ No newline at end of file +} diff --git a/test/convert.spec.ts b/test/convert.spec.ts index ed076ac65..c183fe22e 100644 --- a/test/convert.spec.ts +++ b/test/convert.spec.ts @@ -1,38 +1,63 @@ -import { Parser as ParserV2 } from 'parserv2'; -import { Parser as ParserV3 } from 'parserv3'; +import { Parser as ParserV1 } from 'parserapiv1'; +import { Parser as ParserV2 } from 'parserapiv2'; +import { Parser as ParserV3 } from 'parserapiv3'; import { AsyncAPIDocument, ConvertDocumentParserAPIVersion } from '../src/convert'; describe('ConvertDocumentParserAPIVersion()', function() { it('Converts from Parser-API v1 to Parser-API v2', async function() { const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; - const parsedDocParserV2 = (await new ParserV2().parse(doc)).document as AsyncAPIDocument; + const parsedDocParserV1 = (await new ParserV1().parse(doc)).document as AsyncAPIDocument; - // Even though the value here is 1 for Parser V3, we force to be 2 for this test to do the equality check later. - parsedDocParserV2['_json']['x-parser-api-version'] = 2; + // Even though the value here is 1 for Parser V1, we force to be 2 for this test to do the equality check later. + parsedDocParserV1['_json']['x-parser-api-version'] = 2; - const parsedDocParserV3 = await new ParserV3().parse(doc); - const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV2, 2); + const parsedDocParserV2 = await new ParserV2().parse(doc); + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV1, 2); - expect(convertedDoc).toEqual(parsedDocParserV3.document); + expect(convertedDoc).toEqual(parsedDocParserV2.document); }); it('Converts from Parser-API v2 to Parser-API v1', async function() { + const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; + const parsedDocParserV2 = (await new ParserV2().parse(doc)).document as AsyncAPIDocument; + + // Even though the value here is 2 for Parser V2, we force to be 1 for this test to do the equality check later. + parsedDocParserV2['_json']['x-parser-api-version'] = 1; + + const parsedDocParserV1 = (await new ParserV1().parse(doc)).document; + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV2, 1); + expect(convertedDoc).toEqual(parsedDocParserV1); + }); + + it('Converts from Parser-API v3 to Parser-API v2', async function() { const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; const parsedDocParserV3 = (await new ParserV3().parse(doc)).document as AsyncAPIDocument; - // Even though the value here is 2 for Parser V3, we force to be 1 for this test to do the equality check later. - parsedDocParserV3['_json']['x-parser-api-version'] = 1; + // Even though the value here is 3 for Parser V3, we force to be 2 for this test to do the equality check later. + parsedDocParserV3['_json']['x-parser-api-version'] = 2; const parsedDocParserV2 = (await new ParserV2().parse(doc)).document; - const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV3, 1); + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV3, 2); expect(convertedDoc).toEqual(parsedDocParserV2); }); + + it('Converts from Parser-API v3 to Parser-API v1', async function() { + const doc = { asyncapi: '2.6.0', info: { title: '', description: '', version: ''}, channels: {} }; + const parsedDocParserV3 = (await new ParserV3().parse(doc)).document as AsyncAPIDocument; + + // Even though the value here is 3 for Parser V3, we force to be 1 for this test to do the equality check later. + parsedDocParserV3['_json']['x-parser-api-version'] = 1; + + const parsedDocParserV1 = (await new ParserV1().parse(doc)).document; + const convertedDoc = ConvertDocumentParserAPIVersion(parsedDocParserV3, 1); + expect(convertedDoc).toEqual(parsedDocParserV1); + }); it('Skips converting if no document is passed', async function() { const doc = { } as AsyncAPIDocument; const convertedDoc = ConvertDocumentParserAPIVersion(doc, 1); expect(convertedDoc).toEqual(doc); }); -}); \ No newline at end of file +}); diff --git a/test/parse.spec.ts b/test/parse.spec.ts index e46adeb06..8e714cf4b 100644 --- a/test/parse.spec.ts +++ b/test/parse.spec.ts @@ -1,6 +1,7 @@ -import { Parser as ParserV2 } from 'parserv2'; -import { Parser as ParserV3 } from 'parserv3'; +import { Parser as ParserV1 } from 'parserapiv1'; +import { Parser as ParserV2 } from 'parserapiv2'; +import { Parser as ParserV3 } from 'parserapiv3'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; @@ -19,14 +20,14 @@ const fakeSchemaParser = { describe('NewParser()', function() { it('Creates a Parser without options compatible with Parser-API v1 and caches it', async function() { const parser = NewParser(1); - expect(parser).toBeInstanceOf(ParserV2); + expect(parser).toBeInstanceOf(ParserV1); }); it('Creates a Parser with options compatible with Parser-API v1', async function() { const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; const parser = NewParser(1, options); - expect(parser).toBeInstanceOf(ParserV2); + expect(parser).toBeInstanceOf(ParserV1); expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); }); @@ -35,7 +36,7 @@ describe('NewParser()', function() { const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; const parser = NewParser(1, options); - expect(parser).toBeInstanceOf(ParserV2); + expect(parser).toBeInstanceOf(ParserV1); expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); expect(parser.parserRegistry.get(OpenAPISchemaParser().getMimeTypes()[0])).toEqual(OpenAPISchemaParser()); expect(parser.parserRegistry.get(RamlDTSchemaParser().getMimeTypes()[0])).toEqual(RamlDTSchemaParser()); @@ -44,22 +45,29 @@ describe('NewParser()', function() { it('Creates a Parser without options compatible with Parser-API v2', async function() { const parser = NewParser(2); - expect(parser).toBeInstanceOf(ParserV3); + expect(parser).toBeInstanceOf(ParserV2); }); it('Creates a Parser with options compatible with Parser-API v2', async function() { const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; const parser = NewParser(2, options); + expect(parser).toBeInstanceOf(ParserV2); + expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); + }); + + it('Creates a Parser with options compatible with Parser-API v3', async function() { + const options: Options = { parserOptions: { schemaParsers: [fakeSchemaParser]} }; + const parser = NewParser(3, options); expect(parser).toBeInstanceOf(ParserV3); expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); }); - it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { + it('Creates a Parser 2 with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { const knownSchemaParser = AvroSchemaParser(); const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; const parser = NewParser(2, options); - expect(parser).toBeInstanceOf(ParserV3); + expect(parser).toBeInstanceOf(ParserV2); expect(parser.parserRegistry.get(knownSchemaParser.getMimeTypes()[0])).toStrictEqual(knownSchemaParser); expect(parser.parserRegistry.get(OpenAPISchemaParser().getMimeTypes()[0])).toEqual(OpenAPISchemaParser()); expect(parser.parserRegistry.get(RamlDTSchemaParser().getMimeTypes()[0])).toEqual(RamlDTSchemaParser()); @@ -78,7 +86,7 @@ describe('NewParser()', function() { expect(parser.parserRegistry.get('fake-format')).not.toBeUndefined(); }); - it('Creates a Parser with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { + it('Creates a Parser 0 with options including known Schema Parsers and do not overwrite those with Parser-API v2', async function() { const knownSchemaParser = AvroSchemaParser(); const options: Options = { parserOptions: { schemaParsers: [knownSchemaParser]}, includeSchemaParsers: true }; const parser = NewParser(0, options); @@ -89,4 +97,4 @@ describe('NewParser()', function() { expect(parser.parserRegistry.get(RamlDTSchemaParser().getMimeTypes()[0])).toEqual(RamlDTSchemaParser()); expect(parser.parserRegistry.get(ProtoBuffSchemaParser().getMimeTypes()[0])).toEqual(ProtoBuffSchemaParser()); }); -}); \ No newline at end of file +}); From 2655777ce0625305f4afcf7954ddc3341838508c Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:57:44 +0100 Subject: [PATCH 010/107] fix: update parser-js to v3 (#7) --- package-lock.json | 46 +++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8a416a2ab..2fafcb222 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.10" + "parserapiv3": "npm:@asyncapi/parser@^3.0.1" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.0.0-next-major-spec.13", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.13.tgz", - "integrity": "sha512-mnGllHVaUscCHaDnYfLGo84KK81NcTmevVFQP94RusKM2SvtYkbBuC0nwQ6ie/PAEHQy+kn2PjrJlfwwm7VgEQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.2.0.tgz", + "integrity": "sha512-5uf/Rg6pavZHx7rVIkP0TP/icIahJCuHgmY1rdtkrWxHZMXbASDDV3DlTUaonbsUeemwchoqljmrTd1O1xqvxg==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,16 +7836,20 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.0-next-major-spec.10", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.10.tgz", - "integrity": "sha512-z3kdevI4s7mz4+fElG/fqYtI7Kpuc7TAkrCfABTl6/h75PO0xI8bnz0IfT5xk5sSqSuitupMlfw1CPfYFfFo0g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.1.tgz", + "integrity": "sha512-LtRVjbswpqW7TlSqnGVdFm1da3DV1sqQz07ZG6xqzpR2A2pkn16+5Fk+OhuAggZ0atXNLSYfYSuKp8t3iKvrKA==", "dependencies": { - "@asyncapi/specs": "^6.0.0-next-major-spec.9", + "@asyncapi/specs": "^6.1.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", "@stoplight/spectral-functions": "^1.7.2", "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", "@types/json-schema": "^7.0.11", "@types/urijs": "^1.19.19", "ajv": "^8.11.0", @@ -7854,9 +7858,7 @@ "avsc": "^5.7.5", "js-yaml": "^4.1.0", "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" + "node-fetch": "2.6.7" } }, "node_modules/parserapiv3/node_modules/ajv": { @@ -9924,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.0.0-next-major-spec.13", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.0.0-next-major-spec.13.tgz", - "integrity": "sha512-mnGllHVaUscCHaDnYfLGo84KK81NcTmevVFQP94RusKM2SvtYkbBuC0nwQ6ie/PAEHQy+kn2PjrJlfwwm7VgEQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.2.0.tgz", + "integrity": "sha512-5uf/Rg6pavZHx7rVIkP0TP/icIahJCuHgmY1rdtkrWxHZMXbASDDV3DlTUaonbsUeemwchoqljmrTd1O1xqvxg==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15639,16 +15641,20 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.0-next-major-spec.10", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.10.tgz", - "integrity": "sha512-z3kdevI4s7mz4+fElG/fqYtI7Kpuc7TAkrCfABTl6/h75PO0xI8bnz0IfT5xk5sSqSuitupMlfw1CPfYFfFo0g==", + "version": "npm:@asyncapi/parser@3.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.1.tgz", + "integrity": "sha512-LtRVjbswpqW7TlSqnGVdFm1da3DV1sqQz07ZG6xqzpR2A2pkn16+5Fk+OhuAggZ0atXNLSYfYSuKp8t3iKvrKA==", "requires": { - "@asyncapi/specs": "^6.0.0-next-major-spec.9", + "@asyncapi/specs": "^6.1.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", "@stoplight/spectral-functions": "^1.7.2", "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", "@types/json-schema": "^7.0.11", "@types/urijs": "^1.19.19", "ajv": "^8.11.0", @@ -15657,9 +15663,7 @@ "avsc": "^5.7.5", "js-yaml": "^4.1.0", "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" + "node-fetch": "2.6.7" }, "dependencies": { "ajv": { diff --git a/package.json b/package.json index 37aaf6c47..35b5b75e0 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.0-next-major-spec.10" + "parserapiv3": "npm:@asyncapi/parser@^3.0.1" }, "devDependencies": { "@jest/types": "^29.0.2", From b9dc1d82c206a01a0b97a20d2cd83a070b0c3779 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Tue, 20 Feb 2024 16:10:20 +0100 Subject: [PATCH 011/107] fix: update @asyncapi/parser to 3.0.6 (#8) --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2fafcb222..acdff72b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.1" + "parserapiv3": "npm:@asyncapi/parser@^3.0.6" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.2.0.tgz", - "integrity": "sha512-5uf/Rg6pavZHx7rVIkP0TP/icIahJCuHgmY1rdtkrWxHZMXbASDDV3DlTUaonbsUeemwchoqljmrTd1O1xqvxg==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.4.0.tgz", + "integrity": "sha512-hTw0xF09i+eoSGP8LKo6aM+XOkvWsgV7kYpFHXd45VX9RcVZl5cADFIYDnPZkd52WaDJ4S+8Nrwkt/1vDb6SrQ==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,11 +7836,11 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.1.tgz", - "integrity": "sha512-LtRVjbswpqW7TlSqnGVdFm1da3DV1sqQz07ZG6xqzpR2A2pkn16+5Fk+OhuAggZ0atXNLSYfYSuKp8t3iKvrKA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.6.tgz", + "integrity": "sha512-oHTaeXG9DOdBlBZ90xCSPCl3kT5XE851+Rxn47bMfG05Z48csZ1o9wFUl/SzQt+L8HgplFeQG4n/7EJHYOlcWQ==", "dependencies": { - "@asyncapi/specs": "^6.1.0", + "@asyncapi/specs": "^6.4.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -9926,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.2.0.tgz", - "integrity": "sha512-5uf/Rg6pavZHx7rVIkP0TP/icIahJCuHgmY1rdtkrWxHZMXbASDDV3DlTUaonbsUeemwchoqljmrTd1O1xqvxg==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.4.0.tgz", + "integrity": "sha512-hTw0xF09i+eoSGP8LKo6aM+XOkvWsgV7kYpFHXd45VX9RcVZl5cADFIYDnPZkd52WaDJ4S+8Nrwkt/1vDb6SrQ==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15641,11 +15641,11 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.1", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.1.tgz", - "integrity": "sha512-LtRVjbswpqW7TlSqnGVdFm1da3DV1sqQz07ZG6xqzpR2A2pkn16+5Fk+OhuAggZ0atXNLSYfYSuKp8t3iKvrKA==", + "version": "npm:@asyncapi/parser@3.0.6", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.6.tgz", + "integrity": "sha512-oHTaeXG9DOdBlBZ90xCSPCl3kT5XE851+Rxn47bMfG05Z48csZ1o9wFUl/SzQt+L8HgplFeQG4n/7EJHYOlcWQ==", "requires": { - "@asyncapi/specs": "^6.1.0", + "@asyncapi/specs": "^6.4.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", diff --git a/package.json b/package.json index 35b5b75e0..8a02c9779 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.1" + "parserapiv3": "npm:@asyncapi/parser@^3.0.6" }, "devDependencies": { "@jest/types": "^29.0.2", From 8158f9a38c1f119fbd79baa03c7c93db45776cac Mon Sep 17 00:00:00 2001 From: Pedro Ramos Date: Thu, 22 Feb 2024 17:45:26 +0100 Subject: [PATCH 012/107] fix: update @asyncapi/parser to 3.0.7 (#9) --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index acdff72b9..70b67fd6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.6" + "parserapiv3": "npm:@asyncapi/parser@^3.0.7" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.4.0.tgz", - "integrity": "sha512-hTw0xF09i+eoSGP8LKo6aM+XOkvWsgV7kYpFHXd45VX9RcVZl5cADFIYDnPZkd52WaDJ4S+8Nrwkt/1vDb6SrQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.0.tgz", + "integrity": "sha512-84QUcfMT05+vvHO5EnSI0I5OZKzMgF/i3vgw92ghk1l52VM/lb3qNnuARzyo+uHJ9kmIb5+naK9wTuliVOdzmg==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,11 +7836,11 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.6.tgz", - "integrity": "sha512-oHTaeXG9DOdBlBZ90xCSPCl3kT5XE851+Rxn47bMfG05Z48csZ1o9wFUl/SzQt+L8HgplFeQG4n/7EJHYOlcWQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.7.tgz", + "integrity": "sha512-CKdkZbhs+2Mw7M2UZPypKEhKuaF+o5qZB2TQc0pDf+Wr09uEnm6WTdyqzmMGVb5fkQYApu8psQeDyVMbhfoWXQ==", "dependencies": { - "@asyncapi/specs": "^6.4.0", + "@asyncapi/specs": "^6.5.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -9926,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.4.0.tgz", - "integrity": "sha512-hTw0xF09i+eoSGP8LKo6aM+XOkvWsgV7kYpFHXd45VX9RcVZl5cADFIYDnPZkd52WaDJ4S+8Nrwkt/1vDb6SrQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.0.tgz", + "integrity": "sha512-84QUcfMT05+vvHO5EnSI0I5OZKzMgF/i3vgw92ghk1l52VM/lb3qNnuARzyo+uHJ9kmIb5+naK9wTuliVOdzmg==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15641,11 +15641,11 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.6", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.6.tgz", - "integrity": "sha512-oHTaeXG9DOdBlBZ90xCSPCl3kT5XE851+Rxn47bMfG05Z48csZ1o9wFUl/SzQt+L8HgplFeQG4n/7EJHYOlcWQ==", + "version": "npm:@asyncapi/parser@3.0.7", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.7.tgz", + "integrity": "sha512-CKdkZbhs+2Mw7M2UZPypKEhKuaF+o5qZB2TQc0pDf+Wr09uEnm6WTdyqzmMGVb5fkQYApu8psQeDyVMbhfoWXQ==", "requires": { - "@asyncapi/specs": "^6.4.0", + "@asyncapi/specs": "^6.5.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", diff --git a/package.json b/package.json index 8a02c9779..4901341d0 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.6" + "parserapiv3": "npm:@asyncapi/parser@^3.0.7" }, "devDependencies": { "@jest/types": "^29.0.2", From 94031bf897b809216b6a811ba349f2983fa72223 Mon Sep 17 00:00:00 2001 From: Pedro Ramos Date: Thu, 14 Mar 2024 19:34:03 +0100 Subject: [PATCH 013/107] fix: update @asyncapi/parser to 3.0.9 --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70b67fd6d..8e0413630 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.7" + "parserapiv3": "npm:@asyncapi/parser@^3.0.9" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.0.tgz", - "integrity": "sha512-84QUcfMT05+vvHO5EnSI0I5OZKzMgF/i3vgw92ghk1l52VM/lb3qNnuARzyo+uHJ9kmIb5+naK9wTuliVOdzmg==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.3.tgz", + "integrity": "sha512-mZROlCOLkZEWy5tN4pPop3JEJflSKmLLMGO1TebF5wjnroqZ3yp/GuGUxVIl3jVNxFk1i5nZ2AtWzAD/HaUj3Q==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,11 +7836,11 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.7.tgz", - "integrity": "sha512-CKdkZbhs+2Mw7M2UZPypKEhKuaF+o5qZB2TQc0pDf+Wr09uEnm6WTdyqzmMGVb5fkQYApu8psQeDyVMbhfoWXQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.10.tgz", + "integrity": "sha512-x9qo7SHGzPWbC1XCRyilcI+Z6UZsWZ9uRl05h9j4G/v+3IjNG3krwngiAbt59nbLlYZD/nBS7Hc03GayoocnQw==", "dependencies": { - "@asyncapi/specs": "^6.5.0", + "@asyncapi/specs": "^6.5.3", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -9926,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.0.tgz", - "integrity": "sha512-84QUcfMT05+vvHO5EnSI0I5OZKzMgF/i3vgw92ghk1l52VM/lb3qNnuARzyo+uHJ9kmIb5+naK9wTuliVOdzmg==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.3.tgz", + "integrity": "sha512-mZROlCOLkZEWy5tN4pPop3JEJflSKmLLMGO1TebF5wjnroqZ3yp/GuGUxVIl3jVNxFk1i5nZ2AtWzAD/HaUj3Q==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15641,11 +15641,11 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.7", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.7.tgz", - "integrity": "sha512-CKdkZbhs+2Mw7M2UZPypKEhKuaF+o5qZB2TQc0pDf+Wr09uEnm6WTdyqzmMGVb5fkQYApu8psQeDyVMbhfoWXQ==", + "version": "npm:@asyncapi/parser@3.0.10", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.10.tgz", + "integrity": "sha512-x9qo7SHGzPWbC1XCRyilcI+Z6UZsWZ9uRl05h9j4G/v+3IjNG3krwngiAbt59nbLlYZD/nBS7Hc03GayoocnQw==", "requires": { - "@asyncapi/specs": "^6.5.0", + "@asyncapi/specs": "^6.5.3", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", diff --git a/package.json b/package.json index 4901341d0..6938d9348 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.7" + "parserapiv3": "npm:@asyncapi/parser@^3.0.9" }, "devDependencies": { "@jest/types": "^29.0.2", From e4c891e408101f024e6d544aaf777d5206e6e03e Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 3 Apr 2024 22:30:23 +0200 Subject: [PATCH 014/107] fix: update @asyncapi/parser to 3.0.12 (#13) --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8e0413630..3cc85db95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.9" + "parserapiv3": "npm:@asyncapi/parser@^3.0.12" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.3.tgz", - "integrity": "sha512-mZROlCOLkZEWy5tN4pPop3JEJflSKmLLMGO1TebF5wjnroqZ3yp/GuGUxVIl3jVNxFk1i5nZ2AtWzAD/HaUj3Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.5.tgz", + "integrity": "sha512-5uPO22ZsLjh6ZdSHF/wROogOaA3BlYUOQqBf5+hdBbXXj/jIHJWHTYSLWCvws7DQM0++tHslFZ+xWbURTc927w==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,11 +7836,11 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.10.tgz", - "integrity": "sha512-x9qo7SHGzPWbC1XCRyilcI+Z6UZsWZ9uRl05h9j4G/v+3IjNG3krwngiAbt59nbLlYZD/nBS7Hc03GayoocnQw==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.12.tgz", + "integrity": "sha512-F46FSg6XZDy8LSE0U8MnK0JsvRdDXN2XwE/prewr6d+JE1DNR7fwYAFty7SNh2Ym04D5G+YHZEm2QbbzOsrbsQ==", "dependencies": { - "@asyncapi/specs": "^6.5.3", + "@asyncapi/specs": "^6.5.5", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -9926,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.3.tgz", - "integrity": "sha512-mZROlCOLkZEWy5tN4pPop3JEJflSKmLLMGO1TebF5wjnroqZ3yp/GuGUxVIl3jVNxFk1i5nZ2AtWzAD/HaUj3Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.5.tgz", + "integrity": "sha512-5uPO22ZsLjh6ZdSHF/wROogOaA3BlYUOQqBf5+hdBbXXj/jIHJWHTYSLWCvws7DQM0++tHslFZ+xWbURTc927w==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15641,11 +15641,11 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.10", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.10.tgz", - "integrity": "sha512-x9qo7SHGzPWbC1XCRyilcI+Z6UZsWZ9uRl05h9j4G/v+3IjNG3krwngiAbt59nbLlYZD/nBS7Hc03GayoocnQw==", + "version": "npm:@asyncapi/parser@3.0.12", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.12.tgz", + "integrity": "sha512-F46FSg6XZDy8LSE0U8MnK0JsvRdDXN2XwE/prewr6d+JE1DNR7fwYAFty7SNh2Ym04D5G+YHZEm2QbbzOsrbsQ==", "requires": { - "@asyncapi/specs": "^6.5.3", + "@asyncapi/specs": "^6.5.5", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", diff --git a/package.json b/package.json index 6938d9348..4d6e824b1 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.9" + "parserapiv3": "npm:@asyncapi/parser@^3.0.12" }, "devDependencies": { "@jest/types": "^29.0.2", From 38763a317f40ba7a39d54b1fc4af4f73d305a3c4 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:54:38 +0200 Subject: [PATCH 015/107] fix: update @asyncapi/parser to 3.0.13 (#14) --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3cc85db95..bded7985f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.12" + "parserapiv3": "npm:@asyncapi/parser@^3.0.13" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.5.tgz", - "integrity": "sha512-5uPO22ZsLjh6ZdSHF/wROogOaA3BlYUOQqBf5+hdBbXXj/jIHJWHTYSLWCvws7DQM0++tHslFZ+xWbURTc927w==", + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.6.tgz", + "integrity": "sha512-TI3OIY0UFf7wPyjV9GjKqL6C4YJ0xOJ7wX33sxVqCf0XXIq4otGHa1XiBcCUAgdbMlO7b8jsFRxuUsVXCsYDVQ==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,11 +7836,11 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.12.tgz", - "integrity": "sha512-F46FSg6XZDy8LSE0U8MnK0JsvRdDXN2XwE/prewr6d+JE1DNR7fwYAFty7SNh2Ym04D5G+YHZEm2QbbzOsrbsQ==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.13.tgz", + "integrity": "sha512-ULNVAsfdLJJJeBDCAWGfleEzmkKJCWcZaYzhTIrqccJa6yZvWrMPLGMYhJhBkdczDxjtdi0iqMmxEy2GC36mUA==", "dependencies": { - "@asyncapi/specs": "^6.5.5", + "@asyncapi/specs": "^6.5.6", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -9926,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.5.tgz", - "integrity": "sha512-5uPO22ZsLjh6ZdSHF/wROogOaA3BlYUOQqBf5+hdBbXXj/jIHJWHTYSLWCvws7DQM0++tHslFZ+xWbURTc927w==", + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.6.tgz", + "integrity": "sha512-TI3OIY0UFf7wPyjV9GjKqL6C4YJ0xOJ7wX33sxVqCf0XXIq4otGHa1XiBcCUAgdbMlO7b8jsFRxuUsVXCsYDVQ==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15641,11 +15641,11 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.12", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.12.tgz", - "integrity": "sha512-F46FSg6XZDy8LSE0U8MnK0JsvRdDXN2XwE/prewr6d+JE1DNR7fwYAFty7SNh2Ym04D5G+YHZEm2QbbzOsrbsQ==", + "version": "npm:@asyncapi/parser@3.0.13", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.13.tgz", + "integrity": "sha512-ULNVAsfdLJJJeBDCAWGfleEzmkKJCWcZaYzhTIrqccJa6yZvWrMPLGMYhJhBkdczDxjtdi0iqMmxEy2GC36mUA==", "requires": { - "@asyncapi/specs": "^6.5.5", + "@asyncapi/specs": "^6.5.6", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", diff --git a/package.json b/package.json index 4d6e824b1..ed5ece6b0 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.12" + "parserapiv3": "npm:@asyncapi/parser@^3.0.13" }, "devDependencies": { "@jest/types": "^29.0.2", From 2e000ba43445ff860274b428fd9ca7b450b948f3 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 20 Apr 2024 14:55:47 +0530 Subject: [PATCH 016/107] web: prepare web codebase for turborepo --- CODEOWNERS => apps/parser/CODEOWNERS | 0 .../parser/CODE_OF_CONDUCT.md | 0 CONTRIBUTING.md => apps/parser/CONTRIBUTING.md | 0 LICENSE => apps/parser/LICENSE | 0 README.md => apps/parser/README.md | 0 {assets => apps/parser/assets}/logo.png | Bin {docs => apps/parser/docs}/migrations/v1-to-v2.md | 0 {docs => apps/parser/docs}/migrations/v2-to-v3.md | 0 {docs => apps/parser/docs}/ruleset/README.md | 0 {docs => apps/parser/docs}/ruleset/core-ruleset.md | 0 .../parser/docs}/ruleset/recommended-ruleset.md | 0 .../parser/docs}/ruleset/v2-core-ruleset.md | 0 .../parser/docs}/ruleset/v2-recommended-ruleset.md | 0 jest.config.ts => apps/parser/jest.config.ts | 0 package-lock.json => apps/parser/package-lock.json | 0 package.json => apps/parser/package.json | 0 {src => apps/parser/src}/constants.ts | 0 .../src}/custom-operations/anonymous-naming.ts | 0 .../parser/src}/custom-operations/apply-traits.ts | 0 .../src}/custom-operations/apply-unique-ids.ts | 0 .../src}/custom-operations/check-circular-refs.ts | 0 {src => apps/parser/src}/custom-operations/index.ts | 0 .../parser/src}/custom-operations/parse-schema.ts | 0 .../src}/custom-operations/resolve-circular-refs.ts | 0 {src => apps/parser/src}/document.ts | 0 {src => apps/parser/src}/from.ts | 0 {src => apps/parser/src}/index.ts | 0 {src => apps/parser/src}/iterator.ts | 0 {src => apps/parser/src}/models/asyncapi.ts | 0 {src => apps/parser/src}/models/base.ts | 0 {src => apps/parser/src}/models/binding.ts | 0 {src => apps/parser/src}/models/bindings.ts | 0 .../parser/src}/models/channel-parameter.ts | 0 .../parser/src}/models/channel-parameters.ts | 0 {src => apps/parser/src}/models/channel.ts | 0 {src => apps/parser/src}/models/channels.ts | 0 {src => apps/parser/src}/models/collection.ts | 0 {src => apps/parser/src}/models/components.ts | 0 {src => apps/parser/src}/models/contact.ts | 0 {src => apps/parser/src}/models/correlation-id.ts | 0 {src => apps/parser/src}/models/correlation-ids.ts | 0 {src => apps/parser/src}/models/extension.ts | 0 {src => apps/parser/src}/models/extensions.ts | 0 {src => apps/parser/src}/models/external-docs.ts | 0 .../parser/src}/models/external-documentation.ts | 0 .../parser/src}/models/external-documentations.ts | 0 {src => apps/parser/src}/models/index.ts | 0 {src => apps/parser/src}/models/info.ts | 0 {src => apps/parser/src}/models/license.ts | 0 {src => apps/parser/src}/models/message-example.ts | 0 {src => apps/parser/src}/models/message-examples.ts | 0 {src => apps/parser/src}/models/message-trait.ts | 0 {src => apps/parser/src}/models/message-traits.ts | 0 {src => apps/parser/src}/models/message.ts | 0 {src => apps/parser/src}/models/messages.ts | 0 {src => apps/parser/src}/models/mixins.ts | 0 {src => apps/parser/src}/models/oauth-flow.ts | 0 {src => apps/parser/src}/models/oauth-flows.ts | 0 .../parser/src}/models/operation-replies.ts | 0 .../parser/src}/models/operation-reply-address.ts | 0 .../parser/src}/models/operation-reply-addresses.ts | 0 {src => apps/parser/src}/models/operation-reply.ts | 0 {src => apps/parser/src}/models/operation-trait.ts | 0 {src => apps/parser/src}/models/operation-traits.ts | 0 {src => apps/parser/src}/models/operation.ts | 0 {src => apps/parser/src}/models/operations.ts | 0 {src => apps/parser/src}/models/schema.ts | 0 {src => apps/parser/src}/models/schemas.ts | 0 .../parser/src}/models/security-requirement.ts | 0 .../parser/src}/models/security-requirements.ts | 0 {src => apps/parser/src}/models/security-scheme.ts | 0 {src => apps/parser/src}/models/security-schemes.ts | 0 {src => apps/parser/src}/models/server-variable.ts | 0 {src => apps/parser/src}/models/server-variables.ts | 0 {src => apps/parser/src}/models/server.ts | 0 {src => apps/parser/src}/models/servers.ts | 0 {src => apps/parser/src}/models/tag.ts | 0 {src => apps/parser/src}/models/tags.ts | 0 {src => apps/parser/src}/models/utils.ts | 0 {src => apps/parser/src}/models/v2/asyncapi.ts | 0 {src => apps/parser/src}/models/v2/binding.ts | 0 {src => apps/parser/src}/models/v2/bindings.ts | 0 .../parser/src}/models/v2/channel-parameter.ts | 0 .../parser/src}/models/v2/channel-parameters.ts | 0 {src => apps/parser/src}/models/v2/channel.ts | 0 {src => apps/parser/src}/models/v2/channels.ts | 0 {src => apps/parser/src}/models/v2/components.ts | 0 {src => apps/parser/src}/models/v2/contact.ts | 0 .../parser/src}/models/v2/correlation-id.ts | 0 .../parser/src}/models/v2/correlation-ids.ts | 0 {src => apps/parser/src}/models/v2/extension.ts | 0 {src => apps/parser/src}/models/v2/extensions.ts | 0 {src => apps/parser/src}/models/v2/external-docs.ts | 0 {src => apps/parser/src}/models/v2/index.ts | 0 {src => apps/parser/src}/models/v2/info.ts | 0 {src => apps/parser/src}/models/v2/license.ts | 0 .../parser/src}/models/v2/message-example.ts | 0 .../parser/src}/models/v2/message-examples.ts | 0 {src => apps/parser/src}/models/v2/message-trait.ts | 0 .../parser/src}/models/v2/message-traits.ts | 0 {src => apps/parser/src}/models/v2/message.ts | 0 {src => apps/parser/src}/models/v2/messages.ts | 0 {src => apps/parser/src}/models/v2/mixins.ts | 0 {src => apps/parser/src}/models/v2/oauth-flow.ts | 0 {src => apps/parser/src}/models/v2/oauth-flows.ts | 0 .../parser/src}/models/v2/operation-trait.ts | 0 .../parser/src}/models/v2/operation-traits.ts | 0 {src => apps/parser/src}/models/v2/operation.ts | 0 {src => apps/parser/src}/models/v2/operations.ts | 0 {src => apps/parser/src}/models/v2/schema.ts | 0 {src => apps/parser/src}/models/v2/schemas.ts | 0 .../parser/src}/models/v2/security-requirement.ts | 0 .../parser/src}/models/v2/security-requirements.ts | 0 .../parser/src}/models/v2/security-scheme.ts | 0 .../parser/src}/models/v2/security-schemes.ts | 0 .../parser/src}/models/v2/server-variable.ts | 0 .../parser/src}/models/v2/server-variables.ts | 0 {src => apps/parser/src}/models/v2/server.ts | 0 {src => apps/parser/src}/models/v2/servers.ts | 0 {src => apps/parser/src}/models/v2/tag.ts | 0 {src => apps/parser/src}/models/v2/tags.ts | 0 {src => apps/parser/src}/models/v3/asyncapi.ts | 0 {src => apps/parser/src}/models/v3/binding.ts | 0 {src => apps/parser/src}/models/v3/bindings.ts | 0 .../parser/src}/models/v3/channel-parameter.ts | 0 .../parser/src}/models/v3/channel-parameters.ts | 0 {src => apps/parser/src}/models/v3/channel.ts | 0 {src => apps/parser/src}/models/v3/channels.ts | 0 {src => apps/parser/src}/models/v3/components.ts | 0 {src => apps/parser/src}/models/v3/contact.ts | 0 .../parser/src}/models/v3/correlation-id.ts | 0 .../parser/src}/models/v3/correlation-ids.ts | 0 {src => apps/parser/src}/models/v3/extension.ts | 0 {src => apps/parser/src}/models/v3/extensions.ts | 0 {src => apps/parser/src}/models/v3/external-docs.ts | 0 {src => apps/parser/src}/models/v3/index.ts | 0 {src => apps/parser/src}/models/v3/info.ts | 0 {src => apps/parser/src}/models/v3/license.ts | 0 .../parser/src}/models/v3/message-example.ts | 0 .../parser/src}/models/v3/message-examples.ts | 0 {src => apps/parser/src}/models/v3/message-trait.ts | 0 .../parser/src}/models/v3/message-traits.ts | 0 {src => apps/parser/src}/models/v3/message.ts | 0 {src => apps/parser/src}/models/v3/messages.ts | 0 {src => apps/parser/src}/models/v3/mixins.ts | 0 {src => apps/parser/src}/models/v3/oauth-flow.ts | 0 {src => apps/parser/src}/models/v3/oauth-flows.ts | 0 .../parser/src}/models/v3/operation-replies.ts | 0 .../src}/models/v3/operation-reply-address.ts | 0 .../src}/models/v3/operation-reply-addresses.ts | 0 .../parser/src}/models/v3/operation-reply.ts | 0 .../parser/src}/models/v3/operation-trait.ts | 0 .../parser/src}/models/v3/operation-traits.ts | 0 {src => apps/parser/src}/models/v3/operation.ts | 0 {src => apps/parser/src}/models/v3/operations.ts | 0 {src => apps/parser/src}/models/v3/schema.ts | 0 {src => apps/parser/src}/models/v3/schemas.ts | 0 .../parser/src}/models/v3/security-requirement.ts | 0 .../parser/src}/models/v3/security-requirements.ts | 0 .../parser/src}/models/v3/security-scheme.ts | 0 .../parser/src}/models/v3/security-schemes.ts | 0 .../parser/src}/models/v3/server-variable.ts | 0 .../parser/src}/models/v3/server-variables.ts | 0 {src => apps/parser/src}/models/v3/server.ts | 0 {src => apps/parser/src}/models/v3/servers.ts | 0 {src => apps/parser/src}/models/v3/tag.ts | 0 {src => apps/parser/src}/models/v3/tags.ts | 0 {src => apps/parser/src}/old-api/asyncapi.ts | 0 {src => apps/parser/src}/old-api/base.ts | 0 .../parser/src}/old-api/channel-parameter.ts | 0 {src => apps/parser/src}/old-api/channel.ts | 0 {src => apps/parser/src}/old-api/components.ts | 0 {src => apps/parser/src}/old-api/contact.ts | 0 {src => apps/parser/src}/old-api/converter.ts | 0 {src => apps/parser/src}/old-api/correlation-id.ts | 0 {src => apps/parser/src}/old-api/external-docs.ts | 0 {src => apps/parser/src}/old-api/index.ts | 0 {src => apps/parser/src}/old-api/info.ts | 0 {src => apps/parser/src}/old-api/iterator.ts | 0 {src => apps/parser/src}/old-api/license.ts | 0 {src => apps/parser/src}/old-api/message-trait.ts | 0 {src => apps/parser/src}/old-api/message.ts | 0 {src => apps/parser/src}/old-api/mixins.ts | 0 {src => apps/parser/src}/old-api/oauth-flow.ts | 0 {src => apps/parser/src}/old-api/operation-trait.ts | 0 {src => apps/parser/src}/old-api/operation.ts | 0 {src => apps/parser/src}/old-api/schema.ts | 0 .../parser/src}/old-api/security-requirement.ts | 0 {src => apps/parser/src}/old-api/security-scheme.ts | 0 {src => apps/parser/src}/old-api/server-variable.ts | 0 {src => apps/parser/src}/old-api/server.ts | 0 {src => apps/parser/src}/old-api/tag.ts | 0 {src => apps/parser/src}/parse.ts | 0 {src => apps/parser/src}/parser.ts | 0 {src => apps/parser/src}/resolver.ts | 0 {src => apps/parser/src}/ruleset/formats.ts | 0 .../src}/ruleset/functions/documentStructure.ts | 0 .../parser/src}/ruleset/functions/internal.ts | 0 .../src}/ruleset/functions/isAsyncAPIDocument.ts | 0 .../parser/src}/ruleset/functions/uniquenessTags.ts | 0 .../src}/ruleset/functions/unusedComponent.ts | 0 {src => apps/parser/src}/ruleset/index.ts | 0 {src => apps/parser/src}/ruleset/ruleset.ts | 0 .../parser/src}/ruleset/utils/getMissingProps.ts | 0 .../parser/src}/ruleset/utils/getRedundantProps.ts | 0 {src => apps/parser/src}/ruleset/utils/index.ts | 0 .../parser/src}/ruleset/utils/mergeTraits.ts | 0 .../parser/src}/ruleset/utils/parseUrlVariables.ts | 0 .../src}/ruleset/v2/functions/channelParameters.ts | 0 .../src}/ruleset/v2/functions/channelServers.ts | 0 .../parser/src}/ruleset/v2/functions/checkId.ts | 0 .../functions/messageExamples-spectral-rule-v2.ts | 0 .../src}/ruleset/v2/functions/messageExamples.ts | 0 .../ruleset/v2/functions/messageIdUniqueness.ts | 0 .../ruleset/v2/functions/operationIdUniqueness.ts | 0 .../src}/ruleset/v2/functions/schemaValidation.ts | 0 .../parser/src}/ruleset/v2/functions/security.ts | 0 .../src}/ruleset/v2/functions/serverVariables.ts | 0 .../ruleset/v2/functions/unusedSecuritySchemes.ts | 0 {src => apps/parser/src}/ruleset/v2/index.ts | 0 {src => apps/parser/src}/ruleset/v2/ruleset.ts | 0 .../parser/src}/ruleset/v2/utils/getAllMessages.ts | 0 .../src}/ruleset/v2/utils/getAllOperations.ts | 0 {src => apps/parser/src}/ruleset/v2/utils/index.ts | 0 .../v3/functions/operationMessagesUnambiguity.ts | 0 {src => apps/parser/src}/ruleset/v3/index.ts | 0 {src => apps/parser/src}/ruleset/v3/ruleset.ts | 0 .../src}/schema-parser/asyncapi-schema-parser.ts | 0 {src => apps/parser/src}/schema-parser/index.ts | 0 .../parser/src}/schema-parser/spectral-rule-v2.ts | 0 {src => apps/parser/src}/spec-types/index.ts | 0 {src => apps/parser/src}/spec-types/v2.ts | 0 {src => apps/parser/src}/spec-types/v3.ts | 0 {src => apps/parser/src}/spectral.ts | 0 {src => apps/parser/src}/stringify.ts | 0 {src => apps/parser/src}/types.ts | 0 {src => apps/parser/src}/utils.ts | 0 {src => apps/parser/src}/validate.ts | 0 {test => apps/parser/test}/browser/browser.spec.ts | 0 {test => apps/parser/test}/browser/sample-page.html | 0 .../custom-operations/anonymous-naming.spec.ts | 0 .../test}/custom-operations/apply-traits-v2.spec.ts | 0 .../test}/custom-operations/apply-traits-v3.spec.ts | 0 .../test}/custom-operations/apply-traits.spec.ts | 0 .../custom-operations/apply-unique-ids.spec.ts | 0 .../custom-operations/check-circular-refs.spec.ts | 0 .../test}/custom-operations/parse-schema-v2.spec.ts | 0 .../test}/custom-operations/parse-schema-v3.spec.ts | 0 .../custom-operations/resolve-circular-refs.spec.ts | 0 {test => apps/parser/test}/document.spec.ts | 0 {test => apps/parser/test}/from.spec.ts | 0 {test => apps/parser/test}/iterator.spec.ts | 0 {test => apps/parser/test}/mocks/circular-refs.yaml | 0 .../parser/test}/mocks/nested-schemas.yaml | 0 .../parser/test}/mocks/parse/circular-ref-deep.yaml | 0 .../parser/test}/mocks/parse/circular-ref.yaml | 0 {test => apps/parser/test}/mocks/refs-1.yaml | 0 {test => apps/parser/test}/mocks/refs-2.yaml | 0 .../parser/test}/mocks/simple-message.yaml | 0 .../parser/test}/mocks/simple-with-refs.yaml | 0 {test => apps/parser/test}/mocks/simple.yaml | 0 {test => apps/parser/test}/models/base.spec.ts | 0 .../parser/test}/models/collection.spec.ts | 0 .../parser/test}/models/v2/asyncapi.spec.ts | 0 .../parser/test}/models/v2/bindings.spec.ts | 0 .../test}/models/v2/channel-parameter.spec.ts | 0 .../test}/models/v2/channel-parameters.spec.ts | 0 .../parser/test}/models/v2/channel.spec.ts | 0 .../parser/test}/models/v2/channels.spec.ts | 0 .../parser/test}/models/v2/components.spec.ts | 0 .../parser/test}/models/v2/contact.spec.ts | 0 .../parser/test}/models/v2/correlation-id.spec.ts | 0 .../parser/test}/models/v2/external-docs.spec.ts | 0 .../test}/models/v2/external-documentation.spec.ts | 0 {test => apps/parser/test}/models/v2/info.spec.ts | 0 .../parser/test}/models/v2/license.spec.ts | 0 .../parser/test}/models/v2/message-example.spec.ts | 0 .../parser/test}/models/v2/message-examples.spec.ts | 0 .../parser/test}/models/v2/message-trait.spec.ts | 0 .../parser/test}/models/v2/message-traits.spec.ts | 0 .../parser/test}/models/v2/message.spec.ts | 0 .../parser/test}/models/v2/messages.spec.ts | 0 {test => apps/parser/test}/models/v2/mixins.spec.ts | 0 .../parser/test}/models/v2/oauth-flow.spec.ts | 0 .../parser/test}/models/v2/oauth-flows.spec.ts | 0 .../parser/test}/models/v2/operation-trait.spec.ts | 0 .../parser/test}/models/v2/operation-traits.spec.ts | 0 .../parser/test}/models/v2/operation.spec.ts | 0 .../parser/test}/models/v2/operations.spec.ts | 0 {test => apps/parser/test}/models/v2/schema.spec.ts | 0 .../test}/models/v2/security-requirement.spec.ts | 0 .../test}/models/v2/security-requirements.spec.ts | 0 .../parser/test}/models/v2/security-scheme.spec.ts | 0 .../parser/test}/models/v2/server-variable.spec.ts | 0 {test => apps/parser/test}/models/v2/server.spec.ts | 0 .../parser/test}/models/v2/servers.spec.ts | 0 {test => apps/parser/test}/models/v2/tag.spec.ts | 0 {test => apps/parser/test}/models/v2/tags.spec.ts | 0 {test => apps/parser/test}/models/v2/utils.ts | 0 .../parser/test}/models/v3/asyncapi.spec.ts | 0 .../parser/test}/models/v3/bindings.spec.ts | 0 .../test}/models/v3/channel-parameter.spec.ts | 0 .../parser/test}/models/v3/channel.spec.ts | 0 .../parser/test}/models/v3/components.spec.ts | 0 .../parser/test}/models/v3/contact.spec.ts | 0 .../parser/test}/models/v3/correlation-id.spec.ts | 0 .../test}/models/v3/external-documentation.spec.ts | 0 {test => apps/parser/test}/models/v3/info.spec.ts | 0 .../parser/test}/models/v3/license.spec.ts | 0 .../parser/test}/models/v3/message-example.spec.ts | 0 .../parser/test}/models/v3/message-trait.spec.ts | 0 .../parser/test}/models/v3/message.spec.ts | 0 .../parser/test}/models/v3/oauth-flow.spec.ts | 0 .../parser/test}/models/v3/oauth-flows.spec.ts | 0 .../test}/models/v3/operation-reply-address.spec.ts | 0 .../parser/test}/models/v3/operation-reply.spec.ts | 0 .../parser/test}/models/v3/operation-trait.spec.ts | 0 .../parser/test}/models/v3/operation.spec.ts | 0 {test => apps/parser/test}/models/v3/schema.spec.ts | 0 .../parser/test}/models/v3/server-variable.spec.ts | 0 {test => apps/parser/test}/models/v3/server.spec.ts | 0 {test => apps/parser/test}/models/v3/tag.spec.ts | 0 {test => apps/parser/test}/models/v3/utils.ts | 0 {test => apps/parser/test}/old-api/asyncapi.spec.ts | 0 {test => apps/parser/test}/old-api/base.spec.ts | 0 .../parser/test}/old-api/channel-parameter.spec.ts | 0 {test => apps/parser/test}/old-api/channel.spec.ts | 0 .../parser/test}/old-api/components.spec.ts | 0 {test => apps/parser/test}/old-api/contact.spec.ts | 0 .../parser/test}/old-api/converter.spec.ts | 0 .../parser/test}/old-api/correlation-id.spec.ts | 0 .../parser/test}/old-api/external-docs.spec.ts | 0 {test => apps/parser/test}/old-api/info.spec.ts | 0 {test => apps/parser/test}/old-api/iterator.spec.ts | 0 {test => apps/parser/test}/old-api/license.spec.ts | 0 .../parser/test}/old-api/message-trait.spec.ts | 0 {test => apps/parser/test}/old-api/message.spec.ts | 0 {test => apps/parser/test}/old-api/mixins.spec.ts | 0 {test => apps/parser/test}/old-api/mixins.ts | 0 .../parser/test}/old-api/oauth-flow.spec.ts | 0 .../parser/test}/old-api/operation-trait.spec.ts | 0 .../parser/test}/old-api/operation.spec.ts | 0 {test => apps/parser/test}/old-api/schema.spec.ts | 0 .../parser/test}/old-api/security-scheme.spec.ts | 0 .../parser/test}/old-api/server-variable.spec.ts | 0 {test => apps/parser/test}/old-api/server.spec.ts | 0 {test => apps/parser/test}/old-api/tag.spec.ts | 0 {test => apps/parser/test}/parse.spec.ts | 0 {test => apps/parser/test}/parser.spec.ts | 0 {test => apps/parser/test}/resolver.spec.ts | 0 {test => apps/parser/test}/ruleset/formats.spec.ts | 0 .../rules/asyncapi-defaultContentType.spec.ts | 0 .../rules/asyncapi-document-resolved.spec.ts | 0 .../rules/asyncapi-document-unresolved.spec.ts | 0 .../parser/test}/ruleset/rules/asyncapi-id.spec.ts | 0 .../rules/asyncapi-info-contact-properties.spec.ts | 0 .../ruleset/rules/asyncapi-info-contact.spec.ts | 0 .../ruleset/rules/asyncapi-info-description.spec.ts | 0 .../ruleset/rules/asyncapi-info-license-url.spec.ts | 0 .../ruleset/rules/asyncapi-info-license.spec.ts | 0 .../ruleset/rules/asyncapi-is-asyncapi.spec.ts | 0 .../ruleset/rules/asyncapi-latest-version.spec.ts | 0 .../test}/ruleset/rules/asyncapi-servers.spec.ts | 0 .../ruleset/rules/asyncapi-unused-component.spec.ts | 0 .../v2/asyncapi2-channel-no-empty-parameter.spec.ts | 0 .../asyncapi2-channel-no-query-nor-fragment.spec.ts | 0 .../v2/asyncapi2-channel-no-trailing-slash.spec.ts | 0 .../rules/v2/asyncapi2-channel-parameters.spec.ts | 0 .../rules/v2/asyncapi2-channel-servers.spec.ts | 0 .../asyncapi2-message-examples-spectral-v2.spec.ts | 0 .../rules/v2/asyncapi2-message-examples.spec.ts | 0 .../asyncapi2-message-messageId-uniqueness.spec.ts | 0 .../rules/v2/asyncapi2-message-messageId.spec.ts | 0 ...yncapi2-operation-operationId-uniqueness.spec.ts | 0 .../v2/asyncapi2-operation-operationId.test.ts | 0 .../rules/v2/asyncapi2-operation-security.spec.ts | 0 .../rules/v2/asyncapi2-schema-default.spec.ts | 0 .../rules/v2/asyncapi2-schema-examples.spec.ts | 0 .../ruleset/rules/v2/asyncapi2-schemas.spec.ts | 0 .../v2/asyncapi2-server-no-empty-variable.spec.ts | 0 .../v2/asyncapi2-server-no-trailing-slash.spec.ts | 0 .../rules/v2/asyncapi2-server-security.spec.ts | 0 .../rules/v2/asyncapi2-server-variables.spec.ts | 0 .../rules/v2/asyncapi2-tags-uniqueness.spec.ts | 0 .../test}/ruleset/rules/v2/asyncapi2-tags.spec.ts | 0 .../v2/asyncapi2-unused-securityScheme.spec.ts | 0 ...operation-messages-from-referred-channel.spec.ts | 0 ...pi3-required-channel-servers-unambiguity.spec.ts | 0 ...3-required-operation-channel-unambiguity.spec.ts | 0 {test => apps/parser/test}/ruleset/tester.ts | 0 .../parser/test}/sample_browser/main/asyncapi.yaml | 0 .../parser/test}/sample_browser/refs/refed.yaml | 0 .../schema-parser/asyncapi-schema-parser.spec.ts | 0 .../test}/schema-parser/spectral-rule-v2.spec.ts | 0 {test => apps/parser/test}/spectral.spec.ts | 0 {test => apps/parser/test}/stringify.spec.ts | 0 {test => apps/parser/test}/utils.spec.ts | 0 {test => apps/parser/test}/utils.ts | 0 {test => apps/parser/test}/validate.spec.ts | 0 tsconfig.cjs.json => apps/parser/tsconfig.cjs.json | 0 tsconfig.json => apps/parser/tsconfig.json | 0 webpack.config.js => apps/parser/webpack.config.js | 0 402 files changed, 0 insertions(+), 0 deletions(-) rename CODEOWNERS => apps/parser/CODEOWNERS (100%) rename CODE_OF_CONDUCT.md => apps/parser/CODE_OF_CONDUCT.md (100%) rename CONTRIBUTING.md => apps/parser/CONTRIBUTING.md (100%) rename LICENSE => apps/parser/LICENSE (100%) rename README.md => apps/parser/README.md (100%) rename {assets => apps/parser/assets}/logo.png (100%) rename {docs => apps/parser/docs}/migrations/v1-to-v2.md (100%) rename {docs => apps/parser/docs}/migrations/v2-to-v3.md (100%) rename {docs => apps/parser/docs}/ruleset/README.md (100%) rename {docs => apps/parser/docs}/ruleset/core-ruleset.md (100%) rename {docs => apps/parser/docs}/ruleset/recommended-ruleset.md (100%) rename {docs => apps/parser/docs}/ruleset/v2-core-ruleset.md (100%) rename {docs => apps/parser/docs}/ruleset/v2-recommended-ruleset.md (100%) rename jest.config.ts => apps/parser/jest.config.ts (100%) rename package-lock.json => apps/parser/package-lock.json (100%) rename package.json => apps/parser/package.json (100%) rename {src => apps/parser/src}/constants.ts (100%) rename {src => apps/parser/src}/custom-operations/anonymous-naming.ts (100%) rename {src => apps/parser/src}/custom-operations/apply-traits.ts (100%) rename {src => apps/parser/src}/custom-operations/apply-unique-ids.ts (100%) rename {src => apps/parser/src}/custom-operations/check-circular-refs.ts (100%) rename {src => apps/parser/src}/custom-operations/index.ts (100%) rename {src => apps/parser/src}/custom-operations/parse-schema.ts (100%) rename {src => apps/parser/src}/custom-operations/resolve-circular-refs.ts (100%) rename {src => apps/parser/src}/document.ts (100%) rename {src => apps/parser/src}/from.ts (100%) rename {src => apps/parser/src}/index.ts (100%) rename {src => apps/parser/src}/iterator.ts (100%) rename {src => apps/parser/src}/models/asyncapi.ts (100%) rename {src => apps/parser/src}/models/base.ts (100%) rename {src => apps/parser/src}/models/binding.ts (100%) rename {src => apps/parser/src}/models/bindings.ts (100%) rename {src => apps/parser/src}/models/channel-parameter.ts (100%) rename {src => apps/parser/src}/models/channel-parameters.ts (100%) rename {src => apps/parser/src}/models/channel.ts (100%) rename {src => apps/parser/src}/models/channels.ts (100%) rename {src => apps/parser/src}/models/collection.ts (100%) rename {src => apps/parser/src}/models/components.ts (100%) rename {src => apps/parser/src}/models/contact.ts (100%) rename {src => apps/parser/src}/models/correlation-id.ts (100%) rename {src => apps/parser/src}/models/correlation-ids.ts (100%) rename {src => apps/parser/src}/models/extension.ts (100%) rename {src => apps/parser/src}/models/extensions.ts (100%) rename {src => apps/parser/src}/models/external-docs.ts (100%) rename {src => apps/parser/src}/models/external-documentation.ts (100%) rename {src => apps/parser/src}/models/external-documentations.ts (100%) rename {src => apps/parser/src}/models/index.ts (100%) rename {src => apps/parser/src}/models/info.ts (100%) rename {src => apps/parser/src}/models/license.ts (100%) rename {src => apps/parser/src}/models/message-example.ts (100%) rename {src => apps/parser/src}/models/message-examples.ts (100%) rename {src => apps/parser/src}/models/message-trait.ts (100%) rename {src => apps/parser/src}/models/message-traits.ts (100%) rename {src => apps/parser/src}/models/message.ts (100%) rename {src => apps/parser/src}/models/messages.ts (100%) rename {src => apps/parser/src}/models/mixins.ts (100%) rename {src => apps/parser/src}/models/oauth-flow.ts (100%) rename {src => apps/parser/src}/models/oauth-flows.ts (100%) rename {src => apps/parser/src}/models/operation-replies.ts (100%) rename {src => apps/parser/src}/models/operation-reply-address.ts (100%) rename {src => apps/parser/src}/models/operation-reply-addresses.ts (100%) rename {src => apps/parser/src}/models/operation-reply.ts (100%) rename {src => apps/parser/src}/models/operation-trait.ts (100%) rename {src => apps/parser/src}/models/operation-traits.ts (100%) rename {src => apps/parser/src}/models/operation.ts (100%) rename {src => apps/parser/src}/models/operations.ts (100%) rename {src => apps/parser/src}/models/schema.ts (100%) rename {src => apps/parser/src}/models/schemas.ts (100%) rename {src => apps/parser/src}/models/security-requirement.ts (100%) rename {src => apps/parser/src}/models/security-requirements.ts (100%) rename {src => apps/parser/src}/models/security-scheme.ts (100%) rename {src => apps/parser/src}/models/security-schemes.ts (100%) rename {src => apps/parser/src}/models/server-variable.ts (100%) rename {src => apps/parser/src}/models/server-variables.ts (100%) rename {src => apps/parser/src}/models/server.ts (100%) rename {src => apps/parser/src}/models/servers.ts (100%) rename {src => apps/parser/src}/models/tag.ts (100%) rename {src => apps/parser/src}/models/tags.ts (100%) rename {src => apps/parser/src}/models/utils.ts (100%) rename {src => apps/parser/src}/models/v2/asyncapi.ts (100%) rename {src => apps/parser/src}/models/v2/binding.ts (100%) rename {src => apps/parser/src}/models/v2/bindings.ts (100%) rename {src => apps/parser/src}/models/v2/channel-parameter.ts (100%) rename {src => apps/parser/src}/models/v2/channel-parameters.ts (100%) rename {src => apps/parser/src}/models/v2/channel.ts (100%) rename {src => apps/parser/src}/models/v2/channels.ts (100%) rename {src => apps/parser/src}/models/v2/components.ts (100%) rename {src => apps/parser/src}/models/v2/contact.ts (100%) rename {src => apps/parser/src}/models/v2/correlation-id.ts (100%) rename {src => apps/parser/src}/models/v2/correlation-ids.ts (100%) rename {src => apps/parser/src}/models/v2/extension.ts (100%) rename {src => apps/parser/src}/models/v2/extensions.ts (100%) rename {src => apps/parser/src}/models/v2/external-docs.ts (100%) rename {src => apps/parser/src}/models/v2/index.ts (100%) rename {src => apps/parser/src}/models/v2/info.ts (100%) rename {src => apps/parser/src}/models/v2/license.ts (100%) rename {src => apps/parser/src}/models/v2/message-example.ts (100%) rename {src => apps/parser/src}/models/v2/message-examples.ts (100%) rename {src => apps/parser/src}/models/v2/message-trait.ts (100%) rename {src => apps/parser/src}/models/v2/message-traits.ts (100%) rename {src => apps/parser/src}/models/v2/message.ts (100%) rename {src => apps/parser/src}/models/v2/messages.ts (100%) rename {src => apps/parser/src}/models/v2/mixins.ts (100%) rename {src => apps/parser/src}/models/v2/oauth-flow.ts (100%) rename {src => apps/parser/src}/models/v2/oauth-flows.ts (100%) rename {src => apps/parser/src}/models/v2/operation-trait.ts (100%) rename {src => apps/parser/src}/models/v2/operation-traits.ts (100%) rename {src => apps/parser/src}/models/v2/operation.ts (100%) rename {src => apps/parser/src}/models/v2/operations.ts (100%) rename {src => apps/parser/src}/models/v2/schema.ts (100%) rename {src => apps/parser/src}/models/v2/schemas.ts (100%) rename {src => apps/parser/src}/models/v2/security-requirement.ts (100%) rename {src => apps/parser/src}/models/v2/security-requirements.ts (100%) rename {src => apps/parser/src}/models/v2/security-scheme.ts (100%) rename {src => apps/parser/src}/models/v2/security-schemes.ts (100%) rename {src => apps/parser/src}/models/v2/server-variable.ts (100%) rename {src => apps/parser/src}/models/v2/server-variables.ts (100%) rename {src => apps/parser/src}/models/v2/server.ts (100%) rename {src => apps/parser/src}/models/v2/servers.ts (100%) rename {src => apps/parser/src}/models/v2/tag.ts (100%) rename {src => apps/parser/src}/models/v2/tags.ts (100%) rename {src => apps/parser/src}/models/v3/asyncapi.ts (100%) rename {src => apps/parser/src}/models/v3/binding.ts (100%) rename {src => apps/parser/src}/models/v3/bindings.ts (100%) rename {src => apps/parser/src}/models/v3/channel-parameter.ts (100%) rename {src => apps/parser/src}/models/v3/channel-parameters.ts (100%) rename {src => apps/parser/src}/models/v3/channel.ts (100%) rename {src => apps/parser/src}/models/v3/channels.ts (100%) rename {src => apps/parser/src}/models/v3/components.ts (100%) rename {src => apps/parser/src}/models/v3/contact.ts (100%) rename {src => apps/parser/src}/models/v3/correlation-id.ts (100%) rename {src => apps/parser/src}/models/v3/correlation-ids.ts (100%) rename {src => apps/parser/src}/models/v3/extension.ts (100%) rename {src => apps/parser/src}/models/v3/extensions.ts (100%) rename {src => apps/parser/src}/models/v3/external-docs.ts (100%) rename {src => apps/parser/src}/models/v3/index.ts (100%) rename {src => apps/parser/src}/models/v3/info.ts (100%) rename {src => apps/parser/src}/models/v3/license.ts (100%) rename {src => apps/parser/src}/models/v3/message-example.ts (100%) rename {src => apps/parser/src}/models/v3/message-examples.ts (100%) rename {src => apps/parser/src}/models/v3/message-trait.ts (100%) rename {src => apps/parser/src}/models/v3/message-traits.ts (100%) rename {src => apps/parser/src}/models/v3/message.ts (100%) rename {src => apps/parser/src}/models/v3/messages.ts (100%) rename {src => apps/parser/src}/models/v3/mixins.ts (100%) rename {src => apps/parser/src}/models/v3/oauth-flow.ts (100%) rename {src => apps/parser/src}/models/v3/oauth-flows.ts (100%) rename {src => apps/parser/src}/models/v3/operation-replies.ts (100%) rename {src => apps/parser/src}/models/v3/operation-reply-address.ts (100%) rename {src => apps/parser/src}/models/v3/operation-reply-addresses.ts (100%) rename {src => apps/parser/src}/models/v3/operation-reply.ts (100%) rename {src => apps/parser/src}/models/v3/operation-trait.ts (100%) rename {src => apps/parser/src}/models/v3/operation-traits.ts (100%) rename {src => apps/parser/src}/models/v3/operation.ts (100%) rename {src => apps/parser/src}/models/v3/operations.ts (100%) rename {src => apps/parser/src}/models/v3/schema.ts (100%) rename {src => apps/parser/src}/models/v3/schemas.ts (100%) rename {src => apps/parser/src}/models/v3/security-requirement.ts (100%) rename {src => apps/parser/src}/models/v3/security-requirements.ts (100%) rename {src => apps/parser/src}/models/v3/security-scheme.ts (100%) rename {src => apps/parser/src}/models/v3/security-schemes.ts (100%) rename {src => apps/parser/src}/models/v3/server-variable.ts (100%) rename {src => apps/parser/src}/models/v3/server-variables.ts (100%) rename {src => apps/parser/src}/models/v3/server.ts (100%) rename {src => apps/parser/src}/models/v3/servers.ts (100%) rename {src => apps/parser/src}/models/v3/tag.ts (100%) rename {src => apps/parser/src}/models/v3/tags.ts (100%) rename {src => apps/parser/src}/old-api/asyncapi.ts (100%) rename {src => apps/parser/src}/old-api/base.ts (100%) rename {src => apps/parser/src}/old-api/channel-parameter.ts (100%) rename {src => apps/parser/src}/old-api/channel.ts (100%) rename {src => apps/parser/src}/old-api/components.ts (100%) rename {src => apps/parser/src}/old-api/contact.ts (100%) rename {src => apps/parser/src}/old-api/converter.ts (100%) rename {src => apps/parser/src}/old-api/correlation-id.ts (100%) rename {src => apps/parser/src}/old-api/external-docs.ts (100%) rename {src => apps/parser/src}/old-api/index.ts (100%) rename {src => apps/parser/src}/old-api/info.ts (100%) rename {src => apps/parser/src}/old-api/iterator.ts (100%) rename {src => apps/parser/src}/old-api/license.ts (100%) rename {src => apps/parser/src}/old-api/message-trait.ts (100%) rename {src => apps/parser/src}/old-api/message.ts (100%) rename {src => apps/parser/src}/old-api/mixins.ts (100%) rename {src => apps/parser/src}/old-api/oauth-flow.ts (100%) rename {src => apps/parser/src}/old-api/operation-trait.ts (100%) rename {src => apps/parser/src}/old-api/operation.ts (100%) rename {src => apps/parser/src}/old-api/schema.ts (100%) rename {src => apps/parser/src}/old-api/security-requirement.ts (100%) rename {src => apps/parser/src}/old-api/security-scheme.ts (100%) rename {src => apps/parser/src}/old-api/server-variable.ts (100%) rename {src => apps/parser/src}/old-api/server.ts (100%) rename {src => apps/parser/src}/old-api/tag.ts (100%) rename {src => apps/parser/src}/parse.ts (100%) rename {src => apps/parser/src}/parser.ts (100%) rename {src => apps/parser/src}/resolver.ts (100%) rename {src => apps/parser/src}/ruleset/formats.ts (100%) rename {src => apps/parser/src}/ruleset/functions/documentStructure.ts (100%) rename {src => apps/parser/src}/ruleset/functions/internal.ts (100%) rename {src => apps/parser/src}/ruleset/functions/isAsyncAPIDocument.ts (100%) rename {src => apps/parser/src}/ruleset/functions/uniquenessTags.ts (100%) rename {src => apps/parser/src}/ruleset/functions/unusedComponent.ts (100%) rename {src => apps/parser/src}/ruleset/index.ts (100%) rename {src => apps/parser/src}/ruleset/ruleset.ts (100%) rename {src => apps/parser/src}/ruleset/utils/getMissingProps.ts (100%) rename {src => apps/parser/src}/ruleset/utils/getRedundantProps.ts (100%) rename {src => apps/parser/src}/ruleset/utils/index.ts (100%) rename {src => apps/parser/src}/ruleset/utils/mergeTraits.ts (100%) rename {src => apps/parser/src}/ruleset/utils/parseUrlVariables.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/channelParameters.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/channelServers.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/checkId.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/messageExamples.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/messageIdUniqueness.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/operationIdUniqueness.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/schemaValidation.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/security.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/serverVariables.ts (100%) rename {src => apps/parser/src}/ruleset/v2/functions/unusedSecuritySchemes.ts (100%) rename {src => apps/parser/src}/ruleset/v2/index.ts (100%) rename {src => apps/parser/src}/ruleset/v2/ruleset.ts (100%) rename {src => apps/parser/src}/ruleset/v2/utils/getAllMessages.ts (100%) rename {src => apps/parser/src}/ruleset/v2/utils/getAllOperations.ts (100%) rename {src => apps/parser/src}/ruleset/v2/utils/index.ts (100%) rename {src => apps/parser/src}/ruleset/v3/functions/operationMessagesUnambiguity.ts (100%) rename {src => apps/parser/src}/ruleset/v3/index.ts (100%) rename {src => apps/parser/src}/ruleset/v3/ruleset.ts (100%) rename {src => apps/parser/src}/schema-parser/asyncapi-schema-parser.ts (100%) rename {src => apps/parser/src}/schema-parser/index.ts (100%) rename {src => apps/parser/src}/schema-parser/spectral-rule-v2.ts (100%) rename {src => apps/parser/src}/spec-types/index.ts (100%) rename {src => apps/parser/src}/spec-types/v2.ts (100%) rename {src => apps/parser/src}/spec-types/v3.ts (100%) rename {src => apps/parser/src}/spectral.ts (100%) rename {src => apps/parser/src}/stringify.ts (100%) rename {src => apps/parser/src}/types.ts (100%) rename {src => apps/parser/src}/utils.ts (100%) rename {src => apps/parser/src}/validate.ts (100%) rename {test => apps/parser/test}/browser/browser.spec.ts (100%) rename {test => apps/parser/test}/browser/sample-page.html (100%) rename {test => apps/parser/test}/custom-operations/anonymous-naming.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/apply-traits-v2.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/apply-traits-v3.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/apply-traits.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/apply-unique-ids.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/check-circular-refs.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/parse-schema-v2.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/parse-schema-v3.spec.ts (100%) rename {test => apps/parser/test}/custom-operations/resolve-circular-refs.spec.ts (100%) rename {test => apps/parser/test}/document.spec.ts (100%) rename {test => apps/parser/test}/from.spec.ts (100%) rename {test => apps/parser/test}/iterator.spec.ts (100%) rename {test => apps/parser/test}/mocks/circular-refs.yaml (100%) rename {test => apps/parser/test}/mocks/nested-schemas.yaml (100%) rename {test => apps/parser/test}/mocks/parse/circular-ref-deep.yaml (100%) rename {test => apps/parser/test}/mocks/parse/circular-ref.yaml (100%) rename {test => apps/parser/test}/mocks/refs-1.yaml (100%) rename {test => apps/parser/test}/mocks/refs-2.yaml (100%) rename {test => apps/parser/test}/mocks/simple-message.yaml (100%) rename {test => apps/parser/test}/mocks/simple-with-refs.yaml (100%) rename {test => apps/parser/test}/mocks/simple.yaml (100%) rename {test => apps/parser/test}/models/base.spec.ts (100%) rename {test => apps/parser/test}/models/collection.spec.ts (100%) rename {test => apps/parser/test}/models/v2/asyncapi.spec.ts (100%) rename {test => apps/parser/test}/models/v2/bindings.spec.ts (100%) rename {test => apps/parser/test}/models/v2/channel-parameter.spec.ts (100%) rename {test => apps/parser/test}/models/v2/channel-parameters.spec.ts (100%) rename {test => apps/parser/test}/models/v2/channel.spec.ts (100%) rename {test => apps/parser/test}/models/v2/channels.spec.ts (100%) rename {test => apps/parser/test}/models/v2/components.spec.ts (100%) rename {test => apps/parser/test}/models/v2/contact.spec.ts (100%) rename {test => apps/parser/test}/models/v2/correlation-id.spec.ts (100%) rename {test => apps/parser/test}/models/v2/external-docs.spec.ts (100%) rename {test => apps/parser/test}/models/v2/external-documentation.spec.ts (100%) rename {test => apps/parser/test}/models/v2/info.spec.ts (100%) rename {test => apps/parser/test}/models/v2/license.spec.ts (100%) rename {test => apps/parser/test}/models/v2/message-example.spec.ts (100%) rename {test => apps/parser/test}/models/v2/message-examples.spec.ts (100%) rename {test => apps/parser/test}/models/v2/message-trait.spec.ts (100%) rename {test => apps/parser/test}/models/v2/message-traits.spec.ts (100%) rename {test => apps/parser/test}/models/v2/message.spec.ts (100%) rename {test => apps/parser/test}/models/v2/messages.spec.ts (100%) rename {test => apps/parser/test}/models/v2/mixins.spec.ts (100%) rename {test => apps/parser/test}/models/v2/oauth-flow.spec.ts (100%) rename {test => apps/parser/test}/models/v2/oauth-flows.spec.ts (100%) rename {test => apps/parser/test}/models/v2/operation-trait.spec.ts (100%) rename {test => apps/parser/test}/models/v2/operation-traits.spec.ts (100%) rename {test => apps/parser/test}/models/v2/operation.spec.ts (100%) rename {test => apps/parser/test}/models/v2/operations.spec.ts (100%) rename {test => apps/parser/test}/models/v2/schema.spec.ts (100%) rename {test => apps/parser/test}/models/v2/security-requirement.spec.ts (100%) rename {test => apps/parser/test}/models/v2/security-requirements.spec.ts (100%) rename {test => apps/parser/test}/models/v2/security-scheme.spec.ts (100%) rename {test => apps/parser/test}/models/v2/server-variable.spec.ts (100%) rename {test => apps/parser/test}/models/v2/server.spec.ts (100%) rename {test => apps/parser/test}/models/v2/servers.spec.ts (100%) rename {test => apps/parser/test}/models/v2/tag.spec.ts (100%) rename {test => apps/parser/test}/models/v2/tags.spec.ts (100%) rename {test => apps/parser/test}/models/v2/utils.ts (100%) rename {test => apps/parser/test}/models/v3/asyncapi.spec.ts (100%) rename {test => apps/parser/test}/models/v3/bindings.spec.ts (100%) rename {test => apps/parser/test}/models/v3/channel-parameter.spec.ts (100%) rename {test => apps/parser/test}/models/v3/channel.spec.ts (100%) rename {test => apps/parser/test}/models/v3/components.spec.ts (100%) rename {test => apps/parser/test}/models/v3/contact.spec.ts (100%) rename {test => apps/parser/test}/models/v3/correlation-id.spec.ts (100%) rename {test => apps/parser/test}/models/v3/external-documentation.spec.ts (100%) rename {test => apps/parser/test}/models/v3/info.spec.ts (100%) rename {test => apps/parser/test}/models/v3/license.spec.ts (100%) rename {test => apps/parser/test}/models/v3/message-example.spec.ts (100%) rename {test => apps/parser/test}/models/v3/message-trait.spec.ts (100%) rename {test => apps/parser/test}/models/v3/message.spec.ts (100%) rename {test => apps/parser/test}/models/v3/oauth-flow.spec.ts (100%) rename {test => apps/parser/test}/models/v3/oauth-flows.spec.ts (100%) rename {test => apps/parser/test}/models/v3/operation-reply-address.spec.ts (100%) rename {test => apps/parser/test}/models/v3/operation-reply.spec.ts (100%) rename {test => apps/parser/test}/models/v3/operation-trait.spec.ts (100%) rename {test => apps/parser/test}/models/v3/operation.spec.ts (100%) rename {test => apps/parser/test}/models/v3/schema.spec.ts (100%) rename {test => apps/parser/test}/models/v3/server-variable.spec.ts (100%) rename {test => apps/parser/test}/models/v3/server.spec.ts (100%) rename {test => apps/parser/test}/models/v3/tag.spec.ts (100%) rename {test => apps/parser/test}/models/v3/utils.ts (100%) rename {test => apps/parser/test}/old-api/asyncapi.spec.ts (100%) rename {test => apps/parser/test}/old-api/base.spec.ts (100%) rename {test => apps/parser/test}/old-api/channel-parameter.spec.ts (100%) rename {test => apps/parser/test}/old-api/channel.spec.ts (100%) rename {test => apps/parser/test}/old-api/components.spec.ts (100%) rename {test => apps/parser/test}/old-api/contact.spec.ts (100%) rename {test => apps/parser/test}/old-api/converter.spec.ts (100%) rename {test => apps/parser/test}/old-api/correlation-id.spec.ts (100%) rename {test => apps/parser/test}/old-api/external-docs.spec.ts (100%) rename {test => apps/parser/test}/old-api/info.spec.ts (100%) rename {test => apps/parser/test}/old-api/iterator.spec.ts (100%) rename {test => apps/parser/test}/old-api/license.spec.ts (100%) rename {test => apps/parser/test}/old-api/message-trait.spec.ts (100%) rename {test => apps/parser/test}/old-api/message.spec.ts (100%) rename {test => apps/parser/test}/old-api/mixins.spec.ts (100%) rename {test => apps/parser/test}/old-api/mixins.ts (100%) rename {test => apps/parser/test}/old-api/oauth-flow.spec.ts (100%) rename {test => apps/parser/test}/old-api/operation-trait.spec.ts (100%) rename {test => apps/parser/test}/old-api/operation.spec.ts (100%) rename {test => apps/parser/test}/old-api/schema.spec.ts (100%) rename {test => apps/parser/test}/old-api/security-scheme.spec.ts (100%) rename {test => apps/parser/test}/old-api/server-variable.spec.ts (100%) rename {test => apps/parser/test}/old-api/server.spec.ts (100%) rename {test => apps/parser/test}/old-api/tag.spec.ts (100%) rename {test => apps/parser/test}/parse.spec.ts (100%) rename {test => apps/parser/test}/parser.spec.ts (100%) rename {test => apps/parser/test}/resolver.spec.ts (100%) rename {test => apps/parser/test}/ruleset/formats.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-defaultContentType.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-document-resolved.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-document-unresolved.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-id.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-info-contact-properties.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-info-contact.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-info-description.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-info-license-url.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-info-license.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-is-asyncapi.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-latest-version.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-servers.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/asyncapi-unused-component.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-message-examples.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-operation-security.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-schema-default.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-schemas.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-server-security.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-server-variables.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-tags.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts (100%) rename {test => apps/parser/test}/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts (100%) rename {test => apps/parser/test}/ruleset/tester.ts (100%) rename {test => apps/parser/test}/sample_browser/main/asyncapi.yaml (100%) rename {test => apps/parser/test}/sample_browser/refs/refed.yaml (100%) rename {test => apps/parser/test}/schema-parser/asyncapi-schema-parser.spec.ts (100%) rename {test => apps/parser/test}/schema-parser/spectral-rule-v2.spec.ts (100%) rename {test => apps/parser/test}/spectral.spec.ts (100%) rename {test => apps/parser/test}/stringify.spec.ts (100%) rename {test => apps/parser/test}/utils.spec.ts (100%) rename {test => apps/parser/test}/utils.ts (100%) rename {test => apps/parser/test}/validate.spec.ts (100%) rename tsconfig.cjs.json => apps/parser/tsconfig.cjs.json (100%) rename tsconfig.json => apps/parser/tsconfig.json (100%) rename webpack.config.js => apps/parser/webpack.config.js (100%) diff --git a/CODEOWNERS b/apps/parser/CODEOWNERS similarity index 100% rename from CODEOWNERS rename to apps/parser/CODEOWNERS diff --git a/CODE_OF_CONDUCT.md b/apps/parser/CODE_OF_CONDUCT.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to apps/parser/CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/apps/parser/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to apps/parser/CONTRIBUTING.md diff --git a/LICENSE b/apps/parser/LICENSE similarity index 100% rename from LICENSE rename to apps/parser/LICENSE diff --git a/README.md b/apps/parser/README.md similarity index 100% rename from README.md rename to apps/parser/README.md diff --git a/assets/logo.png b/apps/parser/assets/logo.png similarity index 100% rename from assets/logo.png rename to apps/parser/assets/logo.png diff --git a/docs/migrations/v1-to-v2.md b/apps/parser/docs/migrations/v1-to-v2.md similarity index 100% rename from docs/migrations/v1-to-v2.md rename to apps/parser/docs/migrations/v1-to-v2.md diff --git a/docs/migrations/v2-to-v3.md b/apps/parser/docs/migrations/v2-to-v3.md similarity index 100% rename from docs/migrations/v2-to-v3.md rename to apps/parser/docs/migrations/v2-to-v3.md diff --git a/docs/ruleset/README.md b/apps/parser/docs/ruleset/README.md similarity index 100% rename from docs/ruleset/README.md rename to apps/parser/docs/ruleset/README.md diff --git a/docs/ruleset/core-ruleset.md b/apps/parser/docs/ruleset/core-ruleset.md similarity index 100% rename from docs/ruleset/core-ruleset.md rename to apps/parser/docs/ruleset/core-ruleset.md diff --git a/docs/ruleset/recommended-ruleset.md b/apps/parser/docs/ruleset/recommended-ruleset.md similarity index 100% rename from docs/ruleset/recommended-ruleset.md rename to apps/parser/docs/ruleset/recommended-ruleset.md diff --git a/docs/ruleset/v2-core-ruleset.md b/apps/parser/docs/ruleset/v2-core-ruleset.md similarity index 100% rename from docs/ruleset/v2-core-ruleset.md rename to apps/parser/docs/ruleset/v2-core-ruleset.md diff --git a/docs/ruleset/v2-recommended-ruleset.md b/apps/parser/docs/ruleset/v2-recommended-ruleset.md similarity index 100% rename from docs/ruleset/v2-recommended-ruleset.md rename to apps/parser/docs/ruleset/v2-recommended-ruleset.md diff --git a/jest.config.ts b/apps/parser/jest.config.ts similarity index 100% rename from jest.config.ts rename to apps/parser/jest.config.ts diff --git a/package-lock.json b/apps/parser/package-lock.json similarity index 100% rename from package-lock.json rename to apps/parser/package-lock.json diff --git a/package.json b/apps/parser/package.json similarity index 100% rename from package.json rename to apps/parser/package.json diff --git a/src/constants.ts b/apps/parser/src/constants.ts similarity index 100% rename from src/constants.ts rename to apps/parser/src/constants.ts diff --git a/src/custom-operations/anonymous-naming.ts b/apps/parser/src/custom-operations/anonymous-naming.ts similarity index 100% rename from src/custom-operations/anonymous-naming.ts rename to apps/parser/src/custom-operations/anonymous-naming.ts diff --git a/src/custom-operations/apply-traits.ts b/apps/parser/src/custom-operations/apply-traits.ts similarity index 100% rename from src/custom-operations/apply-traits.ts rename to apps/parser/src/custom-operations/apply-traits.ts diff --git a/src/custom-operations/apply-unique-ids.ts b/apps/parser/src/custom-operations/apply-unique-ids.ts similarity index 100% rename from src/custom-operations/apply-unique-ids.ts rename to apps/parser/src/custom-operations/apply-unique-ids.ts diff --git a/src/custom-operations/check-circular-refs.ts b/apps/parser/src/custom-operations/check-circular-refs.ts similarity index 100% rename from src/custom-operations/check-circular-refs.ts rename to apps/parser/src/custom-operations/check-circular-refs.ts diff --git a/src/custom-operations/index.ts b/apps/parser/src/custom-operations/index.ts similarity index 100% rename from src/custom-operations/index.ts rename to apps/parser/src/custom-operations/index.ts diff --git a/src/custom-operations/parse-schema.ts b/apps/parser/src/custom-operations/parse-schema.ts similarity index 100% rename from src/custom-operations/parse-schema.ts rename to apps/parser/src/custom-operations/parse-schema.ts diff --git a/src/custom-operations/resolve-circular-refs.ts b/apps/parser/src/custom-operations/resolve-circular-refs.ts similarity index 100% rename from src/custom-operations/resolve-circular-refs.ts rename to apps/parser/src/custom-operations/resolve-circular-refs.ts diff --git a/src/document.ts b/apps/parser/src/document.ts similarity index 100% rename from src/document.ts rename to apps/parser/src/document.ts diff --git a/src/from.ts b/apps/parser/src/from.ts similarity index 100% rename from src/from.ts rename to apps/parser/src/from.ts diff --git a/src/index.ts b/apps/parser/src/index.ts similarity index 100% rename from src/index.ts rename to apps/parser/src/index.ts diff --git a/src/iterator.ts b/apps/parser/src/iterator.ts similarity index 100% rename from src/iterator.ts rename to apps/parser/src/iterator.ts diff --git a/src/models/asyncapi.ts b/apps/parser/src/models/asyncapi.ts similarity index 100% rename from src/models/asyncapi.ts rename to apps/parser/src/models/asyncapi.ts diff --git a/src/models/base.ts b/apps/parser/src/models/base.ts similarity index 100% rename from src/models/base.ts rename to apps/parser/src/models/base.ts diff --git a/src/models/binding.ts b/apps/parser/src/models/binding.ts similarity index 100% rename from src/models/binding.ts rename to apps/parser/src/models/binding.ts diff --git a/src/models/bindings.ts b/apps/parser/src/models/bindings.ts similarity index 100% rename from src/models/bindings.ts rename to apps/parser/src/models/bindings.ts diff --git a/src/models/channel-parameter.ts b/apps/parser/src/models/channel-parameter.ts similarity index 100% rename from src/models/channel-parameter.ts rename to apps/parser/src/models/channel-parameter.ts diff --git a/src/models/channel-parameters.ts b/apps/parser/src/models/channel-parameters.ts similarity index 100% rename from src/models/channel-parameters.ts rename to apps/parser/src/models/channel-parameters.ts diff --git a/src/models/channel.ts b/apps/parser/src/models/channel.ts similarity index 100% rename from src/models/channel.ts rename to apps/parser/src/models/channel.ts diff --git a/src/models/channels.ts b/apps/parser/src/models/channels.ts similarity index 100% rename from src/models/channels.ts rename to apps/parser/src/models/channels.ts diff --git a/src/models/collection.ts b/apps/parser/src/models/collection.ts similarity index 100% rename from src/models/collection.ts rename to apps/parser/src/models/collection.ts diff --git a/src/models/components.ts b/apps/parser/src/models/components.ts similarity index 100% rename from src/models/components.ts rename to apps/parser/src/models/components.ts diff --git a/src/models/contact.ts b/apps/parser/src/models/contact.ts similarity index 100% rename from src/models/contact.ts rename to apps/parser/src/models/contact.ts diff --git a/src/models/correlation-id.ts b/apps/parser/src/models/correlation-id.ts similarity index 100% rename from src/models/correlation-id.ts rename to apps/parser/src/models/correlation-id.ts diff --git a/src/models/correlation-ids.ts b/apps/parser/src/models/correlation-ids.ts similarity index 100% rename from src/models/correlation-ids.ts rename to apps/parser/src/models/correlation-ids.ts diff --git a/src/models/extension.ts b/apps/parser/src/models/extension.ts similarity index 100% rename from src/models/extension.ts rename to apps/parser/src/models/extension.ts diff --git a/src/models/extensions.ts b/apps/parser/src/models/extensions.ts similarity index 100% rename from src/models/extensions.ts rename to apps/parser/src/models/extensions.ts diff --git a/src/models/external-docs.ts b/apps/parser/src/models/external-docs.ts similarity index 100% rename from src/models/external-docs.ts rename to apps/parser/src/models/external-docs.ts diff --git a/src/models/external-documentation.ts b/apps/parser/src/models/external-documentation.ts similarity index 100% rename from src/models/external-documentation.ts rename to apps/parser/src/models/external-documentation.ts diff --git a/src/models/external-documentations.ts b/apps/parser/src/models/external-documentations.ts similarity index 100% rename from src/models/external-documentations.ts rename to apps/parser/src/models/external-documentations.ts diff --git a/src/models/index.ts b/apps/parser/src/models/index.ts similarity index 100% rename from src/models/index.ts rename to apps/parser/src/models/index.ts diff --git a/src/models/info.ts b/apps/parser/src/models/info.ts similarity index 100% rename from src/models/info.ts rename to apps/parser/src/models/info.ts diff --git a/src/models/license.ts b/apps/parser/src/models/license.ts similarity index 100% rename from src/models/license.ts rename to apps/parser/src/models/license.ts diff --git a/src/models/message-example.ts b/apps/parser/src/models/message-example.ts similarity index 100% rename from src/models/message-example.ts rename to apps/parser/src/models/message-example.ts diff --git a/src/models/message-examples.ts b/apps/parser/src/models/message-examples.ts similarity index 100% rename from src/models/message-examples.ts rename to apps/parser/src/models/message-examples.ts diff --git a/src/models/message-trait.ts b/apps/parser/src/models/message-trait.ts similarity index 100% rename from src/models/message-trait.ts rename to apps/parser/src/models/message-trait.ts diff --git a/src/models/message-traits.ts b/apps/parser/src/models/message-traits.ts similarity index 100% rename from src/models/message-traits.ts rename to apps/parser/src/models/message-traits.ts diff --git a/src/models/message.ts b/apps/parser/src/models/message.ts similarity index 100% rename from src/models/message.ts rename to apps/parser/src/models/message.ts diff --git a/src/models/messages.ts b/apps/parser/src/models/messages.ts similarity index 100% rename from src/models/messages.ts rename to apps/parser/src/models/messages.ts diff --git a/src/models/mixins.ts b/apps/parser/src/models/mixins.ts similarity index 100% rename from src/models/mixins.ts rename to apps/parser/src/models/mixins.ts diff --git a/src/models/oauth-flow.ts b/apps/parser/src/models/oauth-flow.ts similarity index 100% rename from src/models/oauth-flow.ts rename to apps/parser/src/models/oauth-flow.ts diff --git a/src/models/oauth-flows.ts b/apps/parser/src/models/oauth-flows.ts similarity index 100% rename from src/models/oauth-flows.ts rename to apps/parser/src/models/oauth-flows.ts diff --git a/src/models/operation-replies.ts b/apps/parser/src/models/operation-replies.ts similarity index 100% rename from src/models/operation-replies.ts rename to apps/parser/src/models/operation-replies.ts diff --git a/src/models/operation-reply-address.ts b/apps/parser/src/models/operation-reply-address.ts similarity index 100% rename from src/models/operation-reply-address.ts rename to apps/parser/src/models/operation-reply-address.ts diff --git a/src/models/operation-reply-addresses.ts b/apps/parser/src/models/operation-reply-addresses.ts similarity index 100% rename from src/models/operation-reply-addresses.ts rename to apps/parser/src/models/operation-reply-addresses.ts diff --git a/src/models/operation-reply.ts b/apps/parser/src/models/operation-reply.ts similarity index 100% rename from src/models/operation-reply.ts rename to apps/parser/src/models/operation-reply.ts diff --git a/src/models/operation-trait.ts b/apps/parser/src/models/operation-trait.ts similarity index 100% rename from src/models/operation-trait.ts rename to apps/parser/src/models/operation-trait.ts diff --git a/src/models/operation-traits.ts b/apps/parser/src/models/operation-traits.ts similarity index 100% rename from src/models/operation-traits.ts rename to apps/parser/src/models/operation-traits.ts diff --git a/src/models/operation.ts b/apps/parser/src/models/operation.ts similarity index 100% rename from src/models/operation.ts rename to apps/parser/src/models/operation.ts diff --git a/src/models/operations.ts b/apps/parser/src/models/operations.ts similarity index 100% rename from src/models/operations.ts rename to apps/parser/src/models/operations.ts diff --git a/src/models/schema.ts b/apps/parser/src/models/schema.ts similarity index 100% rename from src/models/schema.ts rename to apps/parser/src/models/schema.ts diff --git a/src/models/schemas.ts b/apps/parser/src/models/schemas.ts similarity index 100% rename from src/models/schemas.ts rename to apps/parser/src/models/schemas.ts diff --git a/src/models/security-requirement.ts b/apps/parser/src/models/security-requirement.ts similarity index 100% rename from src/models/security-requirement.ts rename to apps/parser/src/models/security-requirement.ts diff --git a/src/models/security-requirements.ts b/apps/parser/src/models/security-requirements.ts similarity index 100% rename from src/models/security-requirements.ts rename to apps/parser/src/models/security-requirements.ts diff --git a/src/models/security-scheme.ts b/apps/parser/src/models/security-scheme.ts similarity index 100% rename from src/models/security-scheme.ts rename to apps/parser/src/models/security-scheme.ts diff --git a/src/models/security-schemes.ts b/apps/parser/src/models/security-schemes.ts similarity index 100% rename from src/models/security-schemes.ts rename to apps/parser/src/models/security-schemes.ts diff --git a/src/models/server-variable.ts b/apps/parser/src/models/server-variable.ts similarity index 100% rename from src/models/server-variable.ts rename to apps/parser/src/models/server-variable.ts diff --git a/src/models/server-variables.ts b/apps/parser/src/models/server-variables.ts similarity index 100% rename from src/models/server-variables.ts rename to apps/parser/src/models/server-variables.ts diff --git a/src/models/server.ts b/apps/parser/src/models/server.ts similarity index 100% rename from src/models/server.ts rename to apps/parser/src/models/server.ts diff --git a/src/models/servers.ts b/apps/parser/src/models/servers.ts similarity index 100% rename from src/models/servers.ts rename to apps/parser/src/models/servers.ts diff --git a/src/models/tag.ts b/apps/parser/src/models/tag.ts similarity index 100% rename from src/models/tag.ts rename to apps/parser/src/models/tag.ts diff --git a/src/models/tags.ts b/apps/parser/src/models/tags.ts similarity index 100% rename from src/models/tags.ts rename to apps/parser/src/models/tags.ts diff --git a/src/models/utils.ts b/apps/parser/src/models/utils.ts similarity index 100% rename from src/models/utils.ts rename to apps/parser/src/models/utils.ts diff --git a/src/models/v2/asyncapi.ts b/apps/parser/src/models/v2/asyncapi.ts similarity index 100% rename from src/models/v2/asyncapi.ts rename to apps/parser/src/models/v2/asyncapi.ts diff --git a/src/models/v2/binding.ts b/apps/parser/src/models/v2/binding.ts similarity index 100% rename from src/models/v2/binding.ts rename to apps/parser/src/models/v2/binding.ts diff --git a/src/models/v2/bindings.ts b/apps/parser/src/models/v2/bindings.ts similarity index 100% rename from src/models/v2/bindings.ts rename to apps/parser/src/models/v2/bindings.ts diff --git a/src/models/v2/channel-parameter.ts b/apps/parser/src/models/v2/channel-parameter.ts similarity index 100% rename from src/models/v2/channel-parameter.ts rename to apps/parser/src/models/v2/channel-parameter.ts diff --git a/src/models/v2/channel-parameters.ts b/apps/parser/src/models/v2/channel-parameters.ts similarity index 100% rename from src/models/v2/channel-parameters.ts rename to apps/parser/src/models/v2/channel-parameters.ts diff --git a/src/models/v2/channel.ts b/apps/parser/src/models/v2/channel.ts similarity index 100% rename from src/models/v2/channel.ts rename to apps/parser/src/models/v2/channel.ts diff --git a/src/models/v2/channels.ts b/apps/parser/src/models/v2/channels.ts similarity index 100% rename from src/models/v2/channels.ts rename to apps/parser/src/models/v2/channels.ts diff --git a/src/models/v2/components.ts b/apps/parser/src/models/v2/components.ts similarity index 100% rename from src/models/v2/components.ts rename to apps/parser/src/models/v2/components.ts diff --git a/src/models/v2/contact.ts b/apps/parser/src/models/v2/contact.ts similarity index 100% rename from src/models/v2/contact.ts rename to apps/parser/src/models/v2/contact.ts diff --git a/src/models/v2/correlation-id.ts b/apps/parser/src/models/v2/correlation-id.ts similarity index 100% rename from src/models/v2/correlation-id.ts rename to apps/parser/src/models/v2/correlation-id.ts diff --git a/src/models/v2/correlation-ids.ts b/apps/parser/src/models/v2/correlation-ids.ts similarity index 100% rename from src/models/v2/correlation-ids.ts rename to apps/parser/src/models/v2/correlation-ids.ts diff --git a/src/models/v2/extension.ts b/apps/parser/src/models/v2/extension.ts similarity index 100% rename from src/models/v2/extension.ts rename to apps/parser/src/models/v2/extension.ts diff --git a/src/models/v2/extensions.ts b/apps/parser/src/models/v2/extensions.ts similarity index 100% rename from src/models/v2/extensions.ts rename to apps/parser/src/models/v2/extensions.ts diff --git a/src/models/v2/external-docs.ts b/apps/parser/src/models/v2/external-docs.ts similarity index 100% rename from src/models/v2/external-docs.ts rename to apps/parser/src/models/v2/external-docs.ts diff --git a/src/models/v2/index.ts b/apps/parser/src/models/v2/index.ts similarity index 100% rename from src/models/v2/index.ts rename to apps/parser/src/models/v2/index.ts diff --git a/src/models/v2/info.ts b/apps/parser/src/models/v2/info.ts similarity index 100% rename from src/models/v2/info.ts rename to apps/parser/src/models/v2/info.ts diff --git a/src/models/v2/license.ts b/apps/parser/src/models/v2/license.ts similarity index 100% rename from src/models/v2/license.ts rename to apps/parser/src/models/v2/license.ts diff --git a/src/models/v2/message-example.ts b/apps/parser/src/models/v2/message-example.ts similarity index 100% rename from src/models/v2/message-example.ts rename to apps/parser/src/models/v2/message-example.ts diff --git a/src/models/v2/message-examples.ts b/apps/parser/src/models/v2/message-examples.ts similarity index 100% rename from src/models/v2/message-examples.ts rename to apps/parser/src/models/v2/message-examples.ts diff --git a/src/models/v2/message-trait.ts b/apps/parser/src/models/v2/message-trait.ts similarity index 100% rename from src/models/v2/message-trait.ts rename to apps/parser/src/models/v2/message-trait.ts diff --git a/src/models/v2/message-traits.ts b/apps/parser/src/models/v2/message-traits.ts similarity index 100% rename from src/models/v2/message-traits.ts rename to apps/parser/src/models/v2/message-traits.ts diff --git a/src/models/v2/message.ts b/apps/parser/src/models/v2/message.ts similarity index 100% rename from src/models/v2/message.ts rename to apps/parser/src/models/v2/message.ts diff --git a/src/models/v2/messages.ts b/apps/parser/src/models/v2/messages.ts similarity index 100% rename from src/models/v2/messages.ts rename to apps/parser/src/models/v2/messages.ts diff --git a/src/models/v2/mixins.ts b/apps/parser/src/models/v2/mixins.ts similarity index 100% rename from src/models/v2/mixins.ts rename to apps/parser/src/models/v2/mixins.ts diff --git a/src/models/v2/oauth-flow.ts b/apps/parser/src/models/v2/oauth-flow.ts similarity index 100% rename from src/models/v2/oauth-flow.ts rename to apps/parser/src/models/v2/oauth-flow.ts diff --git a/src/models/v2/oauth-flows.ts b/apps/parser/src/models/v2/oauth-flows.ts similarity index 100% rename from src/models/v2/oauth-flows.ts rename to apps/parser/src/models/v2/oauth-flows.ts diff --git a/src/models/v2/operation-trait.ts b/apps/parser/src/models/v2/operation-trait.ts similarity index 100% rename from src/models/v2/operation-trait.ts rename to apps/parser/src/models/v2/operation-trait.ts diff --git a/src/models/v2/operation-traits.ts b/apps/parser/src/models/v2/operation-traits.ts similarity index 100% rename from src/models/v2/operation-traits.ts rename to apps/parser/src/models/v2/operation-traits.ts diff --git a/src/models/v2/operation.ts b/apps/parser/src/models/v2/operation.ts similarity index 100% rename from src/models/v2/operation.ts rename to apps/parser/src/models/v2/operation.ts diff --git a/src/models/v2/operations.ts b/apps/parser/src/models/v2/operations.ts similarity index 100% rename from src/models/v2/operations.ts rename to apps/parser/src/models/v2/operations.ts diff --git a/src/models/v2/schema.ts b/apps/parser/src/models/v2/schema.ts similarity index 100% rename from src/models/v2/schema.ts rename to apps/parser/src/models/v2/schema.ts diff --git a/src/models/v2/schemas.ts b/apps/parser/src/models/v2/schemas.ts similarity index 100% rename from src/models/v2/schemas.ts rename to apps/parser/src/models/v2/schemas.ts diff --git a/src/models/v2/security-requirement.ts b/apps/parser/src/models/v2/security-requirement.ts similarity index 100% rename from src/models/v2/security-requirement.ts rename to apps/parser/src/models/v2/security-requirement.ts diff --git a/src/models/v2/security-requirements.ts b/apps/parser/src/models/v2/security-requirements.ts similarity index 100% rename from src/models/v2/security-requirements.ts rename to apps/parser/src/models/v2/security-requirements.ts diff --git a/src/models/v2/security-scheme.ts b/apps/parser/src/models/v2/security-scheme.ts similarity index 100% rename from src/models/v2/security-scheme.ts rename to apps/parser/src/models/v2/security-scheme.ts diff --git a/src/models/v2/security-schemes.ts b/apps/parser/src/models/v2/security-schemes.ts similarity index 100% rename from src/models/v2/security-schemes.ts rename to apps/parser/src/models/v2/security-schemes.ts diff --git a/src/models/v2/server-variable.ts b/apps/parser/src/models/v2/server-variable.ts similarity index 100% rename from src/models/v2/server-variable.ts rename to apps/parser/src/models/v2/server-variable.ts diff --git a/src/models/v2/server-variables.ts b/apps/parser/src/models/v2/server-variables.ts similarity index 100% rename from src/models/v2/server-variables.ts rename to apps/parser/src/models/v2/server-variables.ts diff --git a/src/models/v2/server.ts b/apps/parser/src/models/v2/server.ts similarity index 100% rename from src/models/v2/server.ts rename to apps/parser/src/models/v2/server.ts diff --git a/src/models/v2/servers.ts b/apps/parser/src/models/v2/servers.ts similarity index 100% rename from src/models/v2/servers.ts rename to apps/parser/src/models/v2/servers.ts diff --git a/src/models/v2/tag.ts b/apps/parser/src/models/v2/tag.ts similarity index 100% rename from src/models/v2/tag.ts rename to apps/parser/src/models/v2/tag.ts diff --git a/src/models/v2/tags.ts b/apps/parser/src/models/v2/tags.ts similarity index 100% rename from src/models/v2/tags.ts rename to apps/parser/src/models/v2/tags.ts diff --git a/src/models/v3/asyncapi.ts b/apps/parser/src/models/v3/asyncapi.ts similarity index 100% rename from src/models/v3/asyncapi.ts rename to apps/parser/src/models/v3/asyncapi.ts diff --git a/src/models/v3/binding.ts b/apps/parser/src/models/v3/binding.ts similarity index 100% rename from src/models/v3/binding.ts rename to apps/parser/src/models/v3/binding.ts diff --git a/src/models/v3/bindings.ts b/apps/parser/src/models/v3/bindings.ts similarity index 100% rename from src/models/v3/bindings.ts rename to apps/parser/src/models/v3/bindings.ts diff --git a/src/models/v3/channel-parameter.ts b/apps/parser/src/models/v3/channel-parameter.ts similarity index 100% rename from src/models/v3/channel-parameter.ts rename to apps/parser/src/models/v3/channel-parameter.ts diff --git a/src/models/v3/channel-parameters.ts b/apps/parser/src/models/v3/channel-parameters.ts similarity index 100% rename from src/models/v3/channel-parameters.ts rename to apps/parser/src/models/v3/channel-parameters.ts diff --git a/src/models/v3/channel.ts b/apps/parser/src/models/v3/channel.ts similarity index 100% rename from src/models/v3/channel.ts rename to apps/parser/src/models/v3/channel.ts diff --git a/src/models/v3/channels.ts b/apps/parser/src/models/v3/channels.ts similarity index 100% rename from src/models/v3/channels.ts rename to apps/parser/src/models/v3/channels.ts diff --git a/src/models/v3/components.ts b/apps/parser/src/models/v3/components.ts similarity index 100% rename from src/models/v3/components.ts rename to apps/parser/src/models/v3/components.ts diff --git a/src/models/v3/contact.ts b/apps/parser/src/models/v3/contact.ts similarity index 100% rename from src/models/v3/contact.ts rename to apps/parser/src/models/v3/contact.ts diff --git a/src/models/v3/correlation-id.ts b/apps/parser/src/models/v3/correlation-id.ts similarity index 100% rename from src/models/v3/correlation-id.ts rename to apps/parser/src/models/v3/correlation-id.ts diff --git a/src/models/v3/correlation-ids.ts b/apps/parser/src/models/v3/correlation-ids.ts similarity index 100% rename from src/models/v3/correlation-ids.ts rename to apps/parser/src/models/v3/correlation-ids.ts diff --git a/src/models/v3/extension.ts b/apps/parser/src/models/v3/extension.ts similarity index 100% rename from src/models/v3/extension.ts rename to apps/parser/src/models/v3/extension.ts diff --git a/src/models/v3/extensions.ts b/apps/parser/src/models/v3/extensions.ts similarity index 100% rename from src/models/v3/extensions.ts rename to apps/parser/src/models/v3/extensions.ts diff --git a/src/models/v3/external-docs.ts b/apps/parser/src/models/v3/external-docs.ts similarity index 100% rename from src/models/v3/external-docs.ts rename to apps/parser/src/models/v3/external-docs.ts diff --git a/src/models/v3/index.ts b/apps/parser/src/models/v3/index.ts similarity index 100% rename from src/models/v3/index.ts rename to apps/parser/src/models/v3/index.ts diff --git a/src/models/v3/info.ts b/apps/parser/src/models/v3/info.ts similarity index 100% rename from src/models/v3/info.ts rename to apps/parser/src/models/v3/info.ts diff --git a/src/models/v3/license.ts b/apps/parser/src/models/v3/license.ts similarity index 100% rename from src/models/v3/license.ts rename to apps/parser/src/models/v3/license.ts diff --git a/src/models/v3/message-example.ts b/apps/parser/src/models/v3/message-example.ts similarity index 100% rename from src/models/v3/message-example.ts rename to apps/parser/src/models/v3/message-example.ts diff --git a/src/models/v3/message-examples.ts b/apps/parser/src/models/v3/message-examples.ts similarity index 100% rename from src/models/v3/message-examples.ts rename to apps/parser/src/models/v3/message-examples.ts diff --git a/src/models/v3/message-trait.ts b/apps/parser/src/models/v3/message-trait.ts similarity index 100% rename from src/models/v3/message-trait.ts rename to apps/parser/src/models/v3/message-trait.ts diff --git a/src/models/v3/message-traits.ts b/apps/parser/src/models/v3/message-traits.ts similarity index 100% rename from src/models/v3/message-traits.ts rename to apps/parser/src/models/v3/message-traits.ts diff --git a/src/models/v3/message.ts b/apps/parser/src/models/v3/message.ts similarity index 100% rename from src/models/v3/message.ts rename to apps/parser/src/models/v3/message.ts diff --git a/src/models/v3/messages.ts b/apps/parser/src/models/v3/messages.ts similarity index 100% rename from src/models/v3/messages.ts rename to apps/parser/src/models/v3/messages.ts diff --git a/src/models/v3/mixins.ts b/apps/parser/src/models/v3/mixins.ts similarity index 100% rename from src/models/v3/mixins.ts rename to apps/parser/src/models/v3/mixins.ts diff --git a/src/models/v3/oauth-flow.ts b/apps/parser/src/models/v3/oauth-flow.ts similarity index 100% rename from src/models/v3/oauth-flow.ts rename to apps/parser/src/models/v3/oauth-flow.ts diff --git a/src/models/v3/oauth-flows.ts b/apps/parser/src/models/v3/oauth-flows.ts similarity index 100% rename from src/models/v3/oauth-flows.ts rename to apps/parser/src/models/v3/oauth-flows.ts diff --git a/src/models/v3/operation-replies.ts b/apps/parser/src/models/v3/operation-replies.ts similarity index 100% rename from src/models/v3/operation-replies.ts rename to apps/parser/src/models/v3/operation-replies.ts diff --git a/src/models/v3/operation-reply-address.ts b/apps/parser/src/models/v3/operation-reply-address.ts similarity index 100% rename from src/models/v3/operation-reply-address.ts rename to apps/parser/src/models/v3/operation-reply-address.ts diff --git a/src/models/v3/operation-reply-addresses.ts b/apps/parser/src/models/v3/operation-reply-addresses.ts similarity index 100% rename from src/models/v3/operation-reply-addresses.ts rename to apps/parser/src/models/v3/operation-reply-addresses.ts diff --git a/src/models/v3/operation-reply.ts b/apps/parser/src/models/v3/operation-reply.ts similarity index 100% rename from src/models/v3/operation-reply.ts rename to apps/parser/src/models/v3/operation-reply.ts diff --git a/src/models/v3/operation-trait.ts b/apps/parser/src/models/v3/operation-trait.ts similarity index 100% rename from src/models/v3/operation-trait.ts rename to apps/parser/src/models/v3/operation-trait.ts diff --git a/src/models/v3/operation-traits.ts b/apps/parser/src/models/v3/operation-traits.ts similarity index 100% rename from src/models/v3/operation-traits.ts rename to apps/parser/src/models/v3/operation-traits.ts diff --git a/src/models/v3/operation.ts b/apps/parser/src/models/v3/operation.ts similarity index 100% rename from src/models/v3/operation.ts rename to apps/parser/src/models/v3/operation.ts diff --git a/src/models/v3/operations.ts b/apps/parser/src/models/v3/operations.ts similarity index 100% rename from src/models/v3/operations.ts rename to apps/parser/src/models/v3/operations.ts diff --git a/src/models/v3/schema.ts b/apps/parser/src/models/v3/schema.ts similarity index 100% rename from src/models/v3/schema.ts rename to apps/parser/src/models/v3/schema.ts diff --git a/src/models/v3/schemas.ts b/apps/parser/src/models/v3/schemas.ts similarity index 100% rename from src/models/v3/schemas.ts rename to apps/parser/src/models/v3/schemas.ts diff --git a/src/models/v3/security-requirement.ts b/apps/parser/src/models/v3/security-requirement.ts similarity index 100% rename from src/models/v3/security-requirement.ts rename to apps/parser/src/models/v3/security-requirement.ts diff --git a/src/models/v3/security-requirements.ts b/apps/parser/src/models/v3/security-requirements.ts similarity index 100% rename from src/models/v3/security-requirements.ts rename to apps/parser/src/models/v3/security-requirements.ts diff --git a/src/models/v3/security-scheme.ts b/apps/parser/src/models/v3/security-scheme.ts similarity index 100% rename from src/models/v3/security-scheme.ts rename to apps/parser/src/models/v3/security-scheme.ts diff --git a/src/models/v3/security-schemes.ts b/apps/parser/src/models/v3/security-schemes.ts similarity index 100% rename from src/models/v3/security-schemes.ts rename to apps/parser/src/models/v3/security-schemes.ts diff --git a/src/models/v3/server-variable.ts b/apps/parser/src/models/v3/server-variable.ts similarity index 100% rename from src/models/v3/server-variable.ts rename to apps/parser/src/models/v3/server-variable.ts diff --git a/src/models/v3/server-variables.ts b/apps/parser/src/models/v3/server-variables.ts similarity index 100% rename from src/models/v3/server-variables.ts rename to apps/parser/src/models/v3/server-variables.ts diff --git a/src/models/v3/server.ts b/apps/parser/src/models/v3/server.ts similarity index 100% rename from src/models/v3/server.ts rename to apps/parser/src/models/v3/server.ts diff --git a/src/models/v3/servers.ts b/apps/parser/src/models/v3/servers.ts similarity index 100% rename from src/models/v3/servers.ts rename to apps/parser/src/models/v3/servers.ts diff --git a/src/models/v3/tag.ts b/apps/parser/src/models/v3/tag.ts similarity index 100% rename from src/models/v3/tag.ts rename to apps/parser/src/models/v3/tag.ts diff --git a/src/models/v3/tags.ts b/apps/parser/src/models/v3/tags.ts similarity index 100% rename from src/models/v3/tags.ts rename to apps/parser/src/models/v3/tags.ts diff --git a/src/old-api/asyncapi.ts b/apps/parser/src/old-api/asyncapi.ts similarity index 100% rename from src/old-api/asyncapi.ts rename to apps/parser/src/old-api/asyncapi.ts diff --git a/src/old-api/base.ts b/apps/parser/src/old-api/base.ts similarity index 100% rename from src/old-api/base.ts rename to apps/parser/src/old-api/base.ts diff --git a/src/old-api/channel-parameter.ts b/apps/parser/src/old-api/channel-parameter.ts similarity index 100% rename from src/old-api/channel-parameter.ts rename to apps/parser/src/old-api/channel-parameter.ts diff --git a/src/old-api/channel.ts b/apps/parser/src/old-api/channel.ts similarity index 100% rename from src/old-api/channel.ts rename to apps/parser/src/old-api/channel.ts diff --git a/src/old-api/components.ts b/apps/parser/src/old-api/components.ts similarity index 100% rename from src/old-api/components.ts rename to apps/parser/src/old-api/components.ts diff --git a/src/old-api/contact.ts b/apps/parser/src/old-api/contact.ts similarity index 100% rename from src/old-api/contact.ts rename to apps/parser/src/old-api/contact.ts diff --git a/src/old-api/converter.ts b/apps/parser/src/old-api/converter.ts similarity index 100% rename from src/old-api/converter.ts rename to apps/parser/src/old-api/converter.ts diff --git a/src/old-api/correlation-id.ts b/apps/parser/src/old-api/correlation-id.ts similarity index 100% rename from src/old-api/correlation-id.ts rename to apps/parser/src/old-api/correlation-id.ts diff --git a/src/old-api/external-docs.ts b/apps/parser/src/old-api/external-docs.ts similarity index 100% rename from src/old-api/external-docs.ts rename to apps/parser/src/old-api/external-docs.ts diff --git a/src/old-api/index.ts b/apps/parser/src/old-api/index.ts similarity index 100% rename from src/old-api/index.ts rename to apps/parser/src/old-api/index.ts diff --git a/src/old-api/info.ts b/apps/parser/src/old-api/info.ts similarity index 100% rename from src/old-api/info.ts rename to apps/parser/src/old-api/info.ts diff --git a/src/old-api/iterator.ts b/apps/parser/src/old-api/iterator.ts similarity index 100% rename from src/old-api/iterator.ts rename to apps/parser/src/old-api/iterator.ts diff --git a/src/old-api/license.ts b/apps/parser/src/old-api/license.ts similarity index 100% rename from src/old-api/license.ts rename to apps/parser/src/old-api/license.ts diff --git a/src/old-api/message-trait.ts b/apps/parser/src/old-api/message-trait.ts similarity index 100% rename from src/old-api/message-trait.ts rename to apps/parser/src/old-api/message-trait.ts diff --git a/src/old-api/message.ts b/apps/parser/src/old-api/message.ts similarity index 100% rename from src/old-api/message.ts rename to apps/parser/src/old-api/message.ts diff --git a/src/old-api/mixins.ts b/apps/parser/src/old-api/mixins.ts similarity index 100% rename from src/old-api/mixins.ts rename to apps/parser/src/old-api/mixins.ts diff --git a/src/old-api/oauth-flow.ts b/apps/parser/src/old-api/oauth-flow.ts similarity index 100% rename from src/old-api/oauth-flow.ts rename to apps/parser/src/old-api/oauth-flow.ts diff --git a/src/old-api/operation-trait.ts b/apps/parser/src/old-api/operation-trait.ts similarity index 100% rename from src/old-api/operation-trait.ts rename to apps/parser/src/old-api/operation-trait.ts diff --git a/src/old-api/operation.ts b/apps/parser/src/old-api/operation.ts similarity index 100% rename from src/old-api/operation.ts rename to apps/parser/src/old-api/operation.ts diff --git a/src/old-api/schema.ts b/apps/parser/src/old-api/schema.ts similarity index 100% rename from src/old-api/schema.ts rename to apps/parser/src/old-api/schema.ts diff --git a/src/old-api/security-requirement.ts b/apps/parser/src/old-api/security-requirement.ts similarity index 100% rename from src/old-api/security-requirement.ts rename to apps/parser/src/old-api/security-requirement.ts diff --git a/src/old-api/security-scheme.ts b/apps/parser/src/old-api/security-scheme.ts similarity index 100% rename from src/old-api/security-scheme.ts rename to apps/parser/src/old-api/security-scheme.ts diff --git a/src/old-api/server-variable.ts b/apps/parser/src/old-api/server-variable.ts similarity index 100% rename from src/old-api/server-variable.ts rename to apps/parser/src/old-api/server-variable.ts diff --git a/src/old-api/server.ts b/apps/parser/src/old-api/server.ts similarity index 100% rename from src/old-api/server.ts rename to apps/parser/src/old-api/server.ts diff --git a/src/old-api/tag.ts b/apps/parser/src/old-api/tag.ts similarity index 100% rename from src/old-api/tag.ts rename to apps/parser/src/old-api/tag.ts diff --git a/src/parse.ts b/apps/parser/src/parse.ts similarity index 100% rename from src/parse.ts rename to apps/parser/src/parse.ts diff --git a/src/parser.ts b/apps/parser/src/parser.ts similarity index 100% rename from src/parser.ts rename to apps/parser/src/parser.ts diff --git a/src/resolver.ts b/apps/parser/src/resolver.ts similarity index 100% rename from src/resolver.ts rename to apps/parser/src/resolver.ts diff --git a/src/ruleset/formats.ts b/apps/parser/src/ruleset/formats.ts similarity index 100% rename from src/ruleset/formats.ts rename to apps/parser/src/ruleset/formats.ts diff --git a/src/ruleset/functions/documentStructure.ts b/apps/parser/src/ruleset/functions/documentStructure.ts similarity index 100% rename from src/ruleset/functions/documentStructure.ts rename to apps/parser/src/ruleset/functions/documentStructure.ts diff --git a/src/ruleset/functions/internal.ts b/apps/parser/src/ruleset/functions/internal.ts similarity index 100% rename from src/ruleset/functions/internal.ts rename to apps/parser/src/ruleset/functions/internal.ts diff --git a/src/ruleset/functions/isAsyncAPIDocument.ts b/apps/parser/src/ruleset/functions/isAsyncAPIDocument.ts similarity index 100% rename from src/ruleset/functions/isAsyncAPIDocument.ts rename to apps/parser/src/ruleset/functions/isAsyncAPIDocument.ts diff --git a/src/ruleset/functions/uniquenessTags.ts b/apps/parser/src/ruleset/functions/uniquenessTags.ts similarity index 100% rename from src/ruleset/functions/uniquenessTags.ts rename to apps/parser/src/ruleset/functions/uniquenessTags.ts diff --git a/src/ruleset/functions/unusedComponent.ts b/apps/parser/src/ruleset/functions/unusedComponent.ts similarity index 100% rename from src/ruleset/functions/unusedComponent.ts rename to apps/parser/src/ruleset/functions/unusedComponent.ts diff --git a/src/ruleset/index.ts b/apps/parser/src/ruleset/index.ts similarity index 100% rename from src/ruleset/index.ts rename to apps/parser/src/ruleset/index.ts diff --git a/src/ruleset/ruleset.ts b/apps/parser/src/ruleset/ruleset.ts similarity index 100% rename from src/ruleset/ruleset.ts rename to apps/parser/src/ruleset/ruleset.ts diff --git a/src/ruleset/utils/getMissingProps.ts b/apps/parser/src/ruleset/utils/getMissingProps.ts similarity index 100% rename from src/ruleset/utils/getMissingProps.ts rename to apps/parser/src/ruleset/utils/getMissingProps.ts diff --git a/src/ruleset/utils/getRedundantProps.ts b/apps/parser/src/ruleset/utils/getRedundantProps.ts similarity index 100% rename from src/ruleset/utils/getRedundantProps.ts rename to apps/parser/src/ruleset/utils/getRedundantProps.ts diff --git a/src/ruleset/utils/index.ts b/apps/parser/src/ruleset/utils/index.ts similarity index 100% rename from src/ruleset/utils/index.ts rename to apps/parser/src/ruleset/utils/index.ts diff --git a/src/ruleset/utils/mergeTraits.ts b/apps/parser/src/ruleset/utils/mergeTraits.ts similarity index 100% rename from src/ruleset/utils/mergeTraits.ts rename to apps/parser/src/ruleset/utils/mergeTraits.ts diff --git a/src/ruleset/utils/parseUrlVariables.ts b/apps/parser/src/ruleset/utils/parseUrlVariables.ts similarity index 100% rename from src/ruleset/utils/parseUrlVariables.ts rename to apps/parser/src/ruleset/utils/parseUrlVariables.ts diff --git a/src/ruleset/v2/functions/channelParameters.ts b/apps/parser/src/ruleset/v2/functions/channelParameters.ts similarity index 100% rename from src/ruleset/v2/functions/channelParameters.ts rename to apps/parser/src/ruleset/v2/functions/channelParameters.ts diff --git a/src/ruleset/v2/functions/channelServers.ts b/apps/parser/src/ruleset/v2/functions/channelServers.ts similarity index 100% rename from src/ruleset/v2/functions/channelServers.ts rename to apps/parser/src/ruleset/v2/functions/channelServers.ts diff --git a/src/ruleset/v2/functions/checkId.ts b/apps/parser/src/ruleset/v2/functions/checkId.ts similarity index 100% rename from src/ruleset/v2/functions/checkId.ts rename to apps/parser/src/ruleset/v2/functions/checkId.ts diff --git a/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts b/apps/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts similarity index 100% rename from src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts rename to apps/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts diff --git a/src/ruleset/v2/functions/messageExamples.ts b/apps/parser/src/ruleset/v2/functions/messageExamples.ts similarity index 100% rename from src/ruleset/v2/functions/messageExamples.ts rename to apps/parser/src/ruleset/v2/functions/messageExamples.ts diff --git a/src/ruleset/v2/functions/messageIdUniqueness.ts b/apps/parser/src/ruleset/v2/functions/messageIdUniqueness.ts similarity index 100% rename from src/ruleset/v2/functions/messageIdUniqueness.ts rename to apps/parser/src/ruleset/v2/functions/messageIdUniqueness.ts diff --git a/src/ruleset/v2/functions/operationIdUniqueness.ts b/apps/parser/src/ruleset/v2/functions/operationIdUniqueness.ts similarity index 100% rename from src/ruleset/v2/functions/operationIdUniqueness.ts rename to apps/parser/src/ruleset/v2/functions/operationIdUniqueness.ts diff --git a/src/ruleset/v2/functions/schemaValidation.ts b/apps/parser/src/ruleset/v2/functions/schemaValidation.ts similarity index 100% rename from src/ruleset/v2/functions/schemaValidation.ts rename to apps/parser/src/ruleset/v2/functions/schemaValidation.ts diff --git a/src/ruleset/v2/functions/security.ts b/apps/parser/src/ruleset/v2/functions/security.ts similarity index 100% rename from src/ruleset/v2/functions/security.ts rename to apps/parser/src/ruleset/v2/functions/security.ts diff --git a/src/ruleset/v2/functions/serverVariables.ts b/apps/parser/src/ruleset/v2/functions/serverVariables.ts similarity index 100% rename from src/ruleset/v2/functions/serverVariables.ts rename to apps/parser/src/ruleset/v2/functions/serverVariables.ts diff --git a/src/ruleset/v2/functions/unusedSecuritySchemes.ts b/apps/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts similarity index 100% rename from src/ruleset/v2/functions/unusedSecuritySchemes.ts rename to apps/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts diff --git a/src/ruleset/v2/index.ts b/apps/parser/src/ruleset/v2/index.ts similarity index 100% rename from src/ruleset/v2/index.ts rename to apps/parser/src/ruleset/v2/index.ts diff --git a/src/ruleset/v2/ruleset.ts b/apps/parser/src/ruleset/v2/ruleset.ts similarity index 100% rename from src/ruleset/v2/ruleset.ts rename to apps/parser/src/ruleset/v2/ruleset.ts diff --git a/src/ruleset/v2/utils/getAllMessages.ts b/apps/parser/src/ruleset/v2/utils/getAllMessages.ts similarity index 100% rename from src/ruleset/v2/utils/getAllMessages.ts rename to apps/parser/src/ruleset/v2/utils/getAllMessages.ts diff --git a/src/ruleset/v2/utils/getAllOperations.ts b/apps/parser/src/ruleset/v2/utils/getAllOperations.ts similarity index 100% rename from src/ruleset/v2/utils/getAllOperations.ts rename to apps/parser/src/ruleset/v2/utils/getAllOperations.ts diff --git a/src/ruleset/v2/utils/index.ts b/apps/parser/src/ruleset/v2/utils/index.ts similarity index 100% rename from src/ruleset/v2/utils/index.ts rename to apps/parser/src/ruleset/v2/utils/index.ts diff --git a/src/ruleset/v3/functions/operationMessagesUnambiguity.ts b/apps/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts similarity index 100% rename from src/ruleset/v3/functions/operationMessagesUnambiguity.ts rename to apps/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts diff --git a/src/ruleset/v3/index.ts b/apps/parser/src/ruleset/v3/index.ts similarity index 100% rename from src/ruleset/v3/index.ts rename to apps/parser/src/ruleset/v3/index.ts diff --git a/src/ruleset/v3/ruleset.ts b/apps/parser/src/ruleset/v3/ruleset.ts similarity index 100% rename from src/ruleset/v3/ruleset.ts rename to apps/parser/src/ruleset/v3/ruleset.ts diff --git a/src/schema-parser/asyncapi-schema-parser.ts b/apps/parser/src/schema-parser/asyncapi-schema-parser.ts similarity index 100% rename from src/schema-parser/asyncapi-schema-parser.ts rename to apps/parser/src/schema-parser/asyncapi-schema-parser.ts diff --git a/src/schema-parser/index.ts b/apps/parser/src/schema-parser/index.ts similarity index 100% rename from src/schema-parser/index.ts rename to apps/parser/src/schema-parser/index.ts diff --git a/src/schema-parser/spectral-rule-v2.ts b/apps/parser/src/schema-parser/spectral-rule-v2.ts similarity index 100% rename from src/schema-parser/spectral-rule-v2.ts rename to apps/parser/src/schema-parser/spectral-rule-v2.ts diff --git a/src/spec-types/index.ts b/apps/parser/src/spec-types/index.ts similarity index 100% rename from src/spec-types/index.ts rename to apps/parser/src/spec-types/index.ts diff --git a/src/spec-types/v2.ts b/apps/parser/src/spec-types/v2.ts similarity index 100% rename from src/spec-types/v2.ts rename to apps/parser/src/spec-types/v2.ts diff --git a/src/spec-types/v3.ts b/apps/parser/src/spec-types/v3.ts similarity index 100% rename from src/spec-types/v3.ts rename to apps/parser/src/spec-types/v3.ts diff --git a/src/spectral.ts b/apps/parser/src/spectral.ts similarity index 100% rename from src/spectral.ts rename to apps/parser/src/spectral.ts diff --git a/src/stringify.ts b/apps/parser/src/stringify.ts similarity index 100% rename from src/stringify.ts rename to apps/parser/src/stringify.ts diff --git a/src/types.ts b/apps/parser/src/types.ts similarity index 100% rename from src/types.ts rename to apps/parser/src/types.ts diff --git a/src/utils.ts b/apps/parser/src/utils.ts similarity index 100% rename from src/utils.ts rename to apps/parser/src/utils.ts diff --git a/src/validate.ts b/apps/parser/src/validate.ts similarity index 100% rename from src/validate.ts rename to apps/parser/src/validate.ts diff --git a/test/browser/browser.spec.ts b/apps/parser/test/browser/browser.spec.ts similarity index 100% rename from test/browser/browser.spec.ts rename to apps/parser/test/browser/browser.spec.ts diff --git a/test/browser/sample-page.html b/apps/parser/test/browser/sample-page.html similarity index 100% rename from test/browser/sample-page.html rename to apps/parser/test/browser/sample-page.html diff --git a/test/custom-operations/anonymous-naming.spec.ts b/apps/parser/test/custom-operations/anonymous-naming.spec.ts similarity index 100% rename from test/custom-operations/anonymous-naming.spec.ts rename to apps/parser/test/custom-operations/anonymous-naming.spec.ts diff --git a/test/custom-operations/apply-traits-v2.spec.ts b/apps/parser/test/custom-operations/apply-traits-v2.spec.ts similarity index 100% rename from test/custom-operations/apply-traits-v2.spec.ts rename to apps/parser/test/custom-operations/apply-traits-v2.spec.ts diff --git a/test/custom-operations/apply-traits-v3.spec.ts b/apps/parser/test/custom-operations/apply-traits-v3.spec.ts similarity index 100% rename from test/custom-operations/apply-traits-v3.spec.ts rename to apps/parser/test/custom-operations/apply-traits-v3.spec.ts diff --git a/test/custom-operations/apply-traits.spec.ts b/apps/parser/test/custom-operations/apply-traits.spec.ts similarity index 100% rename from test/custom-operations/apply-traits.spec.ts rename to apps/parser/test/custom-operations/apply-traits.spec.ts diff --git a/test/custom-operations/apply-unique-ids.spec.ts b/apps/parser/test/custom-operations/apply-unique-ids.spec.ts similarity index 100% rename from test/custom-operations/apply-unique-ids.spec.ts rename to apps/parser/test/custom-operations/apply-unique-ids.spec.ts diff --git a/test/custom-operations/check-circular-refs.spec.ts b/apps/parser/test/custom-operations/check-circular-refs.spec.ts similarity index 100% rename from test/custom-operations/check-circular-refs.spec.ts rename to apps/parser/test/custom-operations/check-circular-refs.spec.ts diff --git a/test/custom-operations/parse-schema-v2.spec.ts b/apps/parser/test/custom-operations/parse-schema-v2.spec.ts similarity index 100% rename from test/custom-operations/parse-schema-v2.spec.ts rename to apps/parser/test/custom-operations/parse-schema-v2.spec.ts diff --git a/test/custom-operations/parse-schema-v3.spec.ts b/apps/parser/test/custom-operations/parse-schema-v3.spec.ts similarity index 100% rename from test/custom-operations/parse-schema-v3.spec.ts rename to apps/parser/test/custom-operations/parse-schema-v3.spec.ts diff --git a/test/custom-operations/resolve-circular-refs.spec.ts b/apps/parser/test/custom-operations/resolve-circular-refs.spec.ts similarity index 100% rename from test/custom-operations/resolve-circular-refs.spec.ts rename to apps/parser/test/custom-operations/resolve-circular-refs.spec.ts diff --git a/test/document.spec.ts b/apps/parser/test/document.spec.ts similarity index 100% rename from test/document.spec.ts rename to apps/parser/test/document.spec.ts diff --git a/test/from.spec.ts b/apps/parser/test/from.spec.ts similarity index 100% rename from test/from.spec.ts rename to apps/parser/test/from.spec.ts diff --git a/test/iterator.spec.ts b/apps/parser/test/iterator.spec.ts similarity index 100% rename from test/iterator.spec.ts rename to apps/parser/test/iterator.spec.ts diff --git a/test/mocks/circular-refs.yaml b/apps/parser/test/mocks/circular-refs.yaml similarity index 100% rename from test/mocks/circular-refs.yaml rename to apps/parser/test/mocks/circular-refs.yaml diff --git a/test/mocks/nested-schemas.yaml b/apps/parser/test/mocks/nested-schemas.yaml similarity index 100% rename from test/mocks/nested-schemas.yaml rename to apps/parser/test/mocks/nested-schemas.yaml diff --git a/test/mocks/parse/circular-ref-deep.yaml b/apps/parser/test/mocks/parse/circular-ref-deep.yaml similarity index 100% rename from test/mocks/parse/circular-ref-deep.yaml rename to apps/parser/test/mocks/parse/circular-ref-deep.yaml diff --git a/test/mocks/parse/circular-ref.yaml b/apps/parser/test/mocks/parse/circular-ref.yaml similarity index 100% rename from test/mocks/parse/circular-ref.yaml rename to apps/parser/test/mocks/parse/circular-ref.yaml diff --git a/test/mocks/refs-1.yaml b/apps/parser/test/mocks/refs-1.yaml similarity index 100% rename from test/mocks/refs-1.yaml rename to apps/parser/test/mocks/refs-1.yaml diff --git a/test/mocks/refs-2.yaml b/apps/parser/test/mocks/refs-2.yaml similarity index 100% rename from test/mocks/refs-2.yaml rename to apps/parser/test/mocks/refs-2.yaml diff --git a/test/mocks/simple-message.yaml b/apps/parser/test/mocks/simple-message.yaml similarity index 100% rename from test/mocks/simple-message.yaml rename to apps/parser/test/mocks/simple-message.yaml diff --git a/test/mocks/simple-with-refs.yaml b/apps/parser/test/mocks/simple-with-refs.yaml similarity index 100% rename from test/mocks/simple-with-refs.yaml rename to apps/parser/test/mocks/simple-with-refs.yaml diff --git a/test/mocks/simple.yaml b/apps/parser/test/mocks/simple.yaml similarity index 100% rename from test/mocks/simple.yaml rename to apps/parser/test/mocks/simple.yaml diff --git a/test/models/base.spec.ts b/apps/parser/test/models/base.spec.ts similarity index 100% rename from test/models/base.spec.ts rename to apps/parser/test/models/base.spec.ts diff --git a/test/models/collection.spec.ts b/apps/parser/test/models/collection.spec.ts similarity index 100% rename from test/models/collection.spec.ts rename to apps/parser/test/models/collection.spec.ts diff --git a/test/models/v2/asyncapi.spec.ts b/apps/parser/test/models/v2/asyncapi.spec.ts similarity index 100% rename from test/models/v2/asyncapi.spec.ts rename to apps/parser/test/models/v2/asyncapi.spec.ts diff --git a/test/models/v2/bindings.spec.ts b/apps/parser/test/models/v2/bindings.spec.ts similarity index 100% rename from test/models/v2/bindings.spec.ts rename to apps/parser/test/models/v2/bindings.spec.ts diff --git a/test/models/v2/channel-parameter.spec.ts b/apps/parser/test/models/v2/channel-parameter.spec.ts similarity index 100% rename from test/models/v2/channel-parameter.spec.ts rename to apps/parser/test/models/v2/channel-parameter.spec.ts diff --git a/test/models/v2/channel-parameters.spec.ts b/apps/parser/test/models/v2/channel-parameters.spec.ts similarity index 100% rename from test/models/v2/channel-parameters.spec.ts rename to apps/parser/test/models/v2/channel-parameters.spec.ts diff --git a/test/models/v2/channel.spec.ts b/apps/parser/test/models/v2/channel.spec.ts similarity index 100% rename from test/models/v2/channel.spec.ts rename to apps/parser/test/models/v2/channel.spec.ts diff --git a/test/models/v2/channels.spec.ts b/apps/parser/test/models/v2/channels.spec.ts similarity index 100% rename from test/models/v2/channels.spec.ts rename to apps/parser/test/models/v2/channels.spec.ts diff --git a/test/models/v2/components.spec.ts b/apps/parser/test/models/v2/components.spec.ts similarity index 100% rename from test/models/v2/components.spec.ts rename to apps/parser/test/models/v2/components.spec.ts diff --git a/test/models/v2/contact.spec.ts b/apps/parser/test/models/v2/contact.spec.ts similarity index 100% rename from test/models/v2/contact.spec.ts rename to apps/parser/test/models/v2/contact.spec.ts diff --git a/test/models/v2/correlation-id.spec.ts b/apps/parser/test/models/v2/correlation-id.spec.ts similarity index 100% rename from test/models/v2/correlation-id.spec.ts rename to apps/parser/test/models/v2/correlation-id.spec.ts diff --git a/test/models/v2/external-docs.spec.ts b/apps/parser/test/models/v2/external-docs.spec.ts similarity index 100% rename from test/models/v2/external-docs.spec.ts rename to apps/parser/test/models/v2/external-docs.spec.ts diff --git a/test/models/v2/external-documentation.spec.ts b/apps/parser/test/models/v2/external-documentation.spec.ts similarity index 100% rename from test/models/v2/external-documentation.spec.ts rename to apps/parser/test/models/v2/external-documentation.spec.ts diff --git a/test/models/v2/info.spec.ts b/apps/parser/test/models/v2/info.spec.ts similarity index 100% rename from test/models/v2/info.spec.ts rename to apps/parser/test/models/v2/info.spec.ts diff --git a/test/models/v2/license.spec.ts b/apps/parser/test/models/v2/license.spec.ts similarity index 100% rename from test/models/v2/license.spec.ts rename to apps/parser/test/models/v2/license.spec.ts diff --git a/test/models/v2/message-example.spec.ts b/apps/parser/test/models/v2/message-example.spec.ts similarity index 100% rename from test/models/v2/message-example.spec.ts rename to apps/parser/test/models/v2/message-example.spec.ts diff --git a/test/models/v2/message-examples.spec.ts b/apps/parser/test/models/v2/message-examples.spec.ts similarity index 100% rename from test/models/v2/message-examples.spec.ts rename to apps/parser/test/models/v2/message-examples.spec.ts diff --git a/test/models/v2/message-trait.spec.ts b/apps/parser/test/models/v2/message-trait.spec.ts similarity index 100% rename from test/models/v2/message-trait.spec.ts rename to apps/parser/test/models/v2/message-trait.spec.ts diff --git a/test/models/v2/message-traits.spec.ts b/apps/parser/test/models/v2/message-traits.spec.ts similarity index 100% rename from test/models/v2/message-traits.spec.ts rename to apps/parser/test/models/v2/message-traits.spec.ts diff --git a/test/models/v2/message.spec.ts b/apps/parser/test/models/v2/message.spec.ts similarity index 100% rename from test/models/v2/message.spec.ts rename to apps/parser/test/models/v2/message.spec.ts diff --git a/test/models/v2/messages.spec.ts b/apps/parser/test/models/v2/messages.spec.ts similarity index 100% rename from test/models/v2/messages.spec.ts rename to apps/parser/test/models/v2/messages.spec.ts diff --git a/test/models/v2/mixins.spec.ts b/apps/parser/test/models/v2/mixins.spec.ts similarity index 100% rename from test/models/v2/mixins.spec.ts rename to apps/parser/test/models/v2/mixins.spec.ts diff --git a/test/models/v2/oauth-flow.spec.ts b/apps/parser/test/models/v2/oauth-flow.spec.ts similarity index 100% rename from test/models/v2/oauth-flow.spec.ts rename to apps/parser/test/models/v2/oauth-flow.spec.ts diff --git a/test/models/v2/oauth-flows.spec.ts b/apps/parser/test/models/v2/oauth-flows.spec.ts similarity index 100% rename from test/models/v2/oauth-flows.spec.ts rename to apps/parser/test/models/v2/oauth-flows.spec.ts diff --git a/test/models/v2/operation-trait.spec.ts b/apps/parser/test/models/v2/operation-trait.spec.ts similarity index 100% rename from test/models/v2/operation-trait.spec.ts rename to apps/parser/test/models/v2/operation-trait.spec.ts diff --git a/test/models/v2/operation-traits.spec.ts b/apps/parser/test/models/v2/operation-traits.spec.ts similarity index 100% rename from test/models/v2/operation-traits.spec.ts rename to apps/parser/test/models/v2/operation-traits.spec.ts diff --git a/test/models/v2/operation.spec.ts b/apps/parser/test/models/v2/operation.spec.ts similarity index 100% rename from test/models/v2/operation.spec.ts rename to apps/parser/test/models/v2/operation.spec.ts diff --git a/test/models/v2/operations.spec.ts b/apps/parser/test/models/v2/operations.spec.ts similarity index 100% rename from test/models/v2/operations.spec.ts rename to apps/parser/test/models/v2/operations.spec.ts diff --git a/test/models/v2/schema.spec.ts b/apps/parser/test/models/v2/schema.spec.ts similarity index 100% rename from test/models/v2/schema.spec.ts rename to apps/parser/test/models/v2/schema.spec.ts diff --git a/test/models/v2/security-requirement.spec.ts b/apps/parser/test/models/v2/security-requirement.spec.ts similarity index 100% rename from test/models/v2/security-requirement.spec.ts rename to apps/parser/test/models/v2/security-requirement.spec.ts diff --git a/test/models/v2/security-requirements.spec.ts b/apps/parser/test/models/v2/security-requirements.spec.ts similarity index 100% rename from test/models/v2/security-requirements.spec.ts rename to apps/parser/test/models/v2/security-requirements.spec.ts diff --git a/test/models/v2/security-scheme.spec.ts b/apps/parser/test/models/v2/security-scheme.spec.ts similarity index 100% rename from test/models/v2/security-scheme.spec.ts rename to apps/parser/test/models/v2/security-scheme.spec.ts diff --git a/test/models/v2/server-variable.spec.ts b/apps/parser/test/models/v2/server-variable.spec.ts similarity index 100% rename from test/models/v2/server-variable.spec.ts rename to apps/parser/test/models/v2/server-variable.spec.ts diff --git a/test/models/v2/server.spec.ts b/apps/parser/test/models/v2/server.spec.ts similarity index 100% rename from test/models/v2/server.spec.ts rename to apps/parser/test/models/v2/server.spec.ts diff --git a/test/models/v2/servers.spec.ts b/apps/parser/test/models/v2/servers.spec.ts similarity index 100% rename from test/models/v2/servers.spec.ts rename to apps/parser/test/models/v2/servers.spec.ts diff --git a/test/models/v2/tag.spec.ts b/apps/parser/test/models/v2/tag.spec.ts similarity index 100% rename from test/models/v2/tag.spec.ts rename to apps/parser/test/models/v2/tag.spec.ts diff --git a/test/models/v2/tags.spec.ts b/apps/parser/test/models/v2/tags.spec.ts similarity index 100% rename from test/models/v2/tags.spec.ts rename to apps/parser/test/models/v2/tags.spec.ts diff --git a/test/models/v2/utils.ts b/apps/parser/test/models/v2/utils.ts similarity index 100% rename from test/models/v2/utils.ts rename to apps/parser/test/models/v2/utils.ts diff --git a/test/models/v3/asyncapi.spec.ts b/apps/parser/test/models/v3/asyncapi.spec.ts similarity index 100% rename from test/models/v3/asyncapi.spec.ts rename to apps/parser/test/models/v3/asyncapi.spec.ts diff --git a/test/models/v3/bindings.spec.ts b/apps/parser/test/models/v3/bindings.spec.ts similarity index 100% rename from test/models/v3/bindings.spec.ts rename to apps/parser/test/models/v3/bindings.spec.ts diff --git a/test/models/v3/channel-parameter.spec.ts b/apps/parser/test/models/v3/channel-parameter.spec.ts similarity index 100% rename from test/models/v3/channel-parameter.spec.ts rename to apps/parser/test/models/v3/channel-parameter.spec.ts diff --git a/test/models/v3/channel.spec.ts b/apps/parser/test/models/v3/channel.spec.ts similarity index 100% rename from test/models/v3/channel.spec.ts rename to apps/parser/test/models/v3/channel.spec.ts diff --git a/test/models/v3/components.spec.ts b/apps/parser/test/models/v3/components.spec.ts similarity index 100% rename from test/models/v3/components.spec.ts rename to apps/parser/test/models/v3/components.spec.ts diff --git a/test/models/v3/contact.spec.ts b/apps/parser/test/models/v3/contact.spec.ts similarity index 100% rename from test/models/v3/contact.spec.ts rename to apps/parser/test/models/v3/contact.spec.ts diff --git a/test/models/v3/correlation-id.spec.ts b/apps/parser/test/models/v3/correlation-id.spec.ts similarity index 100% rename from test/models/v3/correlation-id.spec.ts rename to apps/parser/test/models/v3/correlation-id.spec.ts diff --git a/test/models/v3/external-documentation.spec.ts b/apps/parser/test/models/v3/external-documentation.spec.ts similarity index 100% rename from test/models/v3/external-documentation.spec.ts rename to apps/parser/test/models/v3/external-documentation.spec.ts diff --git a/test/models/v3/info.spec.ts b/apps/parser/test/models/v3/info.spec.ts similarity index 100% rename from test/models/v3/info.spec.ts rename to apps/parser/test/models/v3/info.spec.ts diff --git a/test/models/v3/license.spec.ts b/apps/parser/test/models/v3/license.spec.ts similarity index 100% rename from test/models/v3/license.spec.ts rename to apps/parser/test/models/v3/license.spec.ts diff --git a/test/models/v3/message-example.spec.ts b/apps/parser/test/models/v3/message-example.spec.ts similarity index 100% rename from test/models/v3/message-example.spec.ts rename to apps/parser/test/models/v3/message-example.spec.ts diff --git a/test/models/v3/message-trait.spec.ts b/apps/parser/test/models/v3/message-trait.spec.ts similarity index 100% rename from test/models/v3/message-trait.spec.ts rename to apps/parser/test/models/v3/message-trait.spec.ts diff --git a/test/models/v3/message.spec.ts b/apps/parser/test/models/v3/message.spec.ts similarity index 100% rename from test/models/v3/message.spec.ts rename to apps/parser/test/models/v3/message.spec.ts diff --git a/test/models/v3/oauth-flow.spec.ts b/apps/parser/test/models/v3/oauth-flow.spec.ts similarity index 100% rename from test/models/v3/oauth-flow.spec.ts rename to apps/parser/test/models/v3/oauth-flow.spec.ts diff --git a/test/models/v3/oauth-flows.spec.ts b/apps/parser/test/models/v3/oauth-flows.spec.ts similarity index 100% rename from test/models/v3/oauth-flows.spec.ts rename to apps/parser/test/models/v3/oauth-flows.spec.ts diff --git a/test/models/v3/operation-reply-address.spec.ts b/apps/parser/test/models/v3/operation-reply-address.spec.ts similarity index 100% rename from test/models/v3/operation-reply-address.spec.ts rename to apps/parser/test/models/v3/operation-reply-address.spec.ts diff --git a/test/models/v3/operation-reply.spec.ts b/apps/parser/test/models/v3/operation-reply.spec.ts similarity index 100% rename from test/models/v3/operation-reply.spec.ts rename to apps/parser/test/models/v3/operation-reply.spec.ts diff --git a/test/models/v3/operation-trait.spec.ts b/apps/parser/test/models/v3/operation-trait.spec.ts similarity index 100% rename from test/models/v3/operation-trait.spec.ts rename to apps/parser/test/models/v3/operation-trait.spec.ts diff --git a/test/models/v3/operation.spec.ts b/apps/parser/test/models/v3/operation.spec.ts similarity index 100% rename from test/models/v3/operation.spec.ts rename to apps/parser/test/models/v3/operation.spec.ts diff --git a/test/models/v3/schema.spec.ts b/apps/parser/test/models/v3/schema.spec.ts similarity index 100% rename from test/models/v3/schema.spec.ts rename to apps/parser/test/models/v3/schema.spec.ts diff --git a/test/models/v3/server-variable.spec.ts b/apps/parser/test/models/v3/server-variable.spec.ts similarity index 100% rename from test/models/v3/server-variable.spec.ts rename to apps/parser/test/models/v3/server-variable.spec.ts diff --git a/test/models/v3/server.spec.ts b/apps/parser/test/models/v3/server.spec.ts similarity index 100% rename from test/models/v3/server.spec.ts rename to apps/parser/test/models/v3/server.spec.ts diff --git a/test/models/v3/tag.spec.ts b/apps/parser/test/models/v3/tag.spec.ts similarity index 100% rename from test/models/v3/tag.spec.ts rename to apps/parser/test/models/v3/tag.spec.ts diff --git a/test/models/v3/utils.ts b/apps/parser/test/models/v3/utils.ts similarity index 100% rename from test/models/v3/utils.ts rename to apps/parser/test/models/v3/utils.ts diff --git a/test/old-api/asyncapi.spec.ts b/apps/parser/test/old-api/asyncapi.spec.ts similarity index 100% rename from test/old-api/asyncapi.spec.ts rename to apps/parser/test/old-api/asyncapi.spec.ts diff --git a/test/old-api/base.spec.ts b/apps/parser/test/old-api/base.spec.ts similarity index 100% rename from test/old-api/base.spec.ts rename to apps/parser/test/old-api/base.spec.ts diff --git a/test/old-api/channel-parameter.spec.ts b/apps/parser/test/old-api/channel-parameter.spec.ts similarity index 100% rename from test/old-api/channel-parameter.spec.ts rename to apps/parser/test/old-api/channel-parameter.spec.ts diff --git a/test/old-api/channel.spec.ts b/apps/parser/test/old-api/channel.spec.ts similarity index 100% rename from test/old-api/channel.spec.ts rename to apps/parser/test/old-api/channel.spec.ts diff --git a/test/old-api/components.spec.ts b/apps/parser/test/old-api/components.spec.ts similarity index 100% rename from test/old-api/components.spec.ts rename to apps/parser/test/old-api/components.spec.ts diff --git a/test/old-api/contact.spec.ts b/apps/parser/test/old-api/contact.spec.ts similarity index 100% rename from test/old-api/contact.spec.ts rename to apps/parser/test/old-api/contact.spec.ts diff --git a/test/old-api/converter.spec.ts b/apps/parser/test/old-api/converter.spec.ts similarity index 100% rename from test/old-api/converter.spec.ts rename to apps/parser/test/old-api/converter.spec.ts diff --git a/test/old-api/correlation-id.spec.ts b/apps/parser/test/old-api/correlation-id.spec.ts similarity index 100% rename from test/old-api/correlation-id.spec.ts rename to apps/parser/test/old-api/correlation-id.spec.ts diff --git a/test/old-api/external-docs.spec.ts b/apps/parser/test/old-api/external-docs.spec.ts similarity index 100% rename from test/old-api/external-docs.spec.ts rename to apps/parser/test/old-api/external-docs.spec.ts diff --git a/test/old-api/info.spec.ts b/apps/parser/test/old-api/info.spec.ts similarity index 100% rename from test/old-api/info.spec.ts rename to apps/parser/test/old-api/info.spec.ts diff --git a/test/old-api/iterator.spec.ts b/apps/parser/test/old-api/iterator.spec.ts similarity index 100% rename from test/old-api/iterator.spec.ts rename to apps/parser/test/old-api/iterator.spec.ts diff --git a/test/old-api/license.spec.ts b/apps/parser/test/old-api/license.spec.ts similarity index 100% rename from test/old-api/license.spec.ts rename to apps/parser/test/old-api/license.spec.ts diff --git a/test/old-api/message-trait.spec.ts b/apps/parser/test/old-api/message-trait.spec.ts similarity index 100% rename from test/old-api/message-trait.spec.ts rename to apps/parser/test/old-api/message-trait.spec.ts diff --git a/test/old-api/message.spec.ts b/apps/parser/test/old-api/message.spec.ts similarity index 100% rename from test/old-api/message.spec.ts rename to apps/parser/test/old-api/message.spec.ts diff --git a/test/old-api/mixins.spec.ts b/apps/parser/test/old-api/mixins.spec.ts similarity index 100% rename from test/old-api/mixins.spec.ts rename to apps/parser/test/old-api/mixins.spec.ts diff --git a/test/old-api/mixins.ts b/apps/parser/test/old-api/mixins.ts similarity index 100% rename from test/old-api/mixins.ts rename to apps/parser/test/old-api/mixins.ts diff --git a/test/old-api/oauth-flow.spec.ts b/apps/parser/test/old-api/oauth-flow.spec.ts similarity index 100% rename from test/old-api/oauth-flow.spec.ts rename to apps/parser/test/old-api/oauth-flow.spec.ts diff --git a/test/old-api/operation-trait.spec.ts b/apps/parser/test/old-api/operation-trait.spec.ts similarity index 100% rename from test/old-api/operation-trait.spec.ts rename to apps/parser/test/old-api/operation-trait.spec.ts diff --git a/test/old-api/operation.spec.ts b/apps/parser/test/old-api/operation.spec.ts similarity index 100% rename from test/old-api/operation.spec.ts rename to apps/parser/test/old-api/operation.spec.ts diff --git a/test/old-api/schema.spec.ts b/apps/parser/test/old-api/schema.spec.ts similarity index 100% rename from test/old-api/schema.spec.ts rename to apps/parser/test/old-api/schema.spec.ts diff --git a/test/old-api/security-scheme.spec.ts b/apps/parser/test/old-api/security-scheme.spec.ts similarity index 100% rename from test/old-api/security-scheme.spec.ts rename to apps/parser/test/old-api/security-scheme.spec.ts diff --git a/test/old-api/server-variable.spec.ts b/apps/parser/test/old-api/server-variable.spec.ts similarity index 100% rename from test/old-api/server-variable.spec.ts rename to apps/parser/test/old-api/server-variable.spec.ts diff --git a/test/old-api/server.spec.ts b/apps/parser/test/old-api/server.spec.ts similarity index 100% rename from test/old-api/server.spec.ts rename to apps/parser/test/old-api/server.spec.ts diff --git a/test/old-api/tag.spec.ts b/apps/parser/test/old-api/tag.spec.ts similarity index 100% rename from test/old-api/tag.spec.ts rename to apps/parser/test/old-api/tag.spec.ts diff --git a/test/parse.spec.ts b/apps/parser/test/parse.spec.ts similarity index 100% rename from test/parse.spec.ts rename to apps/parser/test/parse.spec.ts diff --git a/test/parser.spec.ts b/apps/parser/test/parser.spec.ts similarity index 100% rename from test/parser.spec.ts rename to apps/parser/test/parser.spec.ts diff --git a/test/resolver.spec.ts b/apps/parser/test/resolver.spec.ts similarity index 100% rename from test/resolver.spec.ts rename to apps/parser/test/resolver.spec.ts diff --git a/test/ruleset/formats.spec.ts b/apps/parser/test/ruleset/formats.spec.ts similarity index 100% rename from test/ruleset/formats.spec.ts rename to apps/parser/test/ruleset/formats.spec.ts diff --git a/test/ruleset/rules/asyncapi-defaultContentType.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-defaultContentType.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts diff --git a/test/ruleset/rules/asyncapi-document-resolved.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-document-resolved.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts diff --git a/test/ruleset/rules/asyncapi-document-unresolved.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-document-unresolved.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts diff --git a/test/ruleset/rules/asyncapi-id.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-id.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-id.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-id.spec.ts diff --git a/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-info-contact-properties.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts diff --git a/test/ruleset/rules/asyncapi-info-contact.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-info-contact.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts diff --git a/test/ruleset/rules/asyncapi-info-description.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-info-description.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-info-description.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-info-description.spec.ts diff --git a/test/ruleset/rules/asyncapi-info-license-url.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-info-license-url.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts diff --git a/test/ruleset/rules/asyncapi-info-license.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-info-license.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-info-license.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-info-license.spec.ts diff --git a/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-is-asyncapi.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts diff --git a/test/ruleset/rules/asyncapi-latest-version.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-latest-version.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts diff --git a/test/ruleset/rules/asyncapi-servers.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-servers.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-servers.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-servers.spec.ts diff --git a/test/ruleset/rules/asyncapi-unused-component.spec.ts b/apps/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts similarity index 100% rename from test/ruleset/rules/asyncapi-unused-component.spec.ts rename to apps/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts diff --git a/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-schemas.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-server-security.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-tags.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-tags.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts diff --git a/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts b/apps/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts similarity index 100% rename from test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts rename to apps/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts diff --git a/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts b/apps/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts similarity index 100% rename from test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts rename to apps/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts diff --git a/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts b/apps/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts similarity index 100% rename from test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts rename to apps/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts diff --git a/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts b/apps/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts similarity index 100% rename from test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts rename to apps/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts diff --git a/test/ruleset/tester.ts b/apps/parser/test/ruleset/tester.ts similarity index 100% rename from test/ruleset/tester.ts rename to apps/parser/test/ruleset/tester.ts diff --git a/test/sample_browser/main/asyncapi.yaml b/apps/parser/test/sample_browser/main/asyncapi.yaml similarity index 100% rename from test/sample_browser/main/asyncapi.yaml rename to apps/parser/test/sample_browser/main/asyncapi.yaml diff --git a/test/sample_browser/refs/refed.yaml b/apps/parser/test/sample_browser/refs/refed.yaml similarity index 100% rename from test/sample_browser/refs/refed.yaml rename to apps/parser/test/sample_browser/refs/refed.yaml diff --git a/test/schema-parser/asyncapi-schema-parser.spec.ts b/apps/parser/test/schema-parser/asyncapi-schema-parser.spec.ts similarity index 100% rename from test/schema-parser/asyncapi-schema-parser.spec.ts rename to apps/parser/test/schema-parser/asyncapi-schema-parser.spec.ts diff --git a/test/schema-parser/spectral-rule-v2.spec.ts b/apps/parser/test/schema-parser/spectral-rule-v2.spec.ts similarity index 100% rename from test/schema-parser/spectral-rule-v2.spec.ts rename to apps/parser/test/schema-parser/spectral-rule-v2.spec.ts diff --git a/test/spectral.spec.ts b/apps/parser/test/spectral.spec.ts similarity index 100% rename from test/spectral.spec.ts rename to apps/parser/test/spectral.spec.ts diff --git a/test/stringify.spec.ts b/apps/parser/test/stringify.spec.ts similarity index 100% rename from test/stringify.spec.ts rename to apps/parser/test/stringify.spec.ts diff --git a/test/utils.spec.ts b/apps/parser/test/utils.spec.ts similarity index 100% rename from test/utils.spec.ts rename to apps/parser/test/utils.spec.ts diff --git a/test/utils.ts b/apps/parser/test/utils.ts similarity index 100% rename from test/utils.ts rename to apps/parser/test/utils.ts diff --git a/test/validate.spec.ts b/apps/parser/test/validate.spec.ts similarity index 100% rename from test/validate.spec.ts rename to apps/parser/test/validate.spec.ts diff --git a/tsconfig.cjs.json b/apps/parser/tsconfig.cjs.json similarity index 100% rename from tsconfig.cjs.json rename to apps/parser/tsconfig.cjs.json diff --git a/tsconfig.json b/apps/parser/tsconfig.json similarity index 100% rename from tsconfig.json rename to apps/parser/tsconfig.json diff --git a/webpack.config.js b/apps/parser/webpack.config.js similarity index 100% rename from webpack.config.js rename to apps/parser/webpack.config.js From 853be5c2dea9e1cd1d2bb5220a826ed49e7e0ec9 Mon Sep 17 00:00:00 2001 From: Turbobot Date: Sat, 20 Apr 2024 15:11:58 +0530 Subject: [PATCH 017/107] feat(create-turbo): create basic --- .eslintrc.js | 10 + .gitignore | 38 + .npmrc | 0 README.md | 81 + apps/docs/.eslintrc.js | 9 + apps/docs/README.md | 28 + apps/docs/app/favicon.ico | Bin 0 -> 8267 bytes apps/docs/app/globals.css | 50 + apps/docs/app/layout.tsx | 22 + apps/docs/app/page.module.css | 335 ++ apps/docs/app/page.tsx | 144 + apps/docs/next-env.d.ts | 5 + apps/docs/next.config.js | 4 + apps/docs/package.json | 28 + apps/docs/public/circles.svg | 17 + apps/docs/public/next.svg | 1 + apps/docs/public/turborepo.svg | 32 + apps/docs/public/vercel.svg | 1 + apps/docs/tsconfig.json | 18 + apps/web/.eslintrc.js | 9 + apps/web/README.md | 28 + apps/web/app/favicon.ico | Bin 0 -> 8267 bytes apps/web/app/globals.css | 50 + apps/web/app/layout.tsx | 22 + apps/web/app/page.module.css | 335 ++ apps/web/app/page.tsx | 144 + apps/web/next-env.d.ts | 5 + apps/web/next.config.js | 4 + apps/web/package.json | 28 + apps/web/public/circles.svg | 17 + apps/web/public/next.svg | 1 + apps/web/public/turborepo.svg | 32 + apps/web/public/vercel.svg | 1 + apps/web/tsconfig.json | 18 + meta.json | 7 + package.json | 20 + packages/eslint-config/README.md | 3 + packages/eslint-config/library.js | 34 + packages/eslint-config/next.js | 35 + packages/eslint-config/package.json | 19 + packages/eslint-config/react-internal.js | 43 + packages/typescript-config/base.json | 20 + packages/typescript-config/nextjs.json | 13 + packages/typescript-config/package.json | 9 + packages/typescript-config/react-library.json | 8 + packages/ui/.eslintrc.js | 10 + packages/ui/package.json | 26 + packages/ui/src/button.tsx | 20 + packages/ui/src/card.tsx | 25 + packages/ui/src/code.tsx | 9 + packages/ui/tsconfig.json | 8 + packages/ui/tsconfig.lint.json | 8 + packages/ui/turbo/generators/config.ts | 30 + .../turbo/generators/templates/component.hbs | 8 + pnpm-lock.yaml | 4971 +++++++++++++++++ pnpm-workspace.yaml | 3 + tsconfig.json | 3 + turbo.json | 17 + 58 files changed, 6866 insertions(+) create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 README.md create mode 100644 apps/docs/.eslintrc.js create mode 100644 apps/docs/README.md create mode 100644 apps/docs/app/favicon.ico create mode 100644 apps/docs/app/globals.css create mode 100644 apps/docs/app/layout.tsx create mode 100644 apps/docs/app/page.module.css create mode 100644 apps/docs/app/page.tsx create mode 100644 apps/docs/next-env.d.ts create mode 100644 apps/docs/next.config.js create mode 100644 apps/docs/package.json create mode 100644 apps/docs/public/circles.svg create mode 100644 apps/docs/public/next.svg create mode 100644 apps/docs/public/turborepo.svg create mode 100644 apps/docs/public/vercel.svg create mode 100644 apps/docs/tsconfig.json create mode 100644 apps/web/.eslintrc.js create mode 100644 apps/web/README.md create mode 100644 apps/web/app/favicon.ico create mode 100644 apps/web/app/globals.css create mode 100644 apps/web/app/layout.tsx create mode 100644 apps/web/app/page.module.css create mode 100644 apps/web/app/page.tsx create mode 100644 apps/web/next-env.d.ts create mode 100644 apps/web/next.config.js create mode 100644 apps/web/package.json create mode 100644 apps/web/public/circles.svg create mode 100644 apps/web/public/next.svg create mode 100644 apps/web/public/turborepo.svg create mode 100644 apps/web/public/vercel.svg create mode 100644 apps/web/tsconfig.json create mode 100644 meta.json create mode 100644 package.json create mode 100644 packages/eslint-config/README.md create mode 100644 packages/eslint-config/library.js create mode 100644 packages/eslint-config/next.js create mode 100644 packages/eslint-config/package.json create mode 100644 packages/eslint-config/react-internal.js create mode 100644 packages/typescript-config/base.json create mode 100644 packages/typescript-config/nextjs.json create mode 100644 packages/typescript-config/package.json create mode 100644 packages/typescript-config/react-library.json create mode 100644 packages/ui/.eslintrc.js create mode 100644 packages/ui/package.json create mode 100644 packages/ui/src/button.tsx create mode 100644 packages/ui/src/card.tsx create mode 100644 packages/ui/src/code.tsx create mode 100644 packages/ui/tsconfig.json create mode 100644 packages/ui/tsconfig.lint.json create mode 100644 packages/ui/turbo/generators/config.ts create mode 100644 packages/ui/turbo/generators/templates/component.hbs create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 tsconfig.json create mode 100644 turbo.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000..e928b8686 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,10 @@ +// This configuration only applies to the package manager root. +/** @type {import("eslint").Linter.Config} */ +module.exports = { + ignorePatterns: ["apps/**", "packages/**"], + extends: ["@repo/eslint-config/library.js"], + parser: "@typescript-eslint/parser", + parserOptions: { + project: true, + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..96fab4fed --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# Dependencies +node_modules +.pnp +.pnp.js + +# Local env files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Testing +coverage + +# Turbo +.turbo + +# Vercel +.vercel + +# Build Outputs +.next/ +out/ +build +dist + + +# Debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Misc +.DS_Store +*.pem diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..e69de29bb diff --git a/README.md b/README.md new file mode 100644 index 000000000..7a4658aa8 --- /dev/null +++ b/README.md @@ -0,0 +1,81 @@ +# Turborepo starter + +This is an official starter Turborepo. + +## Using this example + +Run the following command: + +```sh +npx create-turbo@latest +``` + +## What's inside? + +This Turborepo includes the following packages/apps: + +### Apps and Packages + +- `docs`: a [Next.js](https://nextjs.org/) app +- `web`: another [Next.js](https://nextjs.org/) app +- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications +- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`) +- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo + +Each package/app is 100% [TypeScript](https://www.typescriptlang.org/). + +### Utilities + +This Turborepo has some additional tools already setup for you: + +- [TypeScript](https://www.typescriptlang.org/) for static type checking +- [ESLint](https://eslint.org/) for code linting +- [Prettier](https://prettier.io) for code formatting + +### Build + +To build all apps and packages, run the following command: + +``` +cd my-turborepo +pnpm build +``` + +### Develop + +To develop all apps and packages, run the following command: + +``` +cd my-turborepo +pnpm dev +``` + +### Remote Caching + +Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines. + +By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands: + +``` +cd my-turborepo +npx turbo login +``` + +This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview). + +Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo: + +``` +npx turbo link +``` + +## Useful Links + +Learn more about the power of Turborepo: + +- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks) +- [Caching](https://turbo.build/repo/docs/core-concepts/caching) +- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) +- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering) +- [Configuration Options](https://turbo.build/repo/docs/reference/configuration) +- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference) diff --git a/apps/docs/.eslintrc.js b/apps/docs/.eslintrc.js new file mode 100644 index 000000000..7d644a4ca --- /dev/null +++ b/apps/docs/.eslintrc.js @@ -0,0 +1,9 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + extends: ["@repo/eslint-config/next.js"], + parser: "@typescript-eslint/parser", + parserOptions: { + project: true, + }, +}; diff --git a/apps/docs/README.md b/apps/docs/README.md new file mode 100644 index 000000000..d36453574 --- /dev/null +++ b/apps/docs/README.md @@ -0,0 +1,28 @@ +## Getting Started + +First, run the development server: + +```bash +yarn dev +``` + +Open [http://localhost:3001](http://localhost:3001) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +To create [API routes](https://nextjs.org/docs/app/building-your-application/routing/router-handlers) add an `api/` directory to the `app/` directory with a `route.ts` file. For individual endpoints, create a subfolder in the `api` directory, like `api/hello/route.ts` would map to [http://localhost:3001/api/hello](http://localhost:3001/api/hello). + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn/foundations/about-nextjs) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/docs/app/favicon.ico b/apps/docs/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3f804c026c253d52f61b6f70ec351d1044e6bd8a GIT binary patch literal 8267 zcma)hcQjmI)b^b*7~SY4LI%-BkKUOPCHjn#MD!ZHcS9r@Eus^hh~7oiC_w~4)Tlua zqW2m;zkj~9zCXV8zU!`Y_PYB#&wkFi>#no*IXhBU`ym-I6EOe)Wa?^2{af4dUxO0d z_WE;9gtrD_r=+C>05x$WR~GoU?`&3T`dR=Ga327$5dd&;>%y)BfVU6;{51yv=`;YK zcgt+nlf4}vu+)5r1aAI&a@&d$Z#_hAY9^ilK#usYfzC5_C~uvFUg}yX!Zl)AN`QD? ztH=}p?$)X!mC$}O+gbi;G!sp)f9)O(0<}1%-(vmC#01n;dhERn?&>4Rf@PMDZZSO? zH~K1D??;yT?$O*Ymc@9Bp#|JO8t>bqkp;!wX-HH&r|KNNqVdF!lvyKcZDsQagKV$1EaO>G5b~z{lm=@dy$&R=zMh z$~8;>m{`9UYHRNqtrEIcfH!g!G7_&7)}AYiwGg*jjjhkXeDedLsazlaYV&bda z!kW-UlG`Oz>JSA)xE3IC^@=>QT+)3)yJP7U@qbWLP8^{qW1_A44v1p|#K|5f`uysi z*44qcK=Yv>KpS@8T=vjmJkP=CKKbp^qLMcWLRWFX;y}k!rel4V@f`=FUe0F#?JFfd z41^%9qiC>5&sVcWM1XmqK+v1=*=SsHnofW|qwlM8(FeHj2#ptgSPgRDCdmx+H-n z!gy#1U%256Ke}>>Whht4X$BLi{PH-Pi&&0pBebGnI?vMD*l@)SMeyFV$Ok$$9rK%! z=lN)*h95?5LZ@0#0c->5TC6Wi{2dY?lt20}u?=Wunp&rfFra*c7f|#xZIvCd0#6h}_^^5&RT5KWKWh@1Zd>KLQiPlEtP!{wfoLI^)@EiqLGwx*tT>x8(9a z1B7$K;*Ax|DXZCq7=EU7eE!T;t-f>mINXhs6~s!7^nU_E5IiHe#%~29sN7qF?8mjR zd||&6wwNM*#3ZK^rI=6(0))kmWYvV#3e~JaN#?mNmSjS#evmXgS)OHX-5m}&=$B*e zCtTyEIr&>pc=Whi0SzQ35X6oRFgHt>_qd8->zhEBH{)8LOiqMPFY+#?Asqz~cs^F; ztyyaR_+`tHF{Mn4&mnlL+@rtj2>Yl8Nyo4<$bQ_JxXHtUIYsj{CJBmtal#^JktKXe z5N4Y^6UZcSO7saP-V+dlH9khlBQ}U*FKiZfB4*A-d%smB{LKvV1JNjA0>NBVq*oQA zl{&C;AcW#60^alRT}E++feLl!sDO5DM@UTK*Tmg?KoBci>`1^s@&L#vG|dq)Mpcg; zZsw<|PC4-NKaF+s81xQev7zrBh`@qrduJK}RHmn$dxVQ#Fq5a_Cb0pqz26L*g$%DeqhvF^ zUi*Q7(q~PU2X}-OaX35?F{`Z7t8Z$x7W%3*FywdzqJ4%GVctj_~ z2w|fsrpjQ#C4QKRD;1#cHm=$>={Z;T?In=GEB^bT<9o+Fhbd0f8s0IymivG)@rWRT zwHuu?!EI*Qig;9tC*H@Xi21~E=2w4@A_O{E@MrbeRe|0Yo{k*LQXOB8Nt?+4CpS@S zDLKJi$VHK9DzPQL+k2cW&Bl7<%xk7K@cs%+_r#)AHXiv!qWCt{DRB1-#r2yb@Q&Vu zUi=$*Q+Wb%yoKmO@vcJkm!@;(klfNhDr0?@Y#&qJB1LFqLATN~P$s z;i*4!jO*iF#9K_P=c9@b#uli=Nu$<4r?(oEQ!vf!WdU|cY43|I5_VXJ=Nc#X7M9LP^t%sfHUufWA@EL5HOH_}JWceG^FVMy z4LqW8S9LMs$L!E{4}=iMw(4r5DpH$7u2k<26?BHybziE%hsFGpCX|i7%>uSDd)}(H z_$#1nQ}Ho}LCR|83$OyOho4x2Zz(c8QNWF$QF{~3VqJp&4ndgSb zfm^7Mf%e)Z-@g_+S|lE@EzeqiUA?>2d=DcCgs1lM8*ramnb+fDsN<2o9?175$PltE zt?DDqchcs{>w1i~l!)}F!nm>thwkQ5Iz<6PyR%rgVG;AHe0DxbRb)2k1e~pzcSeo* zxL12GxoWx)`9PKWjyQ-U^v+^rpj}NZ%bNnsx*x&z)Hw<~^5D-H zFZ9QVzMgAYQa}DqOJAdjuC+D0Z?D6fW8gKk)DtEmaiz3C=c3MNkGoSLB2Zcdxo~ft zUSirRA0|zL`^&yODqH-@e!&q|YzvBcR9*fJzU;%#ObtJf$ln@kVSkW-?6tkIM7!Sy zTlg9!S80G&JUq4&b=_S-3K}inQ6iBm3xo}N{H@uk@%1yG0bb6 zEX4y(^jydiE!>!(38th_ITmY*ZheeTxv=DN=1sLmCVZe7F5B&17n)WV^K1m&8jH~dKv!1Xyqo3>nRhqB+y=Z# z^I4G05_K$A5Je43Bl9ItQwB5#_E$ejm57f|`*24+6ZViHctvZOy?p9L{Ju37z}8s*RY+kGst5xt)_qAj)c{ ztAz^*zFdoi=D+t}I*So^e7kmqCNsq6jm}aBn8jEt)V%A2Zbkz_k0YSn-$`|2HFG&g z7nh-@Sxi#wO{Z1@AAEm;RBc}BF(Z8K+m9SfuW4%T{9Vc)o#4iDJYri=Z;2P)^BJ6~ zBGYW){ize)xr2mgE1MY>0LnQJY-%--b6=ZvayYJ1NaQm`c=;X^HsZmM!|qS9jx>sX ztrrKz$v${i@JLq>zJjiXrjN}m=-CITqba(P$t>K6dN)wk_w~QUu8_ox$>r|-fUR2@0Gw=r8*Q57O8pb3JTC+KrtN!V< zSUGOi<^)?@Csm7`5z~`VSP(AGL;BSrn0bbu@HI<$B2gCl?;C*0Gb;YRYSM{4bIX8Eck6yYCRKp;gOU1b`Fd)EmS6N>mRXrXVsJyEg zyM8j=@H8ax903rNIV!-^EgK?fF%|eHTDiq; zhp^|LBrGQvJh@dMxJ2LjgH*-*Eb;`Z6qWgfh4XG9nOzPD@MHOzAs%7;V5OnO3mJ@X zsZ70q|7>iueu_%Ic9%hlAn=`rl-9T$D)N20I!!Rzjrn=4Xu=yACiV%=|h%K$<_;!9qEige-fVkcBBDrq zo5r_3pYI0l!xg>Hqs9VdgiU^xXd8^ZYgdLGj=5A8r^fF2XU!p6sKNp_w@_c<=|7-dm*(T90b^9~S| z20-@aBch&Yt4;RHG1Ki>qZM3<7fvmaiZ6*e`bm1S_0=H8kqKmb0=J|v5{&mQWPmSy zE_(Nvh)#-coS^t+@Zt8^ZE{{cB(5|EHQ$Jt;^|Z^5`|fh-=$ePnpG3fvL|!PD3y*x zQPVdi)rdy^I;i7^!H1_UvYZ1`;ox$2y49{oz$1j1v!s?9=G106yGu_R#t+{GpSJwP zL5~RU8cuvBN?~Nge5WMs{%s31#SX(wkr(Wz?}F5)VPzvSw+#wi z56a0PcrixmL05?Z%cKIa8G-HUK_Z5HqNge%+9E8|H#=uNs#T2oB%s<+tTkb{~-{(F~5C0n3s>K%m;2Tg7hF^N| zw)AdAsf|so-o#^!92#Rs{PuA8k_uC-^Fu^%&y4%EHnTv&{obNaV zFZHG?cvMDlPqr(X%9_Pk)6e%H{2M=}Ql)Zg@_E4IzP`wKOh zqj9_`D6LZ;qI6POX6*=#R#Q4myb#T19EYEv`1H%tj+K{_#HrJ4WJno>svX{6zJDp~ z{44TOu-;K%Y@6bZNLi-#p7n8K0X_q@_!%fEg)i38x!UK``IQ_oQ#0e%#V*9s^^Mh@ z%2Tj$?GxuIY+ReV%pI>3c=QUVnTP85v?tiplYsx`P3?}Wz2Ey@2GQ@uCoVF%SvbWl z*UqdBPkBpPETZYqJ3_{?@#v33NgJ;|3-VgkoIgE@I@oCO5iHW$XK(EZzk-%3$}s2`Xu3Se#7>{UY|FyZXhf0&dKlUFQBUWm{r3Z&`~bzTplvlsoZQi@>8^I^{x^S-iHTC^^^dbESmHI;`+*MtV^Sp*dsU@VDxr}wE!hycaQIN3mL*MuUlFm$3_kHK#DB(>-hQRL(K8sDO}`=lHOnLm+L4xJKQua&fjKrqLa4^IEZ&SqZkU3+o{L_cU#v#i`;B%~on35{~c2{UkJ&XmO&L z_MdTGS>l{9uvT~ZWY6YCpgX!46>k(qg55^0jOY{I&>l;KPDBOw7LzB>9ei-BF0D;b zAu;Yrckq2$Dhgo9FI-&Zx8>>kSanP5ZHDDmLiPDH*q=9NaSaqzAj%d>%{biJ?hrX8 zDo^oq;m9SlkZZ}Fd9N(U#4?;lZ)A}nE~vjV3N>WHgAmrT{<~9Vq2_)b+iB{zm+Q^n zaUkpG*Ti1+8$5Q?1~`is03TQdiB)uYOUhu+nOwpts*P_KKkEOZ|squgjI;hjc5%@?|a6 zbJON+&BZR7l#7l+Lfog9K)7*s+c(xYb)q}I@}Lwd>t~_(ep08GUEGzCdJYVex^*_Y z{9J6K=BVbERrB*W#rVU@rls6p&0D)3#S9?DjMU{b!q6uvVb^J#TA$RE<2gKp{{@1A zq4{4cC}Bl#ME7pH=dl}yXC!T%<~99z8WKAvyWi`|nuC@p(A5J2BcS77@jY6hh~+a6 zg3u?~N`vXOXFhi4MZB>aggSF#d;`|aLwx*dN}H8E9Uu*>AV5;sI!wP6^eZ3Fu4kOcMn zF*$=5;`zJJcXTIps8|}rA$B&E@@Z%7G3|LBu|(DT^93zUp$c5|!&hQQ&L2)F%kDU! zUX`iEdB6DaHUWCw@WF)QO3PrCJfv6z#36UfZMpvLTm#p6%ud0Uei`^VU@V*?Rh?MG zcQ>jYOEfWt9hi3`KR7FLg%UJ3MggfSB%Lg(Y-*_S*F--HkSMfe||GReVjAz zJg7SFTr~y}WqZEviXteD2N@O`wRp@jC1Kt|%Y`MJYxkpsxpbtO@*AW{;`xAMR}g>I;-S zevuN6a0p%v|+ z7wRU1fwxl`@|GKKRdnTE({!<<3CJf+T)YfZ_1*`(1tpQ(fFD>9`|77|^wYO8+d zJKA9z`Vu~bR{Q_TgTzx%d0PwG-p45yWg8|7Q_HfA%32S$Sv7YrzUIvV&A<97Cx$7d7%j=f)}5>dy^T`8%P)e+|W0FRulA{kcsKXYW3dn)ufAZfVfyKEqPB&^_-<@Pz-FV6dc#X+KB zuRi0IciB5H@S}0g_x*%lJe|~rI@mf~|`1ZJ)W9)H6h$|8O=;ry4-V%0dw%8h2R6a%S` zC>JseFEK#uAanaK!M;ztdPjd- zief6z_rk@vN6Ozl$w=i4m(aaipVm@)(3v^^!r4OSZYv6mm+dOj0G$gK<+z<6ip$4#cq5E6cGm!&n>ckCu%gV&aC1e@FL5YDd^^V`?7 zur>2_32@(NQG#pADO_0E@m64+q39!2`FVzLGh2b!;l<5A$M$T&+lm)eJZdZzk76|h z7^&C{d@C#y#)2JXwPvf9>ar~kAzv9&o*HNR7WGk(!D>PE$h0io7v)`&w#BSw`-91f z{y1>sRg~|8)Bi;w`2RwL_iyeg`kt*Gm-OEjv^l*{#$MJIUN+KJ9yYfI5D^j);TIO- z7ZFAai%Sa$Nec_{-S$F4gY9KT{|~|0)!M<<|Nl>DTc+N;B{2S{VBl)&S&z+)#7up*&mr`AlQ!J}qFVjq05#$&HTvkm+l@9Q4yzSB)OfK|)Y a5CHzt!@LfZ#gcC&0Cki$vQpVR{Qm$*Br?$e literal 0 HcmV?d00001 diff --git a/apps/docs/app/globals.css b/apps/docs/app/globals.css new file mode 100644 index 000000000..8eee6cbd4 --- /dev/null +++ b/apps/docs/app/globals.css @@ -0,0 +1,50 @@ +:root { + --max-width: 1100px; + --border-radius: 12px; + --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", + "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", + "Fira Mono", "Droid Sans Mono", "Courier New", monospace; + + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + + --callout-rgb: 20, 20, 20; + --callout-border-rgb: 108, 108, 108; + --card-rgb: 100, 100, 100; + --card-border-rgb: 200, 200, 200; + + --glow-conic: conic-gradient( + from 180deg at 50% 50%, + #2a8af6 0deg, + #a853ba 180deg, + #e92a67 360deg + ); +} + +* { + box-sizing: border-box; + padding: 0; + margin: 0; +} + +html, +body { + max-width: 100vw; + overflow-x: hidden; +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +a { + color: inherit; + text-decoration: none; +} diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx new file mode 100644 index 000000000..5f90d111f --- /dev/null +++ b/apps/docs/app/layout.tsx @@ -0,0 +1,22 @@ +import "./globals.css"; +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata: Metadata = { + title: "Create Turborepo", + description: "Generated by create turbo", +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}): JSX.Element { + return ( + + {children} + + ); +} diff --git a/apps/docs/app/page.module.css b/apps/docs/app/page.module.css new file mode 100644 index 000000000..98481c6a2 --- /dev/null +++ b/apps/docs/app/page.module.css @@ -0,0 +1,335 @@ +.main { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + padding: 6rem; + min-height: 100vh; +} + +.vercelLogo { + filter: invert(1); +} + +.description { + display: inherit; + justify-content: inherit; + align-items: inherit; + font-size: 0.85rem; + max-width: var(--max-width); + width: 100%; + z-index: 2; + font-family: var(--font-mono); +} + +.description a { + display: flex; + justify-content: center; + align-items: center; + gap: 0.5rem; +} + +.description p { + position: relative; + margin: 0; + padding: 1rem; + background-color: rgba(var(--callout-rgb), 0.5); + border: 1px solid rgba(var(--callout-border-rgb), 0.3); + border-radius: var(--border-radius); +} + +.code { + font-weight: 700; + font-family: var(--font-mono); +} + +.hero { + display: flex; + position: relative; + place-items: center; +} + +.heroContent { + display: flex; + position: relative; + z-index: 0; + padding-bottom: 4rem; + flex-direction: column; + gap: 2rem; + justify-content: space-between; + align-items: center; + width: auto; + font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, + "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol", "Noto Color Emoji"; + padding-top: 48px; + + @media (min-width: 768px) { + padding-top: 4rem; + padding-bottom: 6rem; + } + @media (min-width: 1024px) { + padding-top: 5rem; + padding-bottom: 8rem; + } +} + +.logos { + display: flex; + z-index: 50; + justify-content: center; + align-items: center; + width: 100%; +} + +.grid { + display: grid; + grid-template-columns: repeat(4, minmax(25%, auto)); + max-width: 100%; + width: var(--max-width); +} + +.card { + padding: 1rem 1.2rem; + border-radius: var(--border-radius); + background: rgba(var(--card-rgb), 0); + border: 1px solid rgba(var(--card-border-rgb), 0); + transition: background 200ms, border 200ms; +} + +.card span { + display: inline-block; + transition: transform 200ms; +} + +.card h2 { + font-weight: 600; + margin-bottom: 0.7rem; +} + +.card p { + margin: 0; + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + max-width: 30ch; +} + +@media (prefers-reduced-motion) { + .card:hover span { + transform: none; + } +} + +/* Mobile */ +@media (max-width: 700px) { + .content { + padding: 4rem; + } + + .grid { + grid-template-columns: 1fr; + margin-bottom: 120px; + max-width: 320px; + text-align: center; + } + + .card { + padding: 1rem 2.5rem; + } + + .card h2 { + margin-bottom: 0.5rem; + } + + .center { + padding: 8rem 0 6rem; + } + + .center::before { + transform: none; + height: 300px; + } + + .description { + font-size: 0.8rem; + } + + .description a { + padding: 1rem; + } + + .description p, + .description div { + display: flex; + justify-content: center; + position: fixed; + width: 100%; + } + + .description p { + align-items: center; + inset: 0 0 auto; + padding: 2rem 1rem 1.4rem; + border-radius: 0; + border: none; + border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); + background: linear-gradient( + to bottom, + rgba(var(--background-start-rgb), 1), + rgba(var(--callout-rgb), 0.5) + ); + background-clip: padding-box; + backdrop-filter: blur(24px); + } + + .description div { + align-items: flex-end; + pointer-events: none; + inset: auto 0 0; + padding: 2rem; + height: 200px; + background: linear-gradient( + to bottom, + transparent 0%, + rgb(var(--background-end-rgb)) 40% + ); + z-index: 1; + } +} + +/* Enable hover only on non-touch devices */ +@media (hover: hover) and (pointer: fine) { + .card:hover { + background: rgba(var(--card-rgb), 0.1); + border: 1px solid rgba(var(--card-border-rgb), 0.15); + } + + .card:hover span { + transform: translateX(4px); + } +} + +.circles { + position: absolute; + min-width: 614px; + min-height: 614px; + pointer-events: none; +} + +.logo { + z-index: 50; + width: 120px; + height: 120px; +} + +.logoGradientContainer { + display: flex; + position: absolute; + z-index: 50; + justify-content: center; + align-items: center; + width: 16rem; + height: 16rem; +} + +.turborepoWordmarkContainer { + display: flex; + z-index: 50; + padding-left: 1.5rem; + padding-right: 1.5rem; + flex-direction: column; + gap: 1.25rem; + justify-content: center; + align-items: center; + text-align: center; + + @media (min-width: 1024px) { + gap: 1.5rem; + } +} + +.turborepoWordmark { + width: 160px; + fill: white; + + @media (min-width: 768px) { + width: 200px; + } +} + +.code { + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", + monospace; + font-weight: 700; +} + +/* Tablet and Smaller Desktop */ +@media (min-width: 701px) and (max-width: 1120px) { + .grid { + grid-template-columns: repeat(2, 50%); + } +} + +/* Gradients */ +.gradient { + position: absolute; + mix-blend-mode: normal; + will-change: filter; + pointer-events: none; +} + +.gradientSmall { + filter: blur(32px); +} + +.gradientLarge { + filter: blur(75px); +} + +.glowConic { + background-image: var(--glow-conic); +} + +.logoGradient { + opacity: 0.9; + width: 120px; + height: 120px; +} + +.backgroundGradient { + top: -500px; + width: 1000px; + height: 1000px; + opacity: 0.15; +} + +.button { + background-color: #ffffff; + border-radius: 8px; + border-style: none; + box-sizing: border-box; + color: #000000; + cursor: pointer; + display: inline-block; + font-size: 16px; + height: 40px; + line-height: 20px; + list-style: none; + margin: 0; + outline: none; + padding: 10px 16px; + position: relative; + text-align: center; + text-decoration: none; + transition: color 100ms; + vertical-align: baseline; + user-select: none; + -webkit-user-select: none; + touch-action: manipulation; +} + +.button:hover, +.button:focus { + background-color: #e5e4e2; +} diff --git a/apps/docs/app/page.tsx b/apps/docs/app/page.tsx new file mode 100644 index 000000000..5ca202054 --- /dev/null +++ b/apps/docs/app/page.tsx @@ -0,0 +1,144 @@ +import Image from "next/image"; +import { Card } from "@repo/ui/card"; +import { Code } from "@repo/ui/code"; +import styles from "./page.module.css"; +import { Button } from "@repo/ui/button"; + +function Gradient({ + conic, + className, + small, +}: { + small?: boolean; + conic?: boolean; + className?: string; +}): JSX.Element { + return ( + + ); +} + +const LINKS = [ + { + title: "Docs", + href: "https://turbo.build/repo/docs", + description: "Find in-depth information about Turborepo features and API.", + }, + { + title: "Learn", + href: "https://turbo.build/repo/docs/handbook", + description: "Learn more about monorepos with our handbook.", + }, + { + title: "Templates", + href: "https://turbo.build/repo/docs/getting-started/from-example", + description: "Choose from over 15 examples and deploy with a single click.", + }, + { + title: "Deploy", + href: "https://vercel.com/new", + description: + "Instantly deploy your Turborepo to a shareable URL with Vercel.", + }, +]; + +export default function Page(): JSX.Element { + return ( +
+
+

+ examples/basic  + docs +

+ +
+ + + +
+
+
+
+ Turborepo +
+
+ +
+ +
+ +
+
+ +
+ + Turborepo logo + + + + + + + + + + +
+
+
+ +
+ {LINKS.map(({ title, href, description }) => ( + + {description} + + ))} +
+
+ ); +} diff --git a/apps/docs/next-env.d.ts b/apps/docs/next-env.d.ts new file mode 100644 index 000000000..4f11a03dc --- /dev/null +++ b/apps/docs/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/docs/next.config.js b/apps/docs/next.config.js new file mode 100644 index 000000000..a5b0aec2b --- /dev/null +++ b/apps/docs/next.config.js @@ -0,0 +1,4 @@ +/** @type {import('next').NextConfig} */ +module.exports = { + transpilePackages: ["@repo/ui"], +}; diff --git a/apps/docs/package.json b/apps/docs/package.json new file mode 100644 index 000000000..26c951a0f --- /dev/null +++ b/apps/docs/package.json @@ -0,0 +1,28 @@ +{ + "name": "docs", + "version": "1.0.0", + "private": true, + "scripts": { + "dev": "next dev --port 3001", + "build": "next build", + "start": "next start", + "lint": "eslint . --max-warnings 0" + }, + "dependencies": { + "@repo/ui": "workspace:*", + "next": "^14.1.1", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@next/eslint-plugin-next": "^14.1.1", + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.24", + "@types/react": "^18.2.61", + "@types/react-dom": "^18.2.19", + "eslint": "^8.57.0", + "typescript": "^5.3.3" + } +} diff --git a/apps/docs/public/circles.svg b/apps/docs/public/circles.svg new file mode 100644 index 000000000..6533be5ba --- /dev/null +++ b/apps/docs/public/circles.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/docs/public/next.svg b/apps/docs/public/next.svg new file mode 100644 index 000000000..5174b28c5 --- /dev/null +++ b/apps/docs/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docs/public/turborepo.svg b/apps/docs/public/turborepo.svg new file mode 100644 index 000000000..2f9aa1f37 --- /dev/null +++ b/apps/docs/public/turborepo.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/docs/public/vercel.svg b/apps/docs/public/vercel.svg new file mode 100644 index 000000000..d2f842227 --- /dev/null +++ b/apps/docs/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json new file mode 100644 index 000000000..24e754815 --- /dev/null +++ b/apps/docs/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "@repo/typescript-config/nextjs.json", + "compilerOptions": { + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "next-env.d.ts", + "next.config.js", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts" + ], + "exclude": ["node_modules"] +} diff --git a/apps/web/.eslintrc.js b/apps/web/.eslintrc.js new file mode 100644 index 000000000..7d644a4ca --- /dev/null +++ b/apps/web/.eslintrc.js @@ -0,0 +1,9 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + extends: ["@repo/eslint-config/next.js"], + parser: "@typescript-eslint/parser", + parserOptions: { + project: true, + }, +}; diff --git a/apps/web/README.md b/apps/web/README.md new file mode 100644 index 000000000..3d7b63af7 --- /dev/null +++ b/apps/web/README.md @@ -0,0 +1,28 @@ +## Getting Started + +First, run the development server: + +```bash +yarn dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +To create [API routes](https://nextjs.org/docs/app/building-your-application/routing/router-handlers) add an `api/` directory to the `app/` directory with a `route.ts` file. For individual endpoints, create a subfolder in the `api` directory, like `api/hello/route.ts` would map to [http://localhost:3000/api/hello](http://localhost:3000/api/hello). + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn/foundations/about-nextjs) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/web/app/favicon.ico b/apps/web/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3f804c026c253d52f61b6f70ec351d1044e6bd8a GIT binary patch literal 8267 zcma)hcQjmI)b^b*7~SY4LI%-BkKUOPCHjn#MD!ZHcS9r@Eus^hh~7oiC_w~4)Tlua zqW2m;zkj~9zCXV8zU!`Y_PYB#&wkFi>#no*IXhBU`ym-I6EOe)Wa?^2{af4dUxO0d z_WE;9gtrD_r=+C>05x$WR~GoU?`&3T`dR=Ga327$5dd&;>%y)BfVU6;{51yv=`;YK zcgt+nlf4}vu+)5r1aAI&a@&d$Z#_hAY9^ilK#usYfzC5_C~uvFUg}yX!Zl)AN`QD? ztH=}p?$)X!mC$}O+gbi;G!sp)f9)O(0<}1%-(vmC#01n;dhERn?&>4Rf@PMDZZSO? zH~K1D??;yT?$O*Ymc@9Bp#|JO8t>bqkp;!wX-HH&r|KNNqVdF!lvyKcZDsQagKV$1EaO>G5b~z{lm=@dy$&R=zMh z$~8;>m{`9UYHRNqtrEIcfH!g!G7_&7)}AYiwGg*jjjhkXeDedLsazlaYV&bda z!kW-UlG`Oz>JSA)xE3IC^@=>QT+)3)yJP7U@qbWLP8^{qW1_A44v1p|#K|5f`uysi z*44qcK=Yv>KpS@8T=vjmJkP=CKKbp^qLMcWLRWFX;y}k!rel4V@f`=FUe0F#?JFfd z41^%9qiC>5&sVcWM1XmqK+v1=*=SsHnofW|qwlM8(FeHj2#ptgSPgRDCdmx+H-n z!gy#1U%256Ke}>>Whht4X$BLi{PH-Pi&&0pBebGnI?vMD*l@)SMeyFV$Ok$$9rK%! z=lN)*h95?5LZ@0#0c->5TC6Wi{2dY?lt20}u?=Wunp&rfFra*c7f|#xZIvCd0#6h}_^^5&RT5KWKWh@1Zd>KLQiPlEtP!{wfoLI^)@EiqLGwx*tT>x8(9a z1B7$K;*Ax|DXZCq7=EU7eE!T;t-f>mINXhs6~s!7^nU_E5IiHe#%~29sN7qF?8mjR zd||&6wwNM*#3ZK^rI=6(0))kmWYvV#3e~JaN#?mNmSjS#evmXgS)OHX-5m}&=$B*e zCtTyEIr&>pc=Whi0SzQ35X6oRFgHt>_qd8->zhEBH{)8LOiqMPFY+#?Asqz~cs^F; ztyyaR_+`tHF{Mn4&mnlL+@rtj2>Yl8Nyo4<$bQ_JxXHtUIYsj{CJBmtal#^JktKXe z5N4Y^6UZcSO7saP-V+dlH9khlBQ}U*FKiZfB4*A-d%smB{LKvV1JNjA0>NBVq*oQA zl{&C;AcW#60^alRT}E++feLl!sDO5DM@UTK*Tmg?KoBci>`1^s@&L#vG|dq)Mpcg; zZsw<|PC4-NKaF+s81xQev7zrBh`@qrduJK}RHmn$dxVQ#Fq5a_Cb0pqz26L*g$%DeqhvF^ zUi*Q7(q~PU2X}-OaX35?F{`Z7t8Z$x7W%3*FywdzqJ4%GVctj_~ z2w|fsrpjQ#C4QKRD;1#cHm=$>={Z;T?In=GEB^bT<9o+Fhbd0f8s0IymivG)@rWRT zwHuu?!EI*Qig;9tC*H@Xi21~E=2w4@A_O{E@MrbeRe|0Yo{k*LQXOB8Nt?+4CpS@S zDLKJi$VHK9DzPQL+k2cW&Bl7<%xk7K@cs%+_r#)AHXiv!qWCt{DRB1-#r2yb@Q&Vu zUi=$*Q+Wb%yoKmO@vcJkm!@;(klfNhDr0?@Y#&qJB1LFqLATN~P$s z;i*4!jO*iF#9K_P=c9@b#uli=Nu$<4r?(oEQ!vf!WdU|cY43|I5_VXJ=Nc#X7M9LP^t%sfHUufWA@EL5HOH_}JWceG^FVMy z4LqW8S9LMs$L!E{4}=iMw(4r5DpH$7u2k<26?BHybziE%hsFGpCX|i7%>uSDd)}(H z_$#1nQ}Ho}LCR|83$OyOho4x2Zz(c8QNWF$QF{~3VqJp&4ndgSb zfm^7Mf%e)Z-@g_+S|lE@EzeqiUA?>2d=DcCgs1lM8*ramnb+fDsN<2o9?175$PltE zt?DDqchcs{>w1i~l!)}F!nm>thwkQ5Iz<6PyR%rgVG;AHe0DxbRb)2k1e~pzcSeo* zxL12GxoWx)`9PKWjyQ-U^v+^rpj}NZ%bNnsx*x&z)Hw<~^5D-H zFZ9QVzMgAYQa}DqOJAdjuC+D0Z?D6fW8gKk)DtEmaiz3C=c3MNkGoSLB2Zcdxo~ft zUSirRA0|zL`^&yODqH-@e!&q|YzvBcR9*fJzU;%#ObtJf$ln@kVSkW-?6tkIM7!Sy zTlg9!S80G&JUq4&b=_S-3K}inQ6iBm3xo}N{H@uk@%1yG0bb6 zEX4y(^jydiE!>!(38th_ITmY*ZheeTxv=DN=1sLmCVZe7F5B&17n)WV^K1m&8jH~dKv!1Xyqo3>nRhqB+y=Z# z^I4G05_K$A5Je43Bl9ItQwB5#_E$ejm57f|`*24+6ZViHctvZOy?p9L{Ju37z}8s*RY+kGst5xt)_qAj)c{ ztAz^*zFdoi=D+t}I*So^e7kmqCNsq6jm}aBn8jEt)V%A2Zbkz_k0YSn-$`|2HFG&g z7nh-@Sxi#wO{Z1@AAEm;RBc}BF(Z8K+m9SfuW4%T{9Vc)o#4iDJYri=Z;2P)^BJ6~ zBGYW){ize)xr2mgE1MY>0LnQJY-%--b6=ZvayYJ1NaQm`c=;X^HsZmM!|qS9jx>sX ztrrKz$v${i@JLq>zJjiXrjN}m=-CITqba(P$t>K6dN)wk_w~QUu8_ox$>r|-fUR2@0Gw=r8*Q57O8pb3JTC+KrtN!V< zSUGOi<^)?@Csm7`5z~`VSP(AGL;BSrn0bbu@HI<$B2gCl?;C*0Gb;YRYSM{4bIX8Eck6yYCRKp;gOU1b`Fd)EmS6N>mRXrXVsJyEg zyM8j=@H8ax903rNIV!-^EgK?fF%|eHTDiq; zhp^|LBrGQvJh@dMxJ2LjgH*-*Eb;`Z6qWgfh4XG9nOzPD@MHOzAs%7;V5OnO3mJ@X zsZ70q|7>iueu_%Ic9%hlAn=`rl-9T$D)N20I!!Rzjrn=4Xu=yACiV%=|h%K$<_;!9qEige-fVkcBBDrq zo5r_3pYI0l!xg>Hqs9VdgiU^xXd8^ZYgdLGj=5A8r^fF2XU!p6sKNp_w@_c<=|7-dm*(T90b^9~S| z20-@aBch&Yt4;RHG1Ki>qZM3<7fvmaiZ6*e`bm1S_0=H8kqKmb0=J|v5{&mQWPmSy zE_(Nvh)#-coS^t+@Zt8^ZE{{cB(5|EHQ$Jt;^|Z^5`|fh-=$ePnpG3fvL|!PD3y*x zQPVdi)rdy^I;i7^!H1_UvYZ1`;ox$2y49{oz$1j1v!s?9=G106yGu_R#t+{GpSJwP zL5~RU8cuvBN?~Nge5WMs{%s31#SX(wkr(Wz?}F5)VPzvSw+#wi z56a0PcrixmL05?Z%cKIa8G-HUK_Z5HqNge%+9E8|H#=uNs#T2oB%s<+tTkb{~-{(F~5C0n3s>K%m;2Tg7hF^N| zw)AdAsf|so-o#^!92#Rs{PuA8k_uC-^Fu^%&y4%EHnTv&{obNaV zFZHG?cvMDlPqr(X%9_Pk)6e%H{2M=}Ql)Zg@_E4IzP`wKOh zqj9_`D6LZ;qI6POX6*=#R#Q4myb#T19EYEv`1H%tj+K{_#HrJ4WJno>svX{6zJDp~ z{44TOu-;K%Y@6bZNLi-#p7n8K0X_q@_!%fEg)i38x!UK``IQ_oQ#0e%#V*9s^^Mh@ z%2Tj$?GxuIY+ReV%pI>3c=QUVnTP85v?tiplYsx`P3?}Wz2Ey@2GQ@uCoVF%SvbWl z*UqdBPkBpPETZYqJ3_{?@#v33NgJ;|3-VgkoIgE@I@oCO5iHW$XK(EZzk-%3$}s2`Xu3Se#7>{UY|FyZXhf0&dKlUFQBUWm{r3Z&`~bzTplvlsoZQi@>8^I^{x^S-iHTC^^^dbESmHI;`+*MtV^Sp*dsU@VDxr}wE!hycaQIN3mL*MuUlFm$3_kHK#DB(>-hQRL(K8sDO}`=lHOnLm+L4xJKQua&fjKrqLa4^IEZ&SqZkU3+o{L_cU#v#i`;B%~on35{~c2{UkJ&XmO&L z_MdTGS>l{9uvT~ZWY6YCpgX!46>k(qg55^0jOY{I&>l;KPDBOw7LzB>9ei-BF0D;b zAu;Yrckq2$Dhgo9FI-&Zx8>>kSanP5ZHDDmLiPDH*q=9NaSaqzAj%d>%{biJ?hrX8 zDo^oq;m9SlkZZ}Fd9N(U#4?;lZ)A}nE~vjV3N>WHgAmrT{<~9Vq2_)b+iB{zm+Q^n zaUkpG*Ti1+8$5Q?1~`is03TQdiB)uYOUhu+nOwpts*P_KKkEOZ|squgjI;hjc5%@?|a6 zbJON+&BZR7l#7l+Lfog9K)7*s+c(xYb)q}I@}Lwd>t~_(ep08GUEGzCdJYVex^*_Y z{9J6K=BVbERrB*W#rVU@rls6p&0D)3#S9?DjMU{b!q6uvVb^J#TA$RE<2gKp{{@1A zq4{4cC}Bl#ME7pH=dl}yXC!T%<~99z8WKAvyWi`|nuC@p(A5J2BcS77@jY6hh~+a6 zg3u?~N`vXOXFhi4MZB>aggSF#d;`|aLwx*dN}H8E9Uu*>AV5;sI!wP6^eZ3Fu4kOcMn zF*$=5;`zJJcXTIps8|}rA$B&E@@Z%7G3|LBu|(DT^93zUp$c5|!&hQQ&L2)F%kDU! zUX`iEdB6DaHUWCw@WF)QO3PrCJfv6z#36UfZMpvLTm#p6%ud0Uei`^VU@V*?Rh?MG zcQ>jYOEfWt9hi3`KR7FLg%UJ3MggfSB%Lg(Y-*_S*F--HkSMfe||GReVjAz zJg7SFTr~y}WqZEviXteD2N@O`wRp@jC1Kt|%Y`MJYxkpsxpbtO@*AW{;`xAMR}g>I;-S zevuN6a0p%v|+ z7wRU1fwxl`@|GKKRdnTE({!<<3CJf+T)YfZ_1*`(1tpQ(fFD>9`|77|^wYO8+d zJKA9z`Vu~bR{Q_TgTzx%d0PwG-p45yWg8|7Q_HfA%32S$Sv7YrzUIvV&A<97Cx$7d7%j=f)}5>dy^T`8%P)e+|W0FRulA{kcsKXYW3dn)ufAZfVfyKEqPB&^_-<@Pz-FV6dc#X+KB zuRi0IciB5H@S}0g_x*%lJe|~rI@mf~|`1ZJ)W9)H6h$|8O=;ry4-V%0dw%8h2R6a%S` zC>JseFEK#uAanaK!M;ztdPjd- zief6z_rk@vN6Ozl$w=i4m(aaipVm@)(3v^^!r4OSZYv6mm+dOj0G$gK<+z<6ip$4#cq5E6cGm!&n>ckCu%gV&aC1e@FL5YDd^^V`?7 zur>2_32@(NQG#pADO_0E@m64+q39!2`FVzLGh2b!;l<5A$M$T&+lm)eJZdZzk76|h z7^&C{d@C#y#)2JXwPvf9>ar~kAzv9&o*HNR7WGk(!D>PE$h0io7v)`&w#BSw`-91f z{y1>sRg~|8)Bi;w`2RwL_iyeg`kt*Gm-OEjv^l*{#$MJIUN+KJ9yYfI5D^j);TIO- z7ZFAai%Sa$Nec_{-S$F4gY9KT{|~|0)!M<<|Nl>DTc+N;B{2S{VBl)&S&z+)#7up*&mr`AlQ!J}qFVjq05#$&HTvkm+l@9Q4yzSB)OfK|)Y a5CHzt!@LfZ#gcC&0Cki$vQpVR{Qm$*Br?$e literal 0 HcmV?d00001 diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css new file mode 100644 index 000000000..8eee6cbd4 --- /dev/null +++ b/apps/web/app/globals.css @@ -0,0 +1,50 @@ +:root { + --max-width: 1100px; + --border-radius: 12px; + --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", + "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", + "Fira Mono", "Droid Sans Mono", "Courier New", monospace; + + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + + --callout-rgb: 20, 20, 20; + --callout-border-rgb: 108, 108, 108; + --card-rgb: 100, 100, 100; + --card-border-rgb: 200, 200, 200; + + --glow-conic: conic-gradient( + from 180deg at 50% 50%, + #2a8af6 0deg, + #a853ba 180deg, + #e92a67 360deg + ); +} + +* { + box-sizing: border-box; + padding: 0; + margin: 0; +} + +html, +body { + max-width: 100vw; + overflow-x: hidden; +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +a { + color: inherit; + text-decoration: none; +} diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx new file mode 100644 index 000000000..5f90d111f --- /dev/null +++ b/apps/web/app/layout.tsx @@ -0,0 +1,22 @@ +import "./globals.css"; +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata: Metadata = { + title: "Create Turborepo", + description: "Generated by create turbo", +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}): JSX.Element { + return ( + + {children} + + ); +} diff --git a/apps/web/app/page.module.css b/apps/web/app/page.module.css new file mode 100644 index 000000000..98481c6a2 --- /dev/null +++ b/apps/web/app/page.module.css @@ -0,0 +1,335 @@ +.main { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + padding: 6rem; + min-height: 100vh; +} + +.vercelLogo { + filter: invert(1); +} + +.description { + display: inherit; + justify-content: inherit; + align-items: inherit; + font-size: 0.85rem; + max-width: var(--max-width); + width: 100%; + z-index: 2; + font-family: var(--font-mono); +} + +.description a { + display: flex; + justify-content: center; + align-items: center; + gap: 0.5rem; +} + +.description p { + position: relative; + margin: 0; + padding: 1rem; + background-color: rgba(var(--callout-rgb), 0.5); + border: 1px solid rgba(var(--callout-border-rgb), 0.3); + border-radius: var(--border-radius); +} + +.code { + font-weight: 700; + font-family: var(--font-mono); +} + +.hero { + display: flex; + position: relative; + place-items: center; +} + +.heroContent { + display: flex; + position: relative; + z-index: 0; + padding-bottom: 4rem; + flex-direction: column; + gap: 2rem; + justify-content: space-between; + align-items: center; + width: auto; + font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, + "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol", "Noto Color Emoji"; + padding-top: 48px; + + @media (min-width: 768px) { + padding-top: 4rem; + padding-bottom: 6rem; + } + @media (min-width: 1024px) { + padding-top: 5rem; + padding-bottom: 8rem; + } +} + +.logos { + display: flex; + z-index: 50; + justify-content: center; + align-items: center; + width: 100%; +} + +.grid { + display: grid; + grid-template-columns: repeat(4, minmax(25%, auto)); + max-width: 100%; + width: var(--max-width); +} + +.card { + padding: 1rem 1.2rem; + border-radius: var(--border-radius); + background: rgba(var(--card-rgb), 0); + border: 1px solid rgba(var(--card-border-rgb), 0); + transition: background 200ms, border 200ms; +} + +.card span { + display: inline-block; + transition: transform 200ms; +} + +.card h2 { + font-weight: 600; + margin-bottom: 0.7rem; +} + +.card p { + margin: 0; + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + max-width: 30ch; +} + +@media (prefers-reduced-motion) { + .card:hover span { + transform: none; + } +} + +/* Mobile */ +@media (max-width: 700px) { + .content { + padding: 4rem; + } + + .grid { + grid-template-columns: 1fr; + margin-bottom: 120px; + max-width: 320px; + text-align: center; + } + + .card { + padding: 1rem 2.5rem; + } + + .card h2 { + margin-bottom: 0.5rem; + } + + .center { + padding: 8rem 0 6rem; + } + + .center::before { + transform: none; + height: 300px; + } + + .description { + font-size: 0.8rem; + } + + .description a { + padding: 1rem; + } + + .description p, + .description div { + display: flex; + justify-content: center; + position: fixed; + width: 100%; + } + + .description p { + align-items: center; + inset: 0 0 auto; + padding: 2rem 1rem 1.4rem; + border-radius: 0; + border: none; + border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); + background: linear-gradient( + to bottom, + rgba(var(--background-start-rgb), 1), + rgba(var(--callout-rgb), 0.5) + ); + background-clip: padding-box; + backdrop-filter: blur(24px); + } + + .description div { + align-items: flex-end; + pointer-events: none; + inset: auto 0 0; + padding: 2rem; + height: 200px; + background: linear-gradient( + to bottom, + transparent 0%, + rgb(var(--background-end-rgb)) 40% + ); + z-index: 1; + } +} + +/* Enable hover only on non-touch devices */ +@media (hover: hover) and (pointer: fine) { + .card:hover { + background: rgba(var(--card-rgb), 0.1); + border: 1px solid rgba(var(--card-border-rgb), 0.15); + } + + .card:hover span { + transform: translateX(4px); + } +} + +.circles { + position: absolute; + min-width: 614px; + min-height: 614px; + pointer-events: none; +} + +.logo { + z-index: 50; + width: 120px; + height: 120px; +} + +.logoGradientContainer { + display: flex; + position: absolute; + z-index: 50; + justify-content: center; + align-items: center; + width: 16rem; + height: 16rem; +} + +.turborepoWordmarkContainer { + display: flex; + z-index: 50; + padding-left: 1.5rem; + padding-right: 1.5rem; + flex-direction: column; + gap: 1.25rem; + justify-content: center; + align-items: center; + text-align: center; + + @media (min-width: 1024px) { + gap: 1.5rem; + } +} + +.turborepoWordmark { + width: 160px; + fill: white; + + @media (min-width: 768px) { + width: 200px; + } +} + +.code { + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", + monospace; + font-weight: 700; +} + +/* Tablet and Smaller Desktop */ +@media (min-width: 701px) and (max-width: 1120px) { + .grid { + grid-template-columns: repeat(2, 50%); + } +} + +/* Gradients */ +.gradient { + position: absolute; + mix-blend-mode: normal; + will-change: filter; + pointer-events: none; +} + +.gradientSmall { + filter: blur(32px); +} + +.gradientLarge { + filter: blur(75px); +} + +.glowConic { + background-image: var(--glow-conic); +} + +.logoGradient { + opacity: 0.9; + width: 120px; + height: 120px; +} + +.backgroundGradient { + top: -500px; + width: 1000px; + height: 1000px; + opacity: 0.15; +} + +.button { + background-color: #ffffff; + border-radius: 8px; + border-style: none; + box-sizing: border-box; + color: #000000; + cursor: pointer; + display: inline-block; + font-size: 16px; + height: 40px; + line-height: 20px; + list-style: none; + margin: 0; + outline: none; + padding: 10px 16px; + position: relative; + text-align: center; + text-decoration: none; + transition: color 100ms; + vertical-align: baseline; + user-select: none; + -webkit-user-select: none; + touch-action: manipulation; +} + +.button:hover, +.button:focus { + background-color: #e5e4e2; +} diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx new file mode 100644 index 000000000..95186e8b2 --- /dev/null +++ b/apps/web/app/page.tsx @@ -0,0 +1,144 @@ +import Image from "next/image"; +import { Card } from "@repo/ui/card"; +import { Code } from "@repo/ui/code"; +import styles from "./page.module.css"; +import { Button } from "@repo/ui/button"; + +function Gradient({ + conic, + className, + small, +}: { + small?: boolean; + conic?: boolean; + className?: string; +}): JSX.Element { + return ( + + ); +} + +const LINKS = [ + { + title: "Docs", + href: "https://turbo.build/repo/docs", + description: "Find in-depth information about Turborepo features and API.", + }, + { + title: "Learn", + href: "https://turbo.build/repo/docs/handbook", + description: "Learn more about monorepos with our handbook.", + }, + { + title: "Templates", + href: "https://turbo.build/repo/docs/getting-started/from-example", + description: "Choose from over 15 examples and deploy with a single click.", + }, + { + title: "Deploy", + href: "https://vercel.com/new", + description: + "Instantly deploy your Turborepo to a shareable URL with Vercel.", + }, +]; + +export default function Page(): JSX.Element { + return ( +
+
+

+ examples/basic  + web +

+ +
+ + + +
+
+
+
+ +
+
+ +
+ +
+ Turborepo +
+
+ +
+ + Turborepo logo + + + + + + + + + + +
+
+
+ +
+ {LINKS.map(({ title, href, description }) => ( + + {description} + + ))} +
+
+ ); +} diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts new file mode 100644 index 000000000..4f11a03dc --- /dev/null +++ b/apps/web/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/web/next.config.js b/apps/web/next.config.js new file mode 100644 index 000000000..a5b0aec2b --- /dev/null +++ b/apps/web/next.config.js @@ -0,0 +1,4 @@ +/** @type {import('next').NextConfig} */ +module.exports = { + transpilePackages: ["@repo/ui"], +}; diff --git a/apps/web/package.json b/apps/web/package.json new file mode 100644 index 000000000..5585437bc --- /dev/null +++ b/apps/web/package.json @@ -0,0 +1,28 @@ +{ + "name": "web", + "version": "1.0.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint . --max-warnings 0" + }, + "dependencies": { + "@repo/ui": "workspace:*", + "next": "^14.1.1", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@next/eslint-plugin-next": "^14.1.1", + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.24", + "@types/react": "^18.2.61", + "@types/react-dom": "^18.2.19", + "eslint": "^8.57.0", + "typescript": "^5.3.3" + } +} diff --git a/apps/web/public/circles.svg b/apps/web/public/circles.svg new file mode 100644 index 000000000..6533be5ba --- /dev/null +++ b/apps/web/public/circles.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/web/public/next.svg b/apps/web/public/next.svg new file mode 100644 index 000000000..5174b28c5 --- /dev/null +++ b/apps/web/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/turborepo.svg b/apps/web/public/turborepo.svg new file mode 100644 index 000000000..2f9aa1f37 --- /dev/null +++ b/apps/web/public/turborepo.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/vercel.svg b/apps/web/public/vercel.svg new file mode 100644 index 000000000..d2f842227 --- /dev/null +++ b/apps/web/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json new file mode 100644 index 000000000..24e754815 --- /dev/null +++ b/apps/web/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "@repo/typescript-config/nextjs.json", + "compilerOptions": { + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "next-env.d.ts", + "next.config.js", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts" + ], + "exclude": ["node_modules"] +} diff --git a/meta.json b/meta.json new file mode 100644 index 000000000..eff0c70a3 --- /dev/null +++ b/meta.json @@ -0,0 +1,7 @@ +{ + "name": "Next.js", + "description": "Minimal Turborepo example for learning the fundamentals.", + "template": "https://vercel.com/templates/next.js/turborepo-next-basic", + "featured": true, + "boost": true +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..5499891b7 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "my-turborepo", + "private": true, + "scripts": { + "build": "turbo build", + "dev": "turbo dev", + "lint": "turbo lint", + "format": "prettier --write \"**/*.{ts,tsx,md}\"" + }, + "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "prettier": "^3.2.5", + "turbo": "^1.12.4" + }, + "packageManager": "pnpm@8.9.0", + "engines": { + "node": ">=18" + } +} diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md new file mode 100644 index 000000000..8b42d901b --- /dev/null +++ b/packages/eslint-config/README.md @@ -0,0 +1,3 @@ +# `@turbo/eslint-config` + +Collection of internal eslint configurations. diff --git a/packages/eslint-config/library.js b/packages/eslint-config/library.js new file mode 100644 index 000000000..c667cd100 --- /dev/null +++ b/packages/eslint-config/library.js @@ -0,0 +1,34 @@ +const { resolve } = require("node:path"); + +const project = resolve(process.cwd(), "tsconfig.json"); + +/** @type {import("eslint").Linter.Config} */ +module.exports = { + extends: ["eslint:recommended", "prettier", "eslint-config-turbo"], + plugins: ["only-warn"], + globals: { + React: true, + JSX: true, + }, + env: { + node: true, + }, + settings: { + "import/resolver": { + typescript: { + project, + }, + }, + }, + ignorePatterns: [ + // Ignore dotfiles + ".*.js", + "node_modules/", + "dist/", + ], + overrides: [ + { + files: ["*.js?(x)", "*.ts?(x)"], + }, + ], +}; diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js new file mode 100644 index 000000000..6000e5467 --- /dev/null +++ b/packages/eslint-config/next.js @@ -0,0 +1,35 @@ +const { resolve } = require("node:path"); + +const project = resolve(process.cwd(), "tsconfig.json"); + +/** @type {import("eslint").Linter.Config} */ +module.exports = { + extends: [ + "eslint:recommended", + "prettier", + require.resolve("@vercel/style-guide/eslint/next"), + "eslint-config-turbo", + ], + globals: { + React: true, + JSX: true, + }, + env: { + node: true, + browser: true, + }, + plugins: ["only-warn"], + settings: { + "import/resolver": { + typescript: { + project, + }, + }, + }, + ignorePatterns: [ + // Ignore dotfiles + ".*.js", + "node_modules/", + ], + overrides: [{ files: ["*.js?(x)", "*.ts?(x)"] }], +}; diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json new file mode 100644 index 000000000..5c51c03d2 --- /dev/null +++ b/packages/eslint-config/package.json @@ -0,0 +1,19 @@ +{ + "name": "@repo/eslint-config", + "version": "0.0.0", + "private": true, + "files": [ + "library.js", + "next.js", + "react-internal.js" + ], + "devDependencies": { + "@vercel/style-guide": "^5.2.0", + "eslint-config-turbo": "^1.12.4", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-only-warn": "^1.1.0", + "@typescript-eslint/parser": "^7.1.0", + "@typescript-eslint/eslint-plugin": "^7.1.0", + "typescript": "^5.3.3" + } +} diff --git a/packages/eslint-config/react-internal.js b/packages/eslint-config/react-internal.js new file mode 100644 index 000000000..f56c9249e --- /dev/null +++ b/packages/eslint-config/react-internal.js @@ -0,0 +1,43 @@ +const { resolve } = require("node:path"); + +const project = resolve(process.cwd(), "tsconfig.json"); + +/* + * This is a custom ESLint configuration for use with + * internal (bundled by their consumer) libraries + * that utilize React. + * + * This config extends the Vercel Engineering Style Guide. + * For more information, see https://github.com/vercel/style-guide + * + */ + +/** @type {import("eslint").Linter.Config} */ +module.exports = { + extends: ["eslint:recommended", "prettier", "eslint-config-turbo"], + plugins: ["only-warn"], + globals: { + React: true, + JSX: true, + }, + env: { + browser: true, + }, + settings: { + "import/resolver": { + typescript: { + project, + }, + }, + }, + ignorePatterns: [ + // Ignore dotfiles + ".*.js", + "node_modules/", + "dist/", + ], + overrides: [ + // Force ESLint to detect .tsx files + { files: ["*.js?(x)", "*.ts?(x)"] }, + ], +}; diff --git a/packages/typescript-config/base.json b/packages/typescript-config/base.json new file mode 100644 index 000000000..0f80cfd67 --- /dev/null +++ b/packages/typescript-config/base.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "incremental": false, + "isolatedModules": true, + "lib": ["es2022", "DOM", "DOM.Iterable"], + "module": "NodeNext", + "moduleDetection": "force", + "moduleResolution": "NodeNext", + "noUncheckedIndexedAccess": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "target": "ES2022" + } +} diff --git a/packages/typescript-config/nextjs.json b/packages/typescript-config/nextjs.json new file mode 100644 index 000000000..44f428991 --- /dev/null +++ b/packages/typescript-config/nextjs.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Next.js", + "extends": "./base.json", + "compilerOptions": { + "plugins": [{ "name": "next" }], + "module": "ESNext", + "moduleResolution": "Bundler", + "allowJs": true, + "jsx": "preserve", + "noEmit": true + } +} diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json new file mode 100644 index 000000000..27c0e6043 --- /dev/null +++ b/packages/typescript-config/package.json @@ -0,0 +1,9 @@ +{ + "name": "@repo/typescript-config", + "version": "0.0.0", + "private": true, + "license": "MIT", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/typescript-config/react-library.json b/packages/typescript-config/react-library.json new file mode 100644 index 000000000..44924d9ed --- /dev/null +++ b/packages/typescript-config/react-library.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "React Library", + "extends": "./base.json", + "compilerOptions": { + "jsx": "react-jsx" + } +} diff --git a/packages/ui/.eslintrc.js b/packages/ui/.eslintrc.js new file mode 100644 index 000000000..46464139c --- /dev/null +++ b/packages/ui/.eslintrc.js @@ -0,0 +1,10 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + extends: ["@repo/eslint-config/react-internal.js"], + parser: "@typescript-eslint/parser", + parserOptions: { + project: "./tsconfig.lint.json", + tsconfigRootDir: __dirname, + }, +}; diff --git a/packages/ui/package.json b/packages/ui/package.json new file mode 100644 index 000000000..4d5e99ef7 --- /dev/null +++ b/packages/ui/package.json @@ -0,0 +1,26 @@ +{ + "name": "@repo/ui", + "version": "0.0.0", + "private": true, + "exports": { + "./button": "./src/button.tsx", + "./card": "./src/card.tsx", + "./code": "./src/code.tsx" + }, + "scripts": { + "lint": "eslint . --max-warnings 0", + "generate:component": "turbo gen react-component" + }, + "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "@turbo/gen": "^1.12.4", + "@types/node": "^20.11.24", + "@types/eslint": "^8.56.5", + "@types/react": "^18.2.61", + "@types/react-dom": "^18.2.19", + "eslint": "^8.57.0", + "react": "^18.2.0", + "typescript": "^5.3.3" + } +} diff --git a/packages/ui/src/button.tsx b/packages/ui/src/button.tsx new file mode 100644 index 000000000..78e5420c3 --- /dev/null +++ b/packages/ui/src/button.tsx @@ -0,0 +1,20 @@ +"use client"; + +import { ReactNode } from "react"; + +interface ButtonProps { + children: ReactNode; + className?: string; + appName: string; +} + +export const Button = ({ children, className, appName }: ButtonProps) => { + return ( + + ); +}; diff --git a/packages/ui/src/card.tsx b/packages/ui/src/card.tsx new file mode 100644 index 000000000..f69672e13 --- /dev/null +++ b/packages/ui/src/card.tsx @@ -0,0 +1,25 @@ +export function Card({ + className, + title, + children, + href, +}: { + className?: string; + title: string; + children: React.ReactNode; + href: string; +}): JSX.Element { + return ( + +

+ {title} -> +

+

{children}

+
+ ); +} diff --git a/packages/ui/src/code.tsx b/packages/ui/src/code.tsx new file mode 100644 index 000000000..769d9711f --- /dev/null +++ b/packages/ui/src/code.tsx @@ -0,0 +1,9 @@ +export function Code({ + children, + className, +}: { + children: React.ReactNode; + className?: string; +}): JSX.Element { + return {children}; +} diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json new file mode 100644 index 000000000..ca86687c4 --- /dev/null +++ b/packages/ui/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@repo/typescript-config/react-library.json", + "compilerOptions": { + "outDir": "dist" + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/ui/tsconfig.lint.json b/packages/ui/tsconfig.lint.json new file mode 100644 index 000000000..df2762ee5 --- /dev/null +++ b/packages/ui/tsconfig.lint.json @@ -0,0 +1,8 @@ +{ + "extends": "@repo/typescript-config/react-library.json", + "compilerOptions": { + "outDir": "dist" + }, + "include": ["src", "turbo"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/ui/turbo/generators/config.ts b/packages/ui/turbo/generators/config.ts new file mode 100644 index 000000000..b3facf1f0 --- /dev/null +++ b/packages/ui/turbo/generators/config.ts @@ -0,0 +1,30 @@ +import type { PlopTypes } from "@turbo/gen"; + +// Learn more about Turborepo Generators at https://turbo.build/repo/docs/core-concepts/monorepos/code-generation + +export default function generator(plop: PlopTypes.NodePlopAPI): void { + // A simple generator to add a new React component to the internal UI library + plop.setGenerator("react-component", { + description: "Adds a new react component", + prompts: [ + { + type: "input", + name: "name", + message: "What is the name of the component?", + }, + ], + actions: [ + { + type: "add", + path: "src/{{kebabCase name}}.tsx", + templateFile: "templates/component.hbs", + }, + { + type: "append", + path: "package.json", + pattern: /"exports": {(?)/g, + template: '"./{{kebabCase name}}": "./src/{{kebabCase name}}.tsx",', + }, + ], + }); +} diff --git a/packages/ui/turbo/generators/templates/component.hbs b/packages/ui/turbo/generators/templates/component.hbs new file mode 100644 index 000000000..d968b9e3a --- /dev/null +++ b/packages/ui/turbo/generators/templates/component.hbs @@ -0,0 +1,8 @@ +export const {{ pascalCase name }} = ({ children }: { children: React.ReactNode }) => { + return ( +
+

{{ pascalCase name }} Component

+ {children} +
+ ); +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 000000000..e27dca6a8 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4971 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:packages/eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:packages/typescript-config + prettier: + specifier: ^3.2.5 + version: 3.2.5 + turbo: + specifier: ^1.12.4 + version: 1.12.4 + + apps/docs: + dependencies: + '@repo/ui': + specifier: workspace:* + version: link:../../packages/ui + next: + specifier: ^14.1.1 + version: 14.1.1(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@next/eslint-plugin-next': + specifier: ^14.1.1 + version: 14.1.1 + '@repo/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + '@types/eslint': + specifier: ^8.56.5 + version: 8.56.5 + '@types/node': + specifier: ^20.11.24 + version: 20.11.24 + '@types/react': + specifier: ^18.2.61 + version: 18.2.61 + '@types/react-dom': + specifier: ^18.2.19 + version: 18.2.19 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + + apps/web: + dependencies: + '@repo/ui': + specifier: workspace:* + version: link:../../packages/ui + next: + specifier: ^14.1.1 + version: 14.1.1(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@next/eslint-plugin-next': + specifier: ^14.1.1 + version: 14.1.1 + '@repo/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + '@types/eslint': + specifier: ^8.56.5 + version: 8.56.5 + '@types/node': + specifier: ^20.11.24 + version: 20.11.24 + '@types/react': + specifier: ^18.2.61 + version: 18.2.61 + '@types/react-dom': + specifier: ^18.2.19 + version: 18.2.19 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + + packages/eslint-config: + devDependencies: + '@typescript-eslint/eslint-plugin': + specifier: ^7.1.0 + version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: ^7.1.0 + version: 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@vercel/style-guide': + specifier: ^5.2.0 + version: 5.2.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-config-turbo: + specifier: ^1.12.4 + version: 1.12.4(eslint@8.57.0) + eslint-plugin-only-warn: + specifier: ^1.1.0 + version: 1.1.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + + packages/typescript-config: {} + + packages/ui: + devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:../eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:../typescript-config + '@turbo/gen': + specifier: ^1.12.4 + version: 1.12.4(@types/node@20.11.24)(typescript@5.3.3) + '@types/eslint': + specifier: ^8.56.5 + version: 8.56.5 + '@types/node': + specifier: ^20.11.24 + version: 20.11.24 + '@types/react': + specifier: ^18.2.61 + version: 18.2.61 + '@types/react-dom': + specifier: ^18.2.19 + version: 18.2.19 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + react: + specifier: ^18.2.0 + version: 18.2.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: true + + /@babel/compat-data@7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.3 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@8.57.0): + resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true + + /@babel/generator@7.23.3: + resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + dev: true + + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.23.2: + resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.23.3: + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/runtime-corejs3@7.22.10: + resolution: {integrity: sha512-IcixfV2Jl3UrqZX4c81+7lVg5++2ufYJyAFW3Aux/ZTvY6LVYYhJ9rMgnbX0zGVq6eqfVpnoatTjZdVki/GmWA==} + engines: {node: '>=6.9.0'} + dependencies: + core-js-pure: 3.32.1 + regenerator-runtime: 0.14.0 + dev: true + + /@babel/runtime@7.23.2: + resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + dev: true + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 + dev: true + + /@babel/traverse@7.23.3: + resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.23.3: + resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@microsoft/tsdoc-config@0.16.2: + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + dev: true + + /@microsoft/tsdoc@0.14.2: + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + dev: true + + /@next/env@14.1.1: + resolution: {integrity: sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA==} + dev: false + + /@next/eslint-plugin-next@14.1.1: + resolution: {integrity: sha512-NP1WoGFnFLpqqCWgGFjnn/sTwUExdPyjeFKRdQP1X/bL/tjAQ/TXDmYqw6vzGaP5NaZ2u6xzg+N/0nd7fOPOGQ==} + dependencies: + glob: 10.3.10 + dev: true + + /@next/swc-darwin-arm64@14.1.1: + resolution: {integrity: sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64@14.1.1: + resolution: {integrity: sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu@14.1.1: + resolution: {integrity: sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl@14.1.1: + resolution: {integrity: sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu@14.1.1: + resolution: {integrity: sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl@14.1.1: + resolution: {integrity: sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc@14.1.1: + resolution: {integrity: sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc@14.1.1: + resolution: {integrity: sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc@14.1.1: + resolution: {integrity: sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + dependencies: + eslint-scope: 5.1.1 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pkgr/utils@2.4.2: + resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.3.1 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.6.2 + dev: true + + /@rushstack/eslint-patch@1.5.1: + resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==} + dev: true + + /@swc/helpers@0.5.2: + resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + dependencies: + tslib: 2.6.2 + dev: false + + /@tootallnate/quickjs-emscripten@0.23.0: + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + dev: true + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + + /@turbo/gen@1.12.4(@types/node@20.11.24)(typescript@5.3.3): + resolution: {integrity: sha512-3Z8KZ6Vnc2x6rr8sNJ4QNYpkAttLBfb91uPzDlFDY7vgJg+vfXT8YWyZznVL+19ZixF2C/F4Ucp4/YjG2e1drg==} + hasBin: true + dependencies: + '@turbo/workspaces': 1.12.4 + chalk: 2.4.2 + commander: 10.0.1 + fs-extra: 10.1.0 + inquirer: 8.2.6 + minimatch: 9.0.3 + node-plop: 0.26.3 + proxy-agent: 6.3.0 + ts-node: 10.9.1(@types/node@20.11.24)(typescript@5.3.3) + update-check: 1.5.4 + validate-npm-package-name: 5.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - supports-color + - typescript + dev: true + + /@turbo/workspaces@1.12.4: + resolution: {integrity: sha512-a1hF8Nr6MOeCpvlLR569dGTlzgRLj2Rxo6dTb4jtL+jhHwCb94A9kDPgcRnYGFr45mgulICarVaNZxDjw4/riQ==} + hasBin: true + dependencies: + chalk: 2.4.2 + commander: 10.0.1 + execa: 5.1.1 + fast-glob: 3.3.1 + fs-extra: 10.1.0 + gradient-string: 2.0.2 + inquirer: 8.2.6 + js-yaml: 4.1.0 + ora: 4.1.1 + rimraf: 3.0.2 + semver: 7.5.4 + update-check: 1.5.4 + dev: true + + /@types/eslint@8.56.5: + resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.12 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 20.11.24 + dev: true + + /@types/inquirer@6.5.0: + resolution: {integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==} + dependencies: + '@types/through': 0.0.30 + rxjs: 6.6.7 + dev: true + + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: true + + /@types/react-dom@18.2.19: + resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} + dependencies: + '@types/react': 18.2.61 + dev: true + + /@types/react@18.2.61: + resolution: {integrity: sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + dev: true + + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: true + + /@types/semver@7.5.0: + resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + dev: true + + /@types/through@0.0.30: + resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} + dependencies: + '@types/node': 20.11.24 + dev: true + + /@types/tinycolor2@1.4.6: + resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} + dev: true + + /@typescript-eslint/eslint-plugin@6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.17.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.17.0 + '@typescript-eslint/type-utils': 6.17.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.17.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.17.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.2(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.1.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.2(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.17.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.17.0 + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.17.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.1.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/scope-manager@6.17.0: + resolution: {integrity: sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/visitor-keys': 6.17.0 + dev: true + + /@typescript-eslint/scope-manager@7.1.0: + resolution: {integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/visitor-keys': 7.1.0 + dev: true + + /@typescript-eslint/type-utils@6.17.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.17.0(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.0.2(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.0.2(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/types@6.17.0: + resolution: {integrity: sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/types@7.1.0: + resolution: {integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@6.17.0(typescript@5.3.3): + resolution: {integrity: sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/visitor-keys': 6.17.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.2(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3): + resolution: {integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/visitor-keys': 7.1.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.2(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) + eslint: 8.57.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.17.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 6.17.0 + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@6.17.0: + resolution: {integrity: sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.17.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@7.1.0: + resolution: {integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.1.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vercel/style-guide@5.2.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3): + resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} + engines: {node: '>=16'} + peerDependencies: + '@next/eslint-plugin-next': '>=12.3.0 <15' + eslint: '>=8.48.0 <9' + prettier: '>=3.0.0 <4' + typescript: '>=4.8.0 <6' + peerDependenciesMeta: + '@next/eslint-plugin-next': + optional: true + eslint: + optional: true + prettier: + optional: true + typescript: + optional: true + dependencies: + '@babel/core': 7.23.3 + '@babel/eslint-parser': 7.23.3(@babel/core@7.23.3)(eslint@8.57.0) + '@rushstack/eslint-patch': 1.5.1 + '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.17.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.29.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.17.0)(eslint-plugin-import@2.29.0)(eslint@8.57.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) + eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.57.0)(typescript@5.3.3) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.6.0)(eslint@8.57.0) + eslint-plugin-react: 7.33.2(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) + eslint-plugin-testing-library: 6.1.2(eslint@8.57.0)(typescript@5.3.3) + eslint-plugin-tsdoc: 0.2.17 + eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) + prettier: 3.2.5 + prettier-plugin-packagejson: 2.4.6(prettier@3.2.5) + typescript: 5.3.3 + transitivePeerDependencies: + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - jest + - supports-color + dev: true + + /acorn-jsx@5.3.2(acorn@8.10.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.10.0 + dev: true + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: true + + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-string: 1.0.7 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.findlastindex@1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.tosorted@1.1.2: + resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + dev: true + + /ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + dependencies: + tslib: 2.6.2 + dev: true + + /asynciterator.prototype@1.0.0: + resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} + dependencies: + has-symbols: 1.0.3 + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + dev: true + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /basic-ftp@5.0.3: + resolution: {integrity: sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==} + engines: {node: '>=10.0.0'} + dev: true + + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: true + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001593 + electron-to-chromium: 1.4.583 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.22.1) + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /builtins@5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + dependencies: + semver: 7.5.4 + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: true + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /caniuse-lite@1.0.30001593: + resolution: {integrity: sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==} + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /change-case@3.1.0: + resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==} + dependencies: + camel-case: 3.0.0 + constant-case: 2.0.0 + dot-case: 2.1.1 + header-case: 1.0.1 + is-lower-case: 1.1.3 + is-upper-case: 1.1.2 + lower-case: 1.1.4 + lower-case-first: 1.0.2 + no-case: 2.3.2 + param-case: 2.1.1 + pascal-case: 2.0.1 + path-case: 2.1.1 + sentence-case: 2.1.1 + snake-case: 2.1.0 + swap-case: 1.1.2 + title-case: 2.1.1 + upper-case: 1.1.3 + upper-case-first: 1.1.2 + dev: true + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.9.0: + resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + engines: {node: '>=6'} + dev: true + + /cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true + + /client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: false + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /constant-case@2.0.0: + resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} + dependencies: + snake-case: 2.1.0 + upper-case: 1.1.3 + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /core-js-pure@3.32.1: + resolution: {integrity: sha512-f52QZwkFVDPf7UEQZGHKx6NYxsxmVGJe5DIvbzOdRMJlmT6yv0KDjR8rmy3ngr/t5wU54c7Sp/qIJH0ppbhVpQ==} + requiresBuild: true + dev: true + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: true + + /damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: true + + /data-uri-to-buffer@5.0.1: + resolution: {integrity: sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==} + engines: {node: '>= 14'} + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + + /degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + dev: true + + /del@5.1.0: + resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} + engines: {node: '>=8'} + dependencies: + globby: 10.0.2 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + dev: true + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + + /detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + dev: true + + /detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dot-case@2.1.1: + resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==} + dependencies: + no-case: 2.3.2 + dev: true + + /dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /electron-to-chromium@1.4.583: + resolution: {integrity: sha512-93y1gcONABZ7uqYe/JWDVQP/Pj/sQSunF0HVAPdlg/pfBnOyBMLlQUxWvkqcljJg1+W6cjvPuYD+r1Th9Tn8mA==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: true + + /es-iterator-helpers@1.0.15: + resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + dependencies: + asynciterator.prototype: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-set-tostringtag: 2.0.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + iterator.prototype: 1.1.2 + safe-array-concat: 1.0.1 + dev: true + + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + dev: true + + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.0 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-config-turbo@1.12.4(eslint@8.57.0): + resolution: {integrity: sha512-5hqEaV6PNmAYLL4RTmq74OcCt8pgzOLnfDVPG/7PUXpQ0Mpz0gr926oCSFukywKKXjdum3VHD84S7Z9A/DqTAw==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + eslint: 8.57.0 + eslint-plugin-turbo: 1.12.4(eslint@8.57.0) + dev: true + + /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.0): + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' + dependencies: + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.17.0)(eslint-plugin-import@2.29.0)(eslint@8.57.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 8.57.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) + fast-glob: 3.3.1 + get-tsconfig: 4.7.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.17.0(eslint@8.57.0)(typescript@5.3.3) + debug: 3.2.7 + eslint: 8.57.0 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.17.0)(eslint-plugin-import@2.29.0)(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + debug: 3.2.7 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.57.0 + ignore: 5.3.1 + dev: true + + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0): + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.23.2 + aria-query: 5.3.0 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.15 + eslint: 8.57.0 + hasown: 2.0.0 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + dev: true + + /eslint-plugin-only-warn@1.1.0: + resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==} + engines: {node: '>=6'} + dev: true + + /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.6.0)(eslint@8.57.0): + resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} + peerDependencies: + eslint: '>=7' + eslint-plugin-jest: '>=25' + peerDependenciesMeta: + eslint-plugin-jest: + optional: true + dependencies: + eslint: 8.57.0 + eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.57.0)(typescript@5.3.3) + dev: true + + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-react@7.33.2(eslint@8.57.0): + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.2 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.15 + eslint: 8.57.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + dev: true + + /eslint-plugin-testing-library@6.1.2(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-Ra16FeBlonfbScOIdZEta9o+OxtwDqiUt+4UCpIM42TuatyLdtfU/SbwnIzPcAszrbl58PGwyZ9YGU9dwIo/tA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + dev: true + + /eslint-plugin-turbo@1.12.4(eslint@8.57.0): + resolution: {integrity: sha512-3AGmXvH7E4i/XTWqBrcgu+G7YKZJV/8FrEn79kTd50ilNsv+U3nS2IlcCrQB6Xm2m9avGD9cadLzKDR1/UF2+g==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + dotenv: 16.0.3 + eslint: 8.57.0 + dev: true + + /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + ci-info: 3.9.0 + clean-regexp: 1.0.0 + eslint: 8.57.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.5.4 + strip-indent: 3.0.0 + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: true + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + + /get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /get-uri@6.0.1: + resolution: {integrity: sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==} + engines: {node: '>= 14'} + dependencies: + basic-ftp: 5.0.3 + data-uri-to-buffer: 5.0.1 + debug: 4.3.4 + fs-extra: 8.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /git-hooks-list@3.1.0: + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + glob: 7.2.3 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /gradient-string@2.0.2: + resolution: {integrity: sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + tinygradient: 1.1.5 + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.17.4 + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /header-case@1.0.1: + resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /http-proxy-agent@7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@7.0.1: + resolution: {integrity: sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /inquirer@7.3.3: + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + dev: true + + /inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + dev: true + + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + + /ip@1.1.8: + resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} + dev: true + + /ip@2.0.0: + resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-lower-case@1.1.3: + resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==} + dependencies: + lower-case: 1.1.4 + dev: true + + /is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-upper-case@1.1.2: + resolution: {integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==} + dependencies: + upper-case: 1.1.3 + dev: true + + /is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.4 + set-function-name: 2.0.1 + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + object.assign: 4.1.4 + object.values: 1.1.7 + dev: true + + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: true + + /language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + dependencies: + language-subtag-registry: 0.3.22 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@3.0.0: + resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} + engines: {node: '>=8'} + dependencies: + chalk: 2.4.2 + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + dependencies: + js-tokens: 4.0.0 + + /lower-case-first@1.0.2: + resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==} + dependencies: + lower-case: 1.1.4 + dev: true + + /lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + dev: true + + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + dev: true + + /next@14.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.1.1 + '@swc/helpers': 0.5.2 + busboy: 1.6.0 + caniuse-lite: 1.0.30001593 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) + optionalDependencies: + '@next/swc-darwin-arm64': 14.1.1 + '@next/swc-darwin-x64': 14.1.1 + '@next/swc-linux-arm64-gnu': 14.1.1 + '@next/swc-linux-arm64-musl': 14.1.1 + '@next/swc-linux-x64-gnu': 14.1.1 + '@next/swc-linux-x64-musl': 14.1.1 + '@next/swc-win32-arm64-msvc': 14.1.1 + '@next/swc-win32-ia32-msvc': 14.1.1 + '@next/swc-win32-x64-msvc': 14.1.1 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + dependencies: + lower-case: 1.1.4 + dev: true + + /node-plop@0.26.3: + resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==} + engines: {node: '>=8.9.4'} + dependencies: + '@babel/runtime-corejs3': 7.22.10 + '@types/inquirer': 6.5.0 + change-case: 3.1.0 + del: 5.1.0 + globby: 10.0.2 + handlebars: 4.7.8 + inquirer: 7.3.3 + isbinaryfile: 4.0.10 + lodash.get: 4.4.2 + mkdirp: 0.5.6 + resolve: 1.22.8 + dev: true + + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.entries@1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + dev: true + + /object.hasown@1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@4.1.1: + resolution: {integrity: sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==} + engines: {node: '>=8'} + dependencies: + chalk: 3.0.0 + cli-cursor: 3.1.0 + cli-spinners: 2.9.0 + is-interactive: 1.0.0 + log-symbols: 3.0.0 + mute-stream: 0.0.8 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.0 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /pac-proxy-agent@7.0.0: + resolution: {integrity: sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA==} + engines: {node: '>= 14'} + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.0 + debug: 4.3.4 + get-uri: 6.0.1 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.1 + pac-resolver: 7.0.0 + socks-proxy-agent: 8.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /pac-resolver@7.0.0: + resolution: {integrity: sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==} + engines: {node: '>= 14'} + dependencies: + degenerator: 5.0.1 + ip: 1.1.8 + netmask: 2.0.2 + dev: true + + /param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + dependencies: + no-case: 2.3.2 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /pascal-case@2.0.1: + resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} + dependencies: + camel-case: 3.0.0 + upper-case-first: 1.1.2 + dev: true + + /path-case@2.1.1: + resolution: {integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==} + dependencies: + no-case: 2.3.2 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-plugin-packagejson@2.4.6(prettier@3.2.5): + resolution: {integrity: sha512-5JGfzkJRL0DLNyhwmiAV9mV0hZLHDwddFCs2lc9CNxOChpoWUQVe8K4qTMktmevmDlMpok2uT10nvHUyU59sNw==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + dependencies: + prettier: 3.2.5 + sort-package-json: 2.6.0 + synckit: 0.8.5 + dev: true + + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: true + + /proxy-agent@6.3.0: + resolution: {integrity: sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.1 + lru-cache: 7.18.3 + pac-proxy-agent: 7.0.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /reflect.getprototypeof@1.0.4: + resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 + dev: true + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: true + + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + + /registry-auth-token@3.3.2: + resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} + dependencies: + rc: 1.2.8 + safe-buffer: 5.2.1 + dev: true + + /registry-url@3.1.0: + resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} + engines: {node: '>=0.10.0'} + dependencies: + rc: 1.2.8 + dev: true + + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: true + + /run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + dependencies: + tslib: 1.14.1 + dev: true + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.2 + dev: true + + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /sentence-case@2.1.1: + resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} + dependencies: + no-case: 2.3.2 + upper-case-first: 1.1.2 + dev: true + + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + + /smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + dev: true + + /snake-case@2.1.0: + resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==} + dependencies: + no-case: 2.3.2 + dev: true + + /socks-proxy-agent@8.0.1: + resolution: {integrity: sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + dependencies: + ip: 2.0.0 + smart-buffer: 4.2.0 + dev: true + + /sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + dev: true + + /sort-package-json@2.6.0: + resolution: {integrity: sha512-XSQ+lY9bAYA8ZsoChcEoPlgcSMaheziEp1beox1JVxy1SV4F2jSq9+h2rJ+3mC/Dhu9Ius1DLnInD5AWcsDXZw==} + hasBin: true + dependencies: + detect-indent: 7.0.1 + detect-newline: 4.0.1 + get-stdin: 9.0.0 + git-hooks-list: 3.1.0 + globby: 13.2.2 + is-plain-obj: 4.1.0 + sort-object-keys: 1.1.3 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + dev: true + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 + side-channel: 1.0.4 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /styled-jsx@5.1.1(react@18.2.0): + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + client-only: 0.0.1 + react: 18.2.0 + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /swap-case@1.1.2: + resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} + dependencies: + lower-case: 1.1.4 + upper-case: 1.1.3 + dev: true + + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.6.2 + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + dev: true + + /tinygradient@1.1.5: + resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} + dependencies: + '@types/tinycolor2': 1.4.6 + tinycolor2: 1.6.0 + dev: true + + /title-case@2.1.1: + resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /ts-api-utils@1.0.2(typescript@5.3.3): + resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.3 + dev: true + + /ts-node@10.9.1(@types/node@20.11.24)(typescript@5.3.3): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.11.24 + acorn: 8.10.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.3.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + /tsutils@3.21.0(typescript@5.3.3): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.3.3 + dev: true + + /turbo-darwin-64@1.12.4: + resolution: {integrity: sha512-dBwFxhp9isTa9RS/fz2gDVk5wWhKQsPQMozYhjM7TT4jTrnYn0ZJMzr7V3B/M/T8QF65TbniW7w1gtgxQgX5Zg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /turbo-darwin-arm64@1.12.4: + resolution: {integrity: sha512-1Uo5iI6xsJ1j9ObsqxYRsa3W26mEbUe6fnj4rQYV6kDaqYD54oAMJ6hM53q9rB8JvFxwdrUXGp3PwTw9A0qqkA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /turbo-linux-64@1.12.4: + resolution: {integrity: sha512-ONg2aSqKP7LAQOg7ysmU5WpEQp4DGNxSlAiR7um+LKtbmC/UxogbR5+T+Uuq6zGuQ5kJyKjWJ4NhtvUswOqBsA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /turbo-linux-arm64@1.12.4: + resolution: {integrity: sha512-9FPufkwdgfIKg/9jj87Cdtftw8o36y27/S2vLN7FTR2pp9c0MQiTBOLVYadUr1FlShupddmaMbTkXEhyt9SdrA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /turbo-windows-64@1.12.4: + resolution: {integrity: sha512-2mOtxHW5Vjh/5rDVu/aFwsMzI+chs8XcEuJHlY1sYOpEymYTz+u6AXbnzRvwZFMrLKr7J7fQOGl+v96sLKbNdA==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /turbo-windows-arm64@1.12.4: + resolution: {integrity: sha512-nOY5wae9qnxPOpT1fRuYO0ks6dTwpKMPV6++VkDkamFDLFHUDVM/9kmD2UTeh1yyrKnrZksbb9zmShhmfj1wog==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /turbo@1.12.4: + resolution: {integrity: sha512-yUJ7elEUSToiGwFZogXpYKJpQ0BvaMbkEuQECIWtkBLcmWzlMOt6bActsIm29oN83mRU0WbzGt4e8H1KHWedhg==} + hasBin: true + optionalDependencies: + turbo-darwin-64: 1.12.4 + turbo-darwin-arm64: 1.12.4 + turbo-linux-64: 1.12.4 + turbo-linux-arm64: 1.12.4 + turbo-windows-64: 1.12.4 + turbo-windows-arm64: 1.12.4 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.1 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /update-check@1.5.4: + resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} + dependencies: + registry-auth-token: 3.3.2 + registry-url: 3.1.0 + dev: true + + /upper-case-first@1.1.2: + resolution: {integrity: sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==} + dependencies: + upper-case: 1.1.3 + dev: true + + /upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + builtins: 5.0.1 + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.0 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true + + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000..3ff5faaaf --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - "apps/*" + - "packages/*" diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..c8a018d0f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "@repo/typescript-config/base.json" +} diff --git a/turbo.json b/turbo.json new file mode 100644 index 000000000..781f27481 --- /dev/null +++ b/turbo.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://turbo.build/schema.json", + "globalDependencies": ["**/.env.*local"], + "pipeline": { + "build": { + "dependsOn": ["^build"], + "outputs": [".next/**", "!.next/cache/**"] + }, + "lint": { + "dependsOn": ["^lint"] + }, + "dev": { + "cache": false, + "persistent": true + } + } +} From 480e0abfa31639758d438b8b7215df23771c92eb Mon Sep 17 00:00:00 2001 From: Turbobot Date: Sat, 20 Apr 2024 15:11:58 +0530 Subject: [PATCH 018/107] feat(create-turbo): apply official-starter transform --- meta.json | 7 ------- package.json | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) delete mode 100644 meta.json diff --git a/meta.json b/meta.json deleted file mode 100644 index eff0c70a3..000000000 --- a/meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "Next.js", - "description": "Minimal Turborepo example for learning the fundamentals.", - "template": "https://vercel.com/templates/next.js/turborepo-next-basic", - "featured": true, - "boost": true -} diff --git a/package.json b/package.json index 5499891b7..cd68090ce 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "my-turborepo", + "name": "parser-js", "private": true, "scripts": { "build": "turbo build", @@ -11,7 +11,7 @@ "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "prettier": "^3.2.5", - "turbo": "^1.12.4" + "turbo": "latest" }, "packageManager": "pnpm@8.9.0", "engines": { From a88dd0a01d4177f187d0417d4f822af46252e5f0 Mon Sep 17 00:00:00 2001 From: Turbobot Date: Sat, 20 Apr 2024 15:11:58 +0530 Subject: [PATCH 019/107] feat(create-turbo): apply package-manager transform --- apps/docs/package.json | 6 +- apps/web/package.json | 6 +- package.json | 12 +- packages/ui/package.json | 4 +- pnpm-lock.yaml | 4971 -------------------------------------- pnpm-workspace.yaml | 3 - 6 files changed, 16 insertions(+), 4986 deletions(-) delete mode 100644 pnpm-lock.yaml delete mode 100644 pnpm-workspace.yaml diff --git a/apps/docs/package.json b/apps/docs/package.json index 26c951a0f..2dd1dee1f 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -9,15 +9,15 @@ "lint": "eslint . --max-warnings 0" }, "dependencies": { - "@repo/ui": "workspace:*", + "@repo/ui": "*", "next": "^14.1.1", "react": "^18.2.0", "react-dom": "^18.2.0" }, "devDependencies": { "@next/eslint-plugin-next": "^14.1.1", - "@repo/eslint-config": "workspace:*", - "@repo/typescript-config": "workspace:*", + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", "@types/eslint": "^8.56.5", "@types/node": "^20.11.24", "@types/react": "^18.2.61", diff --git a/apps/web/package.json b/apps/web/package.json index 5585437bc..a8434439b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -9,15 +9,15 @@ "lint": "eslint . --max-warnings 0" }, "dependencies": { - "@repo/ui": "workspace:*", + "@repo/ui": "*", "next": "^14.1.1", "react": "^18.2.0", "react-dom": "^18.2.0" }, "devDependencies": { "@next/eslint-plugin-next": "^14.1.1", - "@repo/eslint-config": "workspace:*", - "@repo/typescript-config": "workspace:*", + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", "@types/eslint": "^8.56.5", "@types/node": "^20.11.24", "@types/react": "^18.2.61", diff --git a/package.json b/package.json index cd68090ce..b9f443697 100644 --- a/package.json +++ b/package.json @@ -8,13 +8,17 @@ "format": "prettier --write \"**/*.{ts,tsx,md}\"" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", - "@repo/typescript-config": "workspace:*", + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", "prettier": "^3.2.5", "turbo": "latest" }, - "packageManager": "pnpm@8.9.0", "engines": { "node": ">=18" - } + }, + "packageManager": "npm@10.2.4", + "workspaces": [ + "apps/*", + "packages/*" + ] } diff --git a/packages/ui/package.json b/packages/ui/package.json index 4d5e99ef7..5ba651dd6 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -12,8 +12,8 @@ "generate:component": "turbo gen react-component" }, "devDependencies": { - "@repo/eslint-config": "workspace:*", - "@repo/typescript-config": "workspace:*", + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", "@turbo/gen": "^1.12.4", "@types/node": "^20.11.24", "@types/eslint": "^8.56.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index e27dca6a8..000000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,4971 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:packages/eslint-config - '@repo/typescript-config': - specifier: workspace:* - version: link:packages/typescript-config - prettier: - specifier: ^3.2.5 - version: 3.2.5 - turbo: - specifier: ^1.12.4 - version: 1.12.4 - - apps/docs: - dependencies: - '@repo/ui': - specifier: workspace:* - version: link:../../packages/ui - next: - specifier: ^14.1.1 - version: 14.1.1(react-dom@18.2.0)(react@18.2.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - devDependencies: - '@next/eslint-plugin-next': - specifier: ^14.1.1 - version: 14.1.1 - '@repo/eslint-config': - specifier: workspace:* - version: link:../../packages/eslint-config - '@repo/typescript-config': - specifier: workspace:* - version: link:../../packages/typescript-config - '@types/eslint': - specifier: ^8.56.5 - version: 8.56.5 - '@types/node': - specifier: ^20.11.24 - version: 20.11.24 - '@types/react': - specifier: ^18.2.61 - version: 18.2.61 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - eslint: - specifier: ^8.57.0 - version: 8.57.0 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - - apps/web: - dependencies: - '@repo/ui': - specifier: workspace:* - version: link:../../packages/ui - next: - specifier: ^14.1.1 - version: 14.1.1(react-dom@18.2.0)(react@18.2.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - devDependencies: - '@next/eslint-plugin-next': - specifier: ^14.1.1 - version: 14.1.1 - '@repo/eslint-config': - specifier: workspace:* - version: link:../../packages/eslint-config - '@repo/typescript-config': - specifier: workspace:* - version: link:../../packages/typescript-config - '@types/eslint': - specifier: ^8.56.5 - version: 8.56.5 - '@types/node': - specifier: ^20.11.24 - version: 20.11.24 - '@types/react': - specifier: ^18.2.61 - version: 18.2.61 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - eslint: - specifier: ^8.57.0 - version: 8.57.0 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - - packages/eslint-config: - devDependencies: - '@typescript-eslint/eslint-plugin': - specifier: ^7.1.0 - version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': - specifier: ^7.1.0 - version: 7.1.0(eslint@8.57.0)(typescript@5.3.3) - '@vercel/style-guide': - specifier: ^5.2.0 - version: 5.2.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-config-turbo: - specifier: ^1.12.4 - version: 1.12.4(eslint@8.57.0) - eslint-plugin-only-warn: - specifier: ^1.1.0 - version: 1.1.0 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - - packages/typescript-config: {} - - packages/ui: - devDependencies: - '@repo/eslint-config': - specifier: workspace:* - version: link:../eslint-config - '@repo/typescript-config': - specifier: workspace:* - version: link:../typescript-config - '@turbo/gen': - specifier: ^1.12.4 - version: 1.12.4(@types/node@20.11.24)(typescript@5.3.3) - '@types/eslint': - specifier: ^8.56.5 - version: 8.56.5 - '@types/node': - specifier: ^20.11.24 - version: 20.11.24 - '@types/react': - specifier: ^18.2.61 - version: 18.2.61 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - eslint: - specifier: ^8.57.0 - version: 8.57.0 - react: - specifier: ^18.2.0 - version: 18.2.0 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - -packages: - - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 - dev: true - - /@babel/code-frame@7.22.13: - resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.20 - chalk: 2.4.2 - dev: true - - /@babel/compat-data@7.23.3: - resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/core@7.23.3: - resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.3 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) - '@babel/helpers': 7.23.2 - '@babel/parser': 7.23.3 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.3 - '@babel/types': 7.23.3 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@8.57.0): - resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} - engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} - peerDependencies: - '@babel/core': ^7.11.0 - eslint: ^7.5.0 || ^8.0.0 - dependencies: - '@babel/core': 7.23.3 - '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 - eslint-visitor-keys: 2.1.0 - semver: 6.3.1 - dev: true - - /@babel/generator@7.23.3: - resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.3 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 - jsesc: 2.5.2 - dev: true - - /@babel/helper-compilation-targets@7.22.15: - resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.23.3 - '@babel/helper-validator-option': 7.22.15 - browserslist: 4.22.1 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: true - - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.3 - dev: true - - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.3 - dev: true - - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.3 - dev: true - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.3 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - dev: true - - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.3 - dev: true - - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.3 - dev: true - - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helpers@7.23.2: - resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.3 - '@babel/types': 7.23.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/highlight@7.22.20: - resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/parser@7.23.3: - resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.3 - dev: true - - /@babel/runtime-corejs3@7.22.10: - resolution: {integrity: sha512-IcixfV2Jl3UrqZX4c81+7lVg5++2ufYJyAFW3Aux/ZTvY6LVYYhJ9rMgnbX0zGVq6eqfVpnoatTjZdVki/GmWA==} - engines: {node: '>=6.9.0'} - dependencies: - core-js-pure: 3.32.1 - regenerator-runtime: 0.14.0 - dev: true - - /@babel/runtime@7.23.2: - resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - dev: true - - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.3 - '@babel/types': 7.23.3 - dev: true - - /@babel/traverse@7.23.3: - resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.3 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.3 - '@babel/types': 7.23.3 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types@7.23.3: - resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true - - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 - dev: true - - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.20: - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@microsoft/tsdoc-config@0.16.2: - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} - dependencies: - '@microsoft/tsdoc': 0.14.2 - ajv: 6.12.6 - jju: 1.4.0 - resolve: 1.19.0 - dev: true - - /@microsoft/tsdoc@0.14.2: - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - dev: true - - /@next/env@14.1.1: - resolution: {integrity: sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA==} - dev: false - - /@next/eslint-plugin-next@14.1.1: - resolution: {integrity: sha512-NP1WoGFnFLpqqCWgGFjnn/sTwUExdPyjeFKRdQP1X/bL/tjAQ/TXDmYqw6vzGaP5NaZ2u6xzg+N/0nd7fOPOGQ==} - dependencies: - glob: 10.3.10 - dev: true - - /@next/swc-darwin-arm64@14.1.1: - resolution: {integrity: sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-x64@14.1.1: - resolution: {integrity: sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@14.1.1: - resolution: {integrity: sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-musl@14.1.1: - resolution: {integrity: sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-x64-gnu@14.1.1: - resolution: {integrity: sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-x64-musl@14.1.1: - resolution: {integrity: sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-win32-arm64-msvc@14.1.1: - resolution: {integrity: sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@next/swc-win32-ia32-msvc@14.1.1: - resolution: {integrity: sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@next/swc-win32-x64-msvc@14.1.1: - resolution: {integrity: sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: - resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} - dependencies: - eslint-scope: 5.1.1 - dev: true - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: true - optional: true - - /@pkgr/utils@2.4.2: - resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - fast-glob: 3.3.1 - is-glob: 4.0.3 - open: 9.1.0 - picocolors: 1.0.0 - tslib: 2.6.2 - dev: true - - /@rushstack/eslint-patch@1.5.1: - resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==} - dev: true - - /@swc/helpers@0.5.2: - resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} - dependencies: - tslib: 2.6.2 - dev: false - - /@tootallnate/quickjs-emscripten@0.23.0: - resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - dev: true - - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true - - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true - - /@turbo/gen@1.12.4(@types/node@20.11.24)(typescript@5.3.3): - resolution: {integrity: sha512-3Z8KZ6Vnc2x6rr8sNJ4QNYpkAttLBfb91uPzDlFDY7vgJg+vfXT8YWyZznVL+19ZixF2C/F4Ucp4/YjG2e1drg==} - hasBin: true - dependencies: - '@turbo/workspaces': 1.12.4 - chalk: 2.4.2 - commander: 10.0.1 - fs-extra: 10.1.0 - inquirer: 8.2.6 - minimatch: 9.0.3 - node-plop: 0.26.3 - proxy-agent: 6.3.0 - ts-node: 10.9.1(@types/node@20.11.24)(typescript@5.3.3) - update-check: 1.5.4 - validate-npm-package-name: 5.0.0 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - supports-color - - typescript - dev: true - - /@turbo/workspaces@1.12.4: - resolution: {integrity: sha512-a1hF8Nr6MOeCpvlLR569dGTlzgRLj2Rxo6dTb4jtL+jhHwCb94A9kDPgcRnYGFr45mgulICarVaNZxDjw4/riQ==} - hasBin: true - dependencies: - chalk: 2.4.2 - commander: 10.0.1 - execa: 5.1.1 - fast-glob: 3.3.1 - fs-extra: 10.1.0 - gradient-string: 2.0.2 - inquirer: 8.2.6 - js-yaml: 4.1.0 - ora: 4.1.1 - rimraf: 3.0.2 - semver: 7.5.4 - update-check: 1.5.4 - dev: true - - /@types/eslint@8.56.5: - resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.12 - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - dependencies: - '@types/minimatch': 5.1.2 - '@types/node': 20.11.24 - dev: true - - /@types/inquirer@6.5.0: - resolution: {integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==} - dependencies: - '@types/through': 0.0.30 - rxjs: 6.6.7 - dev: true - - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} - dev: true - - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - - /@types/minimatch@5.1.2: - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - dev: true - - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} - dependencies: - undici-types: 5.26.5 - dev: true - - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true - - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - dev: true - - /@types/react-dom@18.2.19: - resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} - dependencies: - '@types/react': 18.2.61 - dev: true - - /@types/react@18.2.61: - resolution: {integrity: sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==} - dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.3 - csstype: 3.1.2 - dev: true - - /@types/scheduler@0.16.3: - resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} - dev: true - - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} - dev: true - - /@types/through@0.0.30: - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} - dependencies: - '@types/node': 20.11.24 - dev: true - - /@types/tinycolor2@1.4.6: - resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} - dev: true - - /@typescript-eslint/eslint-plugin@6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.17.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.17.0 - '@typescript-eslint/type-utils': 6.17.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.17.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.17.0 - debug: 4.3.4 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.2(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 7.1.0 - '@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 7.1.0 - debug: 4.3.4 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.2(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@6.17.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.17.0 - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.17.0 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.1.0 - '@typescript-eslint/types': 7.1.0 - '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 7.1.0 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - dev: true - - /@typescript-eslint/scope-manager@6.17.0: - resolution: {integrity: sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/visitor-keys': 6.17.0 - dev: true - - /@typescript-eslint/scope-manager@7.1.0: - resolution: {integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 7.1.0 - '@typescript-eslint/visitor-keys': 7.1.0 - dev: true - - /@typescript-eslint/type-utils@6.17.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.17.0(eslint@8.57.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.57.0 - ts-api-utils: 1.0.2(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) - '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.57.0 - ts-api-utils: 1.0.2(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/types@6.17.0: - resolution: {integrity: sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - - /@typescript-eslint/types@7.1.0: - resolution: {integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/typescript-estree@6.17.0(typescript@5.3.3): - resolution: {integrity: sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/visitor-keys': 6.17.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.2(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3): - resolution: {integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 7.1.0 - '@typescript-eslint/visitor-keys': 7.1.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.2(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) - eslint: 8.57.0 - eslint-scope: 5.1.1 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@6.17.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.17.0 - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.3.3) - eslint: 8.57.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 7.1.0 - '@typescript-eslint/types': 7.1.0 - '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) - eslint: 8.57.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@typescript-eslint/visitor-keys@6.17.0: - resolution: {integrity: sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.17.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@typescript-eslint/visitor-keys@7.1.0: - resolution: {integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 7.1.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vercel/style-guide@5.2.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3): - resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} - engines: {node: '>=16'} - peerDependencies: - '@next/eslint-plugin-next': '>=12.3.0 <15' - eslint: '>=8.48.0 <9' - prettier: '>=3.0.0 <4' - typescript: '>=4.8.0 <6' - peerDependenciesMeta: - '@next/eslint-plugin-next': - optional: true - eslint: - optional: true - prettier: - optional: true - typescript: - optional: true - dependencies: - '@babel/core': 7.23.3 - '@babel/eslint-parser': 7.23.3(@babel/core@7.23.3)(eslint@8.57.0) - '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.17.0(eslint@8.57.0)(typescript@5.3.3) - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.29.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.17.0)(eslint-plugin-import@2.29.0)(eslint@8.57.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.57.0)(typescript@5.3.3) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.6.0)(eslint@8.57.0) - eslint-plugin-react: 7.33.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - eslint-plugin-testing-library: 6.1.2(eslint@8.57.0)(typescript@5.3.3) - eslint-plugin-tsdoc: 0.2.17 - eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) - prettier: 3.2.5 - prettier-plugin-packagejson: 2.4.6(prettier@3.2.5) - typescript: 5.3.3 - transitivePeerDependencies: - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - jest - - supports-color - dev: true - - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.10.0 - dev: true - - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true - - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true - - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 - dev: true - - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 - dev: true - - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-string: 1.0.7 - dev: true - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 - dev: true - - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 - dev: true - - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 - dev: true - - /array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 - dev: true - - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - dev: true - - /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - dev: true - - /ast-types@0.13.4: - resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} - engines: {node: '>=4'} - dependencies: - tslib: 2.6.2 - dev: true - - /asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - dependencies: - has-symbols: 1.0.3 - dev: true - - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true - - /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} - dev: true - - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - dependencies: - dequal: 2.0.3 - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - - /basic-ftp@5.0.3: - resolution: {integrity: sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==} - engines: {node: '>=10.0.0'} - dev: true - - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} - dev: true - - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: true - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001593 - electron-to-chromium: 1.4.583 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.22.1) - dev: true - - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - dependencies: - semver: 7.5.4 - dev: true - - /bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} - dependencies: - run-applescript: 5.0.0 - dev: true - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - dev: false - - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} - dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camel-case@3.0.0: - resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - dev: true - - /caniuse-lite@1.0.30001593: - resolution: {integrity: sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==} - - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /change-case@3.1.0: - resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==} - dependencies: - camel-case: 3.0.0 - constant-case: 2.0.0 - dot-case: 2.1.1 - header-case: 1.0.1 - is-lower-case: 1.1.3 - is-upper-case: 1.1.2 - lower-case: 1.1.4 - lower-case-first: 1.0.2 - no-case: 2.3.2 - param-case: 2.1.1 - pascal-case: 2.0.1 - path-case: 2.1.1 - sentence-case: 2.1.1 - snake-case: 2.1.0 - swap-case: 1.1.2 - title-case: 2.1.1 - upper-case: 1.1.3 - upper-case-first: 1.1.2 - dev: true - - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true - - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true - - /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true - - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} - engines: {node: '>=6'} - dev: true - - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true - - /client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - dev: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /constant-case@2.0.0: - resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} - dependencies: - snake-case: 2.1.0 - upper-case: 1.1.3 - dev: true - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /core-js-pure@3.32.1: - resolution: {integrity: sha512-f52QZwkFVDPf7UEQZGHKx6NYxsxmVGJe5DIvbzOdRMJlmT6yv0KDjR8rmy3ngr/t5wU54c7Sp/qIJH0ppbhVpQ==} - requiresBuild: true - dev: true - - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - dev: true - - /damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dev: true - - /data-uri-to-buffer@5.0.1: - resolution: {integrity: sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==} - engines: {node: '>= 14'} - dev: true - - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: true - - /default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} - dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.2.0 - titleize: 3.0.0 - dev: true - - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - dev: true - - /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - dev: true - - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 - object-keys: 1.1.1 - dev: true - - /degenerator@5.0.1: - resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} - engines: {node: '>= 14'} - dependencies: - ast-types: 0.13.4 - escodegen: 2.1.0 - esprima: 4.0.1 - dev: true - - /del@5.1.0: - resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} - engines: {node: '>=8'} - dependencies: - globby: 10.0.2 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 3.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: true - - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: true - - /detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} - dev: true - - /detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dot-case@2.1.1: - resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==} - dependencies: - no-case: 2.3.2 - dev: true - - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dev: true - - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true - - /electron-to-chromium@1.4.583: - resolution: {integrity: sha512-93y1gcONABZ7uqYe/JWDVQP/Pj/sQSunF0HVAPdlg/pfBnOyBMLlQUxWvkqcljJg1+W6cjvPuYD+r1Th9Tn8mA==} - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: true - - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.12 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 - dev: true - - /es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} - dependencies: - asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-set-tostringtag: 2.0.2 - function-bind: 1.1.2 - get-intrinsic: 1.2.2 - globalthis: 1.0.3 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.6 - iterator.prototype: 1.1.2 - safe-array-concat: 1.0.1 - dev: true - - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 - dev: true - - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - dependencies: - hasown: 2.0.0 - dev: true - - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-config-turbo@1.12.4(eslint@8.57.0): - resolution: {integrity: sha512-5hqEaV6PNmAYLL4RTmq74OcCt8pgzOLnfDVPG/7PUXpQ0Mpz0gr926oCSFukywKKXjdum3VHD84S7Z9A/DqTAw==} - peerDependencies: - eslint: '>6.6.0' - dependencies: - eslint: 8.57.0 - eslint-plugin-turbo: 1.12.4(eslint@8.57.0) - dev: true - - /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.0): - resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} - engines: {node: '>= 4'} - peerDependencies: - eslint-plugin-import: '>=1.4.0' - dependencies: - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) - dev: true - - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - dependencies: - debug: 3.2.7 - is-core-module: 2.13.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.17.0)(eslint-plugin-import@2.29.0)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - dependencies: - debug: 4.3.4 - enhanced-resolve: 5.15.0 - eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) - fast-glob: 3.3.1 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 6.17.0(eslint@8.57.0)(typescript@5.3.3) - debug: 3.2.7 - eslint: 8.57.0 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.17.0)(eslint-plugin-import@2.29.0)(eslint@8.57.0) - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) - debug: 3.2.7 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} - peerDependencies: - eslint: '>=4.19.1' - dependencies: - escape-string-regexp: 1.0.5 - eslint: 8.57.0 - ignore: 5.3.1 - dev: true - - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0): - resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) - hasown: 2.0.0 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.3.3) - eslint: 8.57.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - '@babel/runtime': 7.23.2 - aria-query: 5.3.0 - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.15 - eslint: 8.57.0 - hasown: 2.0.0 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - dev: true - - /eslint-plugin-only-warn@1.1.0: - resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==} - engines: {node: '>=6'} - dev: true - - /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.6.0)(eslint@8.57.0): - resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} - peerDependencies: - eslint: '>=7' - eslint-plugin-jest: '>=25' - peerDependenciesMeta: - eslint-plugin-jest: - optional: true - dependencies: - eslint: 8.57.0 - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.57.0)(typescript@5.3.3) - dev: true - - /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-react@7.33.2(eslint@8.57.0): - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 - doctrine: 2.1.0 - es-iterator-helpers: 1.0.15 - eslint: 8.57.0 - estraverse: 5.3.0 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.hasown: 1.1.3 - object.values: 1.1.7 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.10 - dev: true - - /eslint-plugin-testing-library@6.1.2(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-Ra16FeBlonfbScOIdZEta9o+OxtwDqiUt+4UCpIM42TuatyLdtfU/SbwnIzPcAszrbl58PGwyZ9YGU9dwIo/tA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} - peerDependencies: - eslint: ^7.5.0 || ^8.0.0 - dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.3.3) - eslint: 8.57.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} - dependencies: - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - dev: true - - /eslint-plugin-turbo@1.12.4(eslint@8.57.0): - resolution: {integrity: sha512-3AGmXvH7E4i/XTWqBrcgu+G7YKZJV/8FrEn79kTd50ilNsv+U3nS2IlcCrQB6Xm2m9avGD9cadLzKDR1/UF2+g==} - peerDependencies: - eslint: '>6.6.0' - dependencies: - dotenv: 16.0.3 - eslint: 8.57.0 - dev: true - - /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.44.0' - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - ci-info: 3.9.0 - clean-regexp: 1.0.0 - eslint: 8.57.0 - esquery: 1.5.0 - indent-string: 4.0.0 - is-builtin-module: 3.2.1 - jsesc: 3.0.2 - lodash: 4.17.21 - pluralize: 8.0.0 - read-pkg-up: 7.0.1 - regexp-tree: 0.1.27 - regjsparser: 0.10.0 - semver: 7.5.4 - strip-indent: 3.0.0 - dev: true - - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: true - - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true - - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.2.7 - rimraf: 3.0.2 - dev: true - - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true - - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: true - - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - functions-have-names: 1.2.3 - dev: true - - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} - dependencies: - function-bind: 1.1.2 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.0 - dev: true - - /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - dev: true - - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - - /get-uri@6.0.1: - resolution: {integrity: sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==} - engines: {node: '>= 14'} - dependencies: - basic-ftp: 5.0.3 - data-uri-to-buffer: 5.0.1 - debug: 4.3.4 - fs-extra: 8.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /git-hooks-list@3.1.0: - resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} - dev: true - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.1 - dev: true - - /globby@10.0.2: - resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} - engines: {node: '>=8'} - dependencies: - '@types/glob': 7.2.0 - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.1 - glob: 7.2.3 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 4.0.0 - dev: true - - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.2 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - /gradient-string@2.0.2: - resolution: {integrity: sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - tinygradient: 1.1.5 - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.17.4 - dev: true - - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} - dependencies: - get-intrinsic: 1.2.2 - dev: true - - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true - - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true - - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /header-case@1.0.1: - resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - dev: true - - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - - /https-proxy-agent@7.0.1: - resolution: {integrity: sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} - dev: true - - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true - - /inquirer@7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - dev: true - - /inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 6.2.0 - dev: true - - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 - dev: true - - /ip@1.1.8: - resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} - dev: true - - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: true - - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - dev: true - - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - - /is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - dev: true - - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 - dev: true - - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.0 - dev: true - - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - dependencies: - call-bind: 1.0.5 - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - dependencies: - is-docker: 3.0.0 - dev: true - - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-lower-case@1.1.3: - resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==} - dependencies: - lower-case: 1.1.4 - dev: true - - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - dev: true - - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true - - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: true - - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 - dev: true - - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - dev: true - - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.5 - dev: true - - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} - dependencies: - which-typed-array: 1.1.13 - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-upper-case@1.1.2: - resolution: {integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==} - dependencies: - upper-case: 1.1.3 - dev: true - - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - dev: true - - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.5 - dev: true - - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - dev: true - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - - /isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - dependencies: - define-properties: 1.2.1 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 - set-function-name: 2.0.1 - dev: true - - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - dependencies: - array-includes: 3.1.7 - array.prototype.flat: 1.3.2 - object.assign: 4.1.4 - object.values: 1.1.7 - dev: true - - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: true - - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - dependencies: - language-subtag-registry: 0.3.22 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - - /log-symbols@3.0.0: - resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} - engines: {node: '>=8'} - dependencies: - chalk: 2.4.2 - dev: true - - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - dependencies: - js-tokens: 4.0.0 - - /lower-case-first@1.0.2: - resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==} - dependencies: - lower-case: 1.1.4 - dev: true - - /lower-case@1.1.4: - resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} - dev: true - - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - dev: true - - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: true - - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - dev: true - - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: false - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true - - /netmask@2.0.2: - resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} - engines: {node: '>= 0.4.0'} - dev: true - - /next@14.1.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 14.1.1 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001593 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) - optionalDependencies: - '@next/swc-darwin-arm64': 14.1.1 - '@next/swc-darwin-x64': 14.1.1 - '@next/swc-linux-arm64-gnu': 14.1.1 - '@next/swc-linux-arm64-musl': 14.1.1 - '@next/swc-linux-x64-gnu': 14.1.1 - '@next/swc-linux-x64-musl': 14.1.1 - '@next/swc-win32-arm64-msvc': 14.1.1 - '@next/swc-win32-ia32-msvc': 14.1.1 - '@next/swc-win32-x64-msvc': 14.1.1 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - - /no-case@2.3.2: - resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} - dependencies: - lower-case: 1.1.4 - dev: true - - /node-plop@0.26.3: - resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==} - engines: {node: '>=8.9.4'} - dependencies: - '@babel/runtime-corejs3': 7.22.10 - '@types/inquirer': 6.5.0 - change-case: 3.1.0 - del: 5.1.0 - globby: 10.0.2 - handlebars: 4.7.8 - inquirer: 7.3.3 - isbinaryfile: 4.0.10 - lodash.get: 4.4.2 - mkdirp: 0.5.6 - resolve: 1.22.8 - dev: true - - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true - - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true - - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true - - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - dev: true - - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - dev: true - - /object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} - dependencies: - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@4.1.1: - resolution: {integrity: sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==} - engines: {node: '>=8'} - dependencies: - chalk: 3.0.0 - cli-cursor: 3.1.0 - cli-spinners: 2.9.0 - is-interactive: 1.0.0 - log-symbols: 3.0.0 - mute-stream: 0.0.8 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.0 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true - - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /p-map@3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} - dependencies: - aggregate-error: 3.1.0 - dev: true - - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /pac-proxy-agent@7.0.0: - resolution: {integrity: sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA==} - engines: {node: '>= 14'} - dependencies: - '@tootallnate/quickjs-emscripten': 0.23.0 - agent-base: 7.1.0 - debug: 4.3.4 - get-uri: 6.0.1 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.1 - pac-resolver: 7.0.0 - socks-proxy-agent: 8.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /pac-resolver@7.0.0: - resolution: {integrity: sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==} - engines: {node: '>= 14'} - dependencies: - degenerator: 5.0.1 - ip: 1.1.8 - netmask: 2.0.2 - dev: true - - /param-case@2.1.1: - resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} - dependencies: - no-case: 2.3.2 - dev: true - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.22.13 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - - /pascal-case@2.0.1: - resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} - dependencies: - camel-case: 3.0.0 - upper-case-first: 1.1.2 - dev: true - - /path-case@2.1.1: - resolution: {integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==} - dependencies: - no-case: 2.3.2 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true - - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-plugin-packagejson@2.4.6(prettier@3.2.5): - resolution: {integrity: sha512-5JGfzkJRL0DLNyhwmiAV9mV0hZLHDwddFCs2lc9CNxOChpoWUQVe8K4qTMktmevmDlMpok2uT10nvHUyU59sNw==} - peerDependencies: - prettier: '>= 1.16.0' - peerDependenciesMeta: - prettier: - optional: true - dependencies: - prettier: 3.2.5 - sort-package-json: 2.6.0 - synckit: 0.8.5 - dev: true - - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - dev: true - - /proxy-agent@6.3.0: - resolution: {integrity: sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.1 - lru-cache: 7.18.3 - pac-proxy-agent: 7.0.0 - proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: true - - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 - dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 - dev: false - - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - dev: true - - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} - dependencies: - loose-envify: 1.4.0 - - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true - - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: true - - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - globalthis: 1.0.3 - which-builtin-type: 1.1.3 - dev: true - - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - dev: true - - /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - dev: true - - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - set-function-name: 2.0.1 - dev: true - - /registry-auth-token@3.3.2: - resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} - dependencies: - rc: 1.2.8 - safe-buffer: 5.2.1 - dev: true - - /registry-url@3.1.0: - resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} - engines: {node: '>=0.10.0'} - dependencies: - rc: 1.2.8 - dev: true - - /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true - dependencies: - jsesc: 0.5.0 - dev: true - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true - - /resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - dev: true - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} - dependencies: - execa: 5.1.1 - dev: true - - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - dependencies: - tslib: 1.14.1 - dev: true - - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - dependencies: - tslib: 2.6.2 - dev: true - - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-regex: 1.1.4 - dev: true - - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - dependencies: - loose-envify: 1.4.0 - dev: false - - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true - - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /sentence-case@2.1.1: - resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} - dependencies: - no-case: 2.3.2 - upper-case-first: 1.1.2 - dev: true - - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - dev: true - - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.1 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 - dev: true - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - object-inspect: 1.13.1 - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true - - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: true - - /snake-case@2.1.0: - resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==} - dependencies: - no-case: 2.3.2 - dev: true - - /socks-proxy-agent@8.0.1: - resolution: {integrity: sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: true - - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.0 - smart-buffer: 4.2.0 - dev: true - - /sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - dev: true - - /sort-package-json@2.6.0: - resolution: {integrity: sha512-XSQ+lY9bAYA8ZsoChcEoPlgcSMaheziEp1beox1JVxy1SV4F2jSq9+h2rJ+3mC/Dhu9Ius1DLnInD5AWcsDXZw==} - hasBin: true - dependencies: - detect-indent: 7.0.1 - detect-newline: 4.0.1 - get-stdin: 9.0.0 - git-hooks-list: 3.1.0 - globby: 13.2.2 - is-plain-obj: 4.1.0 - sort-object-keys: 1.1.3 - dev: true - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: false - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.16 - dev: true - - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true - - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.16 - dev: true - - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} - dev: true - - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: true - - /string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 - set-function-name: 2.0.1 - side-channel: 1.0.4 - dev: true - - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: true - - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /styled-jsx@5.1.1(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - client-only: 0.0.1 - react: 18.2.0 - dev: false - - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /swap-case@1.1.2: - resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} - dependencies: - lower-case: 1.1.4 - upper-case: 1.1.3 - dev: true - - /synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/utils': 2.4.2 - tslib: 2.6.2 - dev: true - - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tinycolor2@1.6.0: - resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - dev: true - - /tinygradient@1.1.5: - resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} - dependencies: - '@types/tinycolor2': 1.4.6 - tinycolor2: 1.6.0 - dev: true - - /title-case@2.1.1: - resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - dev: true - - /titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - dev: true - - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /ts-api-utils@1.0.2(typescript@5.3.3): - resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.3.3 - dev: true - - /ts-node@10.9.1(@types/node@20.11.24)(typescript@5.3.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.24 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - /tsutils@3.21.0(typescript@5.3.3): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.3.3 - dev: true - - /turbo-darwin-64@1.12.4: - resolution: {integrity: sha512-dBwFxhp9isTa9RS/fz2gDVk5wWhKQsPQMozYhjM7TT4jTrnYn0ZJMzr7V3B/M/T8QF65TbniW7w1gtgxQgX5Zg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /turbo-darwin-arm64@1.12.4: - resolution: {integrity: sha512-1Uo5iI6xsJ1j9ObsqxYRsa3W26mEbUe6fnj4rQYV6kDaqYD54oAMJ6hM53q9rB8JvFxwdrUXGp3PwTw9A0qqkA==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /turbo-linux-64@1.12.4: - resolution: {integrity: sha512-ONg2aSqKP7LAQOg7ysmU5WpEQp4DGNxSlAiR7um+LKtbmC/UxogbR5+T+Uuq6zGuQ5kJyKjWJ4NhtvUswOqBsA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /turbo-linux-arm64@1.12.4: - resolution: {integrity: sha512-9FPufkwdgfIKg/9jj87Cdtftw8o36y27/S2vLN7FTR2pp9c0MQiTBOLVYadUr1FlShupddmaMbTkXEhyt9SdrA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /turbo-windows-64@1.12.4: - resolution: {integrity: sha512-2mOtxHW5Vjh/5rDVu/aFwsMzI+chs8XcEuJHlY1sYOpEymYTz+u6AXbnzRvwZFMrLKr7J7fQOGl+v96sLKbNdA==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /turbo-windows-arm64@1.12.4: - resolution: {integrity: sha512-nOY5wae9qnxPOpT1fRuYO0ks6dTwpKMPV6++VkDkamFDLFHUDVM/9kmD2UTeh1yyrKnrZksbb9zmShhmfj1wog==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /turbo@1.12.4: - resolution: {integrity: sha512-yUJ7elEUSToiGwFZogXpYKJpQ0BvaMbkEuQECIWtkBLcmWzlMOt6bActsIm29oN83mRU0WbzGt4e8H1KHWedhg==} - hasBin: true - optionalDependencies: - turbo-darwin-64: 1.12.4 - turbo-darwin-arm64: 1.12.4 - turbo-linux-64: 1.12.4 - turbo-linux-arm64: 1.12.4 - turbo-windows-64: 1.12.4 - turbo-windows-arm64: 1.12.4 - dev: true - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true - - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true - - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true - - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - dependencies: - call-bind: 1.0.5 - for-each: 0.3.3 - is-typed-array: 1.1.12 - dev: true - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true - - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.5 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true - - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true - - /update-browserslist-db@1.0.13(browserslist@4.22.1): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.22.1 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - - /update-check@1.5.4: - resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} - dependencies: - registry-auth-token: 3.3.2 - registry-url: 3.1.0 - dev: true - - /upper-case-first@1.1.2: - resolution: {integrity: sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==} - dependencies: - upper-case: 1.1.3 - dev: true - - /upper-case@1.1.3: - resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true - - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - dev: true - - /validate-npm-package-name@5.0.0: - resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - builtins: 5.0.1 - dev: true - - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - dev: true - - /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} - dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.13 - dev: true - - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} - dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 - dev: true - - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true - - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index 3ff5faaaf..000000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,3 +0,0 @@ -packages: - - "apps/*" - - "packages/*" From 6e2463cfa3b2e15af3d4d4b0b3f6bead34aa0876 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 20 Apr 2024 15:25:47 +0530 Subject: [PATCH 020/107] initial commit --- apps/web/.eslintrc.js | 9 - apps/web/README.md | 28 - apps/web/app/favicon.ico | Bin 8267 -> 0 bytes apps/web/app/globals.css | 50 - apps/web/app/layout.tsx | 22 - apps/web/app/page.module.css | 335 -- apps/web/app/page.tsx | 144 - apps/web/next-env.d.ts | 5 - apps/web/next.config.js | 4 - apps/web/package.json | 28 - apps/web/public/circles.svg | 17 - apps/web/public/next.svg | 1 - apps/web/public/turborepo.svg | 32 - apps/web/public/vercel.svg | 1 - apps/web/tsconfig.json | 18 - package-lock.json | 8517 +++++++++++++++++++++++++++++++++ 16 files changed, 8517 insertions(+), 694 deletions(-) delete mode 100644 apps/web/.eslintrc.js delete mode 100644 apps/web/README.md delete mode 100644 apps/web/app/favicon.ico delete mode 100644 apps/web/app/globals.css delete mode 100644 apps/web/app/layout.tsx delete mode 100644 apps/web/app/page.module.css delete mode 100644 apps/web/app/page.tsx delete mode 100644 apps/web/next-env.d.ts delete mode 100644 apps/web/next.config.js delete mode 100644 apps/web/package.json delete mode 100644 apps/web/public/circles.svg delete mode 100644 apps/web/public/next.svg delete mode 100644 apps/web/public/turborepo.svg delete mode 100644 apps/web/public/vercel.svg delete mode 100644 apps/web/tsconfig.json create mode 100644 package-lock.json diff --git a/apps/web/.eslintrc.js b/apps/web/.eslintrc.js deleted file mode 100644 index 7d644a4ca..000000000 --- a/apps/web/.eslintrc.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: ["@repo/eslint-config/next.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: true, - }, -}; diff --git a/apps/web/README.md b/apps/web/README.md deleted file mode 100644 index 3d7b63af7..000000000 --- a/apps/web/README.md +++ /dev/null @@ -1,28 +0,0 @@ -## Getting Started - -First, run the development server: - -```bash -yarn dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -To create [API routes](https://nextjs.org/docs/app/building-your-application/routing/router-handlers) add an `api/` directory to the `app/` directory with a `route.ts` file. For individual endpoints, create a subfolder in the `api` directory, like `api/hello/route.ts` would map to [http://localhost:3000/api/hello](http://localhost:3000/api/hello). - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn/foundations/about-nextjs) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/web/app/favicon.ico b/apps/web/app/favicon.ico deleted file mode 100644 index 3f804c026c253d52f61b6f70ec351d1044e6bd8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8267 zcma)hcQjmI)b^b*7~SY4LI%-BkKUOPCHjn#MD!ZHcS9r@Eus^hh~7oiC_w~4)Tlua zqW2m;zkj~9zCXV8zU!`Y_PYB#&wkFi>#no*IXhBU`ym-I6EOe)Wa?^2{af4dUxO0d z_WE;9gtrD_r=+C>05x$WR~GoU?`&3T`dR=Ga327$5dd&;>%y)BfVU6;{51yv=`;YK zcgt+nlf4}vu+)5r1aAI&a@&d$Z#_hAY9^ilK#usYfzC5_C~uvFUg}yX!Zl)AN`QD? ztH=}p?$)X!mC$}O+gbi;G!sp)f9)O(0<}1%-(vmC#01n;dhERn?&>4Rf@PMDZZSO? zH~K1D??;yT?$O*Ymc@9Bp#|JO8t>bqkp;!wX-HH&r|KNNqVdF!lvyKcZDsQagKV$1EaO>G5b~z{lm=@dy$&R=zMh z$~8;>m{`9UYHRNqtrEIcfH!g!G7_&7)}AYiwGg*jjjhkXeDedLsazlaYV&bda z!kW-UlG`Oz>JSA)xE3IC^@=>QT+)3)yJP7U@qbWLP8^{qW1_A44v1p|#K|5f`uysi z*44qcK=Yv>KpS@8T=vjmJkP=CKKbp^qLMcWLRWFX;y}k!rel4V@f`=FUe0F#?JFfd z41^%9qiC>5&sVcWM1XmqK+v1=*=SsHnofW|qwlM8(FeHj2#ptgSPgRDCdmx+H-n z!gy#1U%256Ke}>>Whht4X$BLi{PH-Pi&&0pBebGnI?vMD*l@)SMeyFV$Ok$$9rK%! z=lN)*h95?5LZ@0#0c->5TC6Wi{2dY?lt20}u?=Wunp&rfFra*c7f|#xZIvCd0#6h}_^^5&RT5KWKWh@1Zd>KLQiPlEtP!{wfoLI^)@EiqLGwx*tT>x8(9a z1B7$K;*Ax|DXZCq7=EU7eE!T;t-f>mINXhs6~s!7^nU_E5IiHe#%~29sN7qF?8mjR zd||&6wwNM*#3ZK^rI=6(0))kmWYvV#3e~JaN#?mNmSjS#evmXgS)OHX-5m}&=$B*e zCtTyEIr&>pc=Whi0SzQ35X6oRFgHt>_qd8->zhEBH{)8LOiqMPFY+#?Asqz~cs^F; ztyyaR_+`tHF{Mn4&mnlL+@rtj2>Yl8Nyo4<$bQ_JxXHtUIYsj{CJBmtal#^JktKXe z5N4Y^6UZcSO7saP-V+dlH9khlBQ}U*FKiZfB4*A-d%smB{LKvV1JNjA0>NBVq*oQA zl{&C;AcW#60^alRT}E++feLl!sDO5DM@UTK*Tmg?KoBci>`1^s@&L#vG|dq)Mpcg; zZsw<|PC4-NKaF+s81xQev7zrBh`@qrduJK}RHmn$dxVQ#Fq5a_Cb0pqz26L*g$%DeqhvF^ zUi*Q7(q~PU2X}-OaX35?F{`Z7t8Z$x7W%3*FywdzqJ4%GVctj_~ z2w|fsrpjQ#C4QKRD;1#cHm=$>={Z;T?In=GEB^bT<9o+Fhbd0f8s0IymivG)@rWRT zwHuu?!EI*Qig;9tC*H@Xi21~E=2w4@A_O{E@MrbeRe|0Yo{k*LQXOB8Nt?+4CpS@S zDLKJi$VHK9DzPQL+k2cW&Bl7<%xk7K@cs%+_r#)AHXiv!qWCt{DRB1-#r2yb@Q&Vu zUi=$*Q+Wb%yoKmO@vcJkm!@;(klfNhDr0?@Y#&qJB1LFqLATN~P$s z;i*4!jO*iF#9K_P=c9@b#uli=Nu$<4r?(oEQ!vf!WdU|cY43|I5_VXJ=Nc#X7M9LP^t%sfHUufWA@EL5HOH_}JWceG^FVMy z4LqW8S9LMs$L!E{4}=iMw(4r5DpH$7u2k<26?BHybziE%hsFGpCX|i7%>uSDd)}(H z_$#1nQ}Ho}LCR|83$OyOho4x2Zz(c8QNWF$QF{~3VqJp&4ndgSb zfm^7Mf%e)Z-@g_+S|lE@EzeqiUA?>2d=DcCgs1lM8*ramnb+fDsN<2o9?175$PltE zt?DDqchcs{>w1i~l!)}F!nm>thwkQ5Iz<6PyR%rgVG;AHe0DxbRb)2k1e~pzcSeo* zxL12GxoWx)`9PKWjyQ-U^v+^rpj}NZ%bNnsx*x&z)Hw<~^5D-H zFZ9QVzMgAYQa}DqOJAdjuC+D0Z?D6fW8gKk)DtEmaiz3C=c3MNkGoSLB2Zcdxo~ft zUSirRA0|zL`^&yODqH-@e!&q|YzvBcR9*fJzU;%#ObtJf$ln@kVSkW-?6tkIM7!Sy zTlg9!S80G&JUq4&b=_S-3K}inQ6iBm3xo}N{H@uk@%1yG0bb6 zEX4y(^jydiE!>!(38th_ITmY*ZheeTxv=DN=1sLmCVZe7F5B&17n)WV^K1m&8jH~dKv!1Xyqo3>nRhqB+y=Z# z^I4G05_K$A5Je43Bl9ItQwB5#_E$ejm57f|`*24+6ZViHctvZOy?p9L{Ju37z}8s*RY+kGst5xt)_qAj)c{ ztAz^*zFdoi=D+t}I*So^e7kmqCNsq6jm}aBn8jEt)V%A2Zbkz_k0YSn-$`|2HFG&g z7nh-@Sxi#wO{Z1@AAEm;RBc}BF(Z8K+m9SfuW4%T{9Vc)o#4iDJYri=Z;2P)^BJ6~ zBGYW){ize)xr2mgE1MY>0LnQJY-%--b6=ZvayYJ1NaQm`c=;X^HsZmM!|qS9jx>sX ztrrKz$v${i@JLq>zJjiXrjN}m=-CITqba(P$t>K6dN)wk_w~QUu8_ox$>r|-fUR2@0Gw=r8*Q57O8pb3JTC+KrtN!V< zSUGOi<^)?@Csm7`5z~`VSP(AGL;BSrn0bbu@HI<$B2gCl?;C*0Gb;YRYSM{4bIX8Eck6yYCRKp;gOU1b`Fd)EmS6N>mRXrXVsJyEg zyM8j=@H8ax903rNIV!-^EgK?fF%|eHTDiq; zhp^|LBrGQvJh@dMxJ2LjgH*-*Eb;`Z6qWgfh4XG9nOzPD@MHOzAs%7;V5OnO3mJ@X zsZ70q|7>iueu_%Ic9%hlAn=`rl-9T$D)N20I!!Rzjrn=4Xu=yACiV%=|h%K$<_;!9qEige-fVkcBBDrq zo5r_3pYI0l!xg>Hqs9VdgiU^xXd8^ZYgdLGj=5A8r^fF2XU!p6sKNp_w@_c<=|7-dm*(T90b^9~S| z20-@aBch&Yt4;RHG1Ki>qZM3<7fvmaiZ6*e`bm1S_0=H8kqKmb0=J|v5{&mQWPmSy zE_(Nvh)#-coS^t+@Zt8^ZE{{cB(5|EHQ$Jt;^|Z^5`|fh-=$ePnpG3fvL|!PD3y*x zQPVdi)rdy^I;i7^!H1_UvYZ1`;ox$2y49{oz$1j1v!s?9=G106yGu_R#t+{GpSJwP zL5~RU8cuvBN?~Nge5WMs{%s31#SX(wkr(Wz?}F5)VPzvSw+#wi z56a0PcrixmL05?Z%cKIa8G-HUK_Z5HqNge%+9E8|H#=uNs#T2oB%s<+tTkb{~-{(F~5C0n3s>K%m;2Tg7hF^N| zw)AdAsf|so-o#^!92#Rs{PuA8k_uC-^Fu^%&y4%EHnTv&{obNaV zFZHG?cvMDlPqr(X%9_Pk)6e%H{2M=}Ql)Zg@_E4IzP`wKOh zqj9_`D6LZ;qI6POX6*=#R#Q4myb#T19EYEv`1H%tj+K{_#HrJ4WJno>svX{6zJDp~ z{44TOu-;K%Y@6bZNLi-#p7n8K0X_q@_!%fEg)i38x!UK``IQ_oQ#0e%#V*9s^^Mh@ z%2Tj$?GxuIY+ReV%pI>3c=QUVnTP85v?tiplYsx`P3?}Wz2Ey@2GQ@uCoVF%SvbWl z*UqdBPkBpPETZYqJ3_{?@#v33NgJ;|3-VgkoIgE@I@oCO5iHW$XK(EZzk-%3$}s2`Xu3Se#7>{UY|FyZXhf0&dKlUFQBUWm{r3Z&`~bzTplvlsoZQi@>8^I^{x^S-iHTC^^^dbESmHI;`+*MtV^Sp*dsU@VDxr}wE!hycaQIN3mL*MuUlFm$3_kHK#DB(>-hQRL(K8sDO}`=lHOnLm+L4xJKQua&fjKrqLa4^IEZ&SqZkU3+o{L_cU#v#i`;B%~on35{~c2{UkJ&XmO&L z_MdTGS>l{9uvT~ZWY6YCpgX!46>k(qg55^0jOY{I&>l;KPDBOw7LzB>9ei-BF0D;b zAu;Yrckq2$Dhgo9FI-&Zx8>>kSanP5ZHDDmLiPDH*q=9NaSaqzAj%d>%{biJ?hrX8 zDo^oq;m9SlkZZ}Fd9N(U#4?;lZ)A}nE~vjV3N>WHgAmrT{<~9Vq2_)b+iB{zm+Q^n zaUkpG*Ti1+8$5Q?1~`is03TQdiB)uYOUhu+nOwpts*P_KKkEOZ|squgjI;hjc5%@?|a6 zbJON+&BZR7l#7l+Lfog9K)7*s+c(xYb)q}I@}Lwd>t~_(ep08GUEGzCdJYVex^*_Y z{9J6K=BVbERrB*W#rVU@rls6p&0D)3#S9?DjMU{b!q6uvVb^J#TA$RE<2gKp{{@1A zq4{4cC}Bl#ME7pH=dl}yXC!T%<~99z8WKAvyWi`|nuC@p(A5J2BcS77@jY6hh~+a6 zg3u?~N`vXOXFhi4MZB>aggSF#d;`|aLwx*dN}H8E9Uu*>AV5;sI!wP6^eZ3Fu4kOcMn zF*$=5;`zJJcXTIps8|}rA$B&E@@Z%7G3|LBu|(DT^93zUp$c5|!&hQQ&L2)F%kDU! zUX`iEdB6DaHUWCw@WF)QO3PrCJfv6z#36UfZMpvLTm#p6%ud0Uei`^VU@V*?Rh?MG zcQ>jYOEfWt9hi3`KR7FLg%UJ3MggfSB%Lg(Y-*_S*F--HkSMfe||GReVjAz zJg7SFTr~y}WqZEviXteD2N@O`wRp@jC1Kt|%Y`MJYxkpsxpbtO@*AW{;`xAMR}g>I;-S zevuN6a0p%v|+ z7wRU1fwxl`@|GKKRdnTE({!<<3CJf+T)YfZ_1*`(1tpQ(fFD>9`|77|^wYO8+d zJKA9z`Vu~bR{Q_TgTzx%d0PwG-p45yWg8|7Q_HfA%32S$Sv7YrzUIvV&A<97Cx$7d7%j=f)}5>dy^T`8%P)e+|W0FRulA{kcsKXYW3dn)ufAZfVfyKEqPB&^_-<@Pz-FV6dc#X+KB zuRi0IciB5H@S}0g_x*%lJe|~rI@mf~|`1ZJ)W9)H6h$|8O=;ry4-V%0dw%8h2R6a%S` zC>JseFEK#uAanaK!M;ztdPjd- zief6z_rk@vN6Ozl$w=i4m(aaipVm@)(3v^^!r4OSZYv6mm+dOj0G$gK<+z<6ip$4#cq5E6cGm!&n>ckCu%gV&aC1e@FL5YDd^^V`?7 zur>2_32@(NQG#pADO_0E@m64+q39!2`FVzLGh2b!;l<5A$M$T&+lm)eJZdZzk76|h z7^&C{d@C#y#)2JXwPvf9>ar~kAzv9&o*HNR7WGk(!D>PE$h0io7v)`&w#BSw`-91f z{y1>sRg~|8)Bi;w`2RwL_iyeg`kt*Gm-OEjv^l*{#$MJIUN+KJ9yYfI5D^j);TIO- z7ZFAai%Sa$Nec_{-S$F4gY9KT{|~|0)!M<<|Nl>DTc+N;B{2S{VBl)&S&z+)#7up*&mr`AlQ!J}qFVjq05#$&HTvkm+l@9Q4yzSB)OfK|)Y a5CHzt!@LfZ#gcC&0Cki$vQpVR{Qm$*Br?$e diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css deleted file mode 100644 index 8eee6cbd4..000000000 --- a/apps/web/app/globals.css +++ /dev/null @@ -1,50 +0,0 @@ -:root { - --max-width: 1100px; - --border-radius: 12px; - --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", - "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", - "Fira Mono", "Droid Sans Mono", "Courier New", monospace; - - --foreground-rgb: 255, 255, 255; - --background-start-rgb: 0, 0, 0; - --background-end-rgb: 0, 0, 0; - - --callout-rgb: 20, 20, 20; - --callout-border-rgb: 108, 108, 108; - --card-rgb: 100, 100, 100; - --card-border-rgb: 200, 200, 200; - - --glow-conic: conic-gradient( - from 180deg at 50% 50%, - #2a8af6 0deg, - #a853ba 180deg, - #e92a67 360deg - ); -} - -* { - box-sizing: border-box; - padding: 0; - margin: 0; -} - -html, -body { - max-width: 100vw; - overflow-x: hidden; -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient( - to bottom, - transparent, - rgb(var(--background-end-rgb)) - ) - rgb(var(--background-start-rgb)); -} - -a { - color: inherit; - text-decoration: none; -} diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx deleted file mode 100644 index 5f90d111f..000000000 --- a/apps/web/app/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import "./globals.css"; -import type { Metadata } from "next"; -import { Inter } from "next/font/google"; - -const inter = Inter({ subsets: ["latin"] }); - -export const metadata: Metadata = { - title: "Create Turborepo", - description: "Generated by create turbo", -}; - -export default function RootLayout({ - children, -}: { - children: React.ReactNode; -}): JSX.Element { - return ( - - {children} - - ); -} diff --git a/apps/web/app/page.module.css b/apps/web/app/page.module.css deleted file mode 100644 index 98481c6a2..000000000 --- a/apps/web/app/page.module.css +++ /dev/null @@ -1,335 +0,0 @@ -.main { - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - padding: 6rem; - min-height: 100vh; -} - -.vercelLogo { - filter: invert(1); -} - -.description { - display: inherit; - justify-content: inherit; - align-items: inherit; - font-size: 0.85rem; - max-width: var(--max-width); - width: 100%; - z-index: 2; - font-family: var(--font-mono); -} - -.description a { - display: flex; - justify-content: center; - align-items: center; - gap: 0.5rem; -} - -.description p { - position: relative; - margin: 0; - padding: 1rem; - background-color: rgba(var(--callout-rgb), 0.5); - border: 1px solid rgba(var(--callout-border-rgb), 0.3); - border-radius: var(--border-radius); -} - -.code { - font-weight: 700; - font-family: var(--font-mono); -} - -.hero { - display: flex; - position: relative; - place-items: center; -} - -.heroContent { - display: flex; - position: relative; - z-index: 0; - padding-bottom: 4rem; - flex-direction: column; - gap: 2rem; - justify-content: space-between; - align-items: center; - width: auto; - font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, - "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", - "Segoe UI Symbol", "Noto Color Emoji"; - padding-top: 48px; - - @media (min-width: 768px) { - padding-top: 4rem; - padding-bottom: 6rem; - } - @media (min-width: 1024px) { - padding-top: 5rem; - padding-bottom: 8rem; - } -} - -.logos { - display: flex; - z-index: 50; - justify-content: center; - align-items: center; - width: 100%; -} - -.grid { - display: grid; - grid-template-columns: repeat(4, minmax(25%, auto)); - max-width: 100%; - width: var(--max-width); -} - -.card { - padding: 1rem 1.2rem; - border-radius: var(--border-radius); - background: rgba(var(--card-rgb), 0); - border: 1px solid rgba(var(--card-border-rgb), 0); - transition: background 200ms, border 200ms; -} - -.card span { - display: inline-block; - transition: transform 200ms; -} - -.card h2 { - font-weight: 600; - margin-bottom: 0.7rem; -} - -.card p { - margin: 0; - opacity: 0.6; - font-size: 0.9rem; - line-height: 1.5; - max-width: 30ch; -} - -@media (prefers-reduced-motion) { - .card:hover span { - transform: none; - } -} - -/* Mobile */ -@media (max-width: 700px) { - .content { - padding: 4rem; - } - - .grid { - grid-template-columns: 1fr; - margin-bottom: 120px; - max-width: 320px; - text-align: center; - } - - .card { - padding: 1rem 2.5rem; - } - - .card h2 { - margin-bottom: 0.5rem; - } - - .center { - padding: 8rem 0 6rem; - } - - .center::before { - transform: none; - height: 300px; - } - - .description { - font-size: 0.8rem; - } - - .description a { - padding: 1rem; - } - - .description p, - .description div { - display: flex; - justify-content: center; - position: fixed; - width: 100%; - } - - .description p { - align-items: center; - inset: 0 0 auto; - padding: 2rem 1rem 1.4rem; - border-radius: 0; - border: none; - border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); - background: linear-gradient( - to bottom, - rgba(var(--background-start-rgb), 1), - rgba(var(--callout-rgb), 0.5) - ); - background-clip: padding-box; - backdrop-filter: blur(24px); - } - - .description div { - align-items: flex-end; - pointer-events: none; - inset: auto 0 0; - padding: 2rem; - height: 200px; - background: linear-gradient( - to bottom, - transparent 0%, - rgb(var(--background-end-rgb)) 40% - ); - z-index: 1; - } -} - -/* Enable hover only on non-touch devices */ -@media (hover: hover) and (pointer: fine) { - .card:hover { - background: rgba(var(--card-rgb), 0.1); - border: 1px solid rgba(var(--card-border-rgb), 0.15); - } - - .card:hover span { - transform: translateX(4px); - } -} - -.circles { - position: absolute; - min-width: 614px; - min-height: 614px; - pointer-events: none; -} - -.logo { - z-index: 50; - width: 120px; - height: 120px; -} - -.logoGradientContainer { - display: flex; - position: absolute; - z-index: 50; - justify-content: center; - align-items: center; - width: 16rem; - height: 16rem; -} - -.turborepoWordmarkContainer { - display: flex; - z-index: 50; - padding-left: 1.5rem; - padding-right: 1.5rem; - flex-direction: column; - gap: 1.25rem; - justify-content: center; - align-items: center; - text-align: center; - - @media (min-width: 1024px) { - gap: 1.5rem; - } -} - -.turborepoWordmark { - width: 160px; - fill: white; - - @media (min-width: 768px) { - width: 200px; - } -} - -.code { - font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", - monospace; - font-weight: 700; -} - -/* Tablet and Smaller Desktop */ -@media (min-width: 701px) and (max-width: 1120px) { - .grid { - grid-template-columns: repeat(2, 50%); - } -} - -/* Gradients */ -.gradient { - position: absolute; - mix-blend-mode: normal; - will-change: filter; - pointer-events: none; -} - -.gradientSmall { - filter: blur(32px); -} - -.gradientLarge { - filter: blur(75px); -} - -.glowConic { - background-image: var(--glow-conic); -} - -.logoGradient { - opacity: 0.9; - width: 120px; - height: 120px; -} - -.backgroundGradient { - top: -500px; - width: 1000px; - height: 1000px; - opacity: 0.15; -} - -.button { - background-color: #ffffff; - border-radius: 8px; - border-style: none; - box-sizing: border-box; - color: #000000; - cursor: pointer; - display: inline-block; - font-size: 16px; - height: 40px; - line-height: 20px; - list-style: none; - margin: 0; - outline: none; - padding: 10px 16px; - position: relative; - text-align: center; - text-decoration: none; - transition: color 100ms; - vertical-align: baseline; - user-select: none; - -webkit-user-select: none; - touch-action: manipulation; -} - -.button:hover, -.button:focus { - background-color: #e5e4e2; -} diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx deleted file mode 100644 index 95186e8b2..000000000 --- a/apps/web/app/page.tsx +++ /dev/null @@ -1,144 +0,0 @@ -import Image from "next/image"; -import { Card } from "@repo/ui/card"; -import { Code } from "@repo/ui/code"; -import styles from "./page.module.css"; -import { Button } from "@repo/ui/button"; - -function Gradient({ - conic, - className, - small, -}: { - small?: boolean; - conic?: boolean; - className?: string; -}): JSX.Element { - return ( - - ); -} - -const LINKS = [ - { - title: "Docs", - href: "https://turbo.build/repo/docs", - description: "Find in-depth information about Turborepo features and API.", - }, - { - title: "Learn", - href: "https://turbo.build/repo/docs/handbook", - description: "Learn more about monorepos with our handbook.", - }, - { - title: "Templates", - href: "https://turbo.build/repo/docs/getting-started/from-example", - description: "Choose from over 15 examples and deploy with a single click.", - }, - { - title: "Deploy", - href: "https://vercel.com/new", - description: - "Instantly deploy your Turborepo to a shareable URL with Vercel.", - }, -]; - -export default function Page(): JSX.Element { - return ( -
-
-

- examples/basic  - web -

- -
- - - -
-
-
-
- -
-
- -
- -
- Turborepo -
-
- -
- - Turborepo logo - - - - - - - - - - -
-
-
- -
- {LINKS.map(({ title, href, description }) => ( - - {description} - - ))} -
-
- ); -} diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts deleted file mode 100644 index 4f11a03dc..000000000 --- a/apps/web/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/web/next.config.js b/apps/web/next.config.js deleted file mode 100644 index a5b0aec2b..000000000 --- a/apps/web/next.config.js +++ /dev/null @@ -1,4 +0,0 @@ -/** @type {import('next').NextConfig} */ -module.exports = { - transpilePackages: ["@repo/ui"], -}; diff --git a/apps/web/package.json b/apps/web/package.json deleted file mode 100644 index a8434439b..000000000 --- a/apps/web/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "web", - "version": "1.0.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "eslint . --max-warnings 0" - }, - "dependencies": { - "@repo/ui": "*", - "next": "^14.1.1", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@next/eslint-plugin-next": "^14.1.1", - "@repo/eslint-config": "*", - "@repo/typescript-config": "*", - "@types/eslint": "^8.56.5", - "@types/node": "^20.11.24", - "@types/react": "^18.2.61", - "@types/react-dom": "^18.2.19", - "eslint": "^8.57.0", - "typescript": "^5.3.3" - } -} diff --git a/apps/web/public/circles.svg b/apps/web/public/circles.svg deleted file mode 100644 index 6533be5ba..000000000 --- a/apps/web/public/circles.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/web/public/next.svg b/apps/web/public/next.svg deleted file mode 100644 index 5174b28c5..000000000 --- a/apps/web/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/web/public/turborepo.svg b/apps/web/public/turborepo.svg deleted file mode 100644 index 2f9aa1f37..000000000 --- a/apps/web/public/turborepo.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/web/public/vercel.svg b/apps/web/public/vercel.svg deleted file mode 100644 index d2f842227..000000000 --- a/apps/web/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json deleted file mode 100644 index 24e754815..000000000 --- a/apps/web/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "@repo/typescript-config/nextjs.json", - "compilerOptions": { - "plugins": [ - { - "name": "next" - } - ] - }, - "include": [ - "next-env.d.ts", - "next.config.js", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts" - ], - "exclude": ["node_modules"] -} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..fd03d75d0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8517 @@ +{ + "name": "parser-js", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "parser-js", + "workspaces": [ + "apps/*", + "packages/*" + ], + "devDependencies": { + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", + "prettier": "^3.2.5", + "turbo": "latest" + }, + "engines": { + "node": ">=18" + } + }, + "apps/docs": { + "version": "1.0.0", + "dependencies": { + "@repo/ui": "*", + "next": "^14.1.1", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@next/eslint-plugin-next": "^14.1.1", + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.24", + "@types/react": "^18.2.61", + "@types/react-dom": "^18.2.19", + "eslint": "^8.57.0", + "typescript": "^5.3.3" + } + }, + "apps/web": { + "version": "1.0.0", + "dependencies": { + "@repo/ui": "*", + "next": "^14.1.1", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@next/eslint-plugin-next": "^14.1.1", + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.24", + "@types/react": "^18.2.61", + "@types/react-dom": "^18.2.19", + "eslint": "^8.57.0", + "typescript": "^5.3.3" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz", + "integrity": "sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.4.tgz", + "integrity": "sha512-VOQOexSilscN24VEY810G/PqtpFvx/z6UqDIjIWbDe2368HhDLkYN5TYwaEz/+eRCUkhJ2WaNLLmQAlxzfWj4w==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@microsoft/tsdoc": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", + "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", + "dev": true + }, + "node_modules/@microsoft/tsdoc-config": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", + "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" + } + }, + "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@next/env": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.2.tgz", + "integrity": "sha512-sk72qRfM1Q90XZWYRoJKu/UWlTgihrASiYw/scb15u+tyzcze3bOuJ/UV6TBOQEeUaxOkRqGeuGUdiiuxc5oqw==" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.2.tgz", + "integrity": "sha512-q+Ec2648JtBpKiu/FSJm8HAsFXlNvioHeBCbTP12T1SGcHYwhqHULSfQgFkPgHDu3kzNp2Kem4J54bK4rPQ5SQ==", + "dev": true, + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.2.tgz", + "integrity": "sha512-3iPgMhzbalizGwHNFUcGnDhFPSgVBHQ8aqSTAMxB5BvJG0oYrDf1WOJZlbXBgunOEj/8KMVbejEur/FpvFsgFQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@repo/eslint-config": { + "resolved": "packages/eslint-config", + "link": true + }, + "node_modules/@repo/typescript-config": { + "resolved": "packages/typescript-config", + "link": true + }, + "node_modules/@repo/ui": { + "resolved": "packages/ui", + "link": true + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", + "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==", + "dev": true + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@turbo/gen": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@turbo/gen/-/gen-1.13.2.tgz", + "integrity": "sha512-6/Z90XAMbfQCFX3QUyVEy5Te1u8Bm/K2ob7FaD7OrFYLtnKnzTghH1pOglFqfmdHqLusCrGEF00J9lKz176BNQ==", + "dev": true, + "dependencies": { + "@turbo/workspaces": "1.13.2", + "chalk": "2.4.2", + "commander": "^10.0.0", + "fs-extra": "^10.1.0", + "inquirer": "^8.2.4", + "minimatch": "^9.0.0", + "node-plop": "^0.26.3", + "proxy-agent": "^6.2.2", + "ts-node": "^10.9.1", + "update-check": "^1.5.4", + "validate-npm-package-name": "^5.0.0" + }, + "bin": { + "gen": "dist/cli.js" + } + }, + "node_modules/@turbo/workspaces": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@turbo/workspaces/-/workspaces-1.13.2.tgz", + "integrity": "sha512-m1kUcR6VRbJH4Ok0J+dA6blMu3Ywjq1d9rg/4OAMtkLPkO74LjGKtmqw7VNKhYlQBJd3oMyiI3mWn+QL7abtpg==", + "dev": true, + "dependencies": { + "chalk": "2.4.2", + "commander": "^10.0.0", + "execa": "5.1.1", + "fast-glob": "^3.2.12", + "fs-extra": "^10.1.0", + "gradient-string": "^2.0.0", + "inquirer": "^8.0.0", + "js-yaml": "^4.1.0", + "ora": "4.1.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "update-check": "^1.5.4" + }, + "bin": { + "workspaces": "dist/cli.js" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/inquirer": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-6.5.0.tgz", + "integrity": "sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==", + "dev": true, + "dependencies": { + "@types/through": "*", + "rxjs": "^6.4.0" + } + }, + "node_modules/@types/inquirer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@types/inquirer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.79", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", + "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz", + "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/through": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/tinycolor2": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.6.tgz", + "integrity": "sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz", + "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/type-utils": "7.7.0", + "@typescript-eslint/utils": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz", + "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/typescript-estree": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz", + "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz", + "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.7.0", + "@typescript-eslint/utils": "7.7.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz", + "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz", + "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz", + "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/typescript-estree": "7.7.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz", + "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vercel/style-guide": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vercel/style-guide/-/style-guide-5.2.0.tgz", + "integrity": "sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.11", + "@babel/eslint-parser": "^7.22.11", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/eslint-plugin": "^6.5.0", + "@typescript-eslint/parser": "^6.5.0", + "eslint-config-prettier": "^9.0.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-import-resolver-typescript": "^3.6.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jest": "^27.2.3", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-playwright": "^0.16.0", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-testing-library": "^6.0.1", + "eslint-plugin-tsdoc": "^0.2.17", + "eslint-plugin-unicorn": "^48.0.1", + "prettier-plugin-packagejson": "^2.4.5" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@next/eslint-plugin-next": ">=12.3.0 <15", + "eslint": ">=8.48.0 <9", + "prettier": ">=3.0.0 <4", + "typescript": ">=4.8.0 <6" + }, + "peerDependenciesMeta": { + "@next/eslint-plugin-next": { + "optional": true + }, + "eslint": { + "optional": true + }, + "prettier": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vercel/style-guide/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtins": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001611", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", + "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/change-case": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.1.0.tgz", + "integrity": "sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==", + "dev": true, + "dependencies": { + "camel-case": "^3.0.0", + "constant-case": "^2.0.0", + "dot-case": "^2.1.0", + "header-case": "^1.0.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "no-case": "^2.3.2", + "param-case": "^2.1.0", + "pascal-case": "^2.0.0", + "path-case": "^2.1.0", + "sentence-case": "^2.1.0", + "snake-case": "^2.1.0", + "swap-case": "^1.1.0", + "title-case": "^2.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/constant-case": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==", + "dev": true, + "dependencies": { + "snake-case": "^2.1.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js-pure": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz", + "integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dev": true, + "dependencies": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/del/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "dev": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/docs": { + "resolved": "apps/docs", + "link": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", + "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.745", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", + "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-config-turbo": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.13.2.tgz", + "integrity": "sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==", + "dev": true, + "dependencies": { + "eslint-plugin-turbo": "1.13.2" + }, + "peerDependencies": { + "eslint": ">6.6.0" + } + }, + "node_modules/eslint-import-resolver-alias": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz", + "integrity": "sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==", + "dev": true, + "engines": { + "node": ">= 4" + }, + "peerDependencies": { + "eslint-plugin-import": ">=1.4.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-only-warn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-only-warn/-/eslint-plugin-only-warn-1.1.0.tgz", + "integrity": "sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-playwright": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.16.0.tgz", + "integrity": "sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7", + "eslint-plugin-jest": ">=25" + }, + "peerDependenciesMeta": { + "eslint-plugin-jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.2.tgz", + "integrity": "sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-tsdoc": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.17.tgz", + "integrity": "sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "@microsoft/tsdoc-config": "0.16.2" + } + }, + "node_modules/eslint-plugin-turbo": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.13.2.tgz", + "integrity": "sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==", + "dev": true, + "dependencies": { + "dotenv": "16.0.3" + }, + "peerDependencies": { + "eslint": ">6.6.0" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "48.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.1.tgz", + "integrity": "sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^3.8.0", + "clean-regexp": "^1.0.0", + "esquery": "^1.5.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", + "lodash": "^4.17.21", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.5.4", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=8.44.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/get-uri": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", + "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "dev": true, + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4", + "fs-extra": "^11.2.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/get-uri/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/git-hooks-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", + "dev": true, + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gradient-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/gradient-string/-/gradient-string-2.0.2.tgz", + "integrity": "sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "tinygradient": "^1.1.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gradient-string/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/gradient-string/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/gradient-string/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/gradient-string/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/gradient-string/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/gradient-string/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/header-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", + "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.3" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==", + "dev": true, + "dependencies": { + "upper-case": "^1.1.0" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, + "node_modules/lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.2" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/next": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.2.tgz", + "integrity": "sha512-oGwUaa2bCs47FbuxWMpOoXtBMPYpvTPgdZr3UAo+pu7Ns00z9otmYpoeV1HEiYL06AlRQQIA/ypK526KjJfaxg==", + "dependencies": { + "@next/env": "14.2.2", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.2", + "@next/swc-darwin-x64": "14.2.2", + "@next/swc-linux-arm64-gnu": "14.2.2", + "@next/swc-linux-arm64-musl": "14.2.2", + "@next/swc-linux-x64-gnu": "14.2.2", + "@next/swc-linux-x64-musl": "14.2.2", + "@next/swc-win32-arm64-msvc": "14.2.2", + "@next/swc-win32-ia32-msvc": "14.2.2", + "@next/swc-win32-x64-msvc": "14.2.2" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-plop": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/node-plop/-/node-plop-0.26.3.tgz", + "integrity": "sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.9.2", + "@types/inquirer": "^6.5.0", + "change-case": "^3.1.0", + "del": "^5.1.0", + "globby": "^10.0.1", + "handlebars": "^4.4.3", + "inquirer": "^7.1.0", + "isbinaryfile": "^4.0.2", + "lodash.get": "^4.4.2", + "mkdirp": "^0.5.1", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=8.9.4" + } + }, + "node_modules/node-plop/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/node-plop/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/node-plop/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/node-plop/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/node-plop/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/node-plop/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-plop/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-plop/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-plop/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/node-plop/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/node-plop/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/node-plop/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-plop/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pac-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", + "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", + "dev": true, + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "pac-resolver": "^7.0.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pascal-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", + "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==", + "dev": true, + "dependencies": { + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" + } + }, + "node_modules/path-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", + "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-packagejson": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.0.tgz", + "integrity": "sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==", + "dev": true, + "dependencies": { + "sort-package-json": "2.10.0", + "synckit": "0.9.0" + }, + "peerDependencies": { + "prettier": ">= 1.16.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-agent": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsparser": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/sentence-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", + "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case-first": "^1.1.2" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/snake-case": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", + "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "node_modules/sort-package-json": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.10.0.tgz", + "integrity": "sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==", + "dev": true, + "dependencies": { + "detect-indent": "^7.0.1", + "detect-newline": "^4.0.0", + "get-stdin": "^9.0.0", + "git-hooks-list": "^3.0.0", + "globby": "^13.1.2", + "is-plain-obj": "^4.1.0", + "semver": "^7.6.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/sort-package-json/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-package-json/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "node_modules/synckit": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz", + "integrity": "sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "dev": true + }, + "node_modules/tinygradient": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/tinygradient/-/tinygradient-1.1.5.tgz", + "integrity": "sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==", + "dev": true, + "dependencies": { + "@types/tinycolor2": "^1.4.0", + "tinycolor2": "^1.0.0" + } + }, + "node_modules/title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/turbo": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.2.tgz", + "integrity": "sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==", + "dev": true, + "bin": { + "turbo": "bin/turbo" + }, + "optionalDependencies": { + "turbo-darwin-64": "1.13.2", + "turbo-darwin-arm64": "1.13.2", + "turbo-linux-64": "1.13.2", + "turbo-linux-arm64": "1.13.2", + "turbo-windows-64": "1.13.2", + "turbo-windows-arm64": "1.13.2" + } + }, + "node_modules/turbo-darwin-arm64": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.2.tgz", + "integrity": "sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, + "node_modules/upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==", + "dev": true, + "dependencies": { + "upper-case": "^1.1.1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web": { + "resolved": "apps/web", + "link": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/eslint-config": { + "name": "@repo/eslint-config", + "version": "0.0.0", + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", + "@vercel/style-guide": "^5.2.0", + "eslint-config-prettier": "^9.1.0", + "eslint-config-turbo": "^1.12.4", + "eslint-plugin-only-warn": "^1.1.0", + "typescript": "^5.3.3" + } + }, + "packages/typescript-config": { + "name": "@repo/typescript-config", + "version": "0.0.0", + "license": "MIT" + }, + "packages/ui": { + "name": "@repo/ui", + "version": "0.0.0", + "devDependencies": { + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", + "@turbo/gen": "^1.12.4", + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.24", + "@types/react": "^18.2.61", + "@types/react-dom": "^18.2.19", + "eslint": "^8.57.0", + "react": "^18.2.0", + "typescript": "^5.3.3" + } + } + } +} From 648aa1f5b7741a1096a32ad6e174b03ee8aa2ccc Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 21 Apr 2024 10:23:10 +0530 Subject: [PATCH 021/107] Added the required scripts for the turborepo --- apps/docs/.eslintrc.js | 9 - apps/docs/README.md | 28 - apps/docs/app/favicon.ico | Bin 8267 -> 0 bytes apps/docs/app/globals.css | 50 - apps/docs/app/layout.tsx | 22 - apps/docs/app/page.module.css | 335 - apps/docs/app/page.tsx | 144 - apps/docs/next-env.d.ts | 5 - apps/docs/next.config.js | 4 - apps/docs/package.json | 28 - apps/docs/public/circles.svg | 17 - apps/docs/public/next.svg | 1 - apps/docs/public/turborepo.svg | 32 - apps/docs/public/vercel.svg | 1 - apps/docs/tsconfig.json | 18 - apps/parser/browser/index.js | 26 + apps/parser/browser/index.js.LICENSE.txt | 79 + apps/parser/cjs/constants.d.ts | 15 + apps/parser/cjs/constants.js | 23 + .../custom-operations/anonymous-naming.d.ts | 2 + .../cjs/custom-operations/anonymous-naming.js | 66 + .../cjs/custom-operations/apply-traits.d.ts | 3 + .../cjs/custom-operations/apply-traits.js | 100 + .../custom-operations/apply-unique-ids.d.ts | 6 + .../cjs/custom-operations/apply-unique-ids.js | 39 + .../check-circular-refs.d.ts | 2 + .../custom-operations/check-circular-refs.js | 24 + apps/parser/cjs/custom-operations/index.d.ts | 7 + apps/parser/cjs/custom-operations/index.js | 60 + .../cjs/custom-operations/parse-schema.d.ts | 4 + .../cjs/custom-operations/parse-schema.js | 158 + .../resolve-circular-refs.d.ts | 3 + .../resolve-circular-refs.js | 56 + apps/parser/cjs/document.d.ts | 9 + apps/parser/cjs/document.js | 71 + apps/parser/cjs/from.d.ts | 13 + apps/parser/cjs/from.js | 94 + apps/parser/cjs/index.d.ts | 16 + apps/parser/cjs/index.js | 35 + apps/parser/cjs/iterator.d.ts | 42 + apps/parser/cjs/iterator.js | 228 + apps/parser/cjs/models/asyncapi.d.ts | 30 + apps/parser/cjs/models/asyncapi.js | 5 + apps/parser/cjs/models/base.d.ts | 17 + apps/parser/cjs/models/base.js | 33 + apps/parser/cjs/models/binding.d.ts | 7 + apps/parser/cjs/models/binding.js | 2 + apps/parser/cjs/models/bindings.d.ts | 5 + apps/parser/cjs/models/bindings.js | 2 + apps/parser/cjs/models/channel-parameter.d.ts | 10 + apps/parser/cjs/models/channel-parameter.js | 2 + .../parser/cjs/models/channel-parameters.d.ts | 3 + apps/parser/cjs/models/channel-parameters.js | 2 + apps/parser/cjs/models/channel.d.ts | 14 + apps/parser/cjs/models/channel.js | 2 + apps/parser/cjs/models/channels.d.ts | 6 + apps/parser/cjs/models/channels.js | 2 + apps/parser/cjs/models/collection.d.ts | 19 + apps/parser/cjs/models/collection.js | 30 + apps/parser/cjs/models/components.d.ts | 32 + apps/parser/cjs/models/components.js | 2 + apps/parser/cjs/models/contact.d.ts | 10 + apps/parser/cjs/models/contact.js | 2 + apps/parser/cjs/models/correlation-id.d.ts | 5 + apps/parser/cjs/models/correlation-id.js | 2 + apps/parser/cjs/models/correlation-ids.d.ts | 3 + apps/parser/cjs/models/correlation-ids.js | 2 + apps/parser/cjs/models/extension.d.ts | 5 + apps/parser/cjs/models/extension.js | 2 + apps/parser/cjs/models/extensions.d.ts | 3 + apps/parser/cjs/models/extensions.js | 2 + apps/parser/cjs/models/external-docs.d.ts | 5 + apps/parser/cjs/models/external-docs.js | 2 + .../cjs/models/external-documentation.d.ts | 6 + .../cjs/models/external-documentation.js | 2 + .../cjs/models/external-documentations.d.ts | 6 + .../cjs/models/external-documentations.js | 10 + apps/parser/cjs/models/index.d.ts | 48 + apps/parser/cjs/models/index.js | 64 + apps/parser/cjs/models/info.d.ts | 16 + apps/parser/cjs/models/info.js | 2 + apps/parser/cjs/models/license.d.ts | 7 + apps/parser/cjs/models/license.js | 2 + apps/parser/cjs/models/message-example.d.ts | 12 + apps/parser/cjs/models/message-example.js | 2 + apps/parser/cjs/models/message-examples.d.ts | 3 + apps/parser/cjs/models/message-examples.js | 2 + apps/parser/cjs/models/message-trait.d.ts | 24 + apps/parser/cjs/models/message-trait.js | 2 + apps/parser/cjs/models/message-traits.d.ts | 3 + apps/parser/cjs/models/message-traits.js | 2 + apps/parser/cjs/models/message.d.ts | 15 + apps/parser/cjs/models/message.js | 2 + apps/parser/cjs/models/messages.d.ts | 6 + apps/parser/cjs/models/messages.js | 2 + apps/parser/cjs/models/mixins.d.ts | 31 + apps/parser/cjs/models/mixins.js | 2 + apps/parser/cjs/models/oauth-flow.d.ts | 11 + apps/parser/cjs/models/oauth-flow.js | 2 + apps/parser/cjs/models/oauth-flows.d.ts | 13 + apps/parser/cjs/models/oauth-flows.js | 2 + apps/parser/cjs/models/operation-replies.d.ts | 3 + apps/parser/cjs/models/operation-replies.js | 2 + .../cjs/models/operation-reply-address.d.ts | 6 + .../cjs/models/operation-reply-address.js | 2 + .../cjs/models/operation-reply-addresses.d.ts | 3 + .../cjs/models/operation-reply-addresses.js | 2 + apps/parser/cjs/models/operation-reply.d.ts | 13 + apps/parser/cjs/models/operation-reply.js | 2 + apps/parser/cjs/models/operation-trait.d.ts | 11 + apps/parser/cjs/models/operation-trait.js | 2 + apps/parser/cjs/models/operation-traits.d.ts | 3 + apps/parser/cjs/models/operation-traits.js | 2 + apps/parser/cjs/models/operation.d.ts | 18 + apps/parser/cjs/models/operation.js | 2 + apps/parser/cjs/models/operations.d.ts | 6 + apps/parser/cjs/models/operations.js | 2 + apps/parser/cjs/models/schema.d.ts | 57 + apps/parser/cjs/models/schema.js | 2 + apps/parser/cjs/models/schemas.d.ts | 3 + apps/parser/cjs/models/schemas.js | 2 + .../cjs/models/security-requirement.d.ts | 6 + .../parser/cjs/models/security-requirement.js | 2 + .../cjs/models/security-requirements.d.ts | 3 + .../cjs/models/security-requirements.js | 2 + apps/parser/cjs/models/security-scheme.d.ts | 19 + apps/parser/cjs/models/security-scheme.js | 2 + apps/parser/cjs/models/security-schemes.d.ts | 3 + apps/parser/cjs/models/security-schemes.js | 2 + apps/parser/cjs/models/server-variable.d.ts | 10 + apps/parser/cjs/models/server-variable.js | 2 + apps/parser/cjs/models/server-variables.d.ts | 3 + apps/parser/cjs/models/server-variables.js | 2 + apps/parser/cjs/models/server.d.ts | 22 + apps/parser/cjs/models/server.js | 2 + apps/parser/cjs/models/servers.d.ts | 6 + apps/parser/cjs/models/servers.js | 2 + apps/parser/cjs/models/tag.d.ts | 5 + apps/parser/cjs/models/tag.js | 2 + apps/parser/cjs/models/tags.d.ts | 3 + apps/parser/cjs/models/tags.js | 2 + apps/parser/cjs/models/utils.d.ts | 13 + apps/parser/cjs/models/utils.js | 26 + apps/parser/cjs/models/v2/asyncapi.d.ts | 31 + apps/parser/cjs/models/v2/asyncapi.js | 86 + apps/parser/cjs/models/v2/binding.d.ts | 12 + apps/parser/cjs/models/v2/binding.js | 22 + apps/parser/cjs/models/v2/bindings.d.ts | 8 + apps/parser/cjs/models/v2/bindings.js | 23 + .../cjs/models/v2/channel-parameter.d.ts | 17 + .../parser/cjs/models/v2/channel-parameter.js | 35 + .../cjs/models/v2/channel-parameters.d.ts | 6 + .../cjs/models/v2/channel-parameters.js | 10 + apps/parser/cjs/models/v2/channel.d.ts | 24 + apps/parser/cjs/models/v2/channel.js | 68 + apps/parser/cjs/models/v2/channels.d.ts | 8 + apps/parser/cjs/models/v2/channels.js | 16 + apps/parser/cjs/models/v2/components.d.ts | 39 + apps/parser/cjs/models/v2/components.js | 99 + apps/parser/cjs/models/v2/contact.d.ts | 13 + apps/parser/cjs/models/v2/contact.js | 29 + apps/parser/cjs/models/v2/correlation-id.d.ts | 10 + apps/parser/cjs/models/v2/correlation-id.js | 20 + .../parser/cjs/models/v2/correlation-ids.d.ts | 6 + apps/parser/cjs/models/v2/correlation-ids.js | 10 + apps/parser/cjs/models/v2/extension.d.ts | 9 + apps/parser/cjs/models/v2/extension.js | 13 + apps/parser/cjs/models/v2/extensions.d.ts | 6 + apps/parser/cjs/models/v2/extensions.js | 11 + apps/parser/cjs/models/v2/external-docs.d.ts | 10 + apps/parser/cjs/models/v2/external-docs.js | 20 + apps/parser/cjs/models/v2/index.d.ts | 37 + apps/parser/cjs/models/v2/index.js | 77 + apps/parser/cjs/models/v2/info.d.ts | 26 + apps/parser/cjs/models/v2/info.js | 69 + apps/parser/cjs/models/v2/license.d.ts | 10 + apps/parser/cjs/models/v2/license.js | 20 + .../parser/cjs/models/v2/message-example.d.ts | 15 + apps/parser/cjs/models/v2/message-example.js | 35 + .../cjs/models/v2/message-examples.d.ts | 6 + apps/parser/cjs/models/v2/message-examples.js | 10 + apps/parser/cjs/models/v2/message-trait.d.ts | 38 + apps/parser/cjs/models/v2/message-trait.js | 93 + apps/parser/cjs/models/v2/message-traits.d.ts | 6 + apps/parser/cjs/models/v2/message-traits.js | 10 + apps/parser/cjs/models/v2/message.d.ts | 16 + apps/parser/cjs/models/v2/message.js | 67 + apps/parser/cjs/models/v2/messages.d.ts | 8 + apps/parser/cjs/models/v2/messages.js | 16 + apps/parser/cjs/models/v2/mixins.d.ts | 25 + apps/parser/cjs/models/v2/mixins.js | 49 + apps/parser/cjs/models/v2/oauth-flow.d.ts | 14 + apps/parser/cjs/models/v2/oauth-flow.js | 32 + apps/parser/cjs/models/v2/oauth-flows.d.ts | 16 + apps/parser/cjs/models/v2/oauth-flows.js | 44 + .../parser/cjs/models/v2/operation-trait.d.ts | 27 + apps/parser/cjs/models/v2/operation-trait.js | 59 + .../cjs/models/v2/operation-traits.d.ts | 6 + apps/parser/cjs/models/v2/operation-traits.js | 10 + apps/parser/cjs/models/v2/operation.d.ts | 18 + apps/parser/cjs/models/v2/operation.js | 69 + apps/parser/cjs/models/v2/operations.d.ts | 8 + apps/parser/cjs/models/v2/operations.js | 16 + apps/parser/cjs/models/v2/schema.d.ts | 66 + apps/parser/cjs/models/v2/schema.js | 312 + apps/parser/cjs/models/v2/schemas.d.ts | 6 + apps/parser/cjs/models/v2/schemas.js | 10 + .../cjs/models/v2/security-requirement.d.ts | 12 + .../cjs/models/v2/security-requirement.js | 13 + .../cjs/models/v2/security-requirements.d.ts | 6 + .../cjs/models/v2/security-requirements.js | 10 + .../parser/cjs/models/v2/security-scheme.d.ts | 26 + apps/parser/cjs/models/v2/security-scheme.js | 62 + .../cjs/models/v2/security-schemes.d.ts | 6 + apps/parser/cjs/models/v2/security-schemes.js | 10 + .../parser/cjs/models/v2/server-variable.d.ts | 17 + apps/parser/cjs/models/v2/server-variable.js | 35 + .../cjs/models/v2/server-variables.d.ts | 6 + apps/parser/cjs/models/v2/server-variables.js | 10 + apps/parser/cjs/models/v2/server.d.ts | 33 + apps/parser/cjs/models/v2/server.js | 102 + apps/parser/cjs/models/v2/servers.d.ts | 8 + apps/parser/cjs/models/v2/servers.js | 16 + apps/parser/cjs/models/v2/tag.d.ts | 13 + apps/parser/cjs/models/v2/tag.js | 26 + apps/parser/cjs/models/v2/tags.d.ts | 6 + apps/parser/cjs/models/v2/tags.js | 10 + apps/parser/cjs/models/v3/asyncapi.d.ts | 31 + apps/parser/cjs/models/v3/asyncapi.js | 93 + apps/parser/cjs/models/v3/binding.d.ts | 12 + apps/parser/cjs/models/v3/binding.js | 22 + apps/parser/cjs/models/v3/bindings.d.ts | 8 + apps/parser/cjs/models/v3/bindings.js | 23 + .../cjs/models/v3/channel-parameter.d.ts | 17 + .../parser/cjs/models/v3/channel-parameter.js | 39 + .../cjs/models/v3/channel-parameters.d.ts | 6 + .../cjs/models/v3/channel-parameters.js | 10 + apps/parser/cjs/models/v3/channel.d.ts | 17 + apps/parser/cjs/models/v3/channel.js | 60 + apps/parser/cjs/models/v3/channels.d.ts | 8 + apps/parser/cjs/models/v3/channels.js | 16 + apps/parser/cjs/models/v3/components.d.ts | 47 + apps/parser/cjs/models/v3/components.js | 120 + apps/parser/cjs/models/v3/contact.d.ts | 13 + apps/parser/cjs/models/v3/contact.js | 29 + apps/parser/cjs/models/v3/correlation-id.d.ts | 11 + apps/parser/cjs/models/v3/correlation-id.js | 23 + .../parser/cjs/models/v3/correlation-ids.d.ts | 6 + apps/parser/cjs/models/v3/correlation-ids.js | 10 + apps/parser/cjs/models/v3/extension.d.ts | 10 + apps/parser/cjs/models/v3/extension.js | 16 + apps/parser/cjs/models/v3/extensions.d.ts | 6 + apps/parser/cjs/models/v3/extensions.js | 11 + apps/parser/cjs/models/v3/external-docs.d.ts | 13 + apps/parser/cjs/models/v3/external-docs.js | 23 + apps/parser/cjs/models/v3/index.d.ts | 41 + apps/parser/cjs/models/v3/index.js | 85 + apps/parser/cjs/models/v3/info.d.ts | 26 + apps/parser/cjs/models/v3/info.js | 60 + apps/parser/cjs/models/v3/license.d.ts | 10 + apps/parser/cjs/models/v3/license.js | 20 + .../parser/cjs/models/v3/message-example.d.ts | 15 + apps/parser/cjs/models/v3/message-example.js | 35 + .../cjs/models/v3/message-examples.d.ts | 6 + apps/parser/cjs/models/v3/message-examples.js | 10 + apps/parser/cjs/models/v3/message-trait.d.ts | 23 + apps/parser/cjs/models/v3/message-trait.js | 59 + apps/parser/cjs/models/v3/message-traits.d.ts | 6 + apps/parser/cjs/models/v3/message-traits.js | 10 + apps/parser/cjs/models/v3/message.d.ts | 18 + apps/parser/cjs/models/v3/message.js | 96 + apps/parser/cjs/models/v3/messages.d.ts | 8 + apps/parser/cjs/models/v3/messages.js | 16 + apps/parser/cjs/models/v3/mixins.d.ts | 48 + apps/parser/cjs/models/v3/mixins.js | 86 + apps/parser/cjs/models/v3/oauth-flow.d.ts | 14 + apps/parser/cjs/models/v3/oauth-flow.js | 32 + apps/parser/cjs/models/v3/oauth-flows.d.ts | 16 + apps/parser/cjs/models/v3/oauth-flows.js | 44 + .../cjs/models/v3/operation-replies.d.ts | 6 + .../parser/cjs/models/v3/operation-replies.js | 10 + .../models/v3/operation-reply-address.d.ts | 13 + .../cjs/models/v3/operation-reply-address.js | 23 + .../models/v3/operation-reply-addresses.d.ts | 6 + .../models/v3/operation-reply-addresses.js | 10 + .../parser/cjs/models/v3/operation-reply.d.ts | 18 + apps/parser/cjs/models/v3/operation-reply.js | 44 + .../parser/cjs/models/v3/operation-trait.d.ts | 12 + apps/parser/cjs/models/v3/operation-trait.js | 26 + .../cjs/models/v3/operation-traits.d.ts | 6 + apps/parser/cjs/models/v3/operation-traits.js | 10 + apps/parser/cjs/models/v3/operation.d.ts | 19 + apps/parser/cjs/models/v3/operation.js | 74 + apps/parser/cjs/models/v3/operations.d.ts | 8 + apps/parser/cjs/models/v3/operations.js | 16 + apps/parser/cjs/models/v3/schema.d.ts | 76 + apps/parser/cjs/models/v3/schema.js | 325 + apps/parser/cjs/models/v3/schemas.d.ts | 6 + apps/parser/cjs/models/v3/schemas.js | 10 + .../cjs/models/v3/security-requirement.d.ts | 12 + .../cjs/models/v3/security-requirement.js | 13 + .../cjs/models/v3/security-requirements.d.ts | 6 + .../cjs/models/v3/security-requirements.js | 10 + .../parser/cjs/models/v3/security-scheme.d.ts | 26 + apps/parser/cjs/models/v3/security-scheme.js | 62 + .../cjs/models/v3/security-schemes.d.ts | 6 + apps/parser/cjs/models/v3/security-schemes.js | 10 + .../parser/cjs/models/v3/server-variable.d.ts | 17 + apps/parser/cjs/models/v3/server-variable.js | 35 + .../cjs/models/v3/server-variables.d.ts | 6 + apps/parser/cjs/models/v3/server-variables.js | 10 + apps/parser/cjs/models/v3/server.d.ts | 25 + apps/parser/cjs/models/v3/server.js | 103 + apps/parser/cjs/models/v3/servers.d.ts | 8 + apps/parser/cjs/models/v3/servers.js | 16 + apps/parser/cjs/models/v3/tag.d.ts | 16 + apps/parser/cjs/models/v3/tag.js | 29 + apps/parser/cjs/models/v3/tags.d.ts | 6 + apps/parser/cjs/models/v3/tags.js | 10 + apps/parser/cjs/old-api/asyncapi.d.ts | 40 + apps/parser/cjs/old-api/asyncapi.js | 161 + apps/parser/cjs/old-api/base.d.ts | 7 + apps/parser/cjs/old-api/base.js | 20 + .../parser/cjs/old-api/channel-parameter.d.ts | 9 + apps/parser/cjs/old-api/channel-parameter.js | 22 + apps/parser/cjs/old-api/channel.d.ts | 23 + apps/parser/cjs/old-api/channel.js | 72 + apps/parser/cjs/old-api/components.d.ts | 44 + apps/parser/cjs/old-api/components.js | 107 + apps/parser/cjs/old-api/contact.d.ts | 7 + apps/parser/cjs/old-api/contact.js | 16 + apps/parser/cjs/old-api/converter.d.ts | 4 + apps/parser/cjs/old-api/converter.js | 58 + apps/parser/cjs/old-api/correlation-id.d.ts | 7 + apps/parser/cjs/old-api/correlation-id.js | 16 + apps/parser/cjs/old-api/external-docs.d.ts | 15 + apps/parser/cjs/old-api/external-docs.js | 41 + apps/parser/cjs/old-api/index.d.ts | 21 + apps/parser/cjs/old-api/index.js | 46 + apps/parser/cjs/old-api/info.d.ts | 13 + apps/parser/cjs/old-api/info.js | 34 + apps/parser/cjs/old-api/iterator.d.ts | 42 + apps/parser/cjs/old-api/iterator.js | 250 + apps/parser/cjs/old-api/license.d.ts | 6 + apps/parser/cjs/old-api/license.js | 13 + apps/parser/cjs/old-api/message-trait.d.ts | 30 + apps/parser/cjs/old-api/message-trait.js | 87 + apps/parser/cjs/old-api/message.d.ts | 11 + apps/parser/cjs/old-api/message.js | 32 + apps/parser/cjs/old-api/mixins.d.ts | 95 + apps/parser/cjs/old-api/mixins.js | 148 + apps/parser/cjs/old-api/oauth-flow.d.ts | 8 + apps/parser/cjs/old-api/oauth-flow.js | 19 + apps/parser/cjs/old-api/operation-trait.d.ts | 27 + apps/parser/cjs/old-api/operation-trait.js | 70 + apps/parser/cjs/old-api/operation.d.ts | 10 + apps/parser/cjs/old-api/operation.js | 46 + apps/parser/cjs/old-api/schema.d.ts | 63 + apps/parser/cjs/old-api/schema.js | 242 + .../cjs/old-api/security-requirement.d.ts | 4 + .../cjs/old-api/security-requirement.js | 7 + apps/parser/cjs/old-api/security-scheme.d.ts | 14 + apps/parser/cjs/old-api/security-scheme.js | 35 + apps/parser/cjs/old-api/server-variable.d.ts | 12 + apps/parser/cjs/old-api/server-variable.js | 33 + apps/parser/cjs/old-api/server.d.ts | 25 + apps/parser/cjs/old-api/server.js | 68 + apps/parser/cjs/old-api/tag.d.ts | 17 + apps/parser/cjs/old-api/tag.js | 47 + apps/parser/cjs/parse.d.ts | 23 + apps/parser/cjs/parse.js | 78 + apps/parser/cjs/parser.d.ts | 23 + apps/parser/cjs/parser.js | 53 + apps/parser/cjs/resolver.d.ts | 13 + apps/parser/cjs/resolver.js | 77 + apps/parser/cjs/ruleset/formats.d.ts | 8 + apps/parser/cjs/ruleset/formats.js | 45 + .../ruleset/functions/documentStructure.d.ts | 5 + .../ruleset/functions/documentStructure.js | 133 + .../cjs/ruleset/functions/internal.d.ts | 1 + apps/parser/cjs/ruleset/functions/internal.js | 11 + .../ruleset/functions/isAsyncAPIDocument.d.ts | 2 + .../ruleset/functions/isAsyncAPIDocument.js | 27 + .../cjs/ruleset/functions/uniquenessTags.d.ts | 5 + .../cjs/ruleset/functions/uniquenessTags.js | 43 + .../ruleset/functions/unusedComponent.d.ts | 3 + .../cjs/ruleset/functions/unusedComponent.js | 37 + apps/parser/cjs/ruleset/index.d.ts | 10 + apps/parser/cjs/ruleset/index.js | 32 + apps/parser/cjs/ruleset/ruleset.d.ts | 184 + apps/parser/cjs/ruleset/ruleset.js | 198 + .../cjs/ruleset/utils/getMissingProps.d.ts | 1 + .../cjs/ruleset/utils/getMissingProps.js | 11 + .../cjs/ruleset/utils/getRedundantProps.d.ts | 1 + .../cjs/ruleset/utils/getRedundantProps.js | 11 + apps/parser/cjs/ruleset/utils/index.d.ts | 4 + apps/parser/cjs/ruleset/utils/index.js | 20 + .../parser/cjs/ruleset/utils/mergeTraits.d.ts | 4 + apps/parser/cjs/ruleset/utils/mergeTraits.js | 35 + .../cjs/ruleset/utils/parseUrlVariables.d.ts | 1 + .../cjs/ruleset/utils/parseUrlVariables.js | 12 + .../v2/functions/channelParameters.d.ts | 3 + .../ruleset/v2/functions/channelParameters.js | 40 + .../ruleset/v2/functions/channelServers.d.ts | 6 + .../ruleset/v2/functions/channelServers.js | 48 + .../cjs/ruleset/v2/functions/checkId.d.ts | 4 + .../cjs/ruleset/v2/functions/checkId.js | 31 + .../messageExamples-spectral-rule-v2.d.ts | 3 + .../messageExamples-spectral-rule-v2.js | 117 + .../ruleset/v2/functions/messageExamples.d.ts | 10 + .../ruleset/v2/functions/messageExamples.js | 82 + .../v2/functions/messageIdUniqueness.d.ts | 2 + .../v2/functions/messageIdUniqueness.js | 95 + .../v2/functions/operationIdUniqueness.d.ts | 2 + .../v2/functions/operationIdUniqueness.js | 65 + .../v2/functions/schemaValidation.d.ts | 8 + .../ruleset/v2/functions/schemaValidation.js | 53 + .../cjs/ruleset/v2/functions/security.d.ts | 3 + .../cjs/ruleset/v2/functions/security.js | 64 + .../ruleset/v2/functions/serverVariables.d.ts | 4 + .../ruleset/v2/functions/serverVariables.js | 42 + .../v2/functions/unusedSecuritySchemes.d.ts | 2 + .../v2/functions/unusedSecuritySchemes.js | 56 + apps/parser/cjs/ruleset/v2/index.d.ts | 1 + apps/parser/cjs/ruleset/v2/index.js | 17 + apps/parser/cjs/ruleset/v2/ruleset.d.ts | 304 + apps/parser/cjs/ruleset/v2/ruleset.js | 356 + .../cjs/ruleset/v2/utils/getAllMessages.d.ts | 7 + .../cjs/ruleset/v2/utils/getAllMessages.js | 34 + .../ruleset/v2/utils/getAllOperations.d.ts | 8 + .../cjs/ruleset/v2/utils/getAllOperations.js | 30 + apps/parser/cjs/ruleset/v2/utils/index.d.ts | 2 + apps/parser/cjs/ruleset/v2/utils/index.js | 18 + .../operationMessagesUnambiguity.d.ts | 8 + .../functions/operationMessagesUnambiguity.js | 39 + apps/parser/cjs/ruleset/v3/index.d.ts | 1 + apps/parser/cjs/ruleset/v3/index.js | 17 + apps/parser/cjs/ruleset/v3/ruleset.d.ts | 58 + apps/parser/cjs/ruleset/v3/ruleset.js | 61 + .../schema-parser/asyncapi-schema-parser.d.ts | 2 + .../schema-parser/asyncapi-schema-parser.js | 109 + apps/parser/cjs/schema-parser/index.d.ts | 28 + apps/parser/cjs/schema-parser/index.js | 66 + .../cjs/schema-parser/spectral-rule-v2.d.ts | 3 + .../cjs/schema-parser/spectral-rule-v2.js | 79 + apps/parser/cjs/spec-types/index.d.ts | 2 + apps/parser/cjs/spec-types/index.js | 28 + apps/parser/cjs/spec-types/v2.d.ts | 363 + apps/parser/cjs/spec-types/v2.js | 2 + apps/parser/cjs/spec-types/v3.d.ts | 404 + apps/parser/cjs/spec-types/v3.js | 2 + apps/parser/cjs/spectral.d.ts | 3 + apps/parser/cjs/spectral.js | 15 + apps/parser/cjs/stringify.d.ts | 9 + apps/parser/cjs/stringify.js | 105 + apps/parser/cjs/types.d.ts | 24 + apps/parser/cjs/types.js | 2 + apps/parser/cjs/utils.d.ts | 28 + apps/parser/cjs/utils.js | 178 + apps/parser/cjs/validate.d.ts | 25 + apps/parser/cjs/validate.js | 52 + apps/parser/esm/constants.d.ts | 15 + apps/parser/esm/constants.js | 17 + .../custom-operations/anonymous-naming.d.ts | 2 + .../esm/custom-operations/anonymous-naming.js | 62 + .../esm/custom-operations/apply-traits.d.ts | 3 + .../esm/custom-operations/apply-traits.js | 95 + .../custom-operations/apply-unique-ids.d.ts | 6 + .../esm/custom-operations/apply-unique-ids.js | 35 + .../check-circular-refs.d.ts | 2 + .../custom-operations/check-circular-refs.js | 20 + apps/parser/esm/custom-operations/index.d.ts | 7 + apps/parser/esm/custom-operations/index.js | 55 + .../esm/custom-operations/parse-schema.d.ts | 4 + .../esm/custom-operations/parse-schema.js | 153 + .../resolve-circular-refs.d.ts | 3 + .../resolve-circular-refs.js | 52 + apps/parser/esm/document.d.ts | 9 + apps/parser/esm/document.js | 62 + apps/parser/esm/from.d.ts | 13 + apps/parser/esm/from.js | 66 + apps/parser/esm/index.d.ts | 16 + apps/parser/esm/index.js | 10 + apps/parser/esm/iterator.d.ts | 42 + apps/parser/esm/iterator.js | 224 + apps/parser/esm/models/asyncapi.d.ts | 30 + apps/parser/esm/models/asyncapi.js | 2 + apps/parser/esm/models/base.d.ts | 17 + apps/parser/esm/models/base.js | 29 + apps/parser/esm/models/binding.d.ts | 7 + apps/parser/esm/models/binding.js | 1 + apps/parser/esm/models/bindings.d.ts | 5 + apps/parser/esm/models/bindings.js | 1 + apps/parser/esm/models/channel-parameter.d.ts | 10 + apps/parser/esm/models/channel-parameter.js | 1 + .../parser/esm/models/channel-parameters.d.ts | 3 + apps/parser/esm/models/channel-parameters.js | 1 + apps/parser/esm/models/channel.d.ts | 14 + apps/parser/esm/models/channel.js | 1 + apps/parser/esm/models/channels.d.ts | 6 + apps/parser/esm/models/channels.js | 1 + apps/parser/esm/models/collection.d.ts | 19 + apps/parser/esm/models/collection.js | 26 + apps/parser/esm/models/components.d.ts | 32 + apps/parser/esm/models/components.js | 1 + apps/parser/esm/models/contact.d.ts | 10 + apps/parser/esm/models/contact.js | 1 + apps/parser/esm/models/correlation-id.d.ts | 5 + apps/parser/esm/models/correlation-id.js | 1 + apps/parser/esm/models/correlation-ids.d.ts | 3 + apps/parser/esm/models/correlation-ids.js | 1 + apps/parser/esm/models/extension.d.ts | 5 + apps/parser/esm/models/extension.js | 1 + apps/parser/esm/models/extensions.d.ts | 3 + apps/parser/esm/models/extensions.js | 1 + apps/parser/esm/models/external-docs.d.ts | 5 + apps/parser/esm/models/external-docs.js | 1 + .../esm/models/external-documentation.d.ts | 6 + .../esm/models/external-documentation.js | 1 + .../esm/models/external-documentations.d.ts | 6 + .../esm/models/external-documentations.js | 6 + apps/parser/esm/models/index.d.ts | 48 + apps/parser/esm/models/index.js | 48 + apps/parser/esm/models/info.d.ts | 16 + apps/parser/esm/models/info.js | 1 + apps/parser/esm/models/license.d.ts | 7 + apps/parser/esm/models/license.js | 1 + apps/parser/esm/models/message-example.d.ts | 12 + apps/parser/esm/models/message-example.js | 1 + apps/parser/esm/models/message-examples.d.ts | 3 + apps/parser/esm/models/message-examples.js | 1 + apps/parser/esm/models/message-trait.d.ts | 24 + apps/parser/esm/models/message-trait.js | 1 + apps/parser/esm/models/message-traits.d.ts | 3 + apps/parser/esm/models/message-traits.js | 1 + apps/parser/esm/models/message.d.ts | 15 + apps/parser/esm/models/message.js | 1 + apps/parser/esm/models/messages.d.ts | 6 + apps/parser/esm/models/messages.js | 1 + apps/parser/esm/models/mixins.d.ts | 31 + apps/parser/esm/models/mixins.js | 1 + apps/parser/esm/models/oauth-flow.d.ts | 11 + apps/parser/esm/models/oauth-flow.js | 1 + apps/parser/esm/models/oauth-flows.d.ts | 13 + apps/parser/esm/models/oauth-flows.js | 1 + apps/parser/esm/models/operation-replies.d.ts | 3 + apps/parser/esm/models/operation-replies.js | 1 + .../esm/models/operation-reply-address.d.ts | 6 + .../esm/models/operation-reply-address.js | 1 + .../esm/models/operation-reply-addresses.d.ts | 3 + .../esm/models/operation-reply-addresses.js | 1 + apps/parser/esm/models/operation-reply.d.ts | 13 + apps/parser/esm/models/operation-reply.js | 1 + apps/parser/esm/models/operation-trait.d.ts | 11 + apps/parser/esm/models/operation-trait.js | 1 + apps/parser/esm/models/operation-traits.d.ts | 3 + apps/parser/esm/models/operation-traits.js | 1 + apps/parser/esm/models/operation.d.ts | 18 + apps/parser/esm/models/operation.js | 1 + apps/parser/esm/models/operations.d.ts | 6 + apps/parser/esm/models/operations.js | 1 + apps/parser/esm/models/schema.d.ts | 57 + apps/parser/esm/models/schema.js | 1 + apps/parser/esm/models/schemas.d.ts | 3 + apps/parser/esm/models/schemas.js | 1 + .../esm/models/security-requirement.d.ts | 6 + .../parser/esm/models/security-requirement.js | 1 + .../esm/models/security-requirements.d.ts | 3 + .../esm/models/security-requirements.js | 1 + apps/parser/esm/models/security-scheme.d.ts | 19 + apps/parser/esm/models/security-scheme.js | 1 + apps/parser/esm/models/security-schemes.d.ts | 3 + apps/parser/esm/models/security-schemes.js | 1 + apps/parser/esm/models/server-variable.d.ts | 10 + apps/parser/esm/models/server-variable.js | 1 + apps/parser/esm/models/server-variables.d.ts | 3 + apps/parser/esm/models/server-variables.js | 1 + apps/parser/esm/models/server.d.ts | 22 + apps/parser/esm/models/server.js | 1 + apps/parser/esm/models/servers.d.ts | 6 + apps/parser/esm/models/servers.js | 1 + apps/parser/esm/models/tag.d.ts | 5 + apps/parser/esm/models/tag.js | 1 + apps/parser/esm/models/tags.d.ts | 3 + apps/parser/esm/models/tags.js | 1 + apps/parser/esm/models/utils.d.ts | 13 + apps/parser/esm/models/utils.js | 21 + apps/parser/esm/models/v2/asyncapi.d.ts | 31 + apps/parser/esm/models/v2/asyncapi.js | 82 + apps/parser/esm/models/v2/binding.d.ts | 12 + apps/parser/esm/models/v2/binding.js | 18 + apps/parser/esm/models/v2/bindings.d.ts | 8 + apps/parser/esm/models/v2/bindings.js | 19 + .../esm/models/v2/channel-parameter.d.ts | 17 + .../parser/esm/models/v2/channel-parameter.js | 31 + .../esm/models/v2/channel-parameters.d.ts | 6 + .../esm/models/v2/channel-parameters.js | 6 + apps/parser/esm/models/v2/channel.d.ts | 24 + apps/parser/esm/models/v2/channel.js | 64 + apps/parser/esm/models/v2/channels.d.ts | 8 + apps/parser/esm/models/v2/channels.js | 12 + apps/parser/esm/models/v2/components.d.ts | 39 + apps/parser/esm/models/v2/components.js | 95 + apps/parser/esm/models/v2/contact.d.ts | 13 + apps/parser/esm/models/v2/contact.js | 25 + apps/parser/esm/models/v2/correlation-id.d.ts | 10 + apps/parser/esm/models/v2/correlation-id.js | 16 + .../parser/esm/models/v2/correlation-ids.d.ts | 6 + apps/parser/esm/models/v2/correlation-ids.js | 6 + apps/parser/esm/models/v2/extension.d.ts | 9 + apps/parser/esm/models/v2/extension.js | 9 + apps/parser/esm/models/v2/extensions.d.ts | 6 + apps/parser/esm/models/v2/extensions.js | 7 + apps/parser/esm/models/v2/external-docs.d.ts | 10 + apps/parser/esm/models/v2/external-docs.js | 16 + apps/parser/esm/models/v2/index.d.ts | 37 + apps/parser/esm/models/v2/index.js | 37 + apps/parser/esm/models/v2/info.d.ts | 26 + apps/parser/esm/models/v2/info.js | 65 + apps/parser/esm/models/v2/license.d.ts | 10 + apps/parser/esm/models/v2/license.js | 16 + .../parser/esm/models/v2/message-example.d.ts | 15 + apps/parser/esm/models/v2/message-example.js | 31 + .../esm/models/v2/message-examples.d.ts | 6 + apps/parser/esm/models/v2/message-examples.js | 6 + apps/parser/esm/models/v2/message-trait.d.ts | 38 + apps/parser/esm/models/v2/message-trait.js | 89 + apps/parser/esm/models/v2/message-traits.d.ts | 6 + apps/parser/esm/models/v2/message-traits.js | 6 + apps/parser/esm/models/v2/message.d.ts | 16 + apps/parser/esm/models/v2/message.js | 63 + apps/parser/esm/models/v2/messages.d.ts | 8 + apps/parser/esm/models/v2/messages.js | 12 + apps/parser/esm/models/v2/mixins.d.ts | 25 + apps/parser/esm/models/v2/mixins.js | 39 + apps/parser/esm/models/v2/oauth-flow.d.ts | 14 + apps/parser/esm/models/v2/oauth-flow.js | 28 + apps/parser/esm/models/v2/oauth-flows.d.ts | 16 + apps/parser/esm/models/v2/oauth-flows.js | 40 + .../parser/esm/models/v2/operation-trait.d.ts | 27 + apps/parser/esm/models/v2/operation-trait.js | 55 + .../esm/models/v2/operation-traits.d.ts | 6 + apps/parser/esm/models/v2/operation-traits.js | 6 + apps/parser/esm/models/v2/operation.d.ts | 18 + apps/parser/esm/models/v2/operation.js | 65 + apps/parser/esm/models/v2/operations.d.ts | 8 + apps/parser/esm/models/v2/operations.js | 12 + apps/parser/esm/models/v2/schema.d.ts | 66 + apps/parser/esm/models/v2/schema.js | 308 + apps/parser/esm/models/v2/schemas.d.ts | 6 + apps/parser/esm/models/v2/schemas.js | 6 + .../esm/models/v2/security-requirement.d.ts | 12 + .../esm/models/v2/security-requirement.js | 9 + .../esm/models/v2/security-requirements.d.ts | 6 + .../esm/models/v2/security-requirements.js | 6 + .../parser/esm/models/v2/security-scheme.d.ts | 26 + apps/parser/esm/models/v2/security-scheme.js | 58 + .../esm/models/v2/security-schemes.d.ts | 6 + apps/parser/esm/models/v2/security-schemes.js | 6 + .../parser/esm/models/v2/server-variable.d.ts | 17 + apps/parser/esm/models/v2/server-variable.js | 31 + .../esm/models/v2/server-variables.d.ts | 6 + apps/parser/esm/models/v2/server-variables.js | 6 + apps/parser/esm/models/v2/server.d.ts | 33 + apps/parser/esm/models/v2/server.js | 98 + apps/parser/esm/models/v2/servers.d.ts | 8 + apps/parser/esm/models/v2/servers.js | 12 + apps/parser/esm/models/v2/tag.d.ts | 13 + apps/parser/esm/models/v2/tag.js | 22 + apps/parser/esm/models/v2/tags.d.ts | 6 + apps/parser/esm/models/v2/tags.js | 6 + apps/parser/esm/models/v3/asyncapi.d.ts | 31 + apps/parser/esm/models/v3/asyncapi.js | 89 + apps/parser/esm/models/v3/binding.d.ts | 12 + apps/parser/esm/models/v3/binding.js | 18 + apps/parser/esm/models/v3/bindings.d.ts | 8 + apps/parser/esm/models/v3/bindings.js | 19 + .../esm/models/v3/channel-parameter.d.ts | 17 + .../parser/esm/models/v3/channel-parameter.js | 35 + .../esm/models/v3/channel-parameters.d.ts | 6 + .../esm/models/v3/channel-parameters.js | 6 + apps/parser/esm/models/v3/channel.d.ts | 17 + apps/parser/esm/models/v3/channel.js | 56 + apps/parser/esm/models/v3/channels.d.ts | 8 + apps/parser/esm/models/v3/channels.js | 12 + apps/parser/esm/models/v3/components.d.ts | 47 + apps/parser/esm/models/v3/components.js | 116 + apps/parser/esm/models/v3/contact.d.ts | 13 + apps/parser/esm/models/v3/contact.js | 25 + apps/parser/esm/models/v3/correlation-id.d.ts | 11 + apps/parser/esm/models/v3/correlation-id.js | 19 + .../parser/esm/models/v3/correlation-ids.d.ts | 6 + apps/parser/esm/models/v3/correlation-ids.js | 6 + apps/parser/esm/models/v3/extension.d.ts | 10 + apps/parser/esm/models/v3/extension.js | 12 + apps/parser/esm/models/v3/extensions.d.ts | 6 + apps/parser/esm/models/v3/extensions.js | 7 + apps/parser/esm/models/v3/external-docs.d.ts | 13 + apps/parser/esm/models/v3/external-docs.js | 19 + apps/parser/esm/models/v3/index.d.ts | 41 + apps/parser/esm/models/v3/index.js | 41 + apps/parser/esm/models/v3/info.d.ts | 26 + apps/parser/esm/models/v3/info.js | 56 + apps/parser/esm/models/v3/license.d.ts | 10 + apps/parser/esm/models/v3/license.js | 16 + .../parser/esm/models/v3/message-example.d.ts | 15 + apps/parser/esm/models/v3/message-example.js | 31 + .../esm/models/v3/message-examples.d.ts | 6 + apps/parser/esm/models/v3/message-examples.js | 6 + apps/parser/esm/models/v3/message-trait.d.ts | 23 + apps/parser/esm/models/v3/message-trait.js | 55 + apps/parser/esm/models/v3/message-traits.d.ts | 6 + apps/parser/esm/models/v3/message-traits.js | 6 + apps/parser/esm/models/v3/message.d.ts | 18 + apps/parser/esm/models/v3/message.js | 92 + apps/parser/esm/models/v3/messages.d.ts | 8 + apps/parser/esm/models/v3/messages.js | 12 + apps/parser/esm/models/v3/mixins.d.ts | 48 + apps/parser/esm/models/v3/mixins.js | 75 + apps/parser/esm/models/v3/oauth-flow.d.ts | 14 + apps/parser/esm/models/v3/oauth-flow.js | 28 + apps/parser/esm/models/v3/oauth-flows.d.ts | 16 + apps/parser/esm/models/v3/oauth-flows.js | 40 + .../esm/models/v3/operation-replies.d.ts | 6 + .../parser/esm/models/v3/operation-replies.js | 6 + .../models/v3/operation-reply-address.d.ts | 13 + .../esm/models/v3/operation-reply-address.js | 19 + .../models/v3/operation-reply-addresses.d.ts | 6 + .../models/v3/operation-reply-addresses.js | 6 + .../parser/esm/models/v3/operation-reply.d.ts | 18 + apps/parser/esm/models/v3/operation-reply.js | 40 + .../parser/esm/models/v3/operation-trait.d.ts | 12 + apps/parser/esm/models/v3/operation-trait.js | 22 + .../esm/models/v3/operation-traits.d.ts | 6 + apps/parser/esm/models/v3/operation-traits.js | 6 + apps/parser/esm/models/v3/operation.d.ts | 19 + apps/parser/esm/models/v3/operation.js | 70 + apps/parser/esm/models/v3/operations.d.ts | 8 + apps/parser/esm/models/v3/operations.js | 12 + apps/parser/esm/models/v3/schema.d.ts | 76 + apps/parser/esm/models/v3/schema.js | 321 + apps/parser/esm/models/v3/schemas.d.ts | 6 + apps/parser/esm/models/v3/schemas.js | 6 + .../esm/models/v3/security-requirement.d.ts | 12 + .../esm/models/v3/security-requirement.js | 9 + .../esm/models/v3/security-requirements.d.ts | 6 + .../esm/models/v3/security-requirements.js | 6 + .../parser/esm/models/v3/security-scheme.d.ts | 26 + apps/parser/esm/models/v3/security-scheme.js | 58 + .../esm/models/v3/security-schemes.d.ts | 6 + apps/parser/esm/models/v3/security-schemes.js | 6 + .../parser/esm/models/v3/server-variable.d.ts | 17 + apps/parser/esm/models/v3/server-variable.js | 31 + .../esm/models/v3/server-variables.d.ts | 6 + apps/parser/esm/models/v3/server-variables.js | 6 + apps/parser/esm/models/v3/server.d.ts | 25 + apps/parser/esm/models/v3/server.js | 99 + apps/parser/esm/models/v3/servers.d.ts | 8 + apps/parser/esm/models/v3/servers.js | 12 + apps/parser/esm/models/v3/tag.d.ts | 16 + apps/parser/esm/models/v3/tag.js | 25 + apps/parser/esm/models/v3/tags.d.ts | 6 + apps/parser/esm/models/v3/tags.js | 6 + apps/parser/esm/old-api/asyncapi.d.ts | 40 + apps/parser/esm/old-api/asyncapi.js | 157 + apps/parser/esm/old-api/base.d.ts | 7 + apps/parser/esm/old-api/base.js | 16 + .../parser/esm/old-api/channel-parameter.d.ts | 9 + apps/parser/esm/old-api/channel-parameter.js | 18 + apps/parser/esm/old-api/channel.d.ts | 23 + apps/parser/esm/old-api/channel.js | 68 + apps/parser/esm/old-api/components.d.ts | 44 + apps/parser/esm/old-api/components.js | 103 + apps/parser/esm/old-api/contact.d.ts | 7 + apps/parser/esm/old-api/contact.js | 12 + apps/parser/esm/old-api/converter.d.ts | 4 + apps/parser/esm/old-api/converter.js | 53 + apps/parser/esm/old-api/correlation-id.d.ts | 7 + apps/parser/esm/old-api/correlation-id.js | 12 + apps/parser/esm/old-api/external-docs.d.ts | 15 + apps/parser/esm/old-api/external-docs.js | 37 + apps/parser/esm/old-api/index.d.ts | 21 + apps/parser/esm/old-api/index.js | 21 + apps/parser/esm/old-api/info.d.ts | 13 + apps/parser/esm/old-api/info.js | 30 + apps/parser/esm/old-api/iterator.d.ts | 42 + apps/parser/esm/old-api/iterator.js | 246 + apps/parser/esm/old-api/license.d.ts | 6 + apps/parser/esm/old-api/license.js | 9 + apps/parser/esm/old-api/message-trait.d.ts | 30 + apps/parser/esm/old-api/message-trait.js | 83 + apps/parser/esm/old-api/message.d.ts | 11 + apps/parser/esm/old-api/message.js | 28 + apps/parser/esm/old-api/mixins.d.ts | 95 + apps/parser/esm/old-api/mixins.js | 138 + apps/parser/esm/old-api/oauth-flow.d.ts | 8 + apps/parser/esm/old-api/oauth-flow.js | 15 + apps/parser/esm/old-api/operation-trait.d.ts | 27 + apps/parser/esm/old-api/operation-trait.js | 66 + apps/parser/esm/old-api/operation.d.ts | 10 + apps/parser/esm/old-api/operation.js | 42 + apps/parser/esm/old-api/schema.d.ts | 63 + apps/parser/esm/old-api/schema.js | 238 + .../esm/old-api/security-requirement.d.ts | 4 + .../esm/old-api/security-requirement.js | 3 + apps/parser/esm/old-api/security-scheme.d.ts | 14 + apps/parser/esm/old-api/security-scheme.js | 31 + apps/parser/esm/old-api/server-variable.d.ts | 12 + apps/parser/esm/old-api/server-variable.js | 29 + apps/parser/esm/old-api/server.d.ts | 25 + apps/parser/esm/old-api/server.js | 64 + apps/parser/esm/old-api/tag.d.ts | 17 + apps/parser/esm/old-api/tag.js | 43 + apps/parser/esm/parse.d.ts | 23 + apps/parser/esm/parse.js | 71 + apps/parser/esm/parser.d.ts | 23 + apps/parser/esm/parser.js | 49 + apps/parser/esm/resolver.d.ts | 13 + apps/parser/esm/resolver.js | 73 + apps/parser/esm/ruleset/formats.d.ts | 8 + apps/parser/esm/ruleset/formats.js | 41 + .../ruleset/functions/documentStructure.d.ts | 5 + .../ruleset/functions/documentStructure.js | 126 + .../esm/ruleset/functions/internal.d.ts | 1 + apps/parser/esm/ruleset/functions/internal.js | 8 + .../ruleset/functions/isAsyncAPIDocument.d.ts | 2 + .../ruleset/functions/isAsyncAPIDocument.js | 24 + .../esm/ruleset/functions/uniquenessTags.d.ts | 5 + .../esm/ruleset/functions/uniquenessTags.js | 40 + .../ruleset/functions/unusedComponent.d.ts | 3 + .../esm/ruleset/functions/unusedComponent.js | 34 + apps/parser/esm/ruleset/index.d.ts | 10 + apps/parser/esm/ruleset/index.js | 28 + apps/parser/esm/ruleset/ruleset.d.ts | 184 + apps/parser/esm/ruleset/ruleset.js | 195 + .../esm/ruleset/utils/getMissingProps.d.ts | 1 + .../esm/ruleset/utils/getMissingProps.js | 7 + .../esm/ruleset/utils/getRedundantProps.d.ts | 1 + .../esm/ruleset/utils/getRedundantProps.js | 7 + apps/parser/esm/ruleset/utils/index.d.ts | 4 + apps/parser/esm/ruleset/utils/index.js | 4 + .../parser/esm/ruleset/utils/mergeTraits.d.ts | 4 + apps/parser/esm/ruleset/utils/mergeTraits.js | 31 + .../esm/ruleset/utils/parseUrlVariables.d.ts | 1 + .../esm/ruleset/utils/parseUrlVariables.js | 8 + .../v2/functions/channelParameters.d.ts | 3 + .../ruleset/v2/functions/channelParameters.js | 37 + .../ruleset/v2/functions/channelServers.d.ts | 6 + .../ruleset/v2/functions/channelServers.js | 45 + .../esm/ruleset/v2/functions/checkId.d.ts | 4 + .../esm/ruleset/v2/functions/checkId.js | 28 + .../messageExamples-spectral-rule-v2.d.ts | 3 + .../messageExamples-spectral-rule-v2.js | 113 + .../ruleset/v2/functions/messageExamples.d.ts | 10 + .../ruleset/v2/functions/messageExamples.js | 77 + .../v2/functions/messageIdUniqueness.d.ts | 2 + .../v2/functions/messageIdUniqueness.js | 92 + .../v2/functions/operationIdUniqueness.d.ts | 2 + .../v2/functions/operationIdUniqueness.js | 62 + .../v2/functions/schemaValidation.d.ts | 8 + .../ruleset/v2/functions/schemaValidation.js | 50 + .../esm/ruleset/v2/functions/security.d.ts | 3 + .../esm/ruleset/v2/functions/security.js | 61 + .../ruleset/v2/functions/serverVariables.d.ts | 4 + .../ruleset/v2/functions/serverVariables.js | 39 + .../v2/functions/unusedSecuritySchemes.d.ts | 2 + .../v2/functions/unusedSecuritySchemes.js | 53 + apps/parser/esm/ruleset/v2/index.d.ts | 1 + apps/parser/esm/ruleset/v2/index.js | 1 + apps/parser/esm/ruleset/v2/ruleset.d.ts | 304 + apps/parser/esm/ruleset/v2/ruleset.js | 352 + .../esm/ruleset/v2/utils/getAllMessages.d.ts | 7 + .../esm/ruleset/v2/utils/getAllMessages.js | 30 + .../ruleset/v2/utils/getAllOperations.d.ts | 8 + .../esm/ruleset/v2/utils/getAllOperations.js | 26 + apps/parser/esm/ruleset/v2/utils/index.d.ts | 2 + apps/parser/esm/ruleset/v2/utils/index.js | 2 + .../operationMessagesUnambiguity.d.ts | 8 + .../functions/operationMessagesUnambiguity.js | 36 + apps/parser/esm/ruleset/v3/index.d.ts | 1 + apps/parser/esm/ruleset/v3/index.js | 1 + apps/parser/esm/ruleset/v3/ruleset.d.ts | 58 + apps/parser/esm/ruleset/v3/ruleset.js | 58 + .../schema-parser/asyncapi-schema-parser.d.ts | 2 + .../schema-parser/asyncapi-schema-parser.js | 102 + apps/parser/esm/schema-parser/index.d.ts | 28 + apps/parser/esm/schema-parser/index.js | 58 + .../esm/schema-parser/spectral-rule-v2.d.ts | 3 + .../esm/schema-parser/spectral-rule-v2.js | 75 + apps/parser/esm/spec-types/index.d.ts | 2 + apps/parser/esm/spec-types/index.js | 2 + apps/parser/esm/spec-types/v2.d.ts | 363 + apps/parser/esm/spec-types/v2.js | 1 + apps/parser/esm/spec-types/v3.d.ts | 404 + apps/parser/esm/spec-types/v3.js | 1 + apps/parser/esm/spectral.d.ts | 3 + apps/parser/esm/spectral.js | 11 + apps/parser/esm/stringify.d.ts | 9 + apps/parser/esm/stringify.js | 97 + apps/parser/esm/types.d.ts | 24 + apps/parser/esm/types.js | 1 + apps/parser/esm/utils.d.ts | 28 + apps/parser/esm/utils.js | 156 + apps/parser/esm/validate.d.ts | 25 + apps/parser/esm/validate.js | 48 + apps/parser/jest.config.ts | 6 +- package-lock.json | 15463 ++++++++++++---- package.json | 11 +- packages/eslint-config/README.md | 3 - packages/eslint-config/library.js | 34 - packages/eslint-config/next.js | 35 - packages/eslint-config/package.json | 19 - packages/eslint-config/react-internal.js | 43 - packages/typescript-config/base.json | 20 - packages/typescript-config/nextjs.json | 13 - packages/typescript-config/package.json | 9 - packages/typescript-config/react-library.json | 8 - packages/ui/.eslintrc.js | 10 - packages/ui/package.json | 26 - packages/ui/src/button.tsx | 20 - packages/ui/src/card.tsx | 25 - packages/ui/src/code.tsx | 9 - packages/ui/tsconfig.json | 8 - packages/ui/tsconfig.lint.json | 8 - packages/ui/turbo/generators/config.ts | 30 - .../turbo/generators/templates/component.hbs | 8 - turbo.json | 12 +- 927 files changed, 37744 insertions(+), 5001 deletions(-) delete mode 100644 apps/docs/.eslintrc.js delete mode 100644 apps/docs/README.md delete mode 100644 apps/docs/app/favicon.ico delete mode 100644 apps/docs/app/globals.css delete mode 100644 apps/docs/app/layout.tsx delete mode 100644 apps/docs/app/page.module.css delete mode 100644 apps/docs/app/page.tsx delete mode 100644 apps/docs/next-env.d.ts delete mode 100644 apps/docs/next.config.js delete mode 100644 apps/docs/package.json delete mode 100644 apps/docs/public/circles.svg delete mode 100644 apps/docs/public/next.svg delete mode 100644 apps/docs/public/turborepo.svg delete mode 100644 apps/docs/public/vercel.svg delete mode 100644 apps/docs/tsconfig.json create mode 100644 apps/parser/browser/index.js create mode 100644 apps/parser/browser/index.js.LICENSE.txt create mode 100644 apps/parser/cjs/constants.d.ts create mode 100644 apps/parser/cjs/constants.js create mode 100644 apps/parser/cjs/custom-operations/anonymous-naming.d.ts create mode 100644 apps/parser/cjs/custom-operations/anonymous-naming.js create mode 100644 apps/parser/cjs/custom-operations/apply-traits.d.ts create mode 100644 apps/parser/cjs/custom-operations/apply-traits.js create mode 100644 apps/parser/cjs/custom-operations/apply-unique-ids.d.ts create mode 100644 apps/parser/cjs/custom-operations/apply-unique-ids.js create mode 100644 apps/parser/cjs/custom-operations/check-circular-refs.d.ts create mode 100644 apps/parser/cjs/custom-operations/check-circular-refs.js create mode 100644 apps/parser/cjs/custom-operations/index.d.ts create mode 100644 apps/parser/cjs/custom-operations/index.js create mode 100644 apps/parser/cjs/custom-operations/parse-schema.d.ts create mode 100644 apps/parser/cjs/custom-operations/parse-schema.js create mode 100644 apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts create mode 100644 apps/parser/cjs/custom-operations/resolve-circular-refs.js create mode 100644 apps/parser/cjs/document.d.ts create mode 100644 apps/parser/cjs/document.js create mode 100644 apps/parser/cjs/from.d.ts create mode 100644 apps/parser/cjs/from.js create mode 100644 apps/parser/cjs/index.d.ts create mode 100644 apps/parser/cjs/index.js create mode 100644 apps/parser/cjs/iterator.d.ts create mode 100644 apps/parser/cjs/iterator.js create mode 100644 apps/parser/cjs/models/asyncapi.d.ts create mode 100644 apps/parser/cjs/models/asyncapi.js create mode 100644 apps/parser/cjs/models/base.d.ts create mode 100644 apps/parser/cjs/models/base.js create mode 100644 apps/parser/cjs/models/binding.d.ts create mode 100644 apps/parser/cjs/models/binding.js create mode 100644 apps/parser/cjs/models/bindings.d.ts create mode 100644 apps/parser/cjs/models/bindings.js create mode 100644 apps/parser/cjs/models/channel-parameter.d.ts create mode 100644 apps/parser/cjs/models/channel-parameter.js create mode 100644 apps/parser/cjs/models/channel-parameters.d.ts create mode 100644 apps/parser/cjs/models/channel-parameters.js create mode 100644 apps/parser/cjs/models/channel.d.ts create mode 100644 apps/parser/cjs/models/channel.js create mode 100644 apps/parser/cjs/models/channels.d.ts create mode 100644 apps/parser/cjs/models/channels.js create mode 100644 apps/parser/cjs/models/collection.d.ts create mode 100644 apps/parser/cjs/models/collection.js create mode 100644 apps/parser/cjs/models/components.d.ts create mode 100644 apps/parser/cjs/models/components.js create mode 100644 apps/parser/cjs/models/contact.d.ts create mode 100644 apps/parser/cjs/models/contact.js create mode 100644 apps/parser/cjs/models/correlation-id.d.ts create mode 100644 apps/parser/cjs/models/correlation-id.js create mode 100644 apps/parser/cjs/models/correlation-ids.d.ts create mode 100644 apps/parser/cjs/models/correlation-ids.js create mode 100644 apps/parser/cjs/models/extension.d.ts create mode 100644 apps/parser/cjs/models/extension.js create mode 100644 apps/parser/cjs/models/extensions.d.ts create mode 100644 apps/parser/cjs/models/extensions.js create mode 100644 apps/parser/cjs/models/external-docs.d.ts create mode 100644 apps/parser/cjs/models/external-docs.js create mode 100644 apps/parser/cjs/models/external-documentation.d.ts create mode 100644 apps/parser/cjs/models/external-documentation.js create mode 100644 apps/parser/cjs/models/external-documentations.d.ts create mode 100644 apps/parser/cjs/models/external-documentations.js create mode 100644 apps/parser/cjs/models/index.d.ts create mode 100644 apps/parser/cjs/models/index.js create mode 100644 apps/parser/cjs/models/info.d.ts create mode 100644 apps/parser/cjs/models/info.js create mode 100644 apps/parser/cjs/models/license.d.ts create mode 100644 apps/parser/cjs/models/license.js create mode 100644 apps/parser/cjs/models/message-example.d.ts create mode 100644 apps/parser/cjs/models/message-example.js create mode 100644 apps/parser/cjs/models/message-examples.d.ts create mode 100644 apps/parser/cjs/models/message-examples.js create mode 100644 apps/parser/cjs/models/message-trait.d.ts create mode 100644 apps/parser/cjs/models/message-trait.js create mode 100644 apps/parser/cjs/models/message-traits.d.ts create mode 100644 apps/parser/cjs/models/message-traits.js create mode 100644 apps/parser/cjs/models/message.d.ts create mode 100644 apps/parser/cjs/models/message.js create mode 100644 apps/parser/cjs/models/messages.d.ts create mode 100644 apps/parser/cjs/models/messages.js create mode 100644 apps/parser/cjs/models/mixins.d.ts create mode 100644 apps/parser/cjs/models/mixins.js create mode 100644 apps/parser/cjs/models/oauth-flow.d.ts create mode 100644 apps/parser/cjs/models/oauth-flow.js create mode 100644 apps/parser/cjs/models/oauth-flows.d.ts create mode 100644 apps/parser/cjs/models/oauth-flows.js create mode 100644 apps/parser/cjs/models/operation-replies.d.ts create mode 100644 apps/parser/cjs/models/operation-replies.js create mode 100644 apps/parser/cjs/models/operation-reply-address.d.ts create mode 100644 apps/parser/cjs/models/operation-reply-address.js create mode 100644 apps/parser/cjs/models/operation-reply-addresses.d.ts create mode 100644 apps/parser/cjs/models/operation-reply-addresses.js create mode 100644 apps/parser/cjs/models/operation-reply.d.ts create mode 100644 apps/parser/cjs/models/operation-reply.js create mode 100644 apps/parser/cjs/models/operation-trait.d.ts create mode 100644 apps/parser/cjs/models/operation-trait.js create mode 100644 apps/parser/cjs/models/operation-traits.d.ts create mode 100644 apps/parser/cjs/models/operation-traits.js create mode 100644 apps/parser/cjs/models/operation.d.ts create mode 100644 apps/parser/cjs/models/operation.js create mode 100644 apps/parser/cjs/models/operations.d.ts create mode 100644 apps/parser/cjs/models/operations.js create mode 100644 apps/parser/cjs/models/schema.d.ts create mode 100644 apps/parser/cjs/models/schema.js create mode 100644 apps/parser/cjs/models/schemas.d.ts create mode 100644 apps/parser/cjs/models/schemas.js create mode 100644 apps/parser/cjs/models/security-requirement.d.ts create mode 100644 apps/parser/cjs/models/security-requirement.js create mode 100644 apps/parser/cjs/models/security-requirements.d.ts create mode 100644 apps/parser/cjs/models/security-requirements.js create mode 100644 apps/parser/cjs/models/security-scheme.d.ts create mode 100644 apps/parser/cjs/models/security-scheme.js create mode 100644 apps/parser/cjs/models/security-schemes.d.ts create mode 100644 apps/parser/cjs/models/security-schemes.js create mode 100644 apps/parser/cjs/models/server-variable.d.ts create mode 100644 apps/parser/cjs/models/server-variable.js create mode 100644 apps/parser/cjs/models/server-variables.d.ts create mode 100644 apps/parser/cjs/models/server-variables.js create mode 100644 apps/parser/cjs/models/server.d.ts create mode 100644 apps/parser/cjs/models/server.js create mode 100644 apps/parser/cjs/models/servers.d.ts create mode 100644 apps/parser/cjs/models/servers.js create mode 100644 apps/parser/cjs/models/tag.d.ts create mode 100644 apps/parser/cjs/models/tag.js create mode 100644 apps/parser/cjs/models/tags.d.ts create mode 100644 apps/parser/cjs/models/tags.js create mode 100644 apps/parser/cjs/models/utils.d.ts create mode 100644 apps/parser/cjs/models/utils.js create mode 100644 apps/parser/cjs/models/v2/asyncapi.d.ts create mode 100644 apps/parser/cjs/models/v2/asyncapi.js create mode 100644 apps/parser/cjs/models/v2/binding.d.ts create mode 100644 apps/parser/cjs/models/v2/binding.js create mode 100644 apps/parser/cjs/models/v2/bindings.d.ts create mode 100644 apps/parser/cjs/models/v2/bindings.js create mode 100644 apps/parser/cjs/models/v2/channel-parameter.d.ts create mode 100644 apps/parser/cjs/models/v2/channel-parameter.js create mode 100644 apps/parser/cjs/models/v2/channel-parameters.d.ts create mode 100644 apps/parser/cjs/models/v2/channel-parameters.js create mode 100644 apps/parser/cjs/models/v2/channel.d.ts create mode 100644 apps/parser/cjs/models/v2/channel.js create mode 100644 apps/parser/cjs/models/v2/channels.d.ts create mode 100644 apps/parser/cjs/models/v2/channels.js create mode 100644 apps/parser/cjs/models/v2/components.d.ts create mode 100644 apps/parser/cjs/models/v2/components.js create mode 100644 apps/parser/cjs/models/v2/contact.d.ts create mode 100644 apps/parser/cjs/models/v2/contact.js create mode 100644 apps/parser/cjs/models/v2/correlation-id.d.ts create mode 100644 apps/parser/cjs/models/v2/correlation-id.js create mode 100644 apps/parser/cjs/models/v2/correlation-ids.d.ts create mode 100644 apps/parser/cjs/models/v2/correlation-ids.js create mode 100644 apps/parser/cjs/models/v2/extension.d.ts create mode 100644 apps/parser/cjs/models/v2/extension.js create mode 100644 apps/parser/cjs/models/v2/extensions.d.ts create mode 100644 apps/parser/cjs/models/v2/extensions.js create mode 100644 apps/parser/cjs/models/v2/external-docs.d.ts create mode 100644 apps/parser/cjs/models/v2/external-docs.js create mode 100644 apps/parser/cjs/models/v2/index.d.ts create mode 100644 apps/parser/cjs/models/v2/index.js create mode 100644 apps/parser/cjs/models/v2/info.d.ts create mode 100644 apps/parser/cjs/models/v2/info.js create mode 100644 apps/parser/cjs/models/v2/license.d.ts create mode 100644 apps/parser/cjs/models/v2/license.js create mode 100644 apps/parser/cjs/models/v2/message-example.d.ts create mode 100644 apps/parser/cjs/models/v2/message-example.js create mode 100644 apps/parser/cjs/models/v2/message-examples.d.ts create mode 100644 apps/parser/cjs/models/v2/message-examples.js create mode 100644 apps/parser/cjs/models/v2/message-trait.d.ts create mode 100644 apps/parser/cjs/models/v2/message-trait.js create mode 100644 apps/parser/cjs/models/v2/message-traits.d.ts create mode 100644 apps/parser/cjs/models/v2/message-traits.js create mode 100644 apps/parser/cjs/models/v2/message.d.ts create mode 100644 apps/parser/cjs/models/v2/message.js create mode 100644 apps/parser/cjs/models/v2/messages.d.ts create mode 100644 apps/parser/cjs/models/v2/messages.js create mode 100644 apps/parser/cjs/models/v2/mixins.d.ts create mode 100644 apps/parser/cjs/models/v2/mixins.js create mode 100644 apps/parser/cjs/models/v2/oauth-flow.d.ts create mode 100644 apps/parser/cjs/models/v2/oauth-flow.js create mode 100644 apps/parser/cjs/models/v2/oauth-flows.d.ts create mode 100644 apps/parser/cjs/models/v2/oauth-flows.js create mode 100644 apps/parser/cjs/models/v2/operation-trait.d.ts create mode 100644 apps/parser/cjs/models/v2/operation-trait.js create mode 100644 apps/parser/cjs/models/v2/operation-traits.d.ts create mode 100644 apps/parser/cjs/models/v2/operation-traits.js create mode 100644 apps/parser/cjs/models/v2/operation.d.ts create mode 100644 apps/parser/cjs/models/v2/operation.js create mode 100644 apps/parser/cjs/models/v2/operations.d.ts create mode 100644 apps/parser/cjs/models/v2/operations.js create mode 100644 apps/parser/cjs/models/v2/schema.d.ts create mode 100644 apps/parser/cjs/models/v2/schema.js create mode 100644 apps/parser/cjs/models/v2/schemas.d.ts create mode 100644 apps/parser/cjs/models/v2/schemas.js create mode 100644 apps/parser/cjs/models/v2/security-requirement.d.ts create mode 100644 apps/parser/cjs/models/v2/security-requirement.js create mode 100644 apps/parser/cjs/models/v2/security-requirements.d.ts create mode 100644 apps/parser/cjs/models/v2/security-requirements.js create mode 100644 apps/parser/cjs/models/v2/security-scheme.d.ts create mode 100644 apps/parser/cjs/models/v2/security-scheme.js create mode 100644 apps/parser/cjs/models/v2/security-schemes.d.ts create mode 100644 apps/parser/cjs/models/v2/security-schemes.js create mode 100644 apps/parser/cjs/models/v2/server-variable.d.ts create mode 100644 apps/parser/cjs/models/v2/server-variable.js create mode 100644 apps/parser/cjs/models/v2/server-variables.d.ts create mode 100644 apps/parser/cjs/models/v2/server-variables.js create mode 100644 apps/parser/cjs/models/v2/server.d.ts create mode 100644 apps/parser/cjs/models/v2/server.js create mode 100644 apps/parser/cjs/models/v2/servers.d.ts create mode 100644 apps/parser/cjs/models/v2/servers.js create mode 100644 apps/parser/cjs/models/v2/tag.d.ts create mode 100644 apps/parser/cjs/models/v2/tag.js create mode 100644 apps/parser/cjs/models/v2/tags.d.ts create mode 100644 apps/parser/cjs/models/v2/tags.js create mode 100644 apps/parser/cjs/models/v3/asyncapi.d.ts create mode 100644 apps/parser/cjs/models/v3/asyncapi.js create mode 100644 apps/parser/cjs/models/v3/binding.d.ts create mode 100644 apps/parser/cjs/models/v3/binding.js create mode 100644 apps/parser/cjs/models/v3/bindings.d.ts create mode 100644 apps/parser/cjs/models/v3/bindings.js create mode 100644 apps/parser/cjs/models/v3/channel-parameter.d.ts create mode 100644 apps/parser/cjs/models/v3/channel-parameter.js create mode 100644 apps/parser/cjs/models/v3/channel-parameters.d.ts create mode 100644 apps/parser/cjs/models/v3/channel-parameters.js create mode 100644 apps/parser/cjs/models/v3/channel.d.ts create mode 100644 apps/parser/cjs/models/v3/channel.js create mode 100644 apps/parser/cjs/models/v3/channels.d.ts create mode 100644 apps/parser/cjs/models/v3/channels.js create mode 100644 apps/parser/cjs/models/v3/components.d.ts create mode 100644 apps/parser/cjs/models/v3/components.js create mode 100644 apps/parser/cjs/models/v3/contact.d.ts create mode 100644 apps/parser/cjs/models/v3/contact.js create mode 100644 apps/parser/cjs/models/v3/correlation-id.d.ts create mode 100644 apps/parser/cjs/models/v3/correlation-id.js create mode 100644 apps/parser/cjs/models/v3/correlation-ids.d.ts create mode 100644 apps/parser/cjs/models/v3/correlation-ids.js create mode 100644 apps/parser/cjs/models/v3/extension.d.ts create mode 100644 apps/parser/cjs/models/v3/extension.js create mode 100644 apps/parser/cjs/models/v3/extensions.d.ts create mode 100644 apps/parser/cjs/models/v3/extensions.js create mode 100644 apps/parser/cjs/models/v3/external-docs.d.ts create mode 100644 apps/parser/cjs/models/v3/external-docs.js create mode 100644 apps/parser/cjs/models/v3/index.d.ts create mode 100644 apps/parser/cjs/models/v3/index.js create mode 100644 apps/parser/cjs/models/v3/info.d.ts create mode 100644 apps/parser/cjs/models/v3/info.js create mode 100644 apps/parser/cjs/models/v3/license.d.ts create mode 100644 apps/parser/cjs/models/v3/license.js create mode 100644 apps/parser/cjs/models/v3/message-example.d.ts create mode 100644 apps/parser/cjs/models/v3/message-example.js create mode 100644 apps/parser/cjs/models/v3/message-examples.d.ts create mode 100644 apps/parser/cjs/models/v3/message-examples.js create mode 100644 apps/parser/cjs/models/v3/message-trait.d.ts create mode 100644 apps/parser/cjs/models/v3/message-trait.js create mode 100644 apps/parser/cjs/models/v3/message-traits.d.ts create mode 100644 apps/parser/cjs/models/v3/message-traits.js create mode 100644 apps/parser/cjs/models/v3/message.d.ts create mode 100644 apps/parser/cjs/models/v3/message.js create mode 100644 apps/parser/cjs/models/v3/messages.d.ts create mode 100644 apps/parser/cjs/models/v3/messages.js create mode 100644 apps/parser/cjs/models/v3/mixins.d.ts create mode 100644 apps/parser/cjs/models/v3/mixins.js create mode 100644 apps/parser/cjs/models/v3/oauth-flow.d.ts create mode 100644 apps/parser/cjs/models/v3/oauth-flow.js create mode 100644 apps/parser/cjs/models/v3/oauth-flows.d.ts create mode 100644 apps/parser/cjs/models/v3/oauth-flows.js create mode 100644 apps/parser/cjs/models/v3/operation-replies.d.ts create mode 100644 apps/parser/cjs/models/v3/operation-replies.js create mode 100644 apps/parser/cjs/models/v3/operation-reply-address.d.ts create mode 100644 apps/parser/cjs/models/v3/operation-reply-address.js create mode 100644 apps/parser/cjs/models/v3/operation-reply-addresses.d.ts create mode 100644 apps/parser/cjs/models/v3/operation-reply-addresses.js create mode 100644 apps/parser/cjs/models/v3/operation-reply.d.ts create mode 100644 apps/parser/cjs/models/v3/operation-reply.js create mode 100644 apps/parser/cjs/models/v3/operation-trait.d.ts create mode 100644 apps/parser/cjs/models/v3/operation-trait.js create mode 100644 apps/parser/cjs/models/v3/operation-traits.d.ts create mode 100644 apps/parser/cjs/models/v3/operation-traits.js create mode 100644 apps/parser/cjs/models/v3/operation.d.ts create mode 100644 apps/parser/cjs/models/v3/operation.js create mode 100644 apps/parser/cjs/models/v3/operations.d.ts create mode 100644 apps/parser/cjs/models/v3/operations.js create mode 100644 apps/parser/cjs/models/v3/schema.d.ts create mode 100644 apps/parser/cjs/models/v3/schema.js create mode 100644 apps/parser/cjs/models/v3/schemas.d.ts create mode 100644 apps/parser/cjs/models/v3/schemas.js create mode 100644 apps/parser/cjs/models/v3/security-requirement.d.ts create mode 100644 apps/parser/cjs/models/v3/security-requirement.js create mode 100644 apps/parser/cjs/models/v3/security-requirements.d.ts create mode 100644 apps/parser/cjs/models/v3/security-requirements.js create mode 100644 apps/parser/cjs/models/v3/security-scheme.d.ts create mode 100644 apps/parser/cjs/models/v3/security-scheme.js create mode 100644 apps/parser/cjs/models/v3/security-schemes.d.ts create mode 100644 apps/parser/cjs/models/v3/security-schemes.js create mode 100644 apps/parser/cjs/models/v3/server-variable.d.ts create mode 100644 apps/parser/cjs/models/v3/server-variable.js create mode 100644 apps/parser/cjs/models/v3/server-variables.d.ts create mode 100644 apps/parser/cjs/models/v3/server-variables.js create mode 100644 apps/parser/cjs/models/v3/server.d.ts create mode 100644 apps/parser/cjs/models/v3/server.js create mode 100644 apps/parser/cjs/models/v3/servers.d.ts create mode 100644 apps/parser/cjs/models/v3/servers.js create mode 100644 apps/parser/cjs/models/v3/tag.d.ts create mode 100644 apps/parser/cjs/models/v3/tag.js create mode 100644 apps/parser/cjs/models/v3/tags.d.ts create mode 100644 apps/parser/cjs/models/v3/tags.js create mode 100644 apps/parser/cjs/old-api/asyncapi.d.ts create mode 100644 apps/parser/cjs/old-api/asyncapi.js create mode 100644 apps/parser/cjs/old-api/base.d.ts create mode 100644 apps/parser/cjs/old-api/base.js create mode 100644 apps/parser/cjs/old-api/channel-parameter.d.ts create mode 100644 apps/parser/cjs/old-api/channel-parameter.js create mode 100644 apps/parser/cjs/old-api/channel.d.ts create mode 100644 apps/parser/cjs/old-api/channel.js create mode 100644 apps/parser/cjs/old-api/components.d.ts create mode 100644 apps/parser/cjs/old-api/components.js create mode 100644 apps/parser/cjs/old-api/contact.d.ts create mode 100644 apps/parser/cjs/old-api/contact.js create mode 100644 apps/parser/cjs/old-api/converter.d.ts create mode 100644 apps/parser/cjs/old-api/converter.js create mode 100644 apps/parser/cjs/old-api/correlation-id.d.ts create mode 100644 apps/parser/cjs/old-api/correlation-id.js create mode 100644 apps/parser/cjs/old-api/external-docs.d.ts create mode 100644 apps/parser/cjs/old-api/external-docs.js create mode 100644 apps/parser/cjs/old-api/index.d.ts create mode 100644 apps/parser/cjs/old-api/index.js create mode 100644 apps/parser/cjs/old-api/info.d.ts create mode 100644 apps/parser/cjs/old-api/info.js create mode 100644 apps/parser/cjs/old-api/iterator.d.ts create mode 100644 apps/parser/cjs/old-api/iterator.js create mode 100644 apps/parser/cjs/old-api/license.d.ts create mode 100644 apps/parser/cjs/old-api/license.js create mode 100644 apps/parser/cjs/old-api/message-trait.d.ts create mode 100644 apps/parser/cjs/old-api/message-trait.js create mode 100644 apps/parser/cjs/old-api/message.d.ts create mode 100644 apps/parser/cjs/old-api/message.js create mode 100644 apps/parser/cjs/old-api/mixins.d.ts create mode 100644 apps/parser/cjs/old-api/mixins.js create mode 100644 apps/parser/cjs/old-api/oauth-flow.d.ts create mode 100644 apps/parser/cjs/old-api/oauth-flow.js create mode 100644 apps/parser/cjs/old-api/operation-trait.d.ts create mode 100644 apps/parser/cjs/old-api/operation-trait.js create mode 100644 apps/parser/cjs/old-api/operation.d.ts create mode 100644 apps/parser/cjs/old-api/operation.js create mode 100644 apps/parser/cjs/old-api/schema.d.ts create mode 100644 apps/parser/cjs/old-api/schema.js create mode 100644 apps/parser/cjs/old-api/security-requirement.d.ts create mode 100644 apps/parser/cjs/old-api/security-requirement.js create mode 100644 apps/parser/cjs/old-api/security-scheme.d.ts create mode 100644 apps/parser/cjs/old-api/security-scheme.js create mode 100644 apps/parser/cjs/old-api/server-variable.d.ts create mode 100644 apps/parser/cjs/old-api/server-variable.js create mode 100644 apps/parser/cjs/old-api/server.d.ts create mode 100644 apps/parser/cjs/old-api/server.js create mode 100644 apps/parser/cjs/old-api/tag.d.ts create mode 100644 apps/parser/cjs/old-api/tag.js create mode 100644 apps/parser/cjs/parse.d.ts create mode 100644 apps/parser/cjs/parse.js create mode 100644 apps/parser/cjs/parser.d.ts create mode 100644 apps/parser/cjs/parser.js create mode 100644 apps/parser/cjs/resolver.d.ts create mode 100644 apps/parser/cjs/resolver.js create mode 100644 apps/parser/cjs/ruleset/formats.d.ts create mode 100644 apps/parser/cjs/ruleset/formats.js create mode 100644 apps/parser/cjs/ruleset/functions/documentStructure.d.ts create mode 100644 apps/parser/cjs/ruleset/functions/documentStructure.js create mode 100644 apps/parser/cjs/ruleset/functions/internal.d.ts create mode 100644 apps/parser/cjs/ruleset/functions/internal.js create mode 100644 apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts create mode 100644 apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js create mode 100644 apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts create mode 100644 apps/parser/cjs/ruleset/functions/uniquenessTags.js create mode 100644 apps/parser/cjs/ruleset/functions/unusedComponent.d.ts create mode 100644 apps/parser/cjs/ruleset/functions/unusedComponent.js create mode 100644 apps/parser/cjs/ruleset/index.d.ts create mode 100644 apps/parser/cjs/ruleset/index.js create mode 100644 apps/parser/cjs/ruleset/ruleset.d.ts create mode 100644 apps/parser/cjs/ruleset/ruleset.js create mode 100644 apps/parser/cjs/ruleset/utils/getMissingProps.d.ts create mode 100644 apps/parser/cjs/ruleset/utils/getMissingProps.js create mode 100644 apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts create mode 100644 apps/parser/cjs/ruleset/utils/getRedundantProps.js create mode 100644 apps/parser/cjs/ruleset/utils/index.d.ts create mode 100644 apps/parser/cjs/ruleset/utils/index.js create mode 100644 apps/parser/cjs/ruleset/utils/mergeTraits.d.ts create mode 100644 apps/parser/cjs/ruleset/utils/mergeTraits.js create mode 100644 apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts create mode 100644 apps/parser/cjs/ruleset/utils/parseUrlVariables.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/channelParameters.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/channelServers.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/checkId.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/checkId.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/schemaValidation.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/security.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/security.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/serverVariables.js create mode 100644 apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js create mode 100644 apps/parser/cjs/ruleset/v2/index.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/index.js create mode 100644 apps/parser/cjs/ruleset/v2/ruleset.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/ruleset.js create mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllMessages.js create mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllOperations.js create mode 100644 apps/parser/cjs/ruleset/v2/utils/index.d.ts create mode 100644 apps/parser/cjs/ruleset/v2/utils/index.js create mode 100644 apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts create mode 100644 apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js create mode 100644 apps/parser/cjs/ruleset/v3/index.d.ts create mode 100644 apps/parser/cjs/ruleset/v3/index.js create mode 100644 apps/parser/cjs/ruleset/v3/ruleset.d.ts create mode 100644 apps/parser/cjs/ruleset/v3/ruleset.js create mode 100644 apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts create mode 100644 apps/parser/cjs/schema-parser/asyncapi-schema-parser.js create mode 100644 apps/parser/cjs/schema-parser/index.d.ts create mode 100644 apps/parser/cjs/schema-parser/index.js create mode 100644 apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts create mode 100644 apps/parser/cjs/schema-parser/spectral-rule-v2.js create mode 100644 apps/parser/cjs/spec-types/index.d.ts create mode 100644 apps/parser/cjs/spec-types/index.js create mode 100644 apps/parser/cjs/spec-types/v2.d.ts create mode 100644 apps/parser/cjs/spec-types/v2.js create mode 100644 apps/parser/cjs/spec-types/v3.d.ts create mode 100644 apps/parser/cjs/spec-types/v3.js create mode 100644 apps/parser/cjs/spectral.d.ts create mode 100644 apps/parser/cjs/spectral.js create mode 100644 apps/parser/cjs/stringify.d.ts create mode 100644 apps/parser/cjs/stringify.js create mode 100644 apps/parser/cjs/types.d.ts create mode 100644 apps/parser/cjs/types.js create mode 100644 apps/parser/cjs/utils.d.ts create mode 100644 apps/parser/cjs/utils.js create mode 100644 apps/parser/cjs/validate.d.ts create mode 100644 apps/parser/cjs/validate.js create mode 100644 apps/parser/esm/constants.d.ts create mode 100644 apps/parser/esm/constants.js create mode 100644 apps/parser/esm/custom-operations/anonymous-naming.d.ts create mode 100644 apps/parser/esm/custom-operations/anonymous-naming.js create mode 100644 apps/parser/esm/custom-operations/apply-traits.d.ts create mode 100644 apps/parser/esm/custom-operations/apply-traits.js create mode 100644 apps/parser/esm/custom-operations/apply-unique-ids.d.ts create mode 100644 apps/parser/esm/custom-operations/apply-unique-ids.js create mode 100644 apps/parser/esm/custom-operations/check-circular-refs.d.ts create mode 100644 apps/parser/esm/custom-operations/check-circular-refs.js create mode 100644 apps/parser/esm/custom-operations/index.d.ts create mode 100644 apps/parser/esm/custom-operations/index.js create mode 100644 apps/parser/esm/custom-operations/parse-schema.d.ts create mode 100644 apps/parser/esm/custom-operations/parse-schema.js create mode 100644 apps/parser/esm/custom-operations/resolve-circular-refs.d.ts create mode 100644 apps/parser/esm/custom-operations/resolve-circular-refs.js create mode 100644 apps/parser/esm/document.d.ts create mode 100644 apps/parser/esm/document.js create mode 100644 apps/parser/esm/from.d.ts create mode 100644 apps/parser/esm/from.js create mode 100644 apps/parser/esm/index.d.ts create mode 100644 apps/parser/esm/index.js create mode 100644 apps/parser/esm/iterator.d.ts create mode 100644 apps/parser/esm/iterator.js create mode 100644 apps/parser/esm/models/asyncapi.d.ts create mode 100644 apps/parser/esm/models/asyncapi.js create mode 100644 apps/parser/esm/models/base.d.ts create mode 100644 apps/parser/esm/models/base.js create mode 100644 apps/parser/esm/models/binding.d.ts create mode 100644 apps/parser/esm/models/binding.js create mode 100644 apps/parser/esm/models/bindings.d.ts create mode 100644 apps/parser/esm/models/bindings.js create mode 100644 apps/parser/esm/models/channel-parameter.d.ts create mode 100644 apps/parser/esm/models/channel-parameter.js create mode 100644 apps/parser/esm/models/channel-parameters.d.ts create mode 100644 apps/parser/esm/models/channel-parameters.js create mode 100644 apps/parser/esm/models/channel.d.ts create mode 100644 apps/parser/esm/models/channel.js create mode 100644 apps/parser/esm/models/channels.d.ts create mode 100644 apps/parser/esm/models/channels.js create mode 100644 apps/parser/esm/models/collection.d.ts create mode 100644 apps/parser/esm/models/collection.js create mode 100644 apps/parser/esm/models/components.d.ts create mode 100644 apps/parser/esm/models/components.js create mode 100644 apps/parser/esm/models/contact.d.ts create mode 100644 apps/parser/esm/models/contact.js create mode 100644 apps/parser/esm/models/correlation-id.d.ts create mode 100644 apps/parser/esm/models/correlation-id.js create mode 100644 apps/parser/esm/models/correlation-ids.d.ts create mode 100644 apps/parser/esm/models/correlation-ids.js create mode 100644 apps/parser/esm/models/extension.d.ts create mode 100644 apps/parser/esm/models/extension.js create mode 100644 apps/parser/esm/models/extensions.d.ts create mode 100644 apps/parser/esm/models/extensions.js create mode 100644 apps/parser/esm/models/external-docs.d.ts create mode 100644 apps/parser/esm/models/external-docs.js create mode 100644 apps/parser/esm/models/external-documentation.d.ts create mode 100644 apps/parser/esm/models/external-documentation.js create mode 100644 apps/parser/esm/models/external-documentations.d.ts create mode 100644 apps/parser/esm/models/external-documentations.js create mode 100644 apps/parser/esm/models/index.d.ts create mode 100644 apps/parser/esm/models/index.js create mode 100644 apps/parser/esm/models/info.d.ts create mode 100644 apps/parser/esm/models/info.js create mode 100644 apps/parser/esm/models/license.d.ts create mode 100644 apps/parser/esm/models/license.js create mode 100644 apps/parser/esm/models/message-example.d.ts create mode 100644 apps/parser/esm/models/message-example.js create mode 100644 apps/parser/esm/models/message-examples.d.ts create mode 100644 apps/parser/esm/models/message-examples.js create mode 100644 apps/parser/esm/models/message-trait.d.ts create mode 100644 apps/parser/esm/models/message-trait.js create mode 100644 apps/parser/esm/models/message-traits.d.ts create mode 100644 apps/parser/esm/models/message-traits.js create mode 100644 apps/parser/esm/models/message.d.ts create mode 100644 apps/parser/esm/models/message.js create mode 100644 apps/parser/esm/models/messages.d.ts create mode 100644 apps/parser/esm/models/messages.js create mode 100644 apps/parser/esm/models/mixins.d.ts create mode 100644 apps/parser/esm/models/mixins.js create mode 100644 apps/parser/esm/models/oauth-flow.d.ts create mode 100644 apps/parser/esm/models/oauth-flow.js create mode 100644 apps/parser/esm/models/oauth-flows.d.ts create mode 100644 apps/parser/esm/models/oauth-flows.js create mode 100644 apps/parser/esm/models/operation-replies.d.ts create mode 100644 apps/parser/esm/models/operation-replies.js create mode 100644 apps/parser/esm/models/operation-reply-address.d.ts create mode 100644 apps/parser/esm/models/operation-reply-address.js create mode 100644 apps/parser/esm/models/operation-reply-addresses.d.ts create mode 100644 apps/parser/esm/models/operation-reply-addresses.js create mode 100644 apps/parser/esm/models/operation-reply.d.ts create mode 100644 apps/parser/esm/models/operation-reply.js create mode 100644 apps/parser/esm/models/operation-trait.d.ts create mode 100644 apps/parser/esm/models/operation-trait.js create mode 100644 apps/parser/esm/models/operation-traits.d.ts create mode 100644 apps/parser/esm/models/operation-traits.js create mode 100644 apps/parser/esm/models/operation.d.ts create mode 100644 apps/parser/esm/models/operation.js create mode 100644 apps/parser/esm/models/operations.d.ts create mode 100644 apps/parser/esm/models/operations.js create mode 100644 apps/parser/esm/models/schema.d.ts create mode 100644 apps/parser/esm/models/schema.js create mode 100644 apps/parser/esm/models/schemas.d.ts create mode 100644 apps/parser/esm/models/schemas.js create mode 100644 apps/parser/esm/models/security-requirement.d.ts create mode 100644 apps/parser/esm/models/security-requirement.js create mode 100644 apps/parser/esm/models/security-requirements.d.ts create mode 100644 apps/parser/esm/models/security-requirements.js create mode 100644 apps/parser/esm/models/security-scheme.d.ts create mode 100644 apps/parser/esm/models/security-scheme.js create mode 100644 apps/parser/esm/models/security-schemes.d.ts create mode 100644 apps/parser/esm/models/security-schemes.js create mode 100644 apps/parser/esm/models/server-variable.d.ts create mode 100644 apps/parser/esm/models/server-variable.js create mode 100644 apps/parser/esm/models/server-variables.d.ts create mode 100644 apps/parser/esm/models/server-variables.js create mode 100644 apps/parser/esm/models/server.d.ts create mode 100644 apps/parser/esm/models/server.js create mode 100644 apps/parser/esm/models/servers.d.ts create mode 100644 apps/parser/esm/models/servers.js create mode 100644 apps/parser/esm/models/tag.d.ts create mode 100644 apps/parser/esm/models/tag.js create mode 100644 apps/parser/esm/models/tags.d.ts create mode 100644 apps/parser/esm/models/tags.js create mode 100644 apps/parser/esm/models/utils.d.ts create mode 100644 apps/parser/esm/models/utils.js create mode 100644 apps/parser/esm/models/v2/asyncapi.d.ts create mode 100644 apps/parser/esm/models/v2/asyncapi.js create mode 100644 apps/parser/esm/models/v2/binding.d.ts create mode 100644 apps/parser/esm/models/v2/binding.js create mode 100644 apps/parser/esm/models/v2/bindings.d.ts create mode 100644 apps/parser/esm/models/v2/bindings.js create mode 100644 apps/parser/esm/models/v2/channel-parameter.d.ts create mode 100644 apps/parser/esm/models/v2/channel-parameter.js create mode 100644 apps/parser/esm/models/v2/channel-parameters.d.ts create mode 100644 apps/parser/esm/models/v2/channel-parameters.js create mode 100644 apps/parser/esm/models/v2/channel.d.ts create mode 100644 apps/parser/esm/models/v2/channel.js create mode 100644 apps/parser/esm/models/v2/channels.d.ts create mode 100644 apps/parser/esm/models/v2/channels.js create mode 100644 apps/parser/esm/models/v2/components.d.ts create mode 100644 apps/parser/esm/models/v2/components.js create mode 100644 apps/parser/esm/models/v2/contact.d.ts create mode 100644 apps/parser/esm/models/v2/contact.js create mode 100644 apps/parser/esm/models/v2/correlation-id.d.ts create mode 100644 apps/parser/esm/models/v2/correlation-id.js create mode 100644 apps/parser/esm/models/v2/correlation-ids.d.ts create mode 100644 apps/parser/esm/models/v2/correlation-ids.js create mode 100644 apps/parser/esm/models/v2/extension.d.ts create mode 100644 apps/parser/esm/models/v2/extension.js create mode 100644 apps/parser/esm/models/v2/extensions.d.ts create mode 100644 apps/parser/esm/models/v2/extensions.js create mode 100644 apps/parser/esm/models/v2/external-docs.d.ts create mode 100644 apps/parser/esm/models/v2/external-docs.js create mode 100644 apps/parser/esm/models/v2/index.d.ts create mode 100644 apps/parser/esm/models/v2/index.js create mode 100644 apps/parser/esm/models/v2/info.d.ts create mode 100644 apps/parser/esm/models/v2/info.js create mode 100644 apps/parser/esm/models/v2/license.d.ts create mode 100644 apps/parser/esm/models/v2/license.js create mode 100644 apps/parser/esm/models/v2/message-example.d.ts create mode 100644 apps/parser/esm/models/v2/message-example.js create mode 100644 apps/parser/esm/models/v2/message-examples.d.ts create mode 100644 apps/parser/esm/models/v2/message-examples.js create mode 100644 apps/parser/esm/models/v2/message-trait.d.ts create mode 100644 apps/parser/esm/models/v2/message-trait.js create mode 100644 apps/parser/esm/models/v2/message-traits.d.ts create mode 100644 apps/parser/esm/models/v2/message-traits.js create mode 100644 apps/parser/esm/models/v2/message.d.ts create mode 100644 apps/parser/esm/models/v2/message.js create mode 100644 apps/parser/esm/models/v2/messages.d.ts create mode 100644 apps/parser/esm/models/v2/messages.js create mode 100644 apps/parser/esm/models/v2/mixins.d.ts create mode 100644 apps/parser/esm/models/v2/mixins.js create mode 100644 apps/parser/esm/models/v2/oauth-flow.d.ts create mode 100644 apps/parser/esm/models/v2/oauth-flow.js create mode 100644 apps/parser/esm/models/v2/oauth-flows.d.ts create mode 100644 apps/parser/esm/models/v2/oauth-flows.js create mode 100644 apps/parser/esm/models/v2/operation-trait.d.ts create mode 100644 apps/parser/esm/models/v2/operation-trait.js create mode 100644 apps/parser/esm/models/v2/operation-traits.d.ts create mode 100644 apps/parser/esm/models/v2/operation-traits.js create mode 100644 apps/parser/esm/models/v2/operation.d.ts create mode 100644 apps/parser/esm/models/v2/operation.js create mode 100644 apps/parser/esm/models/v2/operations.d.ts create mode 100644 apps/parser/esm/models/v2/operations.js create mode 100644 apps/parser/esm/models/v2/schema.d.ts create mode 100644 apps/parser/esm/models/v2/schema.js create mode 100644 apps/parser/esm/models/v2/schemas.d.ts create mode 100644 apps/parser/esm/models/v2/schemas.js create mode 100644 apps/parser/esm/models/v2/security-requirement.d.ts create mode 100644 apps/parser/esm/models/v2/security-requirement.js create mode 100644 apps/parser/esm/models/v2/security-requirements.d.ts create mode 100644 apps/parser/esm/models/v2/security-requirements.js create mode 100644 apps/parser/esm/models/v2/security-scheme.d.ts create mode 100644 apps/parser/esm/models/v2/security-scheme.js create mode 100644 apps/parser/esm/models/v2/security-schemes.d.ts create mode 100644 apps/parser/esm/models/v2/security-schemes.js create mode 100644 apps/parser/esm/models/v2/server-variable.d.ts create mode 100644 apps/parser/esm/models/v2/server-variable.js create mode 100644 apps/parser/esm/models/v2/server-variables.d.ts create mode 100644 apps/parser/esm/models/v2/server-variables.js create mode 100644 apps/parser/esm/models/v2/server.d.ts create mode 100644 apps/parser/esm/models/v2/server.js create mode 100644 apps/parser/esm/models/v2/servers.d.ts create mode 100644 apps/parser/esm/models/v2/servers.js create mode 100644 apps/parser/esm/models/v2/tag.d.ts create mode 100644 apps/parser/esm/models/v2/tag.js create mode 100644 apps/parser/esm/models/v2/tags.d.ts create mode 100644 apps/parser/esm/models/v2/tags.js create mode 100644 apps/parser/esm/models/v3/asyncapi.d.ts create mode 100644 apps/parser/esm/models/v3/asyncapi.js create mode 100644 apps/parser/esm/models/v3/binding.d.ts create mode 100644 apps/parser/esm/models/v3/binding.js create mode 100644 apps/parser/esm/models/v3/bindings.d.ts create mode 100644 apps/parser/esm/models/v3/bindings.js create mode 100644 apps/parser/esm/models/v3/channel-parameter.d.ts create mode 100644 apps/parser/esm/models/v3/channel-parameter.js create mode 100644 apps/parser/esm/models/v3/channel-parameters.d.ts create mode 100644 apps/parser/esm/models/v3/channel-parameters.js create mode 100644 apps/parser/esm/models/v3/channel.d.ts create mode 100644 apps/parser/esm/models/v3/channel.js create mode 100644 apps/parser/esm/models/v3/channels.d.ts create mode 100644 apps/parser/esm/models/v3/channels.js create mode 100644 apps/parser/esm/models/v3/components.d.ts create mode 100644 apps/parser/esm/models/v3/components.js create mode 100644 apps/parser/esm/models/v3/contact.d.ts create mode 100644 apps/parser/esm/models/v3/contact.js create mode 100644 apps/parser/esm/models/v3/correlation-id.d.ts create mode 100644 apps/parser/esm/models/v3/correlation-id.js create mode 100644 apps/parser/esm/models/v3/correlation-ids.d.ts create mode 100644 apps/parser/esm/models/v3/correlation-ids.js create mode 100644 apps/parser/esm/models/v3/extension.d.ts create mode 100644 apps/parser/esm/models/v3/extension.js create mode 100644 apps/parser/esm/models/v3/extensions.d.ts create mode 100644 apps/parser/esm/models/v3/extensions.js create mode 100644 apps/parser/esm/models/v3/external-docs.d.ts create mode 100644 apps/parser/esm/models/v3/external-docs.js create mode 100644 apps/parser/esm/models/v3/index.d.ts create mode 100644 apps/parser/esm/models/v3/index.js create mode 100644 apps/parser/esm/models/v3/info.d.ts create mode 100644 apps/parser/esm/models/v3/info.js create mode 100644 apps/parser/esm/models/v3/license.d.ts create mode 100644 apps/parser/esm/models/v3/license.js create mode 100644 apps/parser/esm/models/v3/message-example.d.ts create mode 100644 apps/parser/esm/models/v3/message-example.js create mode 100644 apps/parser/esm/models/v3/message-examples.d.ts create mode 100644 apps/parser/esm/models/v3/message-examples.js create mode 100644 apps/parser/esm/models/v3/message-trait.d.ts create mode 100644 apps/parser/esm/models/v3/message-trait.js create mode 100644 apps/parser/esm/models/v3/message-traits.d.ts create mode 100644 apps/parser/esm/models/v3/message-traits.js create mode 100644 apps/parser/esm/models/v3/message.d.ts create mode 100644 apps/parser/esm/models/v3/message.js create mode 100644 apps/parser/esm/models/v3/messages.d.ts create mode 100644 apps/parser/esm/models/v3/messages.js create mode 100644 apps/parser/esm/models/v3/mixins.d.ts create mode 100644 apps/parser/esm/models/v3/mixins.js create mode 100644 apps/parser/esm/models/v3/oauth-flow.d.ts create mode 100644 apps/parser/esm/models/v3/oauth-flow.js create mode 100644 apps/parser/esm/models/v3/oauth-flows.d.ts create mode 100644 apps/parser/esm/models/v3/oauth-flows.js create mode 100644 apps/parser/esm/models/v3/operation-replies.d.ts create mode 100644 apps/parser/esm/models/v3/operation-replies.js create mode 100644 apps/parser/esm/models/v3/operation-reply-address.d.ts create mode 100644 apps/parser/esm/models/v3/operation-reply-address.js create mode 100644 apps/parser/esm/models/v3/operation-reply-addresses.d.ts create mode 100644 apps/parser/esm/models/v3/operation-reply-addresses.js create mode 100644 apps/parser/esm/models/v3/operation-reply.d.ts create mode 100644 apps/parser/esm/models/v3/operation-reply.js create mode 100644 apps/parser/esm/models/v3/operation-trait.d.ts create mode 100644 apps/parser/esm/models/v3/operation-trait.js create mode 100644 apps/parser/esm/models/v3/operation-traits.d.ts create mode 100644 apps/parser/esm/models/v3/operation-traits.js create mode 100644 apps/parser/esm/models/v3/operation.d.ts create mode 100644 apps/parser/esm/models/v3/operation.js create mode 100644 apps/parser/esm/models/v3/operations.d.ts create mode 100644 apps/parser/esm/models/v3/operations.js create mode 100644 apps/parser/esm/models/v3/schema.d.ts create mode 100644 apps/parser/esm/models/v3/schema.js create mode 100644 apps/parser/esm/models/v3/schemas.d.ts create mode 100644 apps/parser/esm/models/v3/schemas.js create mode 100644 apps/parser/esm/models/v3/security-requirement.d.ts create mode 100644 apps/parser/esm/models/v3/security-requirement.js create mode 100644 apps/parser/esm/models/v3/security-requirements.d.ts create mode 100644 apps/parser/esm/models/v3/security-requirements.js create mode 100644 apps/parser/esm/models/v3/security-scheme.d.ts create mode 100644 apps/parser/esm/models/v3/security-scheme.js create mode 100644 apps/parser/esm/models/v3/security-schemes.d.ts create mode 100644 apps/parser/esm/models/v3/security-schemes.js create mode 100644 apps/parser/esm/models/v3/server-variable.d.ts create mode 100644 apps/parser/esm/models/v3/server-variable.js create mode 100644 apps/parser/esm/models/v3/server-variables.d.ts create mode 100644 apps/parser/esm/models/v3/server-variables.js create mode 100644 apps/parser/esm/models/v3/server.d.ts create mode 100644 apps/parser/esm/models/v3/server.js create mode 100644 apps/parser/esm/models/v3/servers.d.ts create mode 100644 apps/parser/esm/models/v3/servers.js create mode 100644 apps/parser/esm/models/v3/tag.d.ts create mode 100644 apps/parser/esm/models/v3/tag.js create mode 100644 apps/parser/esm/models/v3/tags.d.ts create mode 100644 apps/parser/esm/models/v3/tags.js create mode 100644 apps/parser/esm/old-api/asyncapi.d.ts create mode 100644 apps/parser/esm/old-api/asyncapi.js create mode 100644 apps/parser/esm/old-api/base.d.ts create mode 100644 apps/parser/esm/old-api/base.js create mode 100644 apps/parser/esm/old-api/channel-parameter.d.ts create mode 100644 apps/parser/esm/old-api/channel-parameter.js create mode 100644 apps/parser/esm/old-api/channel.d.ts create mode 100644 apps/parser/esm/old-api/channel.js create mode 100644 apps/parser/esm/old-api/components.d.ts create mode 100644 apps/parser/esm/old-api/components.js create mode 100644 apps/parser/esm/old-api/contact.d.ts create mode 100644 apps/parser/esm/old-api/contact.js create mode 100644 apps/parser/esm/old-api/converter.d.ts create mode 100644 apps/parser/esm/old-api/converter.js create mode 100644 apps/parser/esm/old-api/correlation-id.d.ts create mode 100644 apps/parser/esm/old-api/correlation-id.js create mode 100644 apps/parser/esm/old-api/external-docs.d.ts create mode 100644 apps/parser/esm/old-api/external-docs.js create mode 100644 apps/parser/esm/old-api/index.d.ts create mode 100644 apps/parser/esm/old-api/index.js create mode 100644 apps/parser/esm/old-api/info.d.ts create mode 100644 apps/parser/esm/old-api/info.js create mode 100644 apps/parser/esm/old-api/iterator.d.ts create mode 100644 apps/parser/esm/old-api/iterator.js create mode 100644 apps/parser/esm/old-api/license.d.ts create mode 100644 apps/parser/esm/old-api/license.js create mode 100644 apps/parser/esm/old-api/message-trait.d.ts create mode 100644 apps/parser/esm/old-api/message-trait.js create mode 100644 apps/parser/esm/old-api/message.d.ts create mode 100644 apps/parser/esm/old-api/message.js create mode 100644 apps/parser/esm/old-api/mixins.d.ts create mode 100644 apps/parser/esm/old-api/mixins.js create mode 100644 apps/parser/esm/old-api/oauth-flow.d.ts create mode 100644 apps/parser/esm/old-api/oauth-flow.js create mode 100644 apps/parser/esm/old-api/operation-trait.d.ts create mode 100644 apps/parser/esm/old-api/operation-trait.js create mode 100644 apps/parser/esm/old-api/operation.d.ts create mode 100644 apps/parser/esm/old-api/operation.js create mode 100644 apps/parser/esm/old-api/schema.d.ts create mode 100644 apps/parser/esm/old-api/schema.js create mode 100644 apps/parser/esm/old-api/security-requirement.d.ts create mode 100644 apps/parser/esm/old-api/security-requirement.js create mode 100644 apps/parser/esm/old-api/security-scheme.d.ts create mode 100644 apps/parser/esm/old-api/security-scheme.js create mode 100644 apps/parser/esm/old-api/server-variable.d.ts create mode 100644 apps/parser/esm/old-api/server-variable.js create mode 100644 apps/parser/esm/old-api/server.d.ts create mode 100644 apps/parser/esm/old-api/server.js create mode 100644 apps/parser/esm/old-api/tag.d.ts create mode 100644 apps/parser/esm/old-api/tag.js create mode 100644 apps/parser/esm/parse.d.ts create mode 100644 apps/parser/esm/parse.js create mode 100644 apps/parser/esm/parser.d.ts create mode 100644 apps/parser/esm/parser.js create mode 100644 apps/parser/esm/resolver.d.ts create mode 100644 apps/parser/esm/resolver.js create mode 100644 apps/parser/esm/ruleset/formats.d.ts create mode 100644 apps/parser/esm/ruleset/formats.js create mode 100644 apps/parser/esm/ruleset/functions/documentStructure.d.ts create mode 100644 apps/parser/esm/ruleset/functions/documentStructure.js create mode 100644 apps/parser/esm/ruleset/functions/internal.d.ts create mode 100644 apps/parser/esm/ruleset/functions/internal.js create mode 100644 apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts create mode 100644 apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js create mode 100644 apps/parser/esm/ruleset/functions/uniquenessTags.d.ts create mode 100644 apps/parser/esm/ruleset/functions/uniquenessTags.js create mode 100644 apps/parser/esm/ruleset/functions/unusedComponent.d.ts create mode 100644 apps/parser/esm/ruleset/functions/unusedComponent.js create mode 100644 apps/parser/esm/ruleset/index.d.ts create mode 100644 apps/parser/esm/ruleset/index.js create mode 100644 apps/parser/esm/ruleset/ruleset.d.ts create mode 100644 apps/parser/esm/ruleset/ruleset.js create mode 100644 apps/parser/esm/ruleset/utils/getMissingProps.d.ts create mode 100644 apps/parser/esm/ruleset/utils/getMissingProps.js create mode 100644 apps/parser/esm/ruleset/utils/getRedundantProps.d.ts create mode 100644 apps/parser/esm/ruleset/utils/getRedundantProps.js create mode 100644 apps/parser/esm/ruleset/utils/index.d.ts create mode 100644 apps/parser/esm/ruleset/utils/index.js create mode 100644 apps/parser/esm/ruleset/utils/mergeTraits.d.ts create mode 100644 apps/parser/esm/ruleset/utils/mergeTraits.js create mode 100644 apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts create mode 100644 apps/parser/esm/ruleset/utils/parseUrlVariables.js create mode 100644 apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/channelParameters.js create mode 100644 apps/parser/esm/ruleset/v2/functions/channelServers.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/channelServers.js create mode 100644 apps/parser/esm/ruleset/v2/functions/checkId.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/checkId.js create mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js create mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples.js create mode 100644 apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js create mode 100644 apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js create mode 100644 apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/schemaValidation.js create mode 100644 apps/parser/esm/ruleset/v2/functions/security.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/security.js create mode 100644 apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/serverVariables.js create mode 100644 apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts create mode 100644 apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js create mode 100644 apps/parser/esm/ruleset/v2/index.d.ts create mode 100644 apps/parser/esm/ruleset/v2/index.js create mode 100644 apps/parser/esm/ruleset/v2/ruleset.d.ts create mode 100644 apps/parser/esm/ruleset/v2/ruleset.js create mode 100644 apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts create mode 100644 apps/parser/esm/ruleset/v2/utils/getAllMessages.js create mode 100644 apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts create mode 100644 apps/parser/esm/ruleset/v2/utils/getAllOperations.js create mode 100644 apps/parser/esm/ruleset/v2/utils/index.d.ts create mode 100644 apps/parser/esm/ruleset/v2/utils/index.js create mode 100644 apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts create mode 100644 apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js create mode 100644 apps/parser/esm/ruleset/v3/index.d.ts create mode 100644 apps/parser/esm/ruleset/v3/index.js create mode 100644 apps/parser/esm/ruleset/v3/ruleset.d.ts create mode 100644 apps/parser/esm/ruleset/v3/ruleset.js create mode 100644 apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts create mode 100644 apps/parser/esm/schema-parser/asyncapi-schema-parser.js create mode 100644 apps/parser/esm/schema-parser/index.d.ts create mode 100644 apps/parser/esm/schema-parser/index.js create mode 100644 apps/parser/esm/schema-parser/spectral-rule-v2.d.ts create mode 100644 apps/parser/esm/schema-parser/spectral-rule-v2.js create mode 100644 apps/parser/esm/spec-types/index.d.ts create mode 100644 apps/parser/esm/spec-types/index.js create mode 100644 apps/parser/esm/spec-types/v2.d.ts create mode 100644 apps/parser/esm/spec-types/v2.js create mode 100644 apps/parser/esm/spec-types/v3.d.ts create mode 100644 apps/parser/esm/spec-types/v3.js create mode 100644 apps/parser/esm/spectral.d.ts create mode 100644 apps/parser/esm/spectral.js create mode 100644 apps/parser/esm/stringify.d.ts create mode 100644 apps/parser/esm/stringify.js create mode 100644 apps/parser/esm/types.d.ts create mode 100644 apps/parser/esm/types.js create mode 100644 apps/parser/esm/utils.d.ts create mode 100644 apps/parser/esm/utils.js create mode 100644 apps/parser/esm/validate.d.ts create mode 100644 apps/parser/esm/validate.js delete mode 100644 packages/eslint-config/README.md delete mode 100644 packages/eslint-config/library.js delete mode 100644 packages/eslint-config/next.js delete mode 100644 packages/eslint-config/package.json delete mode 100644 packages/eslint-config/react-internal.js delete mode 100644 packages/typescript-config/base.json delete mode 100644 packages/typescript-config/nextjs.json delete mode 100644 packages/typescript-config/package.json delete mode 100644 packages/typescript-config/react-library.json delete mode 100644 packages/ui/.eslintrc.js delete mode 100644 packages/ui/package.json delete mode 100644 packages/ui/src/button.tsx delete mode 100644 packages/ui/src/card.tsx delete mode 100644 packages/ui/src/code.tsx delete mode 100644 packages/ui/tsconfig.json delete mode 100644 packages/ui/tsconfig.lint.json delete mode 100644 packages/ui/turbo/generators/config.ts delete mode 100644 packages/ui/turbo/generators/templates/component.hbs diff --git a/apps/docs/.eslintrc.js b/apps/docs/.eslintrc.js deleted file mode 100644 index 7d644a4ca..000000000 --- a/apps/docs/.eslintrc.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: ["@repo/eslint-config/next.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: true, - }, -}; diff --git a/apps/docs/README.md b/apps/docs/README.md deleted file mode 100644 index d36453574..000000000 --- a/apps/docs/README.md +++ /dev/null @@ -1,28 +0,0 @@ -## Getting Started - -First, run the development server: - -```bash -yarn dev -``` - -Open [http://localhost:3001](http://localhost:3001) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -To create [API routes](https://nextjs.org/docs/app/building-your-application/routing/router-handlers) add an `api/` directory to the `app/` directory with a `route.ts` file. For individual endpoints, create a subfolder in the `api` directory, like `api/hello/route.ts` would map to [http://localhost:3001/api/hello](http://localhost:3001/api/hello). - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn/foundations/about-nextjs) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/docs/app/favicon.ico b/apps/docs/app/favicon.ico deleted file mode 100644 index 3f804c026c253d52f61b6f70ec351d1044e6bd8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8267 zcma)hcQjmI)b^b*7~SY4LI%-BkKUOPCHjn#MD!ZHcS9r@Eus^hh~7oiC_w~4)Tlua zqW2m;zkj~9zCXV8zU!`Y_PYB#&wkFi>#no*IXhBU`ym-I6EOe)Wa?^2{af4dUxO0d z_WE;9gtrD_r=+C>05x$WR~GoU?`&3T`dR=Ga327$5dd&;>%y)BfVU6;{51yv=`;YK zcgt+nlf4}vu+)5r1aAI&a@&d$Z#_hAY9^ilK#usYfzC5_C~uvFUg}yX!Zl)AN`QD? ztH=}p?$)X!mC$}O+gbi;G!sp)f9)O(0<}1%-(vmC#01n;dhERn?&>4Rf@PMDZZSO? zH~K1D??;yT?$O*Ymc@9Bp#|JO8t>bqkp;!wX-HH&r|KNNqVdF!lvyKcZDsQagKV$1EaO>G5b~z{lm=@dy$&R=zMh z$~8;>m{`9UYHRNqtrEIcfH!g!G7_&7)}AYiwGg*jjjhkXeDedLsazlaYV&bda z!kW-UlG`Oz>JSA)xE3IC^@=>QT+)3)yJP7U@qbWLP8^{qW1_A44v1p|#K|5f`uysi z*44qcK=Yv>KpS@8T=vjmJkP=CKKbp^qLMcWLRWFX;y}k!rel4V@f`=FUe0F#?JFfd z41^%9qiC>5&sVcWM1XmqK+v1=*=SsHnofW|qwlM8(FeHj2#ptgSPgRDCdmx+H-n z!gy#1U%256Ke}>>Whht4X$BLi{PH-Pi&&0pBebGnI?vMD*l@)SMeyFV$Ok$$9rK%! z=lN)*h95?5LZ@0#0c->5TC6Wi{2dY?lt20}u?=Wunp&rfFra*c7f|#xZIvCd0#6h}_^^5&RT5KWKWh@1Zd>KLQiPlEtP!{wfoLI^)@EiqLGwx*tT>x8(9a z1B7$K;*Ax|DXZCq7=EU7eE!T;t-f>mINXhs6~s!7^nU_E5IiHe#%~29sN7qF?8mjR zd||&6wwNM*#3ZK^rI=6(0))kmWYvV#3e~JaN#?mNmSjS#evmXgS)OHX-5m}&=$B*e zCtTyEIr&>pc=Whi0SzQ35X6oRFgHt>_qd8->zhEBH{)8LOiqMPFY+#?Asqz~cs^F; ztyyaR_+`tHF{Mn4&mnlL+@rtj2>Yl8Nyo4<$bQ_JxXHtUIYsj{CJBmtal#^JktKXe z5N4Y^6UZcSO7saP-V+dlH9khlBQ}U*FKiZfB4*A-d%smB{LKvV1JNjA0>NBVq*oQA zl{&C;AcW#60^alRT}E++feLl!sDO5DM@UTK*Tmg?KoBci>`1^s@&L#vG|dq)Mpcg; zZsw<|PC4-NKaF+s81xQev7zrBh`@qrduJK}RHmn$dxVQ#Fq5a_Cb0pqz26L*g$%DeqhvF^ zUi*Q7(q~PU2X}-OaX35?F{`Z7t8Z$x7W%3*FywdzqJ4%GVctj_~ z2w|fsrpjQ#C4QKRD;1#cHm=$>={Z;T?In=GEB^bT<9o+Fhbd0f8s0IymivG)@rWRT zwHuu?!EI*Qig;9tC*H@Xi21~E=2w4@A_O{E@MrbeRe|0Yo{k*LQXOB8Nt?+4CpS@S zDLKJi$VHK9DzPQL+k2cW&Bl7<%xk7K@cs%+_r#)AHXiv!qWCt{DRB1-#r2yb@Q&Vu zUi=$*Q+Wb%yoKmO@vcJkm!@;(klfNhDr0?@Y#&qJB1LFqLATN~P$s z;i*4!jO*iF#9K_P=c9@b#uli=Nu$<4r?(oEQ!vf!WdU|cY43|I5_VXJ=Nc#X7M9LP^t%sfHUufWA@EL5HOH_}JWceG^FVMy z4LqW8S9LMs$L!E{4}=iMw(4r5DpH$7u2k<26?BHybziE%hsFGpCX|i7%>uSDd)}(H z_$#1nQ}Ho}LCR|83$OyOho4x2Zz(c8QNWF$QF{~3VqJp&4ndgSb zfm^7Mf%e)Z-@g_+S|lE@EzeqiUA?>2d=DcCgs1lM8*ramnb+fDsN<2o9?175$PltE zt?DDqchcs{>w1i~l!)}F!nm>thwkQ5Iz<6PyR%rgVG;AHe0DxbRb)2k1e~pzcSeo* zxL12GxoWx)`9PKWjyQ-U^v+^rpj}NZ%bNnsx*x&z)Hw<~^5D-H zFZ9QVzMgAYQa}DqOJAdjuC+D0Z?D6fW8gKk)DtEmaiz3C=c3MNkGoSLB2Zcdxo~ft zUSirRA0|zL`^&yODqH-@e!&q|YzvBcR9*fJzU;%#ObtJf$ln@kVSkW-?6tkIM7!Sy zTlg9!S80G&JUq4&b=_S-3K}inQ6iBm3xo}N{H@uk@%1yG0bb6 zEX4y(^jydiE!>!(38th_ITmY*ZheeTxv=DN=1sLmCVZe7F5B&17n)WV^K1m&8jH~dKv!1Xyqo3>nRhqB+y=Z# z^I4G05_K$A5Je43Bl9ItQwB5#_E$ejm57f|`*24+6ZViHctvZOy?p9L{Ju37z}8s*RY+kGst5xt)_qAj)c{ ztAz^*zFdoi=D+t}I*So^e7kmqCNsq6jm}aBn8jEt)V%A2Zbkz_k0YSn-$`|2HFG&g z7nh-@Sxi#wO{Z1@AAEm;RBc}BF(Z8K+m9SfuW4%T{9Vc)o#4iDJYri=Z;2P)^BJ6~ zBGYW){ize)xr2mgE1MY>0LnQJY-%--b6=ZvayYJ1NaQm`c=;X^HsZmM!|qS9jx>sX ztrrKz$v${i@JLq>zJjiXrjN}m=-CITqba(P$t>K6dN)wk_w~QUu8_ox$>r|-fUR2@0Gw=r8*Q57O8pb3JTC+KrtN!V< zSUGOi<^)?@Csm7`5z~`VSP(AGL;BSrn0bbu@HI<$B2gCl?;C*0Gb;YRYSM{4bIX8Eck6yYCRKp;gOU1b`Fd)EmS6N>mRXrXVsJyEg zyM8j=@H8ax903rNIV!-^EgK?fF%|eHTDiq; zhp^|LBrGQvJh@dMxJ2LjgH*-*Eb;`Z6qWgfh4XG9nOzPD@MHOzAs%7;V5OnO3mJ@X zsZ70q|7>iueu_%Ic9%hlAn=`rl-9T$D)N20I!!Rzjrn=4Xu=yACiV%=|h%K$<_;!9qEige-fVkcBBDrq zo5r_3pYI0l!xg>Hqs9VdgiU^xXd8^ZYgdLGj=5A8r^fF2XU!p6sKNp_w@_c<=|7-dm*(T90b^9~S| z20-@aBch&Yt4;RHG1Ki>qZM3<7fvmaiZ6*e`bm1S_0=H8kqKmb0=J|v5{&mQWPmSy zE_(Nvh)#-coS^t+@Zt8^ZE{{cB(5|EHQ$Jt;^|Z^5`|fh-=$ePnpG3fvL|!PD3y*x zQPVdi)rdy^I;i7^!H1_UvYZ1`;ox$2y49{oz$1j1v!s?9=G106yGu_R#t+{GpSJwP zL5~RU8cuvBN?~Nge5WMs{%s31#SX(wkr(Wz?}F5)VPzvSw+#wi z56a0PcrixmL05?Z%cKIa8G-HUK_Z5HqNge%+9E8|H#=uNs#T2oB%s<+tTkb{~-{(F~5C0n3s>K%m;2Tg7hF^N| zw)AdAsf|so-o#^!92#Rs{PuA8k_uC-^Fu^%&y4%EHnTv&{obNaV zFZHG?cvMDlPqr(X%9_Pk)6e%H{2M=}Ql)Zg@_E4IzP`wKOh zqj9_`D6LZ;qI6POX6*=#R#Q4myb#T19EYEv`1H%tj+K{_#HrJ4WJno>svX{6zJDp~ z{44TOu-;K%Y@6bZNLi-#p7n8K0X_q@_!%fEg)i38x!UK``IQ_oQ#0e%#V*9s^^Mh@ z%2Tj$?GxuIY+ReV%pI>3c=QUVnTP85v?tiplYsx`P3?}Wz2Ey@2GQ@uCoVF%SvbWl z*UqdBPkBpPETZYqJ3_{?@#v33NgJ;|3-VgkoIgE@I@oCO5iHW$XK(EZzk-%3$}s2`Xu3Se#7>{UY|FyZXhf0&dKlUFQBUWm{r3Z&`~bzTplvlsoZQi@>8^I^{x^S-iHTC^^^dbESmHI;`+*MtV^Sp*dsU@VDxr}wE!hycaQIN3mL*MuUlFm$3_kHK#DB(>-hQRL(K8sDO}`=lHOnLm+L4xJKQua&fjKrqLa4^IEZ&SqZkU3+o{L_cU#v#i`;B%~on35{~c2{UkJ&XmO&L z_MdTGS>l{9uvT~ZWY6YCpgX!46>k(qg55^0jOY{I&>l;KPDBOw7LzB>9ei-BF0D;b zAu;Yrckq2$Dhgo9FI-&Zx8>>kSanP5ZHDDmLiPDH*q=9NaSaqzAj%d>%{biJ?hrX8 zDo^oq;m9SlkZZ}Fd9N(U#4?;lZ)A}nE~vjV3N>WHgAmrT{<~9Vq2_)b+iB{zm+Q^n zaUkpG*Ti1+8$5Q?1~`is03TQdiB)uYOUhu+nOwpts*P_KKkEOZ|squgjI;hjc5%@?|a6 zbJON+&BZR7l#7l+Lfog9K)7*s+c(xYb)q}I@}Lwd>t~_(ep08GUEGzCdJYVex^*_Y z{9J6K=BVbERrB*W#rVU@rls6p&0D)3#S9?DjMU{b!q6uvVb^J#TA$RE<2gKp{{@1A zq4{4cC}Bl#ME7pH=dl}yXC!T%<~99z8WKAvyWi`|nuC@p(A5J2BcS77@jY6hh~+a6 zg3u?~N`vXOXFhi4MZB>aggSF#d;`|aLwx*dN}H8E9Uu*>AV5;sI!wP6^eZ3Fu4kOcMn zF*$=5;`zJJcXTIps8|}rA$B&E@@Z%7G3|LBu|(DT^93zUp$c5|!&hQQ&L2)F%kDU! zUX`iEdB6DaHUWCw@WF)QO3PrCJfv6z#36UfZMpvLTm#p6%ud0Uei`^VU@V*?Rh?MG zcQ>jYOEfWt9hi3`KR7FLg%UJ3MggfSB%Lg(Y-*_S*F--HkSMfe||GReVjAz zJg7SFTr~y}WqZEviXteD2N@O`wRp@jC1Kt|%Y`MJYxkpsxpbtO@*AW{;`xAMR}g>I;-S zevuN6a0p%v|+ z7wRU1fwxl`@|GKKRdnTE({!<<3CJf+T)YfZ_1*`(1tpQ(fFD>9`|77|^wYO8+d zJKA9z`Vu~bR{Q_TgTzx%d0PwG-p45yWg8|7Q_HfA%32S$Sv7YrzUIvV&A<97Cx$7d7%j=f)}5>dy^T`8%P)e+|W0FRulA{kcsKXYW3dn)ufAZfVfyKEqPB&^_-<@Pz-FV6dc#X+KB zuRi0IciB5H@S}0g_x*%lJe|~rI@mf~|`1ZJ)W9)H6h$|8O=;ry4-V%0dw%8h2R6a%S` zC>JseFEK#uAanaK!M;ztdPjd- zief6z_rk@vN6Ozl$w=i4m(aaipVm@)(3v^^!r4OSZYv6mm+dOj0G$gK<+z<6ip$4#cq5E6cGm!&n>ckCu%gV&aC1e@FL5YDd^^V`?7 zur>2_32@(NQG#pADO_0E@m64+q39!2`FVzLGh2b!;l<5A$M$T&+lm)eJZdZzk76|h z7^&C{d@C#y#)2JXwPvf9>ar~kAzv9&o*HNR7WGk(!D>PE$h0io7v)`&w#BSw`-91f z{y1>sRg~|8)Bi;w`2RwL_iyeg`kt*Gm-OEjv^l*{#$MJIUN+KJ9yYfI5D^j);TIO- z7ZFAai%Sa$Nec_{-S$F4gY9KT{|~|0)!M<<|Nl>DTc+N;B{2S{VBl)&S&z+)#7up*&mr`AlQ!J}qFVjq05#$&HTvkm+l@9Q4yzSB)OfK|)Y a5CHzt!@LfZ#gcC&0Cki$vQpVR{Qm$*Br?$e diff --git a/apps/docs/app/globals.css b/apps/docs/app/globals.css deleted file mode 100644 index 8eee6cbd4..000000000 --- a/apps/docs/app/globals.css +++ /dev/null @@ -1,50 +0,0 @@ -:root { - --max-width: 1100px; - --border-radius: 12px; - --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", - "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", - "Fira Mono", "Droid Sans Mono", "Courier New", monospace; - - --foreground-rgb: 255, 255, 255; - --background-start-rgb: 0, 0, 0; - --background-end-rgb: 0, 0, 0; - - --callout-rgb: 20, 20, 20; - --callout-border-rgb: 108, 108, 108; - --card-rgb: 100, 100, 100; - --card-border-rgb: 200, 200, 200; - - --glow-conic: conic-gradient( - from 180deg at 50% 50%, - #2a8af6 0deg, - #a853ba 180deg, - #e92a67 360deg - ); -} - -* { - box-sizing: border-box; - padding: 0; - margin: 0; -} - -html, -body { - max-width: 100vw; - overflow-x: hidden; -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient( - to bottom, - transparent, - rgb(var(--background-end-rgb)) - ) - rgb(var(--background-start-rgb)); -} - -a { - color: inherit; - text-decoration: none; -} diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx deleted file mode 100644 index 5f90d111f..000000000 --- a/apps/docs/app/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import "./globals.css"; -import type { Metadata } from "next"; -import { Inter } from "next/font/google"; - -const inter = Inter({ subsets: ["latin"] }); - -export const metadata: Metadata = { - title: "Create Turborepo", - description: "Generated by create turbo", -}; - -export default function RootLayout({ - children, -}: { - children: React.ReactNode; -}): JSX.Element { - return ( - - {children} - - ); -} diff --git a/apps/docs/app/page.module.css b/apps/docs/app/page.module.css deleted file mode 100644 index 98481c6a2..000000000 --- a/apps/docs/app/page.module.css +++ /dev/null @@ -1,335 +0,0 @@ -.main { - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - padding: 6rem; - min-height: 100vh; -} - -.vercelLogo { - filter: invert(1); -} - -.description { - display: inherit; - justify-content: inherit; - align-items: inherit; - font-size: 0.85rem; - max-width: var(--max-width); - width: 100%; - z-index: 2; - font-family: var(--font-mono); -} - -.description a { - display: flex; - justify-content: center; - align-items: center; - gap: 0.5rem; -} - -.description p { - position: relative; - margin: 0; - padding: 1rem; - background-color: rgba(var(--callout-rgb), 0.5); - border: 1px solid rgba(var(--callout-border-rgb), 0.3); - border-radius: var(--border-radius); -} - -.code { - font-weight: 700; - font-family: var(--font-mono); -} - -.hero { - display: flex; - position: relative; - place-items: center; -} - -.heroContent { - display: flex; - position: relative; - z-index: 0; - padding-bottom: 4rem; - flex-direction: column; - gap: 2rem; - justify-content: space-between; - align-items: center; - width: auto; - font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, - "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", - "Segoe UI Symbol", "Noto Color Emoji"; - padding-top: 48px; - - @media (min-width: 768px) { - padding-top: 4rem; - padding-bottom: 6rem; - } - @media (min-width: 1024px) { - padding-top: 5rem; - padding-bottom: 8rem; - } -} - -.logos { - display: flex; - z-index: 50; - justify-content: center; - align-items: center; - width: 100%; -} - -.grid { - display: grid; - grid-template-columns: repeat(4, minmax(25%, auto)); - max-width: 100%; - width: var(--max-width); -} - -.card { - padding: 1rem 1.2rem; - border-radius: var(--border-radius); - background: rgba(var(--card-rgb), 0); - border: 1px solid rgba(var(--card-border-rgb), 0); - transition: background 200ms, border 200ms; -} - -.card span { - display: inline-block; - transition: transform 200ms; -} - -.card h2 { - font-weight: 600; - margin-bottom: 0.7rem; -} - -.card p { - margin: 0; - opacity: 0.6; - font-size: 0.9rem; - line-height: 1.5; - max-width: 30ch; -} - -@media (prefers-reduced-motion) { - .card:hover span { - transform: none; - } -} - -/* Mobile */ -@media (max-width: 700px) { - .content { - padding: 4rem; - } - - .grid { - grid-template-columns: 1fr; - margin-bottom: 120px; - max-width: 320px; - text-align: center; - } - - .card { - padding: 1rem 2.5rem; - } - - .card h2 { - margin-bottom: 0.5rem; - } - - .center { - padding: 8rem 0 6rem; - } - - .center::before { - transform: none; - height: 300px; - } - - .description { - font-size: 0.8rem; - } - - .description a { - padding: 1rem; - } - - .description p, - .description div { - display: flex; - justify-content: center; - position: fixed; - width: 100%; - } - - .description p { - align-items: center; - inset: 0 0 auto; - padding: 2rem 1rem 1.4rem; - border-radius: 0; - border: none; - border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); - background: linear-gradient( - to bottom, - rgba(var(--background-start-rgb), 1), - rgba(var(--callout-rgb), 0.5) - ); - background-clip: padding-box; - backdrop-filter: blur(24px); - } - - .description div { - align-items: flex-end; - pointer-events: none; - inset: auto 0 0; - padding: 2rem; - height: 200px; - background: linear-gradient( - to bottom, - transparent 0%, - rgb(var(--background-end-rgb)) 40% - ); - z-index: 1; - } -} - -/* Enable hover only on non-touch devices */ -@media (hover: hover) and (pointer: fine) { - .card:hover { - background: rgba(var(--card-rgb), 0.1); - border: 1px solid rgba(var(--card-border-rgb), 0.15); - } - - .card:hover span { - transform: translateX(4px); - } -} - -.circles { - position: absolute; - min-width: 614px; - min-height: 614px; - pointer-events: none; -} - -.logo { - z-index: 50; - width: 120px; - height: 120px; -} - -.logoGradientContainer { - display: flex; - position: absolute; - z-index: 50; - justify-content: center; - align-items: center; - width: 16rem; - height: 16rem; -} - -.turborepoWordmarkContainer { - display: flex; - z-index: 50; - padding-left: 1.5rem; - padding-right: 1.5rem; - flex-direction: column; - gap: 1.25rem; - justify-content: center; - align-items: center; - text-align: center; - - @media (min-width: 1024px) { - gap: 1.5rem; - } -} - -.turborepoWordmark { - width: 160px; - fill: white; - - @media (min-width: 768px) { - width: 200px; - } -} - -.code { - font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", - monospace; - font-weight: 700; -} - -/* Tablet and Smaller Desktop */ -@media (min-width: 701px) and (max-width: 1120px) { - .grid { - grid-template-columns: repeat(2, 50%); - } -} - -/* Gradients */ -.gradient { - position: absolute; - mix-blend-mode: normal; - will-change: filter; - pointer-events: none; -} - -.gradientSmall { - filter: blur(32px); -} - -.gradientLarge { - filter: blur(75px); -} - -.glowConic { - background-image: var(--glow-conic); -} - -.logoGradient { - opacity: 0.9; - width: 120px; - height: 120px; -} - -.backgroundGradient { - top: -500px; - width: 1000px; - height: 1000px; - opacity: 0.15; -} - -.button { - background-color: #ffffff; - border-radius: 8px; - border-style: none; - box-sizing: border-box; - color: #000000; - cursor: pointer; - display: inline-block; - font-size: 16px; - height: 40px; - line-height: 20px; - list-style: none; - margin: 0; - outline: none; - padding: 10px 16px; - position: relative; - text-align: center; - text-decoration: none; - transition: color 100ms; - vertical-align: baseline; - user-select: none; - -webkit-user-select: none; - touch-action: manipulation; -} - -.button:hover, -.button:focus { - background-color: #e5e4e2; -} diff --git a/apps/docs/app/page.tsx b/apps/docs/app/page.tsx deleted file mode 100644 index 5ca202054..000000000 --- a/apps/docs/app/page.tsx +++ /dev/null @@ -1,144 +0,0 @@ -import Image from "next/image"; -import { Card } from "@repo/ui/card"; -import { Code } from "@repo/ui/code"; -import styles from "./page.module.css"; -import { Button } from "@repo/ui/button"; - -function Gradient({ - conic, - className, - small, -}: { - small?: boolean; - conic?: boolean; - className?: string; -}): JSX.Element { - return ( - - ); -} - -const LINKS = [ - { - title: "Docs", - href: "https://turbo.build/repo/docs", - description: "Find in-depth information about Turborepo features and API.", - }, - { - title: "Learn", - href: "https://turbo.build/repo/docs/handbook", - description: "Learn more about monorepos with our handbook.", - }, - { - title: "Templates", - href: "https://turbo.build/repo/docs/getting-started/from-example", - description: "Choose from over 15 examples and deploy with a single click.", - }, - { - title: "Deploy", - href: "https://vercel.com/new", - description: - "Instantly deploy your Turborepo to a shareable URL with Vercel.", - }, -]; - -export default function Page(): JSX.Element { - return ( -
-
-

- examples/basic  - docs -

- -
- - - -
-
-
-
- Turborepo -
-
- -
- -
- -
-
- -
- - Turborepo logo - - - - - - - - - - -
-
-
- -
- {LINKS.map(({ title, href, description }) => ( - - {description} - - ))} -
-
- ); -} diff --git a/apps/docs/next-env.d.ts b/apps/docs/next-env.d.ts deleted file mode 100644 index 4f11a03dc..000000000 --- a/apps/docs/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/docs/next.config.js b/apps/docs/next.config.js deleted file mode 100644 index a5b0aec2b..000000000 --- a/apps/docs/next.config.js +++ /dev/null @@ -1,4 +0,0 @@ -/** @type {import('next').NextConfig} */ -module.exports = { - transpilePackages: ["@repo/ui"], -}; diff --git a/apps/docs/package.json b/apps/docs/package.json deleted file mode 100644 index 2dd1dee1f..000000000 --- a/apps/docs/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "docs", - "version": "1.0.0", - "private": true, - "scripts": { - "dev": "next dev --port 3001", - "build": "next build", - "start": "next start", - "lint": "eslint . --max-warnings 0" - }, - "dependencies": { - "@repo/ui": "*", - "next": "^14.1.1", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@next/eslint-plugin-next": "^14.1.1", - "@repo/eslint-config": "*", - "@repo/typescript-config": "*", - "@types/eslint": "^8.56.5", - "@types/node": "^20.11.24", - "@types/react": "^18.2.61", - "@types/react-dom": "^18.2.19", - "eslint": "^8.57.0", - "typescript": "^5.3.3" - } -} diff --git a/apps/docs/public/circles.svg b/apps/docs/public/circles.svg deleted file mode 100644 index 6533be5ba..000000000 --- a/apps/docs/public/circles.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/docs/public/next.svg b/apps/docs/public/next.svg deleted file mode 100644 index 5174b28c5..000000000 --- a/apps/docs/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/docs/public/turborepo.svg b/apps/docs/public/turborepo.svg deleted file mode 100644 index 2f9aa1f37..000000000 --- a/apps/docs/public/turborepo.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/docs/public/vercel.svg b/apps/docs/public/vercel.svg deleted file mode 100644 index d2f842227..000000000 --- a/apps/docs/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json deleted file mode 100644 index 24e754815..000000000 --- a/apps/docs/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "@repo/typescript-config/nextjs.json", - "compilerOptions": { - "plugins": [ - { - "name": "next" - } - ] - }, - "include": [ - "next-env.d.ts", - "next.config.js", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts" - ], - "exclude": ["node_modules"] -} diff --git a/apps/parser/browser/index.js b/apps/parser/browser/index.js new file mode 100644 index 000000000..83a551fa3 --- /dev/null +++ b/apps/parser/browser/index.js @@ -0,0 +1,26 @@ +/*! For license information please see index.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AsyncAPIParser=t():e.AsyncAPIParser=t()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={41913:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(63282),r=i(99029),s=i(41520),o=i(62586),a=i(48708),c=i(42023),p="errorMessage",d=new n.Name("emUsed"),f={required:"missingProperty",dependencies:"property",dependentRequired:"property"},l=/\$\{[^}]+\}/,u=/\$\{([^}]+)\}/g,m=/^""\s*\+\s*|\s*\+\s*""$/g;const h=(e,t={})=>{if(!e.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(e.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return e.addKeyword(function(e){return{keyword:p,schemaType:["string","object"],post:!0,code(t){const{gen:i,data:h,schema:y,schemaValue:g,it:b}=t;if(!1===b.createErrors)return;const v=y,$=r.strConcat(c.default.instancePath,b.errorPath);function j(e,t){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath === ${$}`,n._`${e}.keyword in ${t}`,n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`/^\\/[^\\/]*$/.test(${e}.schemaPath.slice(${b.errSchemaPath.length}))`)}function _(e,t){const n=[];for(const i in e){const e=t[i];l.test(e)&&n.push([i,x(e)])}return i.object(...n)}function w(e){return l.test(e)?new s._Code(s.safeStringify(e).replace(u,((e,t)=>`" + JSON.stringify(${o.getData(t,b)}) + "`)).replace(m,"")):n.stringify(e)}function x(e){return n._`function(){return ${w(e)}}`}i.if(n._`${c.default.errors} > 0`,(()=>{if("object"==typeof v){const[s,o]=function(e){let t,i;for(const n in e){if("properties"===n||"items"===n)continue;const r=e[n];if("object"==typeof r){t||(t={});const e=t[n]={};for(const t in r)e[t]=[]}else i||(i={}),i[n]=[]}return[t,i]}(v);o&&function(r){const s=i.const("emErrors",n.stringify(r)),o=i.const("templates",_(r,y));i.forOf("err",c.default.vErrors,(e=>i.if(j(e,s),(()=>i.code(n._`${s}[${e}.keyword].push(${e})`).assign(n._`${e}.${d}`,!0)))));const{singleError:p}=e;if(p){const e=i.let("message",n._`""`),r=i.let("paramsErrors",n._`[]`);f((t=>{i.if(e,(()=>i.code(n._`${e} += ${"string"==typeof p?p:";"}`))),i.code(n._`${e} += ${l(t)}`),i.assign(r,n._`${r}.concat(${s}[${t}])`)})),a.reportError(t,{message:e,params:n._`{errors: ${r}}`})}else f((e=>a.reportError(t,{message:l(e),params:n._`{errors: ${s}[${e}]}`})));function f(e){i.forIn("key",s,(t=>i.if(n._`${s}[${t}].length`,(()=>e(t)))))}function l(e){return n._`${e} in ${o} ? ${o}[${e}]() : ${g}[${e}]`}}(o),s&&function(e){const r=i.const("emErrors",n.stringify(e)),s=[];for(const t in e)s.push([t,_(e[t],y[t])]);const o=i.const("templates",i.object(...s)),p=i.scopeValue("obj",{ref:f,code:n.stringify(f)}),l=i.let("emPropParams"),u=i.let("emParamsErrors");i.forOf("err",c.default.vErrors,(e=>i.if(j(e,r),(()=>{i.assign(l,n._`${p}[${e}.keyword]`),i.assign(u,n._`${r}[${e}.keyword][${e}.params[${l}]]`),i.if(u,(()=>i.code(n._`${u}.push(${e})`).assign(n._`${e}.${d}`,!0)))})))),i.forIn("key",r,(e=>i.forIn("keyProp",n._`${r}[${e}]`,(s=>{i.assign(u,n._`${r}[${e}][${s}]`),i.if(n._`${u}.length`,(()=>{const r=i.const("tmpl",n._`${o}[${e}] && ${o}[${e}][${s}]`);a.reportError(t,{message:n._`${r} ? ${r}() : ${g}[${e}][${s}]`,params:n._`{errors: ${u}}`})}))}))))}(s),function(e){const{props:s,items:o}=e;if(!s&&!o)return;const f=n._`typeof ${h} == "object"`,l=n._`Array.isArray(${h})`,u=i.let("emErrors");let m,b;const v=i.let("templates");function j(e,t){i.assign(u,n.stringify(e)),i.assign(v,_(e,t))}s&&o?(m=i.let("emChildKwd"),i.if(f),i.if(l,(()=>{j(o,y.items),i.assign(m,n.str`items`)}),(()=>{j(s,y.properties),i.assign(m,n.str`properties`)})),b=n._`[${m}]`):o?(i.if(l),j(o,y.items),b=n._`.items`):s&&(i.if(r.and(f,r.not(l))),j(s,y.properties),b=n._`.properties`),i.forOf("err",c.default.vErrors,(e=>function(e,t,s){i.if(r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath.indexOf(${$}) === 0`),(()=>{const r=i.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:n._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),o=i.const("emMatches",n._`${r}.exec(${e}.instancePath.slice(${$}.length))`),a=i.const("emChild",n._`${o} && ${o}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);i.if(n._`${a} !== undefined && ${a} in ${t}`,(()=>s(a)))}))}(e,u,(t=>i.code(n._`${u}[${t}].push(${e})`).assign(n._`${e}.${d}`,!0))))),i.forIn("key",u,(e=>i.if(n._`${u}[${e}].length`,(()=>{a.reportError(t,{message:n._`${e} in ${v} ? ${v}[${e}]() : ${g}${b}[${e}]`,params:n._`{errors: ${u}[${e}]}`}),i.assign(n._`${c.default.vErrors}[${c.default.errors}-1].instancePath`,n._`${$} + "/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})))),i.endIf()}(function({properties:e,items:t}){const i={};if(e){i.props={};for(const t in e)i.props[t]=[]}if(t){i.items={};for(let e=0;ei.if(function(e){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,r.or(n._`${e}.instancePath === ${$}`,r.and(n._`${e}.instancePath.indexOf(${$}) === 0`,n._`${e}.instancePath[${$}.length] === "/"`)),n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`${e}.schemaPath[${b.errSchemaPath}.length] === "/"`)}(e),(()=>i.code(n._`${s}.push(${e})`).assign(n._`${e}.${d}`,!0))))),i.if(n._`${s}.length`,(()=>a.reportError(t,{message:w(e),params:n._`{errors: ${s}}`})))}(s),e.keepErrors||function(){const e=i.const("emErrs",n._`[]`);i.forOf("err",c.default.vErrors,(t=>i.if(n._`!${t}.${d}`,(()=>i.code(n._`${e}.push(${t})`))))),i.assign(c.default.vErrors,e).assign(c.default.errors,n._`${e}.length`)}()}))},metaSchema:{anyOf:[{type:"string"},{type:"object",properties:{properties:{$ref:"#/$defs/stringMap"},items:{$ref:"#/$defs/stringList"},required:{$ref:"#/$defs/stringOrMap"},dependencies:{$ref:"#/$defs/stringOrMap"}},additionalProperties:{type:"string"}}],$defs:{stringMap:{type:"object",additionalProperties:{type:"string"}},stringOrMap:{anyOf:[{type:"string"},{$ref:"#/$defs/stringMap"}]},stringList:{type:"array",items:{type:"string"}}}}}}(t))};t.default=h,e.exports=h,e.exports.default=h},63282:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(4042),r=i(86144),s=i(36653),o=i(72079),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(62586);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(99029);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(13558);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(34551);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},41520:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(41520),r=i(57845);var s=i(41520);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(57845);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},57845:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(41520);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},48708:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(99029),r=i(94227),s=i(42023);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},73835:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(99029),r=i(13558),s=i(42023),o=i(66939),a=i(94227),c=i(62586);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},42023:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},34551:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(66939);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},66939:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(94227),r=i(38792),s=i(7106),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},10396:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},94227:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(99029),r=i(41520);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},7887:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},28727:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(48708),r=i(99029),s=i(42023),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},10208:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(10396),r=i(7887),s=i(48708),o=i(99029),a=i(94227);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null + || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null + || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},7870:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(99029),r=i(94227);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},62586:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(28727),r=i(10208),s=i(7887),o=i(10208),a=i(7870),c=i(33673),p=i(24495),d=i(99029),f=i(42023),l=i(66939),u=i(94227),m=i(48708);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},33673:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(99029),r=i(42023),s=i(15765),o=i(48708);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},24495:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(99029),r=i(94227);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},4042:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(62586);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(99029);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(13558),o=i(34551),a=i(10396),c=i(73835),p=i(99029),d=i(66939),f=i(10208),l=i(94227),u=i(63837),m=i(55944),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},76250:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},53853:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},13558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},15457:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(99029),r=i(94227),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},38660:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s=i(42023),o=i(94227),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},15844:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94227),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},16505:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(15765).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},12661:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},83025:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(99029),r=i(94227),s=i(15765);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, + missingProperty: ${r}, + depsCount: ${t}, + deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},1239:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},56378:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15457),r=i(65354),s=i(20494),o=i(93966),a=i(12661),c=i(83025),p=i(19713),d=i(38660),f=i(40117),l=i(45333),u=i(80304),m=i(16505),h=i(96163),y=i(15844),g=i(1239),b=i(14426);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},20494:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(99029),r=i(94227),s=i(15765),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},93966:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(15765),o=i(15457),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},80304:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94227),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},96163:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},45333:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s=i(94227),o=i(94227),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},65354:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(20494),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},40117:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(62586),r=i(15765),s=i(94227),o=i(38660),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},19713:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},14426:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94227),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},15765:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(99029),r=i(94227),s=i(42023),o=i(94227);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},83463:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},72128:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(83463),r=i(13693),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},13693:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(34551),r=i(15765),s=i(99029),o=i(42023),a=i(73835),c=i(94227),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},36653:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(97652),s=i(73835),o=i(94227),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},97652:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},86144:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(72128),r=i(67060),s=i(56378),o=i(97532),a=i(69857),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},94737:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},97532:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(94737).default];t.default=n},69857:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},27935:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(76250),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},28643:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(76250),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},67060:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(75882),r=i(63439),s=i(77307),o=i(90422),a=i(34486),c=i(34003),p=i(61163),d=i(60617),f=i(27935),l=i(28643),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},61163:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},77307:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(53853),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},75882:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},34486:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},63439:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},90422:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},34003:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s=i(94227),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},60617:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(10208),r=i(99029),s=i(94227),o=i(76250),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},7106:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{e.exports={schemas:{"2.0.0":i(4023),"2.1.0":i(88520),"2.2.0":i(83105),"2.3.0":i(11306),"2.4.0":i(64939),"2.5.0":i(55708),"2.6.0":i(11669),"3.0.0":i(64292)},schemasWithoutId:{"2.0.0":i(69486),"2.1.0":i(61401),"2.2.0":i(30192),"2.3.0":i(85323),"2.4.0":i(45002),"2.5.0":i(85765),"2.6.0":i(94220),"3.0.0":i(95309)}}},64868:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(8839);t.resolveFile=function(e){return new Promise(((t,i)=>{const r=e.href();n.readFile(r,"utf8",((e,n)=>{e?i(e):t(n)}))}))}},71602:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(35696),r=i(98203);class s extends Error{constructor(){super(...arguments),this.name="OpenError"}}t.OpenError=s;class o extends Error{constructor(){super(...arguments),this.name="ReadError"}}function a(e,t={}){return n.__awaiter(this,void 0,void 0,(function*(){const i=e.href(),n=yield r.default(i,t);if(n.ok)return n.text();if(404===n.status)throw new s(`Page not found: ${i}`);throw new o(`${n.status} ${n.statusText}`)}))}t.NetworkError=o,t.resolveHttp=a,t.createResolveHttp=function(e={}){return t=>a(t,e)}},54668:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(71602);t.createResolveHttp=n.createResolveHttp,t.resolveHttp=n.resolveHttp,t.NetworkError=n.NetworkError,t.OpenError=n.OpenError;var r=i(64868);t.resolveFile=r.resolveFile},35696:(e,t,i)=>{"use strict";i.r(t),i.d(t,{__assign:()=>s,__asyncDelegator:()=>$,__asyncGenerator:()=>v,__asyncValues:()=>j,__await:()=>b,__awaiter:()=>d,__classPrivateFieldGet:()=>P,__classPrivateFieldSet:()=>S,__createBinding:()=>l,__decorate:()=>a,__exportStar:()=>u,__extends:()=>r,__generator:()=>f,__importDefault:()=>x,__importStar:()=>w,__makeTemplateObject:()=>_,__metadata:()=>p,__param:()=>c,__read:()=>h,__rest:()=>o,__spread:()=>y,__spreadArrays:()=>g,__values:()=>m});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var s=function(){return s=Object.assign||function(e){for(var t,i=1,n=arguments.length;i=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}function c(e,t){return function(i,n){t(i,n,e)}}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function d(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))}function f(e,t){var i,n,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,s=i.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o}function y(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(c,p):d(s[0][2],i)}catch(e){d(s[0][3],e)}var i}function c(e){a("next",e)}function p(e){a("throw",e)}function d(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function $(e){var t,i;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function j(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=m(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,r){!function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)}(n,r,(t=e[i](t)).done,t.value)}))}}}function _(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function w(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function x(e){return e&&e.__esModule?e:{default:e}}function P(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},30924:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Cache=void 0,t.Cache=class{constructor(e={}){this._stats={hits:0,misses:0},this._data={},this._stdTTL=e.stdTTL}get stats(){return this._stats}get(e){const t=this._data[e];if(t&&(!this._stdTTL||(new Date).getTime()-t.ts{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResolveCrawler=void 0;const n=i(46734),r=i(30524),s=i(46123),o=i(19899);t.ResolveCrawler=class{constructor(e,t,i){this._resolved=i,this.resolvers=[],this.pointerGraph=new r.DepGraph({circular:!0}),this.pointerStemGraph=new r.DepGraph({circular:!0}),this.computeGraph=(e,t=[],i="#",n=[])=>{i||(i="#");let r=this._runner.computeRef({val:e,jsonPointer:i,pointerStack:n});if(void 0!==r)this._resolveRef({ref:r,val:e,parentPath:t,pointerStack:n,parentPointer:i,cacheKey:i,resolvingPointer:this.jsonPointer});else if("object"==typeof e)for(const s in e){if(!e.hasOwnProperty(s))continue;const a=e[s],c=o.addToJSONPointer(i,s);r=this._runner.computeRef({key:s,val:a,jsonPointer:c,pointerStack:n}),t.push(s),void 0!==r?this._resolveRef({ref:r,val:a,parentPath:t,parentPointer:c,pointerStack:n,cacheKey:o.uriToJSONPointer(r),resolvingPointer:this.jsonPointer}):"object"==typeof a&&this.computeGraph(a,t,c,n),t.pop()}},this._resolveRef=e=>{const{pointerStack:t,parentPath:i,parentPointer:r,ref:a}=e;if(o.uriIsJSONPointer(a)){if(this._runner.dereferenceInline){const e=o.uriToJSONPointer(a);let c;try{c=(0,n.pointerToPath)(e)}catch(e){return void this._resolved.errors.push({code:"PARSE_POINTER",message:`'${a}' JSON pointer is invalid`,uri:this._runner.baseUri,uriStack:this._runner.uriStack,pointerStack:[],path:[]})}let p=c.length>0;for(const e in c)if(i[e]!==c[e]){p=!1;break}if(p)return;this.pointerStemGraph.hasNode(e)||this.pointerStemGraph.addNode(e);let d="#",f="";for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultGetRef=t.Cache=void 0,i(85608).__exportStar(i(65582),t);var n=i(30924);Object.defineProperty(t,"Cache",{enumerable:!0,get:function(){return n.Cache}});var r=i(49850);Object.defineProperty(t,"defaultGetRef",{enumerable:!0,get:function(){return r.defaultGetRef}})},65582:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Resolver=void 0;const n=i(30524),r=i(30924),s=i(49850);t.Resolver=class{constructor(e={}){this.ctx={},this.uriCache=e.uriCache||new r.Cache,this.resolvers=e.resolvers||{},this.getRef=e.getRef,this.transformRef=e.transformRef,this.dereferenceInline=void 0===e.dereferenceInline||e.dereferenceInline,this.dereferenceRemote=void 0===e.dereferenceRemote||e.dereferenceRemote,this.parseResolveResult=e.parseResolveResult,this.transformDereferenceResult=e.transformDereferenceResult,this.ctx=e.ctx}resolve(e,t={}){const i=new n.DepGraph({circular:!0});return new s.ResolveRunner(e,i,Object.assign(Object.assign({uriCache:this.uriCache,resolvers:this.resolvers,getRef:this.getRef,transformRef:this.transformRef,dereferenceInline:this.dereferenceInline,dereferenceRemote:this.dereferenceRemote,parseResolveResult:this.parseResolveResult,transformDereferenceResult:this.transformDereferenceResult},t),{ctx:Object.assign({},this.ctx||{},t.ctx||{})})).resolve(t)}}},49850:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResolveRunner=t.defaultGetRef=void 0;const n=i(85608),r=i(46734),s=i(98136),o=i(30524),a=i(79725),c=i(46123),p=i(41263),d=i(99472),f=i(99960),l=i(30924),u=i(91226),m=i(19899),h=i(2940);let y=0;t.defaultGetRef=(e,t)=>{if(t&&"object"==typeof t&&"string"==typeof t.$ref)return t.$ref};class g{constructor(e,i=new o.DepGraph({circular:!0}),a={}){this.ctx={},this.computeRef=e=>{const t=this.getRef(e.key,e.val);if(void 0===t)return;let i=new f.ExtendedURI(t);if("#"!==t[0])if(this.isFile(i)){let e=i.toString();i.is("absolute")||(e=this.baseUri.toString()?(0,s.join)((0,s.dirname)(this.baseUri.toString()),(0,s.stripRoot)(e)):""),e&&(i=new d((0,s.toFSPath)(e)).fragment(i.fragment()))}else(i.scheme().includes("http")||""===i.scheme()&&this.baseUri.scheme().includes("http"))&&""!==this.baseUri.authority()&&""===i.authority()&&(i=i.absoluteTo(this.baseUri));return String(i).length>0&&this.isFile(this.baseUri)&&this.isFile(i)&&this.baseUri.path()===i.path()&&(i=new f.ExtendedURI(`#${i.fragment()}`)),this.transformRef?this.transformRef(Object.assign(Object.assign({},e),{ref:i,uri:this.baseUri}),this.ctx):i},this.atMaxUriDepth=()=>this.uriStack.length>=100,this.lookupUri=e=>n.__awaiter(this,void 0,void 0,(function*(){const{ref:t}=e;let i=t.scheme();!this.resolvers[i]&&this.isFile(t)&&(i="file");const n=this.resolvers[i];if(!n)throw new Error(`No resolver defined for scheme '${t.scheme()||"file"}' in ref ${t.toString()}`);let r=yield n.resolve(t,this.ctx);if(this.parseResolveResult)try{r=(yield this.parseResolveResult({uriResult:r,result:r,targetAuthority:t,parentAuthority:this.baseUri,parentPath:e.parentPath,fragment:e.fragment})).result}catch(e){throw new Error(`Could not parse remote reference response for '${t.toString()}' - ${String(e)}`)}return new g(r,this.graph,{depth:this.depth+1,baseUri:t.toString(),root:t,uriStack:this.uriStack,uriCache:this.uriCache,resolvers:this.resolvers,transformRef:this.transformRef,parseResolveResult:this.parseResolveResult,transformDereferenceResult:this.transformDereferenceResult,dereferenceRemote:this.dereferenceRemote,dereferenceInline:this.dereferenceInline,ctx:this.ctx})})),this.lookupAndResolveUri=e=>n.__awaiter(this,void 0,void 0,(function*(){const{val:t,ref:i,resolvingPointer:n,parentPointer:s,pointerStack:o}=e,a=e.parentPath?e.parentPath.slice():[],c=this.computeUriCacheKey(i),d={uri:i,pointerStack:o,targetPath:n===s?[]:a};if(this.uriStack.includes(c))return d.resolved={result:t,graph:this.graph,refMap:{},errors:[],runner:this},d;{let e;const n=this.baseUri.toString(),s=n&&0!==this.depth?n:null;try{if(this.atMaxUriDepth())throw new Error(`Max uri depth (${this.uriStack.length}) reached. Halting, this is probably a circular loop.`);e=yield this.lookupUri({ref:i.clone().fragment(""),fragment:i.fragment(),cacheKey:c,parentPath:a}),s&&(e.uriStack=e.uriStack.concat(s))}catch(e){d.error={code:"RESOLVE_URI",message:String(e),uri:i,uriStack:s?this.uriStack.concat(s):this.uriStack,pointerStack:o,path:a}}if(e&&(d.resolved=yield e.resolve({jsonPointer:m.uriToJSONPointer(i),parentPath:a}),d.resolved.errors.length))for(const e of d.resolved.errors)if("POINTER_MISSING"===e.code&&e.path.join("/")===i.fragment().slice(1)){const n=i.fragment?(0,r.trimStart)(e.path,(0,r.trimStart)(i.fragment(),"/").split("/")):e.path;n&&n.length?p(d.resolved.result,n,t):d.resolved.result&&(d.resolved.result=t)}}return d})),this.id=y+=1,this.depth=a.depth||0,this._source=e,this.resolvers=a.resolvers||{};const c=a.baseUri||"";let u=new d(c||"");this.isFile(u)&&(u=new d((0,s.toFSPath)(c))),this.baseUri=u,this.uriStack=a.uriStack||[],this.uriCache=a.uriCache||new l.Cache,this.root=a.root&&a.root.toString()||this.baseUri.toString()||"root",this.graph=i,this.graph.hasNode(this.root)||this.graph.addNode(this.root,{refMap:{},data:this._source}),this.baseUri&&0===this.depth&&this.uriCache.set(this.computeUriCacheKey(this.baseUri),this),this.getRef=a.getRef||t.defaultGetRef,this.transformRef=a.transformRef,this.depth?this.dereferenceInline=!0:this.dereferenceInline=void 0===a.dereferenceInline||a.dereferenceInline,this.dereferenceRemote=void 0===a.dereferenceRemote||a.dereferenceRemote,this.parseResolveResult=a.parseResolveResult,this.transformDereferenceResult=a.transformDereferenceResult,this.ctx=a.ctx,this.lookupUri=h(this.lookupUri,{serializer:this._cacheKeySerializer,cache:{create:()=>this.uriCache}})}get source(){return this._source}resolve(e){return n.__awaiter(this,void 0,void 0,(function*(){const t={result:this.source,graph:this.graph,refMap:{},errors:[],runner:this};let i;const n=e&&e.jsonPointer&&e.jsonPointer.trim();if(n&&"#"!==n&&"#/"!==n){try{i=(0,r.pointerToPath)(n)}catch(e){return t.errors.push({code:"PARSE_POINTER",message:`'${n}' JSON pointer is invalid`,uri:this.baseUri,uriStack:this.uriStack,pointerStack:[],path:[]}),t}t.result=c(t.result,i)}if(void 0===t.result)return t.errors.push({code:"POINTER_MISSING",message:`'${n}' does not exist @ '${this.baseUri.toString()}'`,uri:this.baseUri,uriStack:this.uriStack,pointerStack:[],path:i||[]}),t;const s=new u.ResolveCrawler(this,n,t);s.computeGraph(t.result,i,n||"");let o=[];if(s.resolvers.length&&(o=yield Promise.all(s.resolvers)),o.length)for(const e of o){let n=e.targetPath;n.length||(n=i||[]),t.refMap[String(this.baseUri.clone().fragment((0,r.pathToPointer)(n)))]=String(e.uri),this._setGraphNodeEdge(String(this.root),(0,r.pathToPointer)(n),String(e.uri)),e.error&&t.errors.push(e.error),e.resolved&&(e.resolved.errors&&(t.errors=t.errors.concat(e.resolved.errors)),void 0!==e.resolved.result&&(this._source=(0,a.default)(this._source,(t=>{if(e.resolved){if(!n.length)return e.resolved.result;p(t,n,e.resolved.result),this._setGraphNodeData(String(e.uri),e.resolved.result)}}))))}if("object"==typeof this._source?(this.dereferenceInline&&(this._source=(0,a.default)(this._source,(e=>{let i=[];try{i=s.pointerGraph.overallOrder();for(const n of i){const i=s.pointerGraph.dependantsOf(n);if(!i.length)continue;const o=(0,r.pointerToPath)(n),d=0===o.length?(0,a.original)(e):c(e,o);for(const a of i){let i;const c=(0,r.pointerToPath)(a),f=s.pointerStemGraph.dependenciesOf(n);for(const e of f)if((0,r.startsWith)(c,(0,r.pointerToPath)(e))){i=!0;break}i||(t.refMap[(0,r.pathToPointer)(c)]=(0,r.pathToPointer)(o),this._setGraphNodeEdge(this.root,(0,r.pathToPointer)(c),(0,r.pathToPointer)(o)),void 0!==d?(p(e,c,d),this._setGraphNodeData((0,r.pathToPointer)(o),d)):t.errors.push({code:"POINTER_MISSING",message:`'${n}' does not exist`,path:c,uri:this.baseUri,uriStack:this.uriStack,pointerStack:[]}))}}}catch(e){}}))),t.result=i?c(this._source,i):this._source):t.result=this._source,this.transformDereferenceResult){const r=new d(n||"");try{const{result:i,error:n}=yield this.transformDereferenceResult({source:this.source,result:t.result,targetAuthority:r,parentAuthority:this.baseUri,parentPath:e&&e.parentPath||[],fragment:r.fragment()});if(t.result=i,n)throw new Error(`Could not transform dereferenced result for '${r.toString()}' - ${String(n)}`)}catch(e){t.errors.push({code:"TRANSFORM_DEREFERENCED",message:`Error: Could not transform dereferenced result for '${this.baseUri.toString()}${""!==r.fragment()?`#${r.fragment()}`:""}' - ${String(e)}`,uri:r,uriStack:this.uriStack,pointerStack:[],path:i})}}return this._setGraphNodeData(this.root,this._source),t}))}_cacheKeySerializer(e){return e&&"object"==typeof e&&e.cacheKey?e.cacheKey:JSON.stringify(arguments)}computeUriCacheKey(e){return e.clone().fragment("").toString()}isFile(e){const t=e.scheme();if("file"===t)return!0;if(t){if(!this.resolvers[t])return!0}else{if("/"===e.toString().charAt(0))return!0;if(this.baseUri){const e=this.baseUri.scheme();return Boolean(!e||"file"===e||!this.resolvers[e])}}return!1}_setGraphNodeData(e,t){if(!this.graph.hasNode(e))return;const i=this.graph.getNodeData(e)||{};i.data=t,this.graph.setNodeData(e,i)}_setGraphNodeEdge(e,t,i){if(!this.graph.hasNode(e))return;const n=this.graph.getNodeData(e)||{};n.refMap=n.refMap||{},n.refMap[t]=i,this.graph.setNodeData(e,n)}}t.ResolveRunner=g},99960:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedURI=void 0;const n=i(99472);t.ExtendedURI=class extends n{constructor(e){super(e),this._value=e.trim()}get length(){return this._value.length}}},19899:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uriIsJSONPointer=t.uriToJSONPointer=t.addToJSONPointer=void 0;const i=(e,t,i)=>{const n=e.toString();let r="",s=n,o=0,a=s.indexOf(t);for(;a>-1;)r+=n.substring(o,o+a)+i,s=s.substring(a+t.length,s.length),o+=a+t.length,a=s.indexOf(t);return s.length>0&&(r+=n.substring(n.length-s.length,n.length)),r};t.addToJSONPointer=(e,t)=>{return`${e}/${n=t,i(i(n,"~","~0"),"/","~1")}`;var n},t.uriToJSONPointer=e=>"length"in e&&0===e.length?"":""!==e.fragment()?`#${e.fragment()}`:""===e.href()?"#":"",t.uriIsJSONPointer=e=>(!("length"in e)||e.length>0)&&""===e.path()},46734:(e,t,i)=>{"use strict";i.r(t),i.d(t,{BUNDLE_ROOT:()=>Q,ERRORS_ROOT:()=>Z,KEYS:()=>Se,bundleTarget:()=>Y,decodePointer:()=>D,decodePointerFragment:()=>ee,decodePointerUriFragment:()=>D,decycle:()=>te,encodePointer:()=>ie,encodePointerFragment:()=>T,encodePointerUriFragment:()=>R,encodeUriPointer:()=>k,extractPointerFromRef:()=>ne,extractSourceFromRef:()=>K,getFirstPrimitiveProperty:()=>re,getJsonPathForPosition:()=>se,getLastPathSegment:()=>oe,getLocationForJsonPath:()=>ae,hasRef:()=>O,isExternalRef:()=>B,isLocalRef:()=>E,isPlainObject:()=>w,parseTree:()=>pe,parseWithPointers:()=>ce,pathToPointer:()=>M,pointerToPath:()=>F,remapRefs:()=>z,renameObjectKey:()=>ue,reparentBundleTarget:()=>he,resolveExternalRef:()=>ge,resolveExternalRefWithLocation:()=>be,resolveInlineRef:()=>J,resolveInlineRefWithLocation:()=>W,safeParse:()=>ve,safeStringify:()=>je,startsWith:()=>_e,stringify:()=>we,toPropertyPath:()=>xe,trapAccess:()=>Ee,traverse:()=>L,trimStart:()=>Ae});var n,r=i(45250),s=i(98136);function o(e,t){void 0===t&&(t=!1);var i=e.length,n=0,r="",s=0,o=16,d=0,f=0,l=0,u=0,m=0;function h(t,i){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}n++,r++}return r=i)return s=i,o=17;var t=e.charCodeAt(n);if(a(t)){do{n++,r+=String.fromCharCode(t),t=e.charCodeAt(n)}while(a(t));return o=15}if(c(t))return n++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(n)&&(n++,r+="\n"),d++,l=n,o=14;switch(t){case 123:return n++,o=1;case 125:return n++,o=2;case 91:return n++,o=3;case 93:return n++,o=4;case 58:return n++,o=6;case 44:return n++,o=5;case 34:return n++,r=function(){for(var t="",r=n;;){if(n>=i){t+=e.substring(r,n),m=2;break}var s=e.charCodeAt(n);if(34===s){t+=e.substring(r,n),n++;break}if(92!==s){if(s>=0&&s<=31){if(c(s)){t+=e.substring(r,n),m=2;break}m=6}n++}else{if(t+=e.substring(r,n),++n>=i){m=2;break}switch(e.charCodeAt(n++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=h(4,!0);o>=0?t+=String.fromCharCode(o):m=4;break;default:m=5}r=n}}return t}(),o=10;case 47:var y=n-1;if(47===e.charCodeAt(n+1)){for(n+=2;n=12&&e<=15);return e}:y,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return n-s},getTokenStartLine:function(){return f},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return m}}}function a(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function c(e){return 10===e||13===e||8232===e||8233===e}function p(e){return e>=48&&e<=57}!function(e){e.DEFAULT={allowTrailingComma:!1}}(n||(n={}));var d=o,f=function e(t,i,n){if(void 0===n&&(n=!1),function(e,t,i){return void 0===i&&(i=!1),t>=e.offset&&t0)for(var n=r.getToken();17!==n;){if(-1!==t.indexOf(n)){v();break}if(-1!==i.indexOf(n))break;n=v()}}function j(e){var t=r.getTokenValue();return e?u(t):p(t),v(),!0}return v(),17===r.getToken()?!!i.allowEmptyContent||($(4,[],[]),!1):function e(){switch(r.getToken()){case 3:return function(){f(),v();for(var t=!1;4!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(t||$(4,[],[]),m(","),v(),4===r.getToken()&&b)break}else t&&$(6,[],[]);e()||$(4,[],[4,5]),t=!0}return l(),4!==r.getToken()?$(8,[4],[]):v(),!0}();case 1:return function(){c(),v();for(var t=!1;2!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(t||$(4,[],[]),m(","),v(),2===r.getToken()&&b)break}else t&&$(6,[],[]);(10!==r.getToken()?($(3,[],[2,5]),0):(j(!1),6===r.getToken()?(m(":"),v(),e()||$(4,[],[2,5])):$(5,[],[2,5]),1))||$(4,[],[2,5]),t=!0}return d(),2!==r.getToken()?$(7,[2],[]):v(),!0}();case 10:return j(!0);default:return function(){switch(r.getToken()){case 11:var e=0;try{"number"!=typeof(e=JSON.parse(r.getTokenValue()))&&($(2),e=0)}catch(e){$(2)}u(e);break;case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return v(),!0}()}}()?(17!==r.getToken()&&$(9,[],[]),!0):($(4,[],[]),!1)};function m(e){switch(e){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return""}const h=`__object_order_${Math.floor(Date.now()/36e5)}__`,y=Symbol.for(h),g=(String(y),{defineProperty:(e,t,i)=>(!Object.prototype.hasOwnProperty.call(e,t)&&y in e?e[y].push(t):"value"in i&&t===y&&-1===i.value.lastIndexOf(y)&&i.value.push(y),Reflect.defineProperty(e,t,i)),deleteProperty(e,t){const i=Object.prototype.hasOwnProperty.call(e,t),n=Reflect.deleteProperty(e,t);if(n&&i&&y in e){const i=e[y].indexOf(t);-1!==i&&e[y].splice(i,1)}return n},ownKeys:e=>y in e?e[y]:Reflect.ownKeys(e),set(e,t,i){const n=Object.prototype.hasOwnProperty.call(e,t),r=Reflect.set(e,t,i);return r&&!n&&y in e&&e[y].push(t),r}});function b(e,t=Reflect.ownKeys(e)){"undefined"!=typeof process&&v(process)&&v(process.env);const i=new Proxy(e,g);return function(e,t){y in e?(e[y].length=0,e[y].push(...t)):Reflect.defineProperty(e,y,{configurable:!0,value:t})}(i,t),i}function v(e){return null!==e&&"object"==typeof e}var $=i(94169),j=i(11145),_=i.n(j);function w(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype||"function"==typeof e.constructor&&Function.toString.call(Object)===Function.toString.call(e.constructor)}function x(e,t,i){if(!w(e)&&!Array.isArray(e)||!(t in e))throw new ReferenceError(`Could not resolve '${i}'`)}function P(e){if("string"!=typeof e.$ref)throw new TypeError("$ref should be a string")}const S=e=>w(e)&&"$ref"in e,O=e=>S(e)&&"string"==typeof e.$ref,E=e=>e.length>0&&("#"===e||/^#\S*$/.test(e)),A=(e,t,i)=>{const n=e.toString();let r="",s=n,o=0,a=s.indexOf(t);for(;a>-1;)r+=n.substring(o,o+a)+i,s=s.substring(a+t.length,s.length),o+=a+t.length,a=s.indexOf(t);return s.length>0&&(r+=n.substring(n.length-s.length,n.length)),r},T=e=>"number"==typeof e?e:A(A(e,"~","~0"),"/","~1"),I=/[^a-zA–Z0–9_.!~*'()\/\-\u{D800}-\u{DFFF}]/gu;function k(e){return e.replace(I,encodeURIComponent)}const R=e=>{const t=T(e);return"number"==typeof t?t:k(t)},M=e=>q(e),q=e=>{if(e&&"object"!=typeof e)throw new TypeError("Invalid type: path must be an array of segments.");return 0===e.length?"#":`#/${e.map(R).join("/")}`};function C(e){try{return decodeURIComponent(e)}catch(t){return e}}const N=/%[0-9a-f]+/gi,D=e=>{let t;try{t=decodeURIComponent(e)}catch(i){t=e.replace(N,C)}return A(A(t,"~1","/"),"~0","~")},F=e=>U(e),U=e=>{if("string"!=typeof e)throw new TypeError("Invalid type: JSON Pointers are represented as strings.");if(0===e.length||"#"!==e[0])throw new URIError("Invalid JSON Pointer syntax; URI fragment identifiers must begin with a hash.");if(1===e.length)return[];if("/"!==e[1])throw new URIError("Invalid JSON Pointer syntax.");return(e=>{const t=e.length,i=[];let n=-1;for(;++n{const n={value:e,path:i};t.onEnter&&t.onEnter(n);for(const n of Object.keys(e)){const r=e[n];t.onProperty&&t.onProperty({parent:e,parentPath:i,property:n,propertyValue:r}),"object"==typeof r&&null!==r&&V(r,t,i.concat(n))}t.onLeave&&t.onLeave(n)},L=(e,t)=>{"object"==typeof e&&null!==e&&V(e,"function"==typeof t?{onProperty:t}:t,[])};function z(e,t,i){L(e,{onProperty({property:e,propertyValue:n,parent:r}){"$ref"===e&&"string"==typeof n&&n.startsWith(t)&&(r.$ref=`${i}${n.slice(t.length)}`)}})}const B=e=>e.length>0&&"#"!==e[0],K=e=>{if("string"!=typeof e||0===e.length||!B(e))return null;const t=e.indexOf("#");return-1===t?e:e.slice(0,t)};function G(e,t){return w(t)&&w(e)&&("summary"in e||"description"in e)?Object.assign(Object.assign(Object.assign({},t),"description"in e?{description:e.description}:null),"summary"in e?{summary:e.summary}:null):t}function*H(e,t,i){S(e.value)&&(P(e.value),yield[-1,e.value]);for(const[n,r]of t.entries())x(e.value,r,i),e.value=e.value[r],S(e.value)&&(P(e.value),yield[n,e.value])}function J(e,t){return W(e,t).value}function W(e,t){return function e(t,i,n,r){if(null!==K(i))throw new ReferenceError("Cannot resolve external references");const s=F(i);let o=[...s];"#"===i&&S(t)&&(P(t),s.unshift(...F(t.$ref)));const a={value:t};for(const[c,p]of H(a,s,i)){if(n.includes(p))return{source:null,location:null!=r?r:o,value:n[n.length-1]};n.push(p);const i=e(t,p.$ref,n,o);a.value=i.value,(o=i.location).push(...s.slice(c+1))}return{source:null,location:o,value:n.length>0?G(n[n.length-1],a.value):a.value}}(e,t,[])}const Q="#/__bundled__",Z="#/__errors__",Y=({document:e,path:t,bundleRoot:i="#/__bundled__",errorsRoot:n="#/__errors__",cloneDocument:s=!0,keyProvider:o},a)=>{if(t===i||t===n)throw new Error("Roots do not make any sense");const c=s?(0,r.cloneDeep)(e):e;return X(c,F(i),F(n),t,o)(t,{[t]:!0},a)},X=(e,t,i,n,s)=>{const o=new Set,a=(c,p,d,f={},l={},u={})=>{const m=F(c),h=(0,r.get)(e,m);L(d||h,{onEnter:({value:i})=>{if(O(i)&&E(i.$ref)){const d=i.$ref;if(u[d])return;if(d===c&&(f[d]="#"),f[d])return void(i.$ref=f[d]);let m,h,y,g,b;try{let i;m=F(d),s&&(i=s({document:e,path:m})),i||(i=(({document:e,path:t})=>0===t.length?"root":Array.isArray((0,r.get)(e,t.slice(0,-1)))?`${t[t.length-2]}_${t[t.length-1]}`:String(t[t.length-1]))({document:e,path:m})),y=i;let n=1;for(;o.has(y);)if(y=`${i}_${++n}`,n>20)throw new Error(`Keys ${i}_2 through ${i}_20 already taken.`);o.add(y),h=[...t,y],g=M(h)}catch(e){u[d]=e instanceof Error?e.message:String(e)}if(!m||!h||!g)return;if("object"==typeof e&&null!==e&&!(b=(0,r.get)(e,m)))try{b=J(Object(e),d)}catch(e){}void 0!==b&&(f[d]=g,i.$ref=g,(0,r.has)(l,h)||(Array.isArray(b)?(0,r.set)(l,h,new Array(b.length).fill(null)):"object"==typeof b&&(0,r.setWith)(l,h,{},Object),(0,r.set)(l,h,b),"#"===d?function(e,t,i,n){const s=i.map((e=>`[${JSON.stringify(e)}]`)).join(""),o=JSON.parse(JSON.stringify((0,r.omit)(Object(e),s))),a={};(0,r.set)(t,n,o),(0,r.set)(o,i,a),z(o,"#",M(n)),a.$ref="#"}(e,l,F(n),h):p[d]||(p[d]=!0,a(c,p,b,f,l,u),p[d]=!1)))}}});const y=(0,r.get)(l,t);return y&&Object.keys(y).length&&(0,r.set)(h,t,y),(Object.keys(u).length||(0,r.has)(e,i))&&(0,r.set)(h,i,(0,r.has)(e,i)?(0,r.get)(e,i):u),h};return a},ee=e=>A(A(e,"~1","/"),"~0","~"),te=(e,t)=>{const i=new WeakMap;return function e(n,r){let s;if(t&&(n=t(n)),w(n)||Array.isArray(n)){const t=i.get(n);return t?{$ref:t}:(i.set(n,M(r)),Array.isArray(n)?s=n.map(((t,i)=>e(t,[...r,String(i)]))):(s={},Object.keys(n).forEach((t=>{s[t]=e(n[t],[...r,t])}))),i.delete(n),s)}return n}(e,[])},ie=e=>A(A(e,"~","~0"),"//","/~1"),ne=e=>{if("string"!=typeof e||0===e.length)return null;const t=e.indexOf("#");return-1===t?null:e.slice(t)},re=e=>{const t=d(e,!0);if(t.scan(),1!==t.getToken())return;if(t.scan(),2===t.getToken())return;if(10!==t.getToken())throw new SyntaxError("Unexpected character");const i=t.getTokenValue();if(t.scan(),6!==t.getToken())throw new SyntaxError("Colon expected");switch(t.scan(),t.getToken()){case 10:return[i,t.getTokenValue()];case 11:return[i,Number(t.getTokenValue())];case 8:return[i,!0];case 9:return[i,!1];case 7:return[i,null];case 16:throw new SyntaxError("Unexpected character");case 17:throw new SyntaxError("Unexpected end of file");default:return}},se=({lineMap:e,ast:t},i)=>{const n=e[i.line],r=e[i.line+1];if(void 0===n)return;const s=f(t,void 0===r?n+i.character:Math.min(r,n+i.character),!0);if(void 0===s)return;const o=l(s);return 0!==o.length?o:void 0};function oe(e){return ee(e.split("/").pop()||"")}const ae=({ast:e},t,i=!1)=>{const n=function(e,t,i){e:for(const n of t){const t=Number.isInteger(Number(n))?Number(n):n;if("string"==typeof t||"number"==typeof t&&"array"!==e.type){if("object"!==e.type||!Array.isArray(e.children))return i?e:void 0;for(const i of e.children)if(Array.isArray(i.children)&&i.children[0].value===String(t)&&2===i.children.length){e=i.children[1];continue e}return i?e:void 0}if("array"!==e.type||t<0||!Array.isArray(e.children)||t>=e.children.length)return i?e:void 0;e=e.children[t]}return e}(e,t,i);if(void 0!==n&&void 0!==n.range)return{range:n.range}},ce=(e,t={disallowComments:!0})=>{const i=[],{ast:n,data:r,lineMap:s}=pe(e,i,t);return{data:r,diagnostics:i,ast:n,lineMap:s}};function pe(e,t=[],i){const n=fe(e);let r={type:"array",offset:-1,length:-1,children:[],parent:void 0},s=null,o=[];const a=new WeakMap,c=[];function p(e){"property"===r.type&&(r.length=e-r.offset,r=r.parent)}function d(e,t,i){return{start:{line:e,character:t},end:{line:e,character:t+i}}}function f(e){return r.children.push(e),e}function l(e){Array.isArray(o)?o.push(e):null!==s&&(o[s]=e)}function h(e){l(e),c.push(o),o=e,s=null}function g(){o=c.pop()}u(e,{onObjectBegin:(e,t,n,s)=>{r=f({type:"object",offset:e,length:-1,parent:r,children:[],range:d(n,s,t)}),!1===i.ignoreDuplicateKeys&&a.set(r,[]),h(function(e){return e?b({}):{}}(!0===i.preserveKeyOrder))},onObjectProperty:(e,n,c,p,l)=>{if((r=f({type:"property",offset:n,length:-1,parent:r,children:[]})).children.push({type:"string",value:e,offset:n,length:c,parent:r}),!1===i.ignoreDuplicateKeys){const i=a.get(r.parent);i&&(0!==i.length&&i.includes(e)?t.push({range:d(p,l,c),message:"DuplicateKey",severity:$.h_.Error,path:le(r),code:20}):i.push(e))}!0===i.preserveKeyOrder&&function(e,t){if(!(t in e))return;const i=e[y],n=i.indexOf(t);-1!==n&&(i.splice(n,1),i.push(t))}(o,e),s=e},onObjectEnd:(e,t,n,s)=>{!1===i.ignoreDuplicateKeys&&a.delete(r),r.length=e+t-r.offset,r.range&&(r.range.end.line=n,r.range.end.character=s+t),r=r.parent,p(e+t),g()},onArrayBegin:(e,t,i,n)=>{r=f({type:"array",offset:e,length:-1,parent:r,children:[],range:d(i,n,t)}),h([])},onArrayEnd:(e,t,i,n)=>{r.length=e+t-r.offset,r.range&&(r.range.end.line=i,r.range.end.character=n+t),r=r.parent,p(e+t),g()},onLiteralValue:(e,t,i,n,s)=>{f({type:de(e),offset:t,length:i,parent:r,value:e,range:d(n,s,i)}),p(t+i),l(e)},onSeparator:(e,t)=>{"property"===r.type&&(":"===e?r.colonOffset=t:","===e&&p(t))},onError:(e,i,n,r,s)=>{t.push({range:d(r,s,n),message:m(e),severity:$.h_.Error,code:e})}},i);const v=r.children[0];return v&&delete v.parent,{ast:v,data:o[0],lineMap:n}}function de(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";default:return"null"}}const fe=e=>{const t=[0];let i=0;for(;i{if(!e||!Object.hasOwnProperty.call(e,t)||t===i)return e;const n={};for(const[r,s]of Object.entries(e))r===t?n[i]=s:r in n||(n[r]=s);return n};function me(e){return w(e)||Array.isArray(e)}function he(e,t,i){if(i.length<=1||t.length<=1)throw Error("Source/target path must not be empty and point at root");if(0===t.indexOf(i))throw Error("Target path cannot be contained within source");const n=F(t);let r=e;for(const e of n){if(!me(r))return;r=r[e]}if(!me(r))return;const s=F(i);let o=e;for(const[e,t]of s.entries()){if(!me(o)||t in o)return;const i=e===s.length-1?r:{};o[t]=i,o=i}delete e[n[0]],function e(t,i,n){for(const r of Object.keys(t)){const s=t[r];if("$ref"!==r)me(s)&&e(s,i,n);else{if("string"!=typeof s||!E(s))continue;0===s.indexOf(i)&&(t[r]=s.replace(i,n))}}}(e,t,i)}async function ye(e,t,i,n,r){let o=function(e,t){const i=K(t);return null===i?e:(0,s.isAbsolute)(i)?i:(0,s.join)((0,s.dirname)(e),i)}(t,i);const a=ne(i)||"#",c=await e[o],p=F(a);let d=[...p];const f={value:c};for(const[i,s]of H(f,p,a)){if(n.includes(s))return{source:t,location:null!=r?r:d,value:n[n.length-1]};n.push(s);const a=await ye(e,o,s.$ref,n,d);({source:o,location:d}=a),f.value=a.value,d.push(...p.slice(i+1))}return{source:o,location:d,value:n.length>0?G(n[n.length-1],f.value):f.value}}async function ge(e,t,i){return(await be(e,t,i)).value}function be(e,t,i){return ye(e,t,i,[])}const ve=(e,t)=>{if("string"!=typeof e)return e;try{const i=$e(e);return"string"==typeof i?i:JSON.parse(e,t)}catch(e){return}},$e=e=>{const t=Number(e);return Number.isFinite(t)?String(t)===e?t:e:NaN},je=(e,t,i)=>{if("string"==typeof e)return e;try{return JSON.stringify(e,t,i)}catch(n){return _()(e,t,i)}},_e=(e,t)=>{if(e instanceof Array){if(t instanceof Array){if(t.length>e.length)return!1;for(const i in t){if(!t.hasOwnProperty(i))continue;const n=parseInt(e[i]),r=parseInt(t[i]);if(isNaN(n)&&isNaN(r)){if(e[i]!==t[i])return!1}else if(n!==r)return!1}}}else{if("string"!=typeof e)return!1;if("string"==typeof t)return e.startsWith(t)}return!0},we=(e,t,i)=>{const n=je(e,t,i);if(void 0===n)throw new Error("The value could not be stringified");return n};function xe(e){return e.replace(/^(\/|#\/)/,"").split("/").map(ee).map(Pe).join(".")}function Pe(e){return e.includes(".")?`["${e.replace(/"/g,'\\"')}"]`:e}const Se=Symbol.for(h),Oe={ownKeys:e=>Se in e?e[Se]:Reflect.ownKeys(e)},Ee=e=>new Proxy(e,Oe);function Ae(e,t){if("string"==typeof e&&"string"==typeof t)return(0,r.trimStart)(e,t);if(!(e&&Array.isArray(e)&&e.length&&t&&Array.isArray(t)&&t.length))return e;let i=0;for(const n in e)if(e.hasOwnProperty(n)){if(e[n]!==t[n])break;i++}return e.slice(i)}},98136:(e,t,i)=>{"use strict";function n(e){let t="";return e.absolute&&("file"===e.protocol?(e.drive&&(t+=e.drive),t+="/"):(t+=e.protocol+"://",e.origin&&(t+=e.origin+"/"))),""===(t+=e.path.join("/"))&&(t="."),t}function r(e,t,i,n){this.message=e,this.expected=t,this.found=i,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r)}i.r(t),i.d(t,{basename:()=>d,deserializeSrn:()=>j,dirname:()=>f,extname:()=>l,format:()=>n,isAbsolute:()=>u,isURL:()=>m,join:()=>h,normalize:()=>a,parse:()=>o,relative:()=>y,resolve:()=>g,sep:()=>b,serializeSrn:()=>_,startsWithWindowsDrive:()=>v,stripRoot:()=>$,toFSPath:()=>a}),function(e,t){function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i}(r,Error),r.buildMessage=function(e,t){var i={literal:function(e){return'"'+r(e.text)+'"'},class:function(e){var t,i="";for(t=0;t0){for(t=1,n=1;tJ&&(J=G,W=[]),W.push(e))}function te(){var t;return(t=function(){var e,t,i,n,r;return e=G,(t=ie())!==a&&(i=ne())!==a&&(n=se())!==a&&(r=oe())!==a?e=t=d(t,i,n,r):(G=e,e=a),e===a&&(e=G,(t=ie())!==a&&(i=ne())!==a&&(n=function(){var e;return(e=b)!==a&&(e=R()),e}())!==a?e=t=f(t,i,n):(G=e,e=a)),e}())===a&&(t=function(){var t,i,n,r;return t=G,(i=function(){var t;return e.substr(G,7).toLowerCase()===j?(t=e.substr(G,7),G+=7):(t=a,ee(_)),t===a&&(e.substr(G,5).toLowerCase()===w?(t=e.substr(G,5),G+=5):(t=a,ee(x))),t!==a&&(t=P()),t}())!==a&&(n=re())!==a&&(r=oe())!==a?t=i=$(i,n,r):(G=t,t=a),t}())===a&&(t=function(){var e,t,i;return e=G,(t=re())!==a&&(i=oe())!==a?e=t=S(t,i):(G=e,e=a),e}())===a&&(t=function(){var t,i;return t=G,function(){var t;return(t=function(){var t,i,n;return t=G,46===e.charCodeAt(G)?(i=D,G++):(i=a,ee(F)),i!==a&&(n=ce())!==a?t=i=[i,n]:(G=t,t=a),t}())===a&&(t=b),t}()!==a&&(i=oe())!==a?t=M(i):(G=t,t=a),t}()),t}function ie(){var t,i;return e.substr(G,7).toLowerCase()===l?(i=e.substr(G,7),G+=7):(i=a,ee(u)),i!==a&&(i=m()),(t=i)===a&&(t=function(){var t;return e.substr(G,8).toLowerCase()===h?(t=e.substr(G,8),G+=8):(t=a,ee(y)),t!==a&&(t=g()),t}()),t}function ne(){var t,i,n;if(t=G,i=[],(n=pe())!==a)for(;n!==a;)i.push(n),n=pe();else i=a;return(t=i!==a?e.substring(t,G):i)===a&&(t=G,(i=b)!==a&&(i=v()),t=i),t}function re(){var t;return(t=function(){var t,i,n,r;return t=G,(i=ce())===a&&(i=null),i!==a?(O.test(e.charAt(G))?(n=e.charAt(G),G++):(n=a,ee(E)),n!==a?(58===e.charCodeAt(G)?(r=A,G++):(r=a,ee(T)),r!==a&&ce()!==a?t=i=I(n):(G=t,t=a)):(G=t,t=a)):(G=t,t=a),t}())===a&&(t=se()),t}function se(){var e;return(e=ce())!==a&&(e=k()),e}function oe(){var e;return(e=function e(){var t,i,n;return t=G,(i=ae())!==a&&ce()!==a&&(n=e())!==a?t=i=C(i,n):(G=t,t=a),t===a&&(t=G,(i=ae())!==a&&(i=N(i)),t=i),t}())!==a&&(e=q(e)),e}function ae(){var t,i,n;if(t=G,i=[],(n=pe())!==a)for(;n!==a;)i.push(n),n=pe();else i=a;return(t=i!==a?e.substring(t,G):i)===a&&(t=b),t}function ce(){var t;return 47===e.charCodeAt(G)?(t=U,G++):(t=a,ee(V)),t===a&&(92===e.charCodeAt(G)?(t=L,G++):(t=a,ee(z))),t}function pe(){var t;return B.test(e.charAt(G))?(t=e.charAt(G),G++):(t=a,ee(K)),t}if((i=p())!==a&&G===e.length)return i;throw i!==a&&G""!==e&&"."!==e));const i=[];for(const n of t)".."===n&&i.length&&".."!==i[i.length-1]?i.pop():".."===n&&e.absolute||i.push(n);return e.path=i,e}function p(e){let t=e.lastIndexOf(".");".."===e&&(t=-1),"."===e&&(t=-1);let i=e,n="";return t>0&&(i=e.slice(0,t),n=e.slice(t)),{name:i,ext:n}}const d=(e,t)=>{const i=c(o(e)).path.pop();if(!i)return"";const{name:n,ext:r}=p(i);return!0===t||t===r?n:`${n}${r}`},f=e=>{const t=c(o(e));return t.path.pop(),n(c(t))},l=e=>{const t=c(o(e)).path.pop();if(!t)return"";const{ext:i}=p(t);return i};function u(e){return o(e).absolute}function m(e){const t=o(e);return"http"===t.protocol||"https"===t.protocol}const h=(...e)=>{if(0===e.length)return".";const t=e.map(o),i=Object.assign({},t[0]);for(let n=1;nnull!==o(e).drive,$=e=>o(e).path.filter(Boolean).join("/");function j(e){const[t,i,n,...r]=e.split("/"),s=r.length?`/${r.join("/")}`:void 0;let o,a;return s&&(o=r.find((e=>e.includes("."))))&&(a=p(o).ext),{shortcode:t,orgSlug:i,projectSlug:n,uri:s,file:o,ext:a}}function _({shortcode:e,orgSlug:t,projectSlug:i,uri:n=""}){return[e,t,i,n.replace(/^\//,"")].filter(Boolean).join("/")}},11673:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(70130),r=i(38581),s=i(52816),o=i(77146),a=i(91844),c=i(91911),p="errorMessage",d=new n.Name("emUsed"),f={required:"missingProperty",dependencies:"property",dependentRequired:"property"},l=/\$\{[^}]+\}/,u=/\$\{([^}]+)\}/g,m=/^""\s*\+\s*|\s*\+\s*""$/g;const h=(e,t={})=>{if(!e.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(e.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return e.addKeyword(function(e){return{keyword:p,schemaType:["string","object"],post:!0,code(t){const{gen:i,data:h,schema:y,schemaValue:g,it:b}=t;if(!1===b.createErrors)return;const v=y,$=r.strConcat(c.default.instancePath,b.errorPath);function j(e,t){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath === ${$}`,n._`${e}.keyword in ${t}`,n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`/^\\/[^\\/]*$/.test(${e}.schemaPath.slice(${b.errSchemaPath.length}))`)}function _(e,t){const n=[];for(const i in e){const e=t[i];l.test(e)&&n.push([i,x(e)])}return i.object(...n)}function w(e){return l.test(e)?new s._Code(s.safeStringify(e).replace(u,((e,t)=>`" + JSON.stringify(${o.getData(t,b)}) + "`)).replace(m,"")):n.stringify(e)}function x(e){return n._`function(){return ${w(e)}}`}i.if(n._`${c.default.errors} > 0`,(()=>{if("object"==typeof v){const[s,o]=function(e){let t,i;for(const n in e){if("properties"===n||"items"===n)continue;const r=e[n];if("object"==typeof r){t||(t={});const e=t[n]={};for(const t in r)e[t]=[]}else i||(i={}),i[n]=[]}return[t,i]}(v);o&&function(r){const s=i.const("emErrors",n.stringify(r)),o=i.const("templates",_(r,y));i.forOf("err",c.default.vErrors,(e=>i.if(j(e,s),(()=>i.code(n._`${s}[${e}.keyword].push(${e})`).assign(n._`${e}.${d}`,!0)))));const{singleError:p}=e;if(p){const e=i.let("message",n._`""`),r=i.let("paramsErrors",n._`[]`);f((t=>{i.if(e,(()=>i.code(n._`${e} += ${"string"==typeof p?p:";"}`))),i.code(n._`${e} += ${l(t)}`),i.assign(r,n._`${r}.concat(${s}[${t}])`)})),a.reportError(t,{message:e,params:n._`{errors: ${r}}`})}else f((e=>a.reportError(t,{message:l(e),params:n._`{errors: ${s}[${e}]}`})));function f(e){i.forIn("key",s,(t=>i.if(n._`${s}[${t}].length`,(()=>e(t)))))}function l(e){return n._`${e} in ${o} ? ${o}[${e}]() : ${g}[${e}]`}}(o),s&&function(e){const r=i.const("emErrors",n.stringify(e)),s=[];for(const t in e)s.push([t,_(e[t],y[t])]);const o=i.const("templates",i.object(...s)),p=i.scopeValue("obj",{ref:f,code:n.stringify(f)}),l=i.let("emPropParams"),u=i.let("emParamsErrors");i.forOf("err",c.default.vErrors,(e=>i.if(j(e,r),(()=>{i.assign(l,n._`${p}[${e}.keyword]`),i.assign(u,n._`${r}[${e}.keyword][${e}.params[${l}]]`),i.if(u,(()=>i.code(n._`${u}.push(${e})`).assign(n._`${e}.${d}`,!0)))})))),i.forIn("key",r,(e=>i.forIn("keyProp",n._`${r}[${e}]`,(s=>{i.assign(u,n._`${r}[${e}][${s}]`),i.if(n._`${u}.length`,(()=>{const r=i.const("tmpl",n._`${o}[${e}] && ${o}[${e}][${s}]`);a.reportError(t,{message:n._`${r} ? ${r}() : ${g}[${e}][${s}]`,params:n._`{errors: ${u}}`})}))}))))}(s),function(e){const{props:s,items:o}=e;if(!s&&!o)return;const f=n._`typeof ${h} == "object"`,l=n._`Array.isArray(${h})`,u=i.let("emErrors");let m,b;const v=i.let("templates");function j(e,t){i.assign(u,n.stringify(e)),i.assign(v,_(e,t))}s&&o?(m=i.let("emChildKwd"),i.if(f),i.if(l,(()=>{j(o,y.items),i.assign(m,n.str`items`)}),(()=>{j(s,y.properties),i.assign(m,n.str`properties`)})),b=n._`[${m}]`):o?(i.if(l),j(o,y.items),b=n._`.items`):s&&(i.if(r.and(f,r.not(l))),j(s,y.properties),b=n._`.properties`),i.forOf("err",c.default.vErrors,(e=>function(e,t,s){i.if(r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath.indexOf(${$}) === 0`),(()=>{const r=i.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:n._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),o=i.const("emMatches",n._`${r}.exec(${e}.instancePath.slice(${$}.length))`),a=i.const("emChild",n._`${o} && ${o}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);i.if(n._`${a} !== undefined && ${a} in ${t}`,(()=>s(a)))}))}(e,u,(t=>i.code(n._`${u}[${t}].push(${e})`).assign(n._`${e}.${d}`,!0))))),i.forIn("key",u,(e=>i.if(n._`${u}[${e}].length`,(()=>{a.reportError(t,{message:n._`${e} in ${v} ? ${v}[${e}]() : ${g}${b}[${e}]`,params:n._`{errors: ${u}[${e}]}`}),i.assign(n._`${c.default.vErrors}[${c.default.errors}-1].instancePath`,n._`${$} + "/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})))),i.endIf()}(function({properties:e,items:t}){const i={};if(e){i.props={};for(const t in e)i.props[t]=[]}if(t){i.items={};for(let e=0;ei.if(function(e){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,r.or(n._`${e}.instancePath === ${$}`,r.and(n._`${e}.instancePath.indexOf(${$}) === 0`,n._`${e}.instancePath[${$}.length] === "/"`)),n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`${e}.schemaPath[${b.errSchemaPath}.length] === "/"`)}(e),(()=>i.code(n._`${s}.push(${e})`).assign(n._`${e}.${d}`,!0))))),i.if(n._`${s}.length`,(()=>a.reportError(t,{message:w(e),params:n._`{errors: ${s}}`})))}(s),e.keepErrors||function(){const e=i.const("emErrs",n._`[]`);i.forOf("err",c.default.vErrors,(t=>i.if(n._`!${t}.${d}`,(()=>i.code(n._`${e}.push(${t})`))))),i.assign(c.default.vErrors,e).assign(c.default.errors,n._`${e}.length`)}()}))},metaSchema:{anyOf:[{type:"string"},{type:"object",properties:{properties:{$ref:"#/$defs/stringMap"},items:{$ref:"#/$defs/stringList"},required:{$ref:"#/$defs/stringOrMap"},dependencies:{$ref:"#/$defs/stringOrMap"}},additionalProperties:{type:"string"}}],$defs:{stringMap:{type:"object",additionalProperties:{type:"string"}},stringOrMap:{anyOf:[{type:"string"},{$ref:"#/$defs/stringMap"}]},stringList:{type:"array",items:{type:"string"}}}}}}(t))};t.default=h,e.exports=h,e.exports.default=h},70130:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(12362),r=i(10496),s=i(6317),o=i(46063),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(77146);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(38581);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(1110);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(60535);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},52816:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(52816),r=i(59157);var s=i(52816);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(59157);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},59157:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(52816);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},91844:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(38581),r=i(29811),s=i(91911);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},71435:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(38581),r=i(1110),s=i(91911),o=i(5339),a=i(29811),c=i(77146);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},91911:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},60535:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(5339);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},5339:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(29811),r=i(38792),s=i(85826),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},2812:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},29811:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(38581),r=i(52816);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},94223:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},31799:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(91844),r=i(38581),s=i(91911),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},53280:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(2812),r=i(94223),s=i(91844),o=i(38581),a=i(29811);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null + || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null + || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},63742:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(38581),r=i(29811);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},77146:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(31799),r=i(53280),s=i(94223),o=i(53280),a=i(63742),c=i(26953),p=i(64687),d=i(38581),f=i(91911),l=i(5339),u=i(29811),m=i(91844);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},26953:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(38581),r=i(91911),s=i(49653),o=i(91844);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},64687:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(38581),r=i(29811);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},12362:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(77146);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(38581);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(1110),o=i(60535),a=i(2812),c=i(71435),p=i(38581),d=i(5339),f=i(53280),l=i(29811),u=i(66077),m=i(70856),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},37658:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},32861:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},1110:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},84737:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(38581),r=i(29811),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},57412:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s=i(91911),o=i(29811),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},57572:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29811),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},26777:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(49653).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},69077:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},21201:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(38581),r=i(29811),s=i(49653);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, + missingProperty: ${r}, + depsCount: ${t}, + deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},53495:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},38874:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(84737),r=i(80170),s=i(9934),o=i(82286),a=i(69077),c=i(21201),p=i(47425),d=i(57412),f=i(95157),l=i(64341),u=i(78787),m=i(26777),h=i(62211),y=i(57572),g=i(53495),b=i(44026);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},9934:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(38581),r=i(29811),s=i(49653),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},82286:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(49653),o=i(84737),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},78787:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29811),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},62211:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},64341:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s=i(29811),o=i(29811),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},80170:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(9934),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},95157:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(77146),r=i(49653),s=i(29811),o=i(57412),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},47425:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},44026:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29811),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},49653:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(38581),r=i(29811),s=i(91911),o=i(29811);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},31431:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},47360:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(31431),r=i(60221),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},60221:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(60535),r=i(49653),s=i(38581),o=i(91911),a=i(71435),c=i(29811),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},6317:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(39380),s=i(71435),o=i(29811),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},39380:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},10496:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(47360),r=i(29204),s=i(38874),o=i(43420),a=i(83201),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},99057:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},43420:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(99057).default];t.default=n},83201:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},54591:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(37658),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},93571:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(37658),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},29204:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(32426),r=i(86511),s=i(65211),o=i(83062),a=i(52374),c=i(40499),p=i(58731),d=i(71785),f=i(54591),l=i(93571),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},58731:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},65211:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(32861),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},32426:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},52374:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},86511:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},83062:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},40499:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s=i(29811),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},71785:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(53280),r=i(38581),s=i(29811),o=i(37658),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},53440:(e,t,i)=>{var n=i(55837),r=i(99986);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),g(function(e){return e.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(c).split("\\.").join(p)}(e),!0).map(f)):[]};var s="\0SLASH"+Math.random()+"\0",o="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",c="\0COMMA"+Math.random()+"\0",p="\0PERIOD"+Math.random()+"\0";function d(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function f(e){return e.split(s).join("\\").split(o).join("{").split(a).join("}").split(c).join(",").split(p).join(".")}function l(e){if(!e)return[""];var t=[],i=r("{","}",e);if(!i)return e.split(",");var n=i.pre,s=i.body,o=i.post,a=n.split(",");a[a.length-1]+="{"+s+"}";var c=l(o);return o.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),t.push.apply(t,a),t}function u(e){return"{"+e+"}"}function m(e){return/^-?0\d/.test(e)}function h(e,t){return e<=t}function y(e,t){return e>=t}function g(e,t){var i=[],s=r("{","}",e);if(!s||/\$$/.test(s.pre))return[e];var o,c=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),p=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),f=c||p,b=s.body.indexOf(",")>=0;if(!f&&!b)return s.post.match(/,.*\}/)?g(e=s.pre+"{"+s.body+a+s.post):[e];if(f)o=s.body.split(/\.\./);else if(1===(o=l(s.body)).length&&1===(o=g(o[0],!1).map(u)).length)return(j=s.post.length?g(s.post,!1):[""]).map((function(e){return s.pre+o[0]+e}));var v,$=s.pre,j=s.post.length?g(s.post,!1):[""];if(f){var _=d(o[0]),w=d(o[1]),x=Math.max(o[0].length,o[1].length),P=3==o.length?Math.abs(d(o[2])):1,S=h;w<_&&(P*=-1,S=y);var O=o.some(m);v=[];for(var E=_;S(E,w);E+=P){var A;if(p)"\\"===(A=String.fromCharCode(E))&&(A="");else if(A=String(E),O){var T=x-A.length;if(T>0){var I=new Array(T+1).join("0");A=E<0?"-"+I+A.slice(1):I+A}}v.push(A)}}else v=n(o,(function(e){return g(e,!1)}));for(var k=0;k{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{e.exports=l,l.Minimatch=u;var n=function(){try{return i(71848)}catch(e){}}()||{sep:"/"};l.sep=n.sep;var r=l.GLOBSTAR=u.GLOBSTAR={},s=i(53440),o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},a="[^/]",c=a+"*?",p="().*{}+?[]^$\\!".split("").reduce((function(e,t){return e[t]=!0,e}),{}),d=/\/+/;function f(e,t){t=t||{};var i={};return Object.keys(e).forEach((function(t){i[t]=e[t]})),Object.keys(t).forEach((function(e){i[e]=t[e]})),i}function l(e,t,i){return h(t),i||(i={}),!(!i.nocomment&&"#"===t.charAt(0))&&new u(t,i).match(e)}function u(e,t){if(!(this instanceof u))return new u(e,t);h(e),t||(t={}),e=e.trim(),t.allowWindowsEscape||"/"===n.sep||(e=e.split(n.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}function m(e,t){return t||(t=this instanceof u?this.options:{}),e=void 0===e?this.pattern:e,h(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:s(e)}l.filter=function(e,t){return t=t||{},function(i,n,r){return l(i,e,t)}},l.defaults=function(e){if(!e||"object"!=typeof e||!Object.keys(e).length)return l;var t=l,i=function(i,n,r){return t(i,n,f(e,r))};return(i.Minimatch=function(i,n){return new t.Minimatch(i,f(e,n))}).defaults=function(i){return t.defaults(f(e,i)).Minimatch},i.filter=function(i,n){return t.filter(i,f(e,n))},i.defaults=function(i){return t.defaults(f(e,i))},i.makeRe=function(i,n){return t.makeRe(i,f(e,n))},i.braceExpand=function(i,n){return t.braceExpand(i,f(e,n))},i.match=function(i,n,r){return t.match(i,n,f(e,r))},i},u.defaults=function(e){return l.defaults(e).Minimatch},u.prototype.debug=function(){},u.prototype.make=function(){var e=this.pattern,t=this.options;if(t.nocomment||"#"!==e.charAt(0))if(e){this.parseNegate();var i=this.globSet=this.braceExpand();t.debug&&(this.debug=function(){console.error.apply(console,arguments)}),this.debug(this.pattern,i),i=this.globParts=i.map((function(e){return e.split(d)})),this.debug(this.pattern,i),i=i.map((function(e,t,i){return e.map(this.parse,this)}),this),this.debug(this.pattern,i),i=i.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,i),this.set=i}else this.empty=!0;else this.comment=!0},u.prototype.parseNegate=function(){var e=this.pattern,t=!1,i=0;if(!this.options.nonegate){for(var n=0,r=e.length;n65536)throw new TypeError("pattern is too long")};u.prototype.parse=function(e,t){h(e);var i=this.options;if("**"===e){if(!i.noglobstar)return r;e="*"}if(""===e)return"";var n,s="",d=!!i.nocase,f=!1,l=[],u=[],m=!1,g=-1,b=-1,v="."===e.charAt(0)?"":i.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",$=this;function j(){if(n){switch(n){case"*":s+=c,d=!0;break;case"?":s+=a,d=!0;break;default:s+="\\"+n}$.debug("clearStateChar %j %j",n,s),n=!1}}for(var _,w=0,x=e.length;w-1;I--){var k=u[I],R=s.slice(0,k.reStart),M=s.slice(k.reStart,k.reEnd-8),q=s.slice(k.reEnd-8,k.reEnd),C=s.slice(k.reEnd);q+=C;var N=R.split("(").length-1,D=C;for(w=0;w=0&&!(r=e[s]);s--);for(s=0;s>> no match, partial?",e,l,t,u),l!==a))}if("string"==typeof d?(p=f===d,this.debug("string match",d,f,p)):(p=f.match(d),this.debug("pattern match",d,f,p)),!p)return!1}if(s===a&&o===c)return!0;if(s===a)return i;if(o===c)return s===a-1&&""===e[s];throw new Error("wtf?")}},99999:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aas2_6=t.aas2_5=t.aas2_4=t.aas2_3=t.aas2_2=t.aas2_1=t.aas2_0=t.asyncapi2=t.asyncApi2=t.aas2=void 0;const n=i(46734),r=/^2\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/,s=/^2\.0(?:\.[0-9]*)?$/,o=/^2\.1(?:\.[0-9]*)?$/,a=/^2\.2(?:\.[0-9]*)?$/,c=/^2\.3(?:\.[0-9]*)?$/,p=/^2\.4(?:\.[0-9]*)?$/,d=/^2\.5(?:\.[0-9]*)?$/,f=/^2\.6(?:\.[0-9]*)?$/,l=e=>(0,n.isPlainObject)(e)&&"asyncapi"in e&&r.test(String(e.asyncapi));t.aas2=l,t.aas2.displayName="AsyncAPI 2.x",t.asyncApi2=t.aas2,t.asyncapi2=t.aas2,t.aas2_0=e=>l(e)&&s.test(String(e.asyncapi)),t.aas2_0.displayName="AsyncAPI 2.0.x",t.aas2_1=e=>l(e)&&o.test(String(e.asyncapi)),t.aas2_1.displayName="AsyncAPI 2.1.x",t.aas2_2=e=>l(e)&&a.test(String(e.asyncapi)),t.aas2_2.displayName="AsyncAPI 2.2.x",t.aas2_3=e=>l(e)&&c.test(String(e.asyncapi)),t.aas2_3.displayName="AsyncAPI 2.3.x",t.aas2_4=e=>l(e)&&p.test(String(e.asyncapi)),t.aas2_4.displayName="AsyncAPI 2.4.x",t.aas2_5=e=>l(e)&&d.test(String(e.asyncapi)),t.aas2_5.displayName="AsyncAPI 2.5.x",t.aas2_6=e=>l(e)&&f.test(String(e.asyncapi)),t.aas2_6.displayName="AsyncAPI 2.6.x"},67423:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(59171),t),(0,n.__exportStar)(i(99999),t),(0,n.__exportStar)(i(86202),t)},86202:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.detectDialect=t.extractDraftVersion=t.jsonSchemaDraft2020_12=t.jsonSchemaDraft2019_09=t.jsonSchemaDraft7=t.jsonSchemaDraft6=t.jsonSchemaDraft4=t.jsonSchemaLoose=t.jsonSchema=void 0;const n=i(46734),r=["array","boolean","integer","null","number","object","string"],s=["allOf","oneOf","anyOf","not","if"],o=/^https?:\/\/json-schema.org\/(?:draft-0([467])|draft\/(20(?:19-09|20-12)))\/(?:hyper-)?schema#?$/,a=e=>function(e){return(0,n.isPlainObject)(e)&&"$schema"in e&&"string"==typeof e.$schema}(e)&&e.$schema.includes("//json-schema.org/");function c(e,t){const i=t=>a(t)&&p(t.$schema)===e;return i.displayName=t,i}function p(e){var t;const i=o.exec(e);return null!==i?`draft${null!==(t=i[1])&&void 0!==t?t:i[2]}`:null}t.jsonSchema=a,t.jsonSchema.displayName="JSON Schema",t.jsonSchemaLoose=e=>(0,n.isPlainObject)(e)&&(a(e)||(e=>"type"in e&&("string"==typeof e.type?r.includes(e.type):Array.isArray(e.type)&&e.type.every((e=>r.includes(e)))))(e)||(e=>Array.isArray(e.enum))(e)||(e=>s.some((t=>t in e&&"object"==typeof e[t]&&null!==e[t])))(e)),t.jsonSchemaLoose.displayName="JSON Schema (loose)",t.jsonSchemaDraft4=c("draft4","JSON Schema Draft 4"),t.jsonSchemaDraft6=c("draft6","JSON Schema Draft 6"),t.jsonSchemaDraft7=c("draft7","JSON Schema Draft 7"),t.jsonSchemaDraft2019_09=c("draft2019-09","JSON Schema Draft 2019-09"),t.jsonSchemaDraft2020_12=c("draft2020-12","JSON Schema Draft 2020-12"),t.extractDraftVersion=p,t.detectDialect=function(e){return a(e)?p(e.$schema):null}},59171:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.oas3_1=t.oas3_0=t.oas3=t.oas2=void 0;const n=i(46734);t.oas2=e=>(0,n.isPlainObject)(e)&&"swagger"in e&&2===parseInt(String(e.swagger)),t.oas2.displayName="OpenAPI 2.0 (Swagger)";const r=e=>(0,n.isPlainObject)(e)&&"openapi"in e&&3===Number.parseInt(String(e.openapi));t.oas3=r,t.oas3.displayName="OpenAPI 3.x",t.oas3_0=e=>r(e)&&/^3\.0(?:\.[0-9]*)?$/.test(String(e.openapi)),t.oas3_0.displayName="OpenAPI 3.0.x",t.oas3_1=e=>r(e)&&/^3\.1(?:\.[0-9]*)?$/.test(String(e.openapi)),t.oas3_1.displayName="OpenAPI 3.1.x"},40456:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(45250),r=i(23859),s=i(95955),o=i(9251),a=(e,t)=>"number"!=typeof e&&!Number.isNaN(Number(e))||"number"!=typeof t&&Number.isNaN(Number(t))?"string"!=typeof e||"string"!=typeof t?0:e.localeCompare(t):Math.min(1,Math.max(-1,Number(e)-Number(t)));function c(e){return"string"==typeof e||"number"==typeof e}t.default=(0,r.createRulesetFunction)({input:{type:["object","array"]},options:o.optionSchemas.alphabetical},(function(e,t,{path:i,documentInventory:r}){var o,p;let d;if(d=Array.isArray(e)?e:Object.keys(null!==(p=null===(o=r.findAssociatedItemForPath(i,!0))||void 0===o?void 0:o.document.trapAccess(e))&&void 0!==p?p:e),d.length<2)return;const f=null==t?void 0:t.keyedBy;if(void 0!==f){const e=[];for(const t of d){if(!(0,n.isObject)(t))return[{message:'#{{print("property")}}must be an object'}];e.push(t[f])}d=e}if(!d.every(c))return[{message:'#{{print("property")}}must be one of the allowed types: number, string'}];const l=((e,t)=>{for(let i=0;i=1)return[i,i+1];return null})(d,a);return null!=l?[{...void 0===f?{path:[...i,Array.isArray(e)?l[0]:d[l[0]]]}:null,message:void 0!==f?"properties must follow the alphabetical order":`${(0,s.printValue)(d[l[0]])} must be placed after ${(0,s.printValue)(d[l[1]])}`}]:void 0}))},97685:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CasingType=void 0;const n=i(45250),r=i(23859),s=i(9251),o=i(92805);Object.defineProperty(t,"CasingType",{enumerable:!0,get:function(){return o.CasingType}});const a={[o.CasingType.flat]:"[a-z][a-z{__DIGITS__}]*",[o.CasingType.camel]:"[a-z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}](?:[a-z{__DIGITS__}]+|$))*",[o.CasingType.pascal]:"[A-Z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}](?:[a-z{__DIGITS__}]+|$))*",[o.CasingType.kebab]:"[a-z][a-z{__DIGITS__}]*(?:-[a-z{__DIGITS__}]+)*",[o.CasingType.cobol]:"[A-Z][A-Z{__DIGITS__}]*(?:-[A-Z{__DIGITS__}]+)*",[o.CasingType.snake]:"[a-z][a-z{__DIGITS__}]*(?:_[a-z{__DIGITS__}]+)*",[o.CasingType.macro]:"[A-Z][A-Z{__DIGITS__}]*(?:_[A-Z{__DIGITS__}]+)*"};t.default=(0,r.createRulesetFunction)({input:{type:"string",minLength:1},options:s.optionSchemas.casing},(function(e,t){if(1!==e.length||void 0===t.separator||!0!==t.separator.allowLeading||e!==t.separator.char)return c(a[t.type],t).test(e)?void 0:[{message:`must be ${t.type} case`}]}));const c=(e,t)=>{const i=!0!==t.disallowDigits,r=e.replace(/\{__DIGITS__\}/g,i?"0-9":"");if(void 0===t.separator)return new RegExp(`^${r}$`);const s=`[${(0,n.escapeRegExp)(t.separator.char)}]`,o=!0===t.separator.allowLeading?`${s}?`:"";return new RegExp(`^${o}${r}(?:${s}${r})*$`)}},31181:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.defined},(function(e){if(void 0===e)return[{message:'#{{print("property")}}must be defined'}]}))},18315:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:["string","number","null","boolean"]},options:s.optionSchemas.enumeration},(function(e,{values:t}){if(!t.includes(e))return[{message:`#{{print("value")}} must be equal to one of the allowed values: ${t.map(r.printValue).join(", ")}`}]}))},53547:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.falsy},(function(e){if(e)return[{message:'#{{print("property")}}must be falsy'}]}))},69248:(e,t,i)=>{"use strict";t.fK=t.vN=t.wQ=t.T1=void 0;const n=i(85608),r=((0,n.__importDefault)(i(40456)),(0,n.__importDefault)(i(97685)),(0,n.__importDefault)(i(31181)),(0,n.__importDefault)(i(18315)),(0,n.__importDefault)(i(53547)),(0,n.__importDefault)(i(54782)),(0,n.__importDefault)(i(41146)));Object.defineProperty(t,"T1",{enumerable:!0,get:function(){return r.default}});const s=(0,n.__importDefault)(i(95818));Object.defineProperty(t,"wQ",{enumerable:!0,get:function(){return s.default}});const o=(0,n.__importDefault)(i(11214));Object.defineProperty(t,"vN",{enumerable:!0,get:function(){return o.default}});(0,n.__importDefault)(i(60928));const a=(0,n.__importDefault)(i(67884));Object.defineProperty(t,"fK",{enumerable:!0,get:function(){return a.default}});(0,n.__importDefault)(i(6073))},54782:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(46734),o=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:["array","object","string","number"]},options:o.optionSchemas.length},(function(e,t){let i,n;return i=(0,s.isPlainObject)(e)?Object.keys(e).length:Array.isArray(e)?e.length:"number"==typeof e?e:e.length,"min"in t&&it.max&&(null!=n?n:n=[]).push({message:`#{{print("property")}}must be shorter than ${(0,r.printValue)(t.max)}`}),n}))},9251:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.optionSchemas=void 0;const n=i(92805);t.optionSchemas={alphabetical:{type:["object","null"],properties:{keyedBy:{type:"string",description:"The key to sort an object by."}},additionalProperties:!1,errorMessage:{type:'"alphabetical" function has invalid options specified. Example valid options: null (no options), { "keyedBy": "my-key" }'}},casing:{required:["type"],type:"object",properties:{type:{type:"string",enum:Object.values(n.CasingType),errorMessage:`"casing" function and its "type" option accept the following values: ${Object.values(n.CasingType).join(", ")}`,description:"The casing type to match against."},disallowDigits:{type:"boolean",default:!1,description:"If not true, digits are allowed."},separator:{type:"object",required:["char"],additionalProperties:!1,properties:{char:{type:"string",maxLength:1,errorMessage:'"casing" function and its "separator.char" option accepts only char, i.e. "I" or "/"',description:"The additional char to separate groups of words."},allowLeading:{type:"boolean",description:"Can the group separator char be used at the first char?"}}}},additionalProperties:!1,errorMessage:{type:'"casing" function has invalid options specified. Example valid options: { "type": "camel" }, { "type": "pascal", "disallowDigits": true }'}},defined:null,enumeration:{type:"object",additionalProperties:!1,properties:{values:{type:"array",items:{type:["string","number","null","boolean"]},errorMessage:'"enumeration" and its "values" option support only arrays of primitive values, i.e. ["Berlin", "London", "Paris"]',description:"An array of possible values."}},required:["values"],errorMessage:{type:'"enumeration" function has invalid options specified. Example valid options: { "values": ["Berlin", "London", "Paris"] }, { "values": [2, 3, 5, 8, 13, 21] }'}},falsy:null,length:{type:"object",properties:{min:{type:"number",description:"The minimum length to match."},max:{type:"number",description:"The maximum length to match."}},minProperties:1,additionalProperties:!1,errorMessage:{type:'"length" function has invalid options specified. Example valid options: { "min": 2 }, { "max": 5 }, { "min": 0, "max": 10 }'}},pattern:{type:"object",additionalProperties:!1,properties:{match:{anyOf:[{type:"string"},{type:"object",properties:{exec:{},test:{},flags:{type:"string"}},required:["test","flags"],"x-internal":!0}],errorMessage:'"pattern" function and its "match" option must be string or RegExp instance',description:"If provided, value must match this regex."},notMatch:{anyOf:[{type:"string"},{type:"object",properties:{exec:{},test:{},flags:{type:"string"}},required:["test","flags"],"x-internal":!0}],errorMessage:'"pattern" function and its "notMatch" option must be string or RegExp instance',description:"If provided, value must _not_ match this regex."}},minProperties:1,errorMessage:{type:'"pattern" function has invalid options specified. Example valid options: { "match": "^Stoplight" }, { "notMatch": "Swagger" }, { "match": "Stoplight", "notMatch": "Swagger" }',minProperties:'"pattern" function has invalid options specified. Example valid options: { "match": "^Stoplight" }, { "notMatch": "Swagger" }, { "match": "Stoplight", "notMatch": "Swagger" }'}},truthy:null,undefined:null,schema:{additionalProperties:!1,properties:{schema:{type:"object",description:"Any valid JSON Schema document."},dialect:{enum:["auto","draft4","draft6","draft7","draft2019-09","draft2020-12"],default:"auto",description:"The JSON Schema draft used by function."},allErrors:{type:"boolean",default:!1,description:"Returns all errors when true; otherwise only returns the first error."},prepareResults:{"x-internal":!0}},required:["schema"],type:"object",errorMessage:{type:'"schema" function has invalid options specified. Example valid options: { "schema": { /* any JSON Schema can be defined here */ } , { "schema": { "type": "object" }, "dialect": "auto" }'}},unreferencedReusableObject:{type:"object",properties:{reusableObjectsLocation:{type:"string",format:"json-pointer-uri-fragment",errorMessage:'"unreferencedReusableObject" and its "reusableObjectsLocation" option support only valid JSON Pointer fragments, i.e. "#", "#/foo", "#/paths/~1user"',description:"A local json pointer to the document member holding the reusable objects (eg. #/definitions for an OAS2 document, #/components/schemas for an OAS3 document)."}},additionalProperties:!1,required:["reusableObjectsLocation"],errorMessage:{type:'"unreferencedReusableObject" function has invalid options specified. Example valid options: { "reusableObjectsLocation": "#/components/schemas" }, { "reusableObjectsLocation": "#/$defs" }',required:'"unreferencedReusableObject" function is missing "reusableObjectsLocation" option. Example valid options: { "reusableObjectsLocation": "#/components/schemas" }, { "reusableObjectsLocation": "#/$defs" }'}},xor:{type:"object",properties:{properties:{type:"array",items:{type:"string"},minItems:2,maxItems:2,errorMessage:'"xor" and its "properties" option support 2-item tuples, i.e. ["id", "name"]',description:"The properties to check."}},additionalProperties:!1,required:["properties"],errorMessage:{type:'"xor" function has invalid options specified. Example valid options: { "properties": ["id", "name"] }, { "properties": ["country", "street"] }'}}}},41146:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(9251),o=/^\/(.+)\/([a-z]*)$/,a=new Map;function c(e){const t=a.get(e);if(void 0!==t)return t.lastIndex=0,t;const i=function(e){const t=o.exec(e);return null!==t?new RegExp(t[1],t[2]):new RegExp(e)}(e);return a.set(e,i),i}t.default=(0,n.createRulesetFunction)({input:{type:"string"},options:s.optionSchemas.pattern},(function(e,t){let i;return"match"in t&&(c(t.match).test(e)||(i=[{message:`#{{print("value")}} must match the pattern ${(0,r.printValue)(t.match)}`}])),"notMatch"in t&&c(t.notMatch).test(e)&&(null!=i?i:i=[]).push({message:`#{{print("value")}} must not match the pattern ${(0,r.printValue)(t.notMatch)}`}),i}))},79097:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createAjvInstances=void 0;const n=i(85608),r=(0,n.__importDefault)(i(25248)),s=(0,n.__importDefault)(i(26235)),o=(0,n.__importDefault)(i(19179)),a=(0,n.__importDefault)(i(93916)),c=(0,n.__importDefault)(i(74421)),p=(0,n.__importDefault)(i(33907)),d=(0,n.__importStar)(i(71678)),f=(0,n.__importStar)(i(33978)),l={warn(...e){const t=e[0];if("string"==typeof t){if(t.startsWith("unknown format"))return;console.warn(...e)}},log:console.log,error:console.error};function u(e,t){const i=new e({allErrors:t,meta:!0,messages:!0,strict:!1,allowUnionTypes:!0,logger:l,unicodeRegExp:!1});return(0,c.default)(i),t&&(0,p.default)(i),e===r.default&&(i.addSchema(f),i.addSchema(d)),i}function m(e){let t,i;return{get default(){return null!=t||(t=u(e,!1)),t},get allErrors(){return null!=i||(i=u(e,!0)),i}}}t.createAjvInstances=function(){const e={auto:m(r.default),draft4:m(a.default),"draft2019-09":m(s.default),"draft2020-12":m(o.default)},t=new WeakMap;return function(i,n,r){var s,o,a,c;const p=(null!==(s=e[n])&&void 0!==s?s:e.auto)[r?"allErrors":"default"],d=i.$id;if("string"==typeof d)return null!==(o=p.getSchema(d))&&void 0!==o?o:p.compile(i);{const e=null!==(a=t.get(p))&&void 0!==a?a:t.set(p,new WeakMap).get(p);return null!==(c=e.get(i))&&void 0!==c?c:e.set(i,p.compile(i)).get(i)}}}},95818:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608),r=(0,n.__importDefault)(i(75150)),s=i(67423),o=i(79097),a=(0,n.__importDefault)(i(5773)),c=i(23859),p=i(45250),d=i(9251),f=new WeakMap;t.default=(0,c.createRulesetFunction)({input:null,options:d.optionSchemas.schema},(function(e,t,{path:i,rule:n,documentInventory:c}){var d,l,u;if(void 0===e)return[{path:i,message:'#{{print("property")}}must exist'}];const m=null!==(d=f.get(c))&&void 0!==d?d:f.set(c,(0,o.createAjvInstances)()).get(c),h=[],{allErrors:y=!1,schema:g}=t;try{const n=m(g,null!==(l=void 0===t.dialect||"auto"===t.dialect?(0,s.detectDialect)(g):null==t?void 0:t.dialect)&&void 0!==l?l:"draft7",y);!1===(null==n?void 0:n(e))&&Array.isArray(n.errors)&&(null===(u=t.prepareResults)||void 0===u||u.call(t,n.errors),h.push(...(0,r.default)(g,n.errors,{propertyPath:i,targetValue:e}).map((({suggestion:e,error:t,path:n})=>({message:void 0!==e?`${t}. ${e}`:t,path:[...i,...""!==n?n.replace(/^\//,"").split("/"):[]]})))))}catch(e){if(!(0,p.isError)(e))throw new Error("Unexpected error");n.resolved&&e instanceof a.default||h.push({message:e.message,path:i})}return h}))},11214:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.truthy},(function(e){if(!e)return[{message:'#{{print("property")}}must be truthy'}]}))},92805:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CasingType=void 0,(i=t.CasingType||(t.CasingType={})).flat="flat",i.camel="camel",i.pascal="pascal",i.kebab="kebab",i.cobol="cobol",i.snake="snake",i.macro="macro"},60928:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.undefined},(function(e){if(void 0!==e)return[{message:'#{{print("property")}}must be undefined'}]}))},67884:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(46734),o=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:"object"},options:o.optionSchemas.unreferencedReusableObject},(function(e,t,{document:i,documentInventory:n}){var o;const a=n.graph;if(null===a)throw new Error("unreferencedReusableObject requires dependency graph");const c=null!==(o=i.source)&&void 0!==o?o:"",p=Object.keys(e).map((e=>`${c}${t.reusableObjectsLocation}/${e}`)),d=new Set(a.overallOrder().map((e=>(0,s.decodePointer)(e))));return p.filter((e=>!d.has(e))).map((e=>({message:"Potential orphaned reusable object has been detected",path:(0,r.safePointerToPath)(e)})))}))},6073:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:"object"},options:s.optionSchemas.xor},(function(e,{properties:t}){if(2!==t.length)return;const i=[];return 1!==Object.keys(e).filter((e=>-1!==t.indexOf(e))).length&&i.push({message:`${(0,r.printValue)(t[0])} and ${(0,r.printValue)(t[1])} must not be both defined or both undefined`}),i}))},93916:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(28664),s=i(62187),o=i(74411),a=["/properties"],c="http://json-schema.org/draft-04/schema";class p extends n.default{constructor(e={}){super({...e,schemaId:"id"})}_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(26328);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(26328);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}})},22594:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=["$schema","id","$defs",{keyword:"$comment"},"definitions",i(38727).default];t.default=n},28664:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(22594),r=i(42213),s=i(18976),o=i(97906),a=[n.default,r.default,s.default(),o.default,["title","description","default"]];t.default=a},42213:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85031),r=i(64463),s=i(88909),o=i(51421),a=i(29344),c=i(66632),p=i(15617),d=i(11557),f=i(14691),l=i(33041),u=i(59893),m=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,f.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},l.default,u.default];t.default=m},85031:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(26328),r=i(42559).operators,s={maximum:{exclusive:"exclusiveMaximum",ops:[{okStr:"<=",ok:r.LTE,fail:r.GT},{okStr:"<",ok:r.LT,fail:r.GTE}]},minimum:{exclusive:"exclusiveMinimum",ops:[{okStr:">=",ok:r.GTE,fail:r.LT},{okStr:">",ok:r.GT,fail:r.LTE}]}},o={message:e=>n.str`must be ${c(e).okStr} ${e.schemaCode}`,params:e=>n._`{comparison: ${c(e).okStr}, limit: ${e.schemaCode}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{data:t,schemaCode:i}=e;e.fail$data(n._`${t} ${c(e).fail} ${i} || isNaN(${t})`)}};function c(e){var t;const i=e.keyword,n=(null===(t=e.parentSchema)||void 0===t?void 0:t[s[i].exclusive])?1:0;return s[i].ops[n]}t.default=a},64463:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={exclusiveMaximum:"maximum",exclusiveMinimum:"minimum"},n={keyword:Object.keys(i),type:"number",schemaType:"boolean",code({keyword:e,parentSchema:t}){const n=i[e];if(void 0===t[n])throw new Error(`${e} can only be used with ${n}`)}};t.default=n},33907:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(25248),r=i(42559),s=i(57938),o=i(31988),a=i(21734),c=i(78489),p="errorMessage",d=new n.Name("emUsed"),f={required:"missingProperty",dependencies:"property",dependentRequired:"property"},l=/\$\{[^}]+\}/,u=/\$\{([^}]+)\}/g,m=/^""\s*\+\s*|\s*\+\s*""$/g;const h=(e,t={})=>{if(!e.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(e.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return e.addKeyword(function(e){return{keyword:p,schemaType:["string","object"],post:!0,code(t){const{gen:i,data:h,schema:y,schemaValue:g,it:b}=t;if(!1===b.createErrors)return;const v=y,$=r.strConcat(c.default.instancePath,b.errorPath);function j(e,t){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath === ${$}`,n._`${e}.keyword in ${t}`,n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`/^\\/[^\\/]*$/.test(${e}.schemaPath.slice(${b.errSchemaPath.length}))`)}function _(e,t){const n=[];for(const i in e){const e=t[i];l.test(e)&&n.push([i,x(e)])}return i.object(...n)}function w(e){return l.test(e)?new s._Code(s.safeStringify(e).replace(u,((e,t)=>`" + JSON.stringify(${o.getData(t,b)}) + "`)).replace(m,"")):n.stringify(e)}function x(e){return n._`function(){return ${w(e)}}`}i.if(n._`${c.default.errors} > 0`,(()=>{if("object"==typeof v){const[s,o]=function(e){let t,i;for(const n in e){if("properties"===n||"items"===n)continue;const r=e[n];if("object"==typeof r){t||(t={});const e=t[n]={};for(const t in r)e[t]=[]}else i||(i={}),i[n]=[]}return[t,i]}(v);o&&function(r){const s=i.const("emErrors",n.stringify(r)),o=i.const("templates",_(r,y));i.forOf("err",c.default.vErrors,(e=>i.if(j(e,s),(()=>i.code(n._`${s}[${e}.keyword].push(${e})`).assign(n._`${e}.${d}`,!0)))));const{singleError:p}=e;if(p){const e=i.let("message",n._`""`),r=i.let("paramsErrors",n._`[]`);f((t=>{i.if(e,(()=>i.code(n._`${e} += ${"string"==typeof p?p:";"}`))),i.code(n._`${e} += ${l(t)}`),i.assign(r,n._`${r}.concat(${s}[${t}])`)})),a.reportError(t,{message:e,params:n._`{errors: ${r}}`})}else f((e=>a.reportError(t,{message:l(e),params:n._`{errors: ${s}[${e}]}`})));function f(e){i.forIn("key",s,(t=>i.if(n._`${s}[${t}].length`,(()=>e(t)))))}function l(e){return n._`${e} in ${o} ? ${o}[${e}]() : ${g}[${e}]`}}(o),s&&function(e){const r=i.const("emErrors",n.stringify(e)),s=[];for(const t in e)s.push([t,_(e[t],y[t])]);const o=i.const("templates",i.object(...s)),p=i.scopeValue("obj",{ref:f,code:n.stringify(f)}),l=i.let("emPropParams"),u=i.let("emParamsErrors");i.forOf("err",c.default.vErrors,(e=>i.if(j(e,r),(()=>{i.assign(l,n._`${p}[${e}.keyword]`),i.assign(u,n._`${r}[${e}.keyword][${e}.params[${l}]]`),i.if(u,(()=>i.code(n._`${u}.push(${e})`).assign(n._`${e}.${d}`,!0)))})))),i.forIn("key",r,(e=>i.forIn("keyProp",n._`${r}[${e}]`,(s=>{i.assign(u,n._`${r}[${e}][${s}]`),i.if(n._`${u}.length`,(()=>{const r=i.const("tmpl",n._`${o}[${e}] && ${o}[${e}][${s}]`);a.reportError(t,{message:n._`${r} ? ${r}() : ${g}[${e}][${s}]`,params:n._`{errors: ${u}}`})}))}))))}(s),function(e){const{props:s,items:o}=e;if(!s&&!o)return;const f=n._`typeof ${h} == "object"`,l=n._`Array.isArray(${h})`,u=i.let("emErrors");let m,b;const v=i.let("templates");function j(e,t){i.assign(u,n.stringify(e)),i.assign(v,_(e,t))}s&&o?(m=i.let("emChildKwd"),i.if(f),i.if(l,(()=>{j(o,y.items),i.assign(m,n.str`items`)}),(()=>{j(s,y.properties),i.assign(m,n.str`properties`)})),b=n._`[${m}]`):o?(i.if(l),j(o,y.items),b=n._`.items`):s&&(i.if(r.and(f,r.not(l))),j(s,y.properties),b=n._`.properties`),i.forOf("err",c.default.vErrors,(e=>function(e,t,s){i.if(r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath.indexOf(${$}) === 0`),(()=>{const r=i.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:n._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),o=i.const("emMatches",n._`${r}.exec(${e}.instancePath.slice(${$}.length))`),a=i.const("emChild",n._`${o} && ${o}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);i.if(n._`${a} !== undefined && ${a} in ${t}`,(()=>s(a)))}))}(e,u,(t=>i.code(n._`${u}[${t}].push(${e})`).assign(n._`${e}.${d}`,!0))))),i.forIn("key",u,(e=>i.if(n._`${u}[${e}].length`,(()=>{a.reportError(t,{message:n._`${e} in ${v} ? ${v}[${e}]() : ${g}${b}[${e}]`,params:n._`{errors: ${u}[${e}]}`}),i.assign(n._`${c.default.vErrors}[${c.default.errors}-1].instancePath`,n._`${$} + "/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})))),i.endIf()}(function({properties:e,items:t}){const i={};if(e){i.props={};for(const t in e)i.props[t]=[]}if(t){i.items={};for(let e=0;ei.if(function(e){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,r.or(n._`${e}.instancePath === ${$}`,r.and(n._`${e}.instancePath.indexOf(${$}) === 0`,n._`${e}.instancePath[${$}.length] === "/"`)),n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`${e}.schemaPath[${b.errSchemaPath}.length] === "/"`)}(e),(()=>i.code(n._`${s}.push(${e})`).assign(n._`${e}.${d}`,!0))))),i.if(n._`${s}.length`,(()=>a.reportError(t,{message:w(e),params:n._`{errors: ${s}}`})))}(s),e.keepErrors||function(){const e=i.const("emErrs",n._`[]`);i.forOf("err",c.default.vErrors,(t=>i.if(n._`!${t}.${d}`,(()=>i.code(n._`${e}.push(${t})`))))),i.assign(c.default.vErrors,e).assign(c.default.errors,n._`${e}.length`)}()}))},metaSchema:{anyOf:[{type:"string"},{type:"object",properties:{properties:{$ref:"#/$defs/stringMap"},items:{$ref:"#/$defs/stringList"},required:{$ref:"#/$defs/stringOrMap"},dependencies:{$ref:"#/$defs/stringOrMap"}},additionalProperties:{type:"string"}}],$defs:{stringMap:{type:"object",additionalProperties:{type:"string"}},stringOrMap:{anyOf:[{type:"string"},{$ref:"#/$defs/stringMap"}]},stringList:{type:"array",items:{type:"string"}}}}}}(t))};t.default=h,e.exports=h,e.exports.default=h},26235:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(52830),s=i(85718),o=i(70907),a=i(36255),c=i(62187),p=i(20294),d="https://json-schema.org/draft/2019-09/schema";class f extends n.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(s.default),r.default.forEach((e=>this.addVocabulary(e))),this.addVocabulary(o.default),this.addVocabulary(a.default),this.opts.discriminator&&this.addKeyword(c.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;t&&(p.default.call(this,e),this.refs["http://json-schema.org/schema"]=d)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(d)?d:void 0)}}e.exports=t=f,Object.defineProperty(t,"__esModule",{value:!0}),t.default=f;var l=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var u=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var m=i(79860);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return m.default}});var h=i(5773);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return h.default}})},19179:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(76151),s=i(62187),o=i(62602),a="https://json-schema.org/draft/2020-12/schema";class c extends n.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;t&&(o.default.call(this,e),this.refs["http://json-schema.org/schema"]=a)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.exports=t=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var p=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return p.KeywordCxt}});var d=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return d._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return d.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return d.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return d.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return d.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return d.CodeGen}});var f=i(79860);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return f.default}});var l=i(5773);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return l.default}})},25248:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(52830),s=i(62187),o=i(59513),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(79860);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(5773);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},57938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(57938),r=i(31719);var s=i(57938);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(31719);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},31719:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(57938);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},21734:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(42559),r=i(55673),s=i(78489);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},30225:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(42559),r=i(79860),s=i(78489),o=i(88693),a=i(55673),c=i(31988);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},78489:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},5773:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(88693);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},88693:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(55673),r=i(38792),s=i(6364),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},23750:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},55673:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(42559),r=i(57938);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},55242:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},81437:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(21734),r=i(42559),s=i(78489),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},73586:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(23750),r=i(55242),s=i(21734),o=i(42559),a=i(55673);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null + || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null + || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},76984:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(42559),r=i(55673);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},31988:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(81437),r=i(73586),s=i(55242),o=i(73586),a=i(76984),c=i(47455),p=i(32341),d=i(42559),f=i(78489),l=i(88693),u=i(55673),m=i(21734);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},47455:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(42559),r=i(78489),s=i(78479),o=i(21734);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},32341:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(42559),r=i(55673);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},26328:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(79860),o=i(5773),a=i(23750),c=i(30225),p=i(42559),d=i(88693),f=i(73586),l=i(55673),u=i(96499),m=i(20446),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},20294:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99976),r=i(29574),s=i(85240),o=i(21604),a=i(90048),c=i(3785),p=i(84312),d=["/properties"];t.default=function(e){return[n,r,s,o,t(this,a),c,t(this,p)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,i){return e?t.$dataMetaSchema(i,d):i}}},62602:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(1900),r=i(94826),s=i(86133),o=i(98204),a=i(88896),c=i(97446),p=i(23501),d=i(9412),f=["/properties"];t.default=function(e){return[n,r,s,o,a,t(this,c),p,t(this,d)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,i){return e?t.$dataMetaSchema(i,f):i}}},40924:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},631:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},79860:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},94367:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(42559),r=i(55673),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},7162:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s=i(78489),o=i(55673),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},44270:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},83087:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(78479).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},45479:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},12143:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(42559),r=i(55673),s=i(78479);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, + missingProperty: ${r}, + depsCount: ${t}, + deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},80407:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(12143),r={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,n.validateSchemaDeps)(e)};t.default=r},53449:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},18976:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94367),r=i(47560),s=i(97964),o=i(50892),a=i(45479),c=i(12143),p=i(59775),d=i(7162),f=i(87299),l=i(62903),u=i(98269),m=i(83087),h=i(75349),y=i(44270),g=i(53449),b=i(82776);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},97964:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(42559),r=i(55673),s=i(78479),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},50892:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(78479),o=i(94367),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},98269:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},75349:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},62903:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s=i(55673),o=i(55673),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},47560:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(97964),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},87299:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(31988),r=i(78479),s=i(55673),o=i(7162),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},59775:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},82776:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},78479:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(42559),r=i(55673),s=i(78489),o=i(55673);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},30685:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},69158:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(30685),r=i(38727),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},38727:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(5773),r=i(78479),s=i(42559),o=i(78489),a=i(30225),c=i(55673),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},62187:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(9994),s=i(30225),o=i(55673),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},9994:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},76151:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(69158),r=i(93578),s=i(18976),o=i(85718),a=i(70907),c=i(36255),p=i(97906),d=i(32643),f=[o.default,n.default,r.default,(0,s.default)(!0),p.default,d.metadataVocabulary,d.contentVocabulary,a.default,c.default];t.default=f},52830:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(69158),r=i(93578),s=i(18976),o=i(97906),a=i(32643),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},92294:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dynamicAnchor=void 0;const n=i(42559),r=i(78489),s=i(30225),o=i(38727),a={keyword:"$dynamicAnchor",schemaType:"string",code:e=>c(e,e.schema)};function c(e,t){const{gen:i,it:a}=e;a.schemaEnv.root.dynamicAnchors[t]=!0;const c=n._`${r.default.dynamicAnchors}${(0,n.getProperty)(t)}`,p="#"===a.errSchemaPath?a.validateName:function(e){const{schemaEnv:t,schema:i,self:n}=e.it,{root:r,baseId:a,localRefs:c,meta:p}=t.root,{schemaId:d}=n.opts,f=new s.SchemaEnv({schema:i,schemaId:d,root:r,baseId:a,localRefs:c,meta:p});return s.compileSchema.call(n,f),(0,o.getValidate)(e,f)}(e);i.if(n._`!${c}`,(()=>i.assign(c,p)))}t.dynamicAnchor=c,t.default=a},2010:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dynamicRef=void 0;const n=i(42559),r=i(78489),s=i(38727),o={keyword:"$dynamicRef",schemaType:"string",code:e=>a(e,e.schema)};function a(e,t){const{gen:i,keyword:o,it:a}=e;if("#"!==t[0])throw new Error(`"${o}" only supports hash fragment reference`);const c=t.slice(1);if(a.allErrors)p();else{const t=i.let("valid",!1);p(t),e.ok(t)}function p(e){if(a.schemaEnv.root.dynamicAnchors[c]){const t=i.let("_v",n._`${r.default.dynamicAnchors}${(0,n.getProperty)(c)}`);i.if(t,d(t,e),d(a.validateName,e))}else d(a.validateName,e)()}function d(t,n){return n?()=>i.block((()=>{(0,s.callRef)(e,t),i.let(n,!0)})):()=>(0,s.callRef)(e,t)}}t.dynamicRef=a,t.default=o},85718:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(92294),r=i(2010),s=i(29983),o=i(85065),a=[n.default,r.default,s.default,o.default];t.default=a},29983:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(92294),r=i(55673),s={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,n.dynamicAnchor)(e,""):(0,r.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};t.default=s},85065:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2010),r={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,n.dynamicRef)(e,e.schema)};t.default=r},60963:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},97906:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(60963).default];t.default=n},32643:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},70907:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(1944),r=i(80407),s=i(81496),o=[n.default,r.default,s.default];t.default=o},36255:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(62066),r=i(97575),s=[n.default,r.default];t.default=s},97575:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e,a=o.items||0;if(!0===a)return;const c=t.const("len",n._`${s}.length`);if(!1===i)e.setParams({len:a}),e.fail(n._`${c} > ${a}`);else if("object"==typeof i&&!(0,r.alwaysValidSchema)(o,i)){const i=t.var("valid",n._`${c} <= ${a}`);t.if((0,n.not)(i),(()=>function(i,s){t.forRange("i",s,c,(s=>{e.subschema({keyword:"unevaluatedItems",dataProp:s,dataPropType:r.Type.Num},i),o.allErrors||t.if((0,n.not)(i),(()=>t.break()))}))}(i,a))),e.ok(i)}o.items=!0}};t.default=s},62066:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(78489),o={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:e})=>n._`{unevaluatedProperty: ${e.unevaluatedProperty}}`},code(e){const{gen:t,schema:i,data:o,errsCount:a,it:c}=e;if(!a)throw new Error("ajv implementation error");const{allErrors:p,props:d}=c;function f(s){if(!1===i)return e.setParams({unevaluatedProperty:s}),e.error(),void(p||t.break());if(!(0,r.alwaysValidSchema)(c,i)){const i=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:s,dataPropType:r.Type.Str},i),p||t.if((0,n.not)(i),(()=>t.break()))}}d instanceof n.Name?t.if(n._`${d} !== true`,(()=>t.forIn("key",o,(e=>t.if(function(e,t){return n._`!${e} || !${e}[${t}]`}(d,e),(()=>f(e))))))):!0!==d&&t.forIn("key",o,(e=>void 0===d?f(e):t.if(function(e,t){const i=[];for(const r in e)!0===e[r]&&i.push(n._`${t} !== ${r}`);return(0,n.and)(...i)}(d,e),(()=>f(e))))),c.props=!0,e.ok(n._`${a} === ${s.default.errors}`)}};t.default=o},33041:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(40924),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},1944:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(12143),r={keyword:"dependentRequired",type:"object",schemaType:"object",error:n.error,code:e=>(0,n.validatePropertyDeps)(e)};t.default=r},59893:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(40924),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},93578:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(12040),r=i(88909),s=i(51421),o=i(29344),a=i(66632),c=i(15617),p=i(11557),d=i(14691),f=i(33041),l=i(59893),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},81496:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:i}){void 0===t.contains&&(0,n.checkStrictMode)(i,`"${e}" without "contains" is ignored`)}};t.default=r},11557:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},51421:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(631),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},12040:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},66632:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},88909:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},29344:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},15617:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s=i(55673),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},14691:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(73586),r=i(42559),s=i(55673),o=i(40924),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},6364:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(50973),t),(0,n.__exportStar)(i(72708),t),(0,n.__exportStar)(i(51562),t)},50973:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Json=t.parseJson=void 0;const n=i(46734);t.parseJson=e=>(0,n.parseWithPointers)(e,{ignoreDuplicateKeys:!1,preserveKeyOrder:!0}),t.Json={parse:t.parseJson,getLocationForJsonPath:n.getLocationForJsonPath,trapAccess:n.trapAccess}},51562:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},72708:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Yaml=t.parseYaml=void 0;const n=i(3740);t.parseYaml=e=>(0,n.parseWithPointers)(e,{ignoreDuplicateKeys:!1,mergeKeys:!0,preserveKeyOrder:!0,attachComments:!1}),t.Yaml={parse:t.parseYaml,getLocationForJsonPath:function(e,t){return(0,n.getLocationForJsonPath)(e,t)},trapAccess:n.trapAccess}},88601:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createHttpAndFileResolver=t.ResolverDepGraph=t.Resolver=t.httpAndFileResolver=void 0;const n=i(85608),r=i(54668),s=i(16586);Object.defineProperty(t,"Resolver",{enumerable:!0,get:function(){return s.Resolver}});const o=i(95955),a=i(30524);function c(e){const t=(0,r.createResolveHttp)({...o.DEFAULT_REQUEST_OPTIONS,...e});return new s.Resolver({resolvers:{https:{resolve:t},http:{resolve:t},file:{resolve:r.resolveFile}}})}(0,n.__exportStar)(i(7944),t),t.httpAndFileResolver=c(),t.ResolverDepGraph=a.DepGraph,t.createHttpAndFileResolver=c},7944:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86663:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_REQUEST_OPTIONS=void 0;const n=(0,i(85608).__importDefault)(i(98203));t.DEFAULT_REQUEST_OPTIONS={},t.default=async(e,i={})=>(0,n.default)(e,{...i,...t.DEFAULT_REQUEST_OPTIONS})},95955:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_REQUEST_OPTIONS=t.fetch=void 0;const n=i(85608);(0,n.__exportStar)(i(14205),t);var r=i(86663);Object.defineProperty(t,"fetch",{enumerable:!0,get:function(){return(0,n.__importDefault)(r).default}}),Object.defineProperty(t,"DEFAULT_REQUEST_OPTIONS",{enumerable:!0,get:function(){return r.DEFAULT_REQUEST_OPTIONS}}),(0,n.__exportStar)(i(65744),t)},65744:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readParsable=t.readFile=void 0;const n=i(85608),r=i(98136),s=(0,n.__importDefault)(i(67083)),o=(0,n.__importStar)(i(18248)),a=i(45250),c=(0,n.__importDefault)(i(86663)),p=i(92918);async function d(e,t){if((0,r.isURL)(e)){let i,n=null;try{const r={};if(r.agent=t.agent,void 0!==t.timeout){const e=new s.default;n=setTimeout((()=>{e.abort()}),t.timeout),r.signal=e.signal}if(i=await(0,c.default)(e,r),!i.ok)throw new Error(i.statusText);return await i.text()}catch(e){throw(0,a.isError)(e)&&"AbortError"===e.name?new Error("Timeout"):e}finally{null!==n&&clearTimeout(n)}}else try{return await new Promise(((i,n)=>{o.readFile(e,t.encoding,((e,t)=>{null!==e?n(e):i(t)}))}))}catch(t){throw new Error(`Could not read ${e}: ${(0,p.printError)(t)}`)}}t.readFile=d,t.readParsable=async function(e,t){try{return await d(e,t)}catch(t){throw new Error(`Could not parse ${e}: ${(0,p.printError)(t)}`)}}},39090:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeSegmentFragment=void 0;const n=i(46734);t.decodeSegmentFragment=function(e){return"string"!=typeof e?String(e):(0,n.decodePointerFragment)(e)}},14205:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(39090),t),(0,n.__exportStar)(i(92918),t),(0,n.__exportStar)(i(73389),t),(0,n.__exportStar)(i(24569),t),(0,n.__exportStar)(i(6291),t)},92918:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printError=void 0;const n=i(45250);t.printError=function(e){return(0,n.isError)(e)?e.message:"unknown error"}},73389:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printPath=t.PrintStyle=void 0;const n=i(46734);var r;!function(e){e.Dot="dot",e.Pointer="pointer",e.EscapedPointer="escapedPointer"}(r=t.PrintStyle||(t.PrintStyle={}));const s=e=>"number"==typeof e?e:(0,n.decodePointerFragment)(e);t.printPath=(e,t)=>{switch(t){case r.Dot:return(0,n.decodePointerFragment)((e=>e.reduce(((e,t,i)=>{var n;return`${e}${null!==(n=(e=>{return"number"==typeof e?`[${e}]`:0===e.length?"['']":/\s/.test(e)?`['${e}']`:"number"!=typeof(t=e)&&Number.isNaN(Number(t))?null:`[${e}]`;var t})(t))&&void 0!==n?n:`${0===i?"":"."}${t}`}`}),""))(e));case r.Pointer:return 0===e.length?"#":`#/${(0,n.decodePointerFragment)(e.join("/"))}`;case r.EscapedPointer:return(0,n.pathToPointer)(e.map(s));default:return String(e)}}},24569:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printValue=void 0;const n=i(45250),r=i(46734);t.printValue=function(e){return void 0===e?"undefined":(0,n.isObject)(e)?Array.isArray(e)?"Array[]":e instanceof RegExp?String(e.source):!(0,r.isPlainObject)(e)&&"constructor"in e&&"string"==typeof e.constructor.name?e.constructor.name:"Object{}":JSON.stringify(e)}},6291:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getClosestJsonPath=t.safePointerToPath=t.getEndRef=t.traverseObjUntilRef=t.isAbsoluteRef=t.startsWithProtocol=void 0;const n=i(46734),r=i(98136),s=i(45250),o=/^[a-z]+:\/\//i;t.startsWithProtocol=e=>o.test(e),t.isAbsoluteRef=e=>(0,r.isAbsolute)(e)||(0,t.startsWithProtocol)(e),t.traverseObjUntilRef=(e,t)=>{let i=e;for(const e of t.slice()){if(!(0,s.isObject)(i))throw new TypeError("Segment is not a part of the object");if(!(e in i)){if((0,n.hasRef)(i))return i.$ref;throw new Error("Segment is not a part of the object")}i=i[e],t.shift()}return(0,n.isPlainObject)(i)&&(0,n.hasRef)(i)&&1===Object.keys(i).length?i.$ref:null},t.getEndRef=(e,t)=>{for(;t in e;)t=e[t];return t},t.safePointerToPath=e=>{const t=(0,n.extractPointerFromRef)(e);return null!==t?(0,n.pointerToPath)(t):[]},t.getClosestJsonPath=(e,t)=>{const i=[];if(!(0,s.isObject)(e))return i;let n=e;for(const e of t){if(!(0,s.isObject)(n)||!(e in n))break;i.push(e),n=n[e]}return i}},29228:(e,t)=>{"use strict";function i(e){return null==e}Object.defineProperty(t,"__esModule",{value:!0}),t.isNothing=i,t.isObject=function(e){return"object"==typeof e&&null!==e},t.toArray=function(e){return Array.isArray(e)?e:i(e)?[]:[e]},t.extend=function(e,t){var i,n,r,s;if(t)for(i=0,n=(s=Object.keys(t)).length;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(29228),r=i(94716),s=i(80406),o=i(23102),a=Object.prototype.toString,c=Object.prototype.hasOwnProperty,p=9,d=10,f=13,l=32,u=33,m=34,h=35,y=37,g=38,b=39,v=42,$=44,j=45,_=58,w=61,x=62,P=63,S=64,O=91,E=93,A=96,T=123,I=124,k=125,R={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},M=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function q(e){var t,i,s;if(t=e.toString(16).toUpperCase(),e<=255)i="x",s=2;else if(e<=65535)i="u",s=4;else{if(!(e<=4294967295))throw new r("code point within a string may not be greater than 0xFFFFFFFF");i="U",s=8}return"\\"+i+n.repeat("0",s-t.length)+t}function C(e){this.schema=e.schema||s,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=n.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var i,n,r,s,o,a,p;if(null===t)return{};for(i={},r=0,s=(n=Object.keys(t)).length;r-1&&i>=e.flowLevel;switch(function(e,t,i,n,r){var s,o,a,c,p=!1,f=!1,l=-1!==n,R=-1,M=U(c=e.charCodeAt(0))&&65279!==c&&!F(c)&&c!==j&&c!==P&&c!==_&&c!==$&&c!==O&&c!==E&&c!==T&&c!==k&&c!==h&&c!==g&&c!==v&&c!==u&&c!==I&&c!==w&&c!==x&&c!==b&&c!==m&&c!==y&&c!==S&&c!==A&&!F(e.charCodeAt(e.length-1));if(t)for(s=0;s0?e.charCodeAt(s-1):null,M=M&&V(o,a)}else{for(s=0;sn&&" "!==e[R+1],R=s);else if(!U(o))return H;a=s>0?e.charCodeAt(s-1):null,M=M&&V(o,a)}f=f||l&&s-R-1>n&&" "!==e[R+1]}return p||f?i>9&&L(e)?H:f?G:K:M&&!r(e)?z:B}(t,a,e.indent,o,(function(t){return function(e,t){var i,n;for(i=0,n=e.implicitTypes.length;i"+W(t,e.indent)+Q(N(function(e,t){for(var i,n,r,s=/(\n+)([^\n]*)/g,o=(r=-1!==(r=e.indexOf("\n"))?r:e.length,s.lastIndex=r,Z(e.slice(0,r),t)),a="\n"===e[0]||" "===e[0];n=s.exec(e);){var c=n[1],p=n[2];i=" "===p[0],o+=c+(a||i||""===p?"":"\n")+Z(p,t),a=i}return o}(t,o),s));case H:return'"'+function(e){for(var t,i,n,r="",s=0;s=55296&&t<=56319&&(i=e.charCodeAt(s+1))>=56320&&i<=57343?(r+=q(1024*(t-55296)+i-56320+65536),s++):r+=!(n=R[t])&&U(t)?e[s]:n||q(t);return r}(t)+'"';default:throw new r("impossible error: invalid scalar style")}}();if(!n){let t=new se(e,s).write(i,"before-eol");""!==t&&(o+=" "+t)}e.dump=o}function W(e,t){var i=L(e)?String(t):"",n="\n"===e[e.length-1];return i+(!n||"\n"!==e[e.length-2]&&"\n"!==e?n?"":"-":"+")+"\n"}function Q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Z(e,t){if(""===e||" "===e[0])return e;for(var i,n,r=/ [^ ]/g,s=0,o=0,a=0,c="";i=r.exec(e);)(a=i.index)-s>t&&(n=o>s?o:a,c+="\n"+e.slice(s,n),s=n+1),o=a;return c+="\n",e.length-s>t&&o>s?c+=e.slice(s,o)+"\n"+e.slice(o+1):c+=e.slice(s),c.slice(1)}function Y(e,t,i){var n,s,o,p,d,f;for(o=0,p=(s=i?e.explicitTypes:e.implicitTypes).length;o tag resolver accepts not "'+f+'" style');n=d.represent[f](t,f)}e.dump=n}return!0}return!1}function X(e,t,i,n,s,o,c){e.tag=null,e.dump=i,Y(e,i,!1)||Y(e,i,!0);var p=a.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t),(null!==e.tag&&"?"!==e.tag||2!==e.indent&&t>0)&&(s=!1);var f,l,u="[object Object]"===p||"[object Array]"===p;if(u&&(l=-1!==(f=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&t>0)&&(s=!1),l&&e.usedDuplicates[f])e.dump="*ref_"+f;else{if(u&&l&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),"[object Object]"===p)n&&0!==Object.keys(e.dump).length?(function(e,t,i,n,s){var o,a,c,p,f,l,u="",m=e.tag,h=Object.keys(i);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new r("sortKeys must be a boolean or a function");var y,g=new se(e,s);for(u+=g.write(t,"before-eol"),u+=g.write(t,"leading"),o=0,a=h.length;o1024)&&(e.dump&&d===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,f&&(l+=D(e,t)),X(e,t+1,p,!0,f,!1,`${s}/${y=c,y.replace(ne,"~0").replace(re,"~1")}`)&&(e.dump&&d===e.dump.charCodeAt(0)?l+=":":l+=": ",u+=l+=e.dump,u+=g.writeAt(t,c,"after")));e.tag=m,e.dump=u||"{}",e.dump+=g.write(t,"trailing")}(e,t,e.dump,s,c),l&&(e.dump="&ref_"+f+e.dump)):(function(e,t,i,n){var r,s,o,a,c,p="",d=e.tag,f=Object.keys(i);for(r=0,s=f.length;r1024&&(c+="? "),c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),X(e,t,a,!1,!1,!1,n)&&(p+=c+=e.dump));e.tag=d,e.dump="{"+p+"}"}(e,t,e.dump,c),l&&(e.dump="&ref_"+f+" "+e.dump));else if("[object Array]"===p){var m=e.noArrayIndent&&t>0?t-1:t;n&&0!==e.dump.length?(function(e,t,i,n,r){var s,o,a="",c=e.tag,p=new se(e,r);for(a+=p.write(t,"before-eol"),a+=p.write(t,"leading"),s=0,o=i.length;s "+e.dump)}return!0}function ee(e,t){var i,n,r=[],s=[];for(te(e,r,s),i=0,n=s.length;i{"use strict";class t{constructor(e,t=null,i=!1){this.name="YAMLException",this.reason=e,this.mark=t,this.message=this.toString(!1),this.isWarning=i}static isInstance(e){if(null!=e&&e.getClassIdentifier&&"function"==typeof e.getClassIdentifier)for(let i of e.getClassIdentifier())if(i==t.CLASS_IDENTIFIER)return!0;return!1}getClassIdentifier(){return[].concat(t.CLASS_IDENTIFIER)}toString(e=!1){var t;return t="JS-YAML: "+(this.reason||"(unknown reason)"),!e&&this.mark&&(t+=" "+this.mark.toString()),t}}t.CLASS_IDENTIFIER="yaml-ast-parser.YAMLException",e.exports=t},85725:(e,t,i)=>{"use strict";function n(e){for(var i in e)t.hasOwnProperty(i)||(t[i]=e[i])}Object.defineProperty(t,"__esModule",{value:!0});var r=i(89130);t.load=r.load,t.loadAll=r.loadAll,t.safeLoad=r.safeLoad,t.safeLoadAll=r.safeLoadAll;var s=i(17128);t.dump=s.dump,t.safeDump=s.safeDump,t.YAMLException=i(94716),n(i(37952)),n(i(58198))},89130:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(37952),r=i(29228),s=i(94716),o=i(57804),a=i(23102),c=i(80406);var p=Object.prototype.hasOwnProperty,d=1,f=2,l=3,u=4,m=1,h=2,y=3,g=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,b=/[\x85\u2028\u2029]/,v=/[,\[\]\{\}]/,$=/^(?:!|!!|![a-z\-]+!)$/i,j=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _(e){return 10===e||13===e}function w(e){return 9===e||32===e}function x(e){return 9===e||32===e||10===e||13===e}function P(e){return 44===e||91===e||93===e||123===e||125===e}function S(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function O(e){return 120===e?2:117===e?4:85===e?8:0}function E(e){return 48<=e&&e<=57?e-48:-1}function A(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var T,I=new Array(256),k=new Array(256),R=new Array(256),M=new Array(256),q=0;q<256;q++)M[q]=k[q]=48===(T=q)?"\0":97===T?"":98===T?"\b":116===T||9===T?"\t":110===T?"\n":118===T?"\v":102===T?"\f":114===T?"\r":101===T?"":32===T?" ":34===T?'"':47===T?"/":92===T?"\\":78===T?"…":95===T?" ":76===T?"\u2028":80===T?"\u2029":"",I[q]=k[q]?1:0,R[q]=1,I[q]||(M[q]="\\"+String.fromCharCode(q));class C{constructor(e,t){this.errorMap={},this.errors=[],this.lines=[],this.input=e,this.filename=t.filename||null,this.schema=t.schema||c,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.allowAnyEscape=t.allowAnyEscape||!1,this.ignoreDuplicateKeys=t.ignoreDuplicateKeys||!1,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}}function N(e,t,i=!1){return new s(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart),i)}function D(e,t,i,n=!1,r=!1){var a=function(e,t){for(var i,n=0;nt);n++)i=e.lines[n];return i||{start:0,line:0}}(e,t);if(a){var c=i+t;if(!e.errorMap[c]){var p=new o(e.filename,e.input,t,a.line,t-a.start);r&&(p.toLineEnd=!0);var d=new s(i,p,n);e.errors.push(d)}}}function F(e,t){var i=N(e,t),n=i.message+i.mark.position;if(!e.errorMap[n]){e.errors.push(i),e.errorMap[n]=1;for(var r=e.position;;){if(e.position>=e.input.length-1)return;var s=e.input.charAt(e.position);if("\n"==s)return e.position--,void(e.position==r&&(e.position+=1));if("\r"==s)return e.position--,void(e.position==r&&(e.position+=1));e.position++}}}function U(e,t){var i=N(e,t);e.onWarning&&e.onWarning.call(null,i)}var V={YAML:function(e,t,i){var n,r,s;null!==e.version&&F(e,"duplication of %YAML directive"),1!==i.length&&F(e,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&F(e,"ill-formed argument of the YAML directive"),r=parseInt(n[1],10),s=parseInt(n[2],10),1!==r&&F(e,"found incompatible YAML document (version 1.2 is required)"),e.version=i[0],e.checkLineBreaks=s<2,2!==s&&F(e,"found incompatible YAML document (version 1.2 is required)")},TAG:function(e,t,i){var n,r;2!==i.length&&F(e,"TAG directive accepts exactly two arguments"),n=i[0],r=i[1],$.test(n)||F(e,"ill-formed tag handle (first argument) of the TAG directive"),p.call(e.tagMap,n)&&F(e,'there is a previously declared suffix for "'+n+'" tag handle'),j.test(r)||F(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=r}};function L(e,t,i,n){var r,s,o,a,c=e.result;if(-1==c.startPosition&&(c.startPosition=t),t<=i){if(a=e.input.slice(t,i),n)for(r=0,s=a.length;r{t.key&&t.key.value===(o.key&&o.key.value)&&(D(e,o.key.startPosition,"duplicate key"),D(e,t.key.startPosition,"duplicate key"))})),t.mappings.push(o),t.endPosition=s?s.endPosition:r.endPosition+1,t}}function B(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):F(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.lines.push({start:e.lineStart,line:e.line})}function K(e){var t=0,i=e.position;do{t=e.input.charCodeAt(++e.position)}while(0!==t&&!_(t));e.comments.push({startPosition:i,endPosition:e.position,value:e.input.slice(i+1,e.position)})}function G(e,t,i){for(var n=0,r=e.input.charCodeAt(e.position);0!==r;){for(;w(r);)9===r&&e.errors.push(N(e,"Using tabs can lead to unpredictable results",!0)),r=e.input.charCodeAt(++e.position);if(t&&35===r&&(K(e),r=e.input.charCodeAt(e.position)),!_(r))break;for(B(e),r=e.input.charCodeAt(e.position),n++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==i&&0!==n&&e.lineIndent1&&(t.value+=r.repeat("\n",i-1))}function W(e,t){var i,r,s=e.tag,o=e.anchor,a=n.newItems(),c=!1;for(null!==e.anchor&&(a.anchorId=e.anchor,e.anchorMap[e.anchor]=a),a.startPosition=e.position,r=e.input.charCodeAt(e.position);0!==r&&45===r&&x(e.input.charCodeAt(e.position+1));)if(c=!0,e.position++,G(e,!0,-1)&&e.lineIndent<=t)a.items.push(null),r=e.input.charCodeAt(e.position);else if(i=e.line,Y(e,t,l,!1,!0),e.result&&(e.result.parent=a,a.items.push(e.result)),G(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==r)F(e,"bad indentation of a sequence entry");else if(e.lineIndentt?q=1:e.lineIndent===t?q=0:e.lineIndentt?q=1:e.lineIndent===t?q=0:e.lineIndent0;)if(_(a=e.input.charCodeAt(--e.position))){e.position++;break}}}else 63===a?(h&&(z(e,d,0,l,null),l=m=null),y=!0,h=!0,s=!0):h?(h=!1,s=!0):F(e,"incomplete explicit mapping pair; a key node is missed"),e.position+=1,a=r;if((e.line===o||e.lineIndent>t)&&(Y(e,t,u,!0,s)&&(h?l=e.result:m=e.result),h||(z(e,d,0,l,m),l=m=null),G(e,!0,-1),a=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==a)F(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?F(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?F(e,"repeat of an indentation width identifier"):(d=t+o-1,p=!0)}if(w(a)){do{a=e.input.charCodeAt(++e.position)}while(w(a));35===a&&(K(e),a=e.input.charCodeAt(e.position))}for(;0!==a;){for(B(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!p||e.lineIndentd&&(d=e.lineIndent),_(a))f++;else{if(e.lineIndent0){for(s=a,o=0;s>0;s--)(a=S(c=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:F(e,"expected hexadecimal character");p.value+=A(o),e.position++}else F(e,"unknown escape sequence");i=r=e.position}else _(c)?(L(e,i,r,!0),J(0,p,G(e,!1,t)),i=r=e.position):e.position===e.lineStart&&H(e)?F(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}F(e,"unexpected end of the stream within a double quoted scalar")}(e,j)?N=!0:function(e){var t,i,r;if(e.length,e.input,42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!x(r)&&!P(r);)r=e.input.charCodeAt(++e.position);return e.position<=t&&(F(e,"name of an alias node must contain at least one character"),e.position=t+1),i=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(i)||(F(e,'unidentified alias "'+i+'"'),e.position<=t&&(e.position=t+1)),e.result=n.newAnchorRef(i,t,e.position,e.anchorMap[i]),G(e,!0,-1),!0}(e)?(N=!0,null===e.tag&&null===e.anchor||F(e,"alias node should not have any properties")):function(e,t,i){var r,s,o,a,c,p,d,f,l=e.kind,u=e.result,m=n.newScalar();if(m.plainScalar=!0,e.result=m,x(f=e.input.charCodeAt(e.position))||P(f)||35===f||38===f||42===f||33===f||124===f||62===f||39===f||34===f||37===f||64===f||96===f)return!1;if((63===f||45===f)&&(x(r=e.input.charCodeAt(e.position+1))||i&&P(r)))return!1;for(e.kind="scalar",s=o=e.position,a=!1;0!==f;){if(58===f){if(x(r=e.input.charCodeAt(e.position+1))||i&&P(r))break}else if(35===f){if(x(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&H(e)||i&&P(f))break;if(_(f)){if(c=e.line,p=e.lineStart,d=e.lineIndent,G(e,!1,-1),e.lineIndent>=t){a=!0,f=e.input.charCodeAt(e.position);continue}e.position=o,e.line=c,e.lineStart=p,e.lineIndent=d;break}}if(a&&(L(e,s,o,!1),J(0,m,e.line-c),s=o=e.position,a=!1),w(f)||(o=e.position+1),f=e.input.charCodeAt(++e.position),e.position>=e.input.length)return!1}return L(e,s,o,!1),-1!=e.result.startPosition?(m.rawValue=e.input.substring(m.startPosition,m.endPosition),!0):(e.kind=l,e.result=u,!1)}(e,j,d===i)&&(N=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result,e.result.anchorId=e.anchor)):0===q&&(N=g&&W(e,T))),null!==e.tag&&"!"!==e.tag)if("!include"==e.tag)e.result||(e.result=n.newScalar(),e.result.startPosition=e.position,e.result.endPosition=e.position,F(e,"!include without value")),e.result.kind=n.Kind.INCLUDE_REF;else if("?"===e.tag)for(b=0,v=e.implicitTypes.length;b tag; it should be "'+$.kind+'", not "'+e.kind+'"'),$.resolve(e.result)?(e.result=$.construct(e.result),null!==e.anchor&&(e.result.anchorId=e.anchor,e.anchorMap[e.anchor]=e.result)):F(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):D(e,U,"unknown tag <"+e.tag+">",!1,!0);return null!==e.tag||null!==e.anchor||N}function X(e){var t,i,n,r,s=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={},e.comments=[];0!==(r=e.input.charCodeAt(e.position))&&(G(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(o=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!x(r);)r=e.input.charCodeAt(++e.position);for(n=[],(i=e.input.slice(t,e.position)).length<1&&F(e,"directive name must not be less than one character in length");0!==r;){for(;w(r);)r=e.input.charCodeAt(++e.position);if(35===r){K(e),r=e.input.charCodeAt(e.position);break}if(_(r))break;for(t=e.position;0!==r&&!x(r);)r=e.input.charCodeAt(++e.position);n.push(e.input.slice(t,e.position))}0!==r&&B(e),p.call(V,i)?V[i](e,i,n):(U(e,'unknown document directive "'+i+'"'),e.position++)}G(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,G(e,!0,-1)):o&&F(e,"directives end mark is expected"),Y(e,e.lineIndent-1,u,!1,!0),G(e,!0,-1),e.checkLineBreaks&&b.test(e.input.slice(s,e.position))&&U(e,"non-ASCII line breaks are interpreted as content"),e.result.comments=e.comments,e.documents.push(e.result),e.position===e.lineStart&&H(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,G(e,!0,-1)):e.position0&&(s[o-1].endPosition=i);for(let e of s)e.errors=n.errors,e.startPosition>e.endPosition&&(e.startPosition=e.endPosition);return s}function te(e,t,i={}){var n,r,s=ee(e,i);for(n=0,r=s.length;n{"use strict";const n=i(29228);e.exports=class{constructor(e,t,i,n,r){this.name=e,this.buffer=t,this.position=i,this.line=n,this.column=r}getSnippet(e=0,t=75){var i,r,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",r=this.position;r>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){i=" ... ",r+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(r,o),n.repeat(" ",e)+i+a+s+"\n"+n.repeat(" ",e+this.position-r+i.length)+"^"}toString(e=!0){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(i+=":\n"+t),i}}},58198:(e,t)=>{"use strict";function i(e){const t=function(e){return 0===e.lastIndexOf("0o",0)?parseInt(e.substring(2),8):parseInt(e)}(e);if(Number.isNaN(t))throw`Invalid integer "${e}"`;return t}var n;Object.defineProperty(t,"__esModule",{value:!0}),t.parseYamlBoolean=function(e){if(["true","True","TRUE"].lastIndexOf(e)>=0)return!0;if(["false","False","FALSE"].lastIndexOf(e)>=0)return!1;throw`Invalid boolean "${e}"`},t.parseYamlInteger=i,t.parseYamlBigInteger=function(e){const t=i(e);return t>Number.MAX_SAFE_INTEGER&&-1===e.lastIndexOf("0o",0)?BigInt(e):t},t.parseYamlFloat=function(e){if([".nan",".NaN",".NAN"].lastIndexOf(e)>=0)return NaN;const t=/^([-+])?(?:\.inf|\.Inf|\.INF)$/.exec(e);if(t)return"-"===t[1]?-1/0:1/0;const i=parseFloat(e);if(!isNaN(i))return i;throw`Invalid float "${e}"`},function(e){e[e.null=0]="null",e[e.bool=1]="bool",e[e.int=2]="int",e[e.float=3]="float",e[e.string=4]="string"}(n=t.ScalarType||(t.ScalarType={})),t.determineScalarType=function(e){if(void 0===e)return n.null;if(e.doubleQuoted||!e.plainScalar||e.singleQuoted)return n.string;const t=e.value;return["null","Null","NULL","~",""].indexOf(t)>=0||null==t?n.null:["true","True","TRUE","false","False","FALSE"].indexOf(t)>=0?n.bool:/^[-+]?[0-9]+$/.test(t)||/^0o[0-7]+$/.test(t)||/^0x[0-9a-fA-F]+$/.test(t)?n.int:/^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$/.test(t)||/^[-+]?(\.inf|\.Inf|\.INF)$/.test(t)||[".nan",".NaN",".NAN"].indexOf(t)>=0?n.float:n.string}},63114:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29228),r=i(94716),s=i(23697);function o(e,t,i){var n=[];return e.include.forEach((function(e){i=o(e,t,i)})),e[t].forEach((function(e){i.forEach((function(t,i){t.tag===e.tag&&n.push(i)})),i.push(e)})),i.filter((function(e,t){return-1===n.indexOf(t)}))}class a{constructor(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=o(this,"implicit",[]),this.compiledExplicit=o(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,i={};function n(e){i[e.tag]=e}for(e=0,t=arguments.length;e{"use strict";const n=i(63114);e.exports=new n.Schema({include:[i(24875)]})},80406:(e,t,i)=>{"use strict";const n=i(63114);var r=new n.Schema({include:[i(23102)],explicit:[i(64520),i(20903)]});n.Schema.DEFAULT=r,e.exports=r},23102:(e,t,i)=>{"use strict";var n=new(i(63114).Schema)({include:[i(17646)],implicit:[i(25138),i(67514)],explicit:[i(27529),i(6805),i(95967),i(33530)]});e.exports=n},84452:(e,t,i)=>{"use strict";const n=i(63114);e.exports=new n.Schema({explicit:[i(41381),i(62021),i(35744)]})},24875:(e,t,i)=>{"use strict";const n=i(63114);e.exports=new n.Schema({include:[i(84452)],implicit:[i(99049),i(86628),i(84627),i(77620)]})},23697:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94716);var r=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];t.Type=class{constructor(e,t){var i,o;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===r.indexOf(t))throw new n('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(i=t.styleAliases||null,o={},null!==i&&Object.keys(i).forEach((function(e){i[e].forEach((function(t){o[String(t)]=e}))})),o),-1===s.indexOf(this.kind))throw new n('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}},27529:(e,t,i)=>{"use strict";var n=i(1048).hp;const r=i(23697);var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new r.Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,i,n=0,r=e.length,o=s;for(i=0;i64)){if(t<0)return!1;n+=6}return n%8==0},construct:function(e){var t,i,r=e.replace(/[\r\n=]/g,""),o=r.length,a=s,c=0,p=[];for(t=0;t>16&255),p.push(c>>8&255),p.push(255&c)),c=c<<6|a.indexOf(r.charAt(t));return 0==(i=o%4*6)?(p.push(c>>16&255),p.push(c>>8&255),p.push(255&c)):18===i?(p.push(c>>10&255),p.push(c>>2&255)):12===i&&p.push(c>>4&255),n?new n(p):p},predicate:function(e){return n&&n.isBuffer(e)},represent:function(e){var t,i,n="",r=0,o=e.length,a=s;for(t=0;t>18&63],n+=a[r>>12&63],n+=a[r>>6&63],n+=a[63&r]),r=(r<<8)+e[t];return 0==(i=o%3)?(n+=a[r>>18&63],n+=a[r>>12&63],n+=a[r>>6&63],n+=a[63&r]):2===i?(n+=a[r>>10&63],n+=a[r>>4&63],n+=a[r<<2&63],n+=a[64]):1===i&&(n+=a[r>>2&63],n+=a[r<<4&63],n+=a[64],n+=a[64]),n}})},86628:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},77620:(e,t,i)=>{"use strict";const n=i(29228),r=i(23697);var s=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");e.exports=new r.Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!!s.test(e)},construct:function(e){var t,i,n,r;return i="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],0<="+-".indexOf(t[0])&&(t=t.slice(1)),".inf"===t?1===i?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:0<=t.indexOf(":")?(t.split(":").forEach((function(e){r.unshift(parseFloat(e,10))})),t=0,n=1,r.forEach((function(e){t+=e*n,n*=60})),i*t):i*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(0!=e%1||n.isNegativeZero(e))},represent:function(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(n.isNegativeZero(e))return"-0.0";return e.toString(10)},defaultStyle:"lowercase"})},84627:(e,t,i)=>{"use strict";const n=i(29228),r=i(23697);function s(e){return 48<=e&&e<=55}function o(e){return 48<=e&&e<=57}e.exports=new r.Type("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,i,n=e.length,r=0,a=!1;if(!n)return!1;if("-"!==(t=e[r])&&"+"!==t||(t=e[++r]),"0"===t){if(r+1===n)return!0;if("b"===(t=e[++r])){for(r++;r{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,i=/\/([gim]*)$/.exec(e),n="";if("/"===t[0]){if(i&&(n=i[1]),n.length>3)return!1;if("/"!==t[t.length-n.length-1])return!1;t=t.slice(1,t.length-n.length-1)}try{return new RegExp(t,n),!0}catch(e){return!1}},construct:function(e){var t=e,i=/\/([gim]*)$/.exec(e),n="";return"/"===t[0]&&(i&&(n=i[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},64520:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},35744:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},67514:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},99049:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},6805:(e,t,i)=>{"use strict";const n=i(23697);var r=Object.prototype.hasOwnProperty,s=Object.prototype.toString;e.exports=new n.Type("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,i,n,o,a,c=[],p=e;for(t=0,i=p.length;t{"use strict";const n=i(23697),r=i(37952);var s=Object.prototype.toString;e.exports=new n.Type("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;if(e.kind!=r.Kind.SEQ)return!1;var t,i,n,o=e.items;for(t=0,i=o.length;t{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},33530:(e,t,i)=>{"use strict";const n=i(23697),r=i(37952);Object.prototype.hasOwnProperty,e.exports=new n.Type("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){return null===e||e.kind==r.Kind.MAP},construct:function(e){return null!==e?e:{}}})},41381:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},25138:(e,t,i)=>{"use strict";const n=i(23697);var r=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]))?))?)?$");e.exports=new n.Type("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&null!==r.exec(e)},construct:function(e){var t,i,n,s,o,a,c,p,d=0,f=null;if(null===(t=r.exec(e)))throw new Error("Date resolve error");if(i=+t[1],n=+t[2]-1,s=+t[3],!t[4])return new Date(Date.UTC(i,n,s));if(o=+t[4],a=+t[5],c=+t[6],t[7]){for(d=t[7].slice(0,3);d.length<3;)d+="0";d=+d}return t[9]&&(f=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(f=-f)),p=new Date(Date.UTC(i,n,s,o,a,c,d)),f&&p.setTime(p.getTime()-f),p},instanceOf:Date,represent:function(e){return e.toISOString()}})},37952:(e,t)=>{"use strict";var i;function n(){return{errors:[],startPosition:-1,endPosition:-1,items:[],kind:i.SEQ,parent:null}}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SCALAR=0]="SCALAR",e[e.MAPPING=1]="MAPPING",e[e.MAP=2]="MAP",e[e.SEQ=3]="SEQ",e[e.ANCHOR_REF=4]="ANCHOR_REF",e[e.INCLUDE_REF=5]="INCLUDE_REF"}(i=t.Kind||(t.Kind={})),t.newMapping=function(e,t){var n=t?t.endPosition:e.endPosition+1;return{key:e,value:t,startPosition:e.startPosition,endPosition:n,kind:i.MAPPING,parent:null,errors:[]}},t.newAnchorRef=function(e,t,n,r){return{errors:[],referencesAnchor:e,value:r,startPosition:t,endPosition:n,kind:i.ANCHOR_REF,parent:null}},t.newScalar=function(e=""){const t={errors:[],startPosition:-1,endPosition:-1,value:""+e,kind:i.SCALAR,parent:null,doubleQuoted:!1,rawValue:""+e};return"string"!=typeof e&&(t.valueObject=e),t},t.newItems=n,t.newSeq=function(){return n()},t.newMap=function(e){return{errors:[],startPosition:-1,endPosition:-1,mappings:e||[],kind:i.MAP,parent:null}}},2185:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(82585),r=i(88725);t.buildJsonPath=function(e){const t=[];let i=e;for(;e;){switch(e.kind){case n.Kind.SCALAR:t.unshift(e.value);break;case n.Kind.MAPPING:i!==e.key&&(t.length>0&&r.isObject(e.value)&&e.value.value===t[0]?t[0]=e.key.value:t.unshift(e.key.value));break;case n.Kind.SEQ:if(i){const r=e.items.indexOf(i);i.kind===n.Kind.SCALAR?t[0]=r:-1!==r&&t.unshift(r)}}i=e,e=e.parent}return t}},79157:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(82585),r=i(88725);t.dereferenceAnchor=(e,i)=>{if(!r.isObject(e))return e;if(e.kind===n.Kind.ANCHOR_REF&&e.referencesAnchor===i)return null;switch(e.kind){case n.Kind.MAP:return Object.assign({},e,{mappings:e.mappings.map((e=>t.dereferenceAnchor(e,i)))});case n.Kind.SEQ:return Object.assign({},e,{items:e.items.map((e=>t.dereferenceAnchor(e,i)))});case n.Kind.MAPPING:return Object.assign({},e,{value:t.dereferenceAnchor(e.value,i)});case n.Kind.SCALAR:return e;case n.Kind.ANCHOR_REF:return r.isObject(e.value)&&s(e)?null:e;default:return e}};const s=e=>{const{referencesAnchor:t}=e;let i=e;for(;i=i.parent;)if("anchorId"in i&&i.anchorId===t)return!0;return!1}},77665:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2185),r=i(82585),s=i(88725);function o(e,t,i){const n=i[t-1]+1,s=i[t];switch(e.kind){case r.Kind.MAPPING:return e.key;case r.Kind.MAP:if(0!==e.mappings.length)for(const r of e.mappings)if(r.startPosition>n&&r.startPosition<=s)return o(r,t,i);break;case r.Kind.SEQ:if(0!==e.items.length)for(const r of e.items)if(null!==r&&r.startPosition>n&&r.startPosition<=s)return o(r,t,i)}return e}function a(e,t,i,n){for(const o of function*(e){switch(e.kind){case r.Kind.MAP:if(0!==e.mappings.length)for(const t of e.mappings)s.isObject(t)&&(yield t);break;case r.Kind.MAPPING:s.isObject(e.key)&&(yield e.key),s.isObject(e.value)&&(yield e.value);break;case r.Kind.SEQ:if(0!==e.items.length)for(const t of e.items)s.isObject(t)&&(yield t);break;case r.Kind.SCALAR:yield e}}(e))if(o.startPosition<=t&&t<=o.endPosition)return o.kind===r.Kind.SCALAR?o:a(o,t,i,n);if(n[i-1]===n[i]-1)return e;if(e.startPosition{if(i>=t.length||r>=t[i])return;const o=0===i?0:t[i-1]+1,c=a(e,Math.min(t[i]-1,o+r),i,t);if(!s.isObject(c))return;const p=n.buildJsonPath(c);return 0!==p.length?p:void 0}},70581:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(61162),r=i(82585),s=i(88725);function o(e,t){if(e.parent&&e.parent.kind===r.Kind.MAPPING){if(null===e.parent.value)return e.parent.endPosition;if(e.kind!==r.Kind.SCALAR)return e.parent.key.endPosition+1}return null===e.parent&&t-e.startPosition==0?0:e.startPosition}function a(e){switch(e.kind){case r.Kind.SEQ:const{items:t}=e;if(0!==t.length){const e=t[t.length-1];if(null!==e)return a(e)}break;case r.Kind.MAPPING:if(null!==e.value)return a(e.value);break;case r.Kind.MAP:if(null!==e.value&&0!==e.mappings.length)return a(e.mappings[e.mappings.length-1]);break;case r.Kind.SCALAR:if(null!==e.parent&&e.parent.kind===r.Kind.MAPPING&&null===e.parent.value)return e.parent.endPosition}return e.endPosition}function c(e,t){return t?e.reduce(((e,t)=>(s.isObject(t)&&("<<"===t.key.value?e.push(...p(t.value)):e.push(t)),e)),[]):e}function p(e){if(!s.isObject(e))return[];switch(e.kind){case r.Kind.SEQ:return e.items.reduceRight(((e,t)=>(e.push(...p(t)),e)),[]);case r.Kind.MAP:return e.mappings;case r.Kind.ANCHOR_REF:return p(e.value);default:return[]}}t.getLocationForJsonPath=({ast:e,lineMap:t,metadata:i},n,p=!1)=>{const f=function(e,t,{closest:i,mergeKeys:n}){e:for(const o of t){if(!s.isObject(e))return i?e:void 0;switch(e.kind){case r.Kind.MAP:const t=c(e.mappings,n);for(let i=t.length-1;i>=0;i--){const n=t[i];if(n.key.value===o){e=null===n.value?n.key:n.value;continue e}}return i?e:void 0;case r.Kind.SEQ:for(let t=0;t0?t[0]:0),end:a(f)})};const d=(e,{start:t=0,end:i=0})=>{const r=n.lineForPosition(t,e),s=n.lineForPosition(i,e);return{range:{start:{line:r,character:t-(0===r?0:e[r-1])},end:{line:s,character:i-(0===s?0:e[s-1])}}}}},3740:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);n.__exportStar(i(2185),t),n.__exportStar(i(79157),t),n.__exportStar(i(77665),t),n.__exportStar(i(70581),t),n.__exportStar(i(61162),t);var r=i(36527);t.parse=r.parse;var s=i(53241);t.parseWithPointers=s.parseWithPointers,n.__exportStar(i(74958),t),n.__exportStar(i(82585),t),n.__exportStar(i(60519),t)},61162:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lineForPosition=(e,i,n=0,r)=>{if(0===e||0===i.length||e=i[s]&&!i[s+1])return s+1;const o=i[Math.min(s+1,i.length)];return e===i[s]-1?s:e>=i[s]&&e<=o?e===o?s+2:s+1:e>i[s]?t.lineForPosition(e,i,s+1,r):t.lineForPosition(e,i,n,s-1)}},36527:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(53241);t.parse=e=>n.parseWithPointers(e).data},53241:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(93643),r=i(29824),s=i(85725),o=i(2185),a=i(79157),c=i(61162),p=i(82585),d=i(88725);t.parseWithPointers=(e,t)=>{const i=h(e),n=s.load(e,Object.assign({},t,{ignoreDuplicateKeys:!0})),r={ast:n,lineMap:i,data:void 0,diagnostics:[],metadata:t,comments:{}};if(!n)return r;const o=function(e){return void 0===e?{attachComments:!1,preserveKeyOrder:!1,bigInt:!1,mergeKeys:!1,json:!0,ignoreDuplicateKeys:!1}:Object.assign({},e,{attachComments:!0===e.attachComments,preserveKeyOrder:!0===e.preserveKeyOrder,bigInt:!0===e.bigInt,mergeKeys:!0===e.mergeKeys,json:!1!==e.json,ignoreDuplicateKeys:!1!==e.ignoreDuplicateKeys})}(t),a=new S(r.comments,S.mapComments(o.attachComments&&n.comments?n.comments:[],i),n,i,"#"),c={lineMap:i,diagnostics:r.diagnostics};return r.data=u(c,n,a,o),n.errors&&r.diagnostics.push(...g(n.errors,i)),r.diagnostics.length>0&&r.diagnostics.sort(((e,t)=>e.range.start.line-t.range.start.line)),Array.isArray(r.ast.errors)&&(r.ast.errors.length=0),r};const f=/~/g,l=/\//g,u=(e,t,i,n)=>{if(t)switch(t.kind){case p.Kind.MAP:{const r=i.enter(t),{lineMap:s,diagnostics:o}=e,{preserveKeyOrder:a,ignoreDuplicateKeys:c,json:p,mergeKeys:d}=n,h=v(a),y=[],g=d,$=!p,w=!c;for(const i of t.mappings){if(!_(i,s,o,$))continue;const t=String(m(i.key)),c=r.enter(i,t.replace(f,"~0").replace(l,"~1"));if(($||w)&&(!g||"<<"!==t))if(y.includes(t)){if($)throw new Error("Duplicate YAML mapping key encountered");w&&o.push(x(i.key,s,"duplicate key"))}else y.push(t);if(g&&"<<"===t){const t=b(u(e,i.value,c,n),a);Object.assign(h,t)}else h[t]=u(e,i.value,c,n),a&&j(h,t);c.attachComments()}return r.attachComments(),h}case p.Kind.SEQ:{const r=i.enter(t),s=t.items.map(((t,i)=>{if(null!==t){const s=r.enter(t,i),o=u(e,t,s,n);return s.attachComments(),o}return null}));return r.attachComments(),s}case p.Kind.SCALAR:{const e=m(t);return n.bigInt||"bigint"!=typeof e?e:Number(e)}case p.Kind.ANCHOR_REF:return d.isObject(t.value)&&(t.value=a.dereferenceAnchor(t.value,t.referencesAnchor)),u(e,t.value,i,n);default:return null}return t};function m(e){switch(s.determineScalarType(e)){case p.ScalarType.null:return null;case p.ScalarType.string:return String(e.value);case p.ScalarType.bool:return s.parseYamlBoolean(e.value);case p.ScalarType.int:return s.parseYamlBigInteger(e.value);case p.ScalarType.float:return s.parseYamlFloat(e.value)}}const h=e=>{const t=[];let i=0;for(;i{const i=[];let n=-1,s=0;for(const o of e){const e={code:o.name,message:o.reason,severity:o.isWarning?r.DiagnosticSeverity.Warning:r.DiagnosticSeverity.Error,range:{start:{line:o.mark.line,character:o.mark.column},end:{line:o.mark.line,character:o.mark.toLineEnd?y(t,o.mark.line):o.mark.column}}};"missed comma between flow collection entries"===o.reason?n=-1===n?s:n:-1!==n&&(i[n].range.end=e.range.end,i[n].message="invalid mixed usage of block and flow styles",i.length=n+1,s=i.length,n=-1),i.push(e),s++}return i},b=(e,t)=>Array.isArray(e)?e.reduceRight(t?(e,t)=>{const i=Object.keys(t);Object.assign(e,t);for(let t=i.length-1;t>=0;t--)r=e,s=i[t],$(r,s),n.getOrder(r).unshift(s);var r,s;return e}:(e,t)=>Object.assign(e,t),v(t)):"object"!=typeof e||null===e?null:Object(e);function v(e){return e?n.default({}):{}}function $(e,t){if(!(t in e))return;const i=n.getOrder(e),r=i.indexOf(t);-1!==r&&i.splice(r,1)}function j(e,t){$(e,t),n.getOrder(e).push(t)}function _(e,t,i,n){if(e.key.kind!==p.Kind.SCALAR)return n||i.push(w(e.key,t,"mapping key must be a string scalar",n)),!1;if(!n){const r=typeof m(e.key);"string"!==r&&i.push(w(e.key,t,`mapping key must be a string scalar rather than ${null===e.key.valueObject?"null":r}`,n))}return!0}function w(e,t,i,n){const s=x(e,t,i);return s.code="YAMLIncompatibleValue",s.severity=n?r.DiagnosticSeverity.Hint:r.DiagnosticSeverity.Warning,s}function x(e,t,i){return{code:"YAMLException",message:i,severity:r.DiagnosticSeverity.Error,path:o.buildJsonPath(e),range:P(t,e.startPosition,e.endPosition)}}function P(e,t,i){const n=c.lineForPosition(t,e),r=c.lineForPosition(i,e);return{start:{line:n,character:0===n?t:t-e[n-1]},end:{line:r,character:0===r?i:i-e[r-1]}}}class S{constructor(e,t,i,n,r){if(this.attachedComments=e,this.node=i,this.lineMap=n,this.pointer=r,0===t.length)this.comments=[];else{const e=this.getStartPosition(i),n=this.getEndPosition(i),r=c.lineForPosition(e,this.lineMap),s=c.lineForPosition(n,this.lineMap),o=[];for(let e=t.length-1;e>=0;e--){const i=t[e];i.range.start.line>=r&&i.range.end.line<=s&&(o.push(i),t.splice(e,1))}this.comments=o}}getStartPosition(e){return null===e.parent?0:e.kind===p.Kind.MAPPING?e.key.startPosition:e.startPosition}getEndPosition(e){switch(e.kind){case p.Kind.MAPPING:return null===e.value?e.endPosition:this.getEndPosition(e.value);case p.Kind.MAP:return 0===e.mappings.length?e.endPosition:e.mappings[e.mappings.length-1].endPosition;case p.Kind.SEQ:{if(0===e.items.length)return e.endPosition;const t=e.items[e.items.length-1];return null===t?e.endPosition:t.endPosition}default:return e.endPosition}}static mapComments(e,t){return e.map((e=>({value:e.value,range:P(t,e.startPosition,e.endPosition),startPosition:e.startPosition,endPosition:e.endPosition})))}enter(e,t){return new S(this.attachedComments,this.comments,e,this.lineMap,void 0===t?this.pointer:`${this.pointer}/${t}`)}static isLeading(e,t){switch(e.kind){case p.Kind.MAP:return 0===e.mappings.length||e.mappings[0].startPosition>t;case p.Kind.SEQ:{if(0===e.items.length)return!0;const i=e.items[0];return null===i||i.startPosition>t}case p.Kind.MAPPING:return null===e.value||e.value.startPosition>t;default:return!1}}static isTrailing(e,t){switch(e.kind){case p.Kind.MAP:return e.mappings.length>0&&t>e.mappings[e.mappings.length-1].endPosition;case p.Kind.SEQ:if(0===e.items.length)return!1;const i=e.items[e.items.length-1];return null!==i&&t>i.endPosition;case p.Kind.MAPPING:return null!==e.value&&t>e.value.endPosition;default:return!1}}static findBetween(e,t,i){switch(e.kind){case p.Kind.MAP:{let n;for(const r of e.mappings)if(t>r.startPosition)n=r.key.value;else if(void 0!==n&&r.startPosition>i)return[n,r.key.value];return null}case p.Kind.SEQ:{let n;for(let r=0;rs.startPosition)n=String(r);else if(void 0!==n&&s.startPosition>i)return[n,String(r)]}return null}default:return null}}isBeforeEOL(e){return this.node.kind===p.Kind.SCALAR||this.node.kind===p.Kind.MAPPING&&e.range.end.line===c.lineForPosition(this.node.key.endPosition,this.lineMap)}attachComments(){if(0===this.comments.length)return;const e=this.attachedComments[this.pointer]=this.attachedComments[this.pointer]||[];for(const t of this.comments)if(this.isBeforeEOL(t))e.push({value:t.value,placement:"before-eol"});else if(S.isLeading(this.node,t.startPosition))e.push({value:t.value,placement:"leading"});else if(S.isTrailing(this.node,t.endPosition))e.push({value:t.value,placement:"trailing"});else{const i=S.findBetween(this.node,t.startPosition,t.endPosition);null!==i?e.push({value:t.value,placement:"between",between:i}):e.push({value:t.value,placement:"trailing"})}}}},74958:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85725);t.safeStringify=(e,t)=>"string"==typeof e?e:n.safeDump(e,t)},60519:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(93643);t.KEYS=Symbol.for(n.ORDER_KEY_ID);const r={ownKeys:e=>t.KEYS in e?e[t.KEYS]:Reflect.ownKeys(e)};t.trapAccess=e=>new Proxy(e,r)},82585:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85725);t.Kind=n.Kind,t.ScalarType=n.ScalarType},88725:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=e=>null!==e&&"object"==typeof e},67083:e=>{"use strict";const{AbortController:t,AbortSignal:i}="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0;e.exports=t,e.exports.AbortSignal=i,e.exports.default=t},65733:(e,t)=>{"use strict";function i(e,t){return{validate:e,compare:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.formatNames=t.fastFormats=t.fullFormats=void 0,t.fullFormats={date:i(s,o),time:i(c,p),"date-time":i((function(e){const t=e.split(d);return 2===t.length&&s(t[0])&&c(t[1],!0)}),f),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:function(e){return l.test(e)&&u.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:function(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}},uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:function(e){return m.lastIndex=0,m.test(e)},int32:{type:"number",validate:function(e){return Number.isInteger(e)&&e<=y&&e>=h}},int64:{type:"number",validate:function(e){return Number.isInteger(e)}},float:{type:"number",validate:g},double:{type:"number",validate:g},password:!0,binary:!0},t.fastFormats={...t.fullFormats,date:i(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:i(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,p),"date-time":i(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,f),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},t.formatNames=Object.keys(t.fullFormats);const n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,r=[0,31,28,31,30,31,30,31,31,30,31,30,31];function s(e){const t=n.exec(e);if(!t)return!1;const i=+t[1],s=+t[2],o=+t[3];return s>=1&&s<=12&&o>=1&&o<=(2===s&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(i)?29:r[s])}function o(e,t){if(e&&t)return e>t?1:e(t=n[1]+n[2]+n[3]+(n[4]||""))?1:e{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(65733),r=i(31038),s=i(58704),o=new s.Name("fullFormats"),a=new s.Name("fastFormats"),c=(e,t={keywords:!0})=>{if(Array.isArray(t))return p(e,t,n.fullFormats,o),e;const[i,s]="fast"===t.mode?[n.fastFormats,a]:[n.fullFormats,o];return p(e,t.formats||n.formatNames,i,s),t.keywords&&r.default(e),e};function p(e,t,i,n){var r,o;null!==(r=(o=e.opts.code).formats)&&void 0!==r||(o.formats=s._`require("ajv-formats/dist/formats").${n}`);for(const n of t)e.addFormat(n,i[n])}c.get=(e,t="full")=>{const i=("fast"===t?n.fastFormats:n.fullFormats)[e];if(!i)throw new Error(`Unknown format "${e}"`);return i},e.exports=t=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c},31038:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatLimitDefinition=void 0;const n=i(21011),r=i(58704),s=r.operators,o={formatMaximum:{okStr:"<=",ok:s.LTE,fail:s.GT},formatMinimum:{okStr:">=",ok:s.GTE,fail:s.LT},formatExclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},formatExclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},a={message:({keyword:e,schemaCode:t})=>r.str`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>r._`{comparison: ${o[e].okStr}, limit: ${t}}`};t.formatLimitDefinition={keyword:Object.keys(o),type:"string",schemaType:"string",$data:!0,error:a,code(e){const{gen:t,data:i,schemaCode:s,keyword:a,it:c}=e,{opts:p,self:d}=c;if(!p.validateFormats)return;const f=new n.KeywordCxt(c,d.RULES.all.format.definition,"format");function l(e){return r._`${e}.compare(${i}, ${s}) ${o[a].fail} 0`}f.$data?function(){const i=t.scopeValue("formats",{ref:d.formats,code:p.code.formats}),n=t.const("fmt",r._`${i}[${f.schemaCode}]`);e.fail$data(r.or(r._`typeof ${n} != "object"`,r._`${n} instanceof RegExp`,r._`typeof ${n}.compare != "function"`,l(n)))}():function(){const i=f.schema,n=d.formats[i];if(!n||!0===n)return;if("object"!=typeof n||n instanceof RegExp||"function"!=typeof n.compare)throw new Error(`"${a}": format "${i}" does not define "compare" function`);const s=t.scopeValue("formats",{key:i,ref:n,code:p.code.formats?r._`${p.code.formats}${r.getProperty(i)}`:void 0});e.fail$data(l(s))}()},dependencies:["format"]},t.default=e=>(e.addKeyword(t.formatLimitDefinition),e)},21011:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(16105),r=i(7489),s=i(25314),o=i(79510),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(44317);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(58704);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(93737);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(3206);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},63379:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(63379),r=i(73032);var s=i(63379);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(73032);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},73032:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(63379);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},32287:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(58704),r=i(59236),s=i(98946);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},83130:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(58704),r=i(93737),s=i(98946),o=i(49110),a=i(59236),c=i(44317);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},98946:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},3206:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49110);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},49110:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(59236),r=i(38792),s=i(48963),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},3573:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},59236:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(58704),r=i(63379);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},41152:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},3550:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(32287),r=i(58704),s=i(98946),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},84321:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(3573),r=i(41152),s=i(32287),o=i(58704),a=i(59236);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null + || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null + || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},19031:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(58704),r=i(59236);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},44317:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(3550),r=i(84321),s=i(41152),o=i(84321),a=i(19031),c=i(94350),p=i(63564),d=i(58704),f=i(98946),l=i(49110),u=i(59236),m=i(32287);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},94350:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(58704),r=i(98946),s=i(90824),o=i(32287);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},63564:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(58704),r=i(59236);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},16105:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(44317);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(58704);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(93737),o=i(3206),a=i(3573),c=i(83130),p=i(58704),d=i(49110),f=i(84321),l=i(59236),u=i(74364),m=i(11697),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},63787:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},57898:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},93737:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},28572:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(58704),r=i(59236),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},30995:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s=i(98946),o=i(59236),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},79089:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(59236),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},11224:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(90824).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},64522:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},97302:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(58704),r=i(59236),s=i(90824);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, + missingProperty: ${r}, + depsCount: ${t}, + deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},44516:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},82747:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(28572),r=i(93159),s=i(15443),o=i(61155),a=i(64522),c=i(97302),p=i(59752),d=i(30995),f=i(20526),l=i(63332),u=i(23266),m=i(11224),h=i(26190),y=i(79089),g=i(44516),b=i(37633);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},15443:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(58704),r=i(59236),s=i(90824),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},61155:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(90824),o=i(28572),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},23266:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(59236),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},26190:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},63332:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s=i(59236),o=i(59236),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},93159:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15443),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},20526:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(44317),r=i(90824),s=i(59236),o=i(30995),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},59752:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},37633:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(59236),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},90824:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(58704),r=i(59236),s=i(98946),o=i(59236);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},7620:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},78065:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(7620),r=i(18776),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},18776:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(3206),r=i(90824),s=i(58704),o=i(98946),a=i(83130),c=i(59236),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},25314:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(74943),s=i(83130),o=i(59236),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},74943:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},7489:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78065),r=i(60501),s=i(82747),o=i(31621),a=i(33328),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},54110:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},31621:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(54110).default];t.default=n},33328:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},49222:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(63787),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},17852:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(63787),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},60501:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(26871),r=i(1008),s=i(18278),o=i(53579),a=i(38523),c=i(84372),p=i(55188),d=i(65288),f=i(49222),l=i(17852),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},55188:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},18278:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(57898),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},26871:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},38523:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},1008:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},53579:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},84372:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s=i(59236),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},65288:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(84321),r=i(58704),s=i(59236),o=i(63787),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},48963:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{"use strict";function i(e,t){for(var i=0;i":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},s=17;t.NEEDS_PARENTHESES=s;var o,a,c,p,d,f,l={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:s,ClassExpression:s,FunctionExpression:s,ObjectExpression:s,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function u(e,t){var i=e.generator;if(e.write("("),null!=t&&t.length>0){i[t[0].type](t[0],e);for(var n=t.length,r=1;r0){e.write(n);for(var o=1;o0){i.VariableDeclarator(n[0],e);for(var s=1;s0){t.write(n),r&&null!=e.comments&&g(t,e.comments,s,n);for(var a=o.length,c=0;c0){for(;r0&&t.write(", ");var s=i[r],o=s.type[6];if("D"===o)t.write(s.local.name,s),r++;else{if("N"!==o)break;t.write("* as "+s.local.name,s),r++}}if(r0)for(var r=0;;){var s=i[r],o=s.local.name;if(t.write(o,s),o!==s.exported.name&&t.write(" as "+s.exported.name),!(++r "),"O"===e.body.type[0]?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression:function(e,t){t.write("this",e)},Super:function(e,t){t.write("super",e)},RestElement:c=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:c,YieldExpression:function(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression:function(e,t){t.write("await ",e),h(t,e.argument,e)},TemplateLiteral:function(e,t){var i=e.quasis,n=e.expressions;t.write("`");for(var r=n.length,s=0;s0)for(var i=e.elements,n=i.length,r=0;;){var s=i[r];if(null!=s&&this[s.type](s,t),!(++r0){t.write(n),r&&null!=e.comments&&g(t,e.comments,s,n);for(var o=","+n,a=e.properties,c=a.length,p=0;;){var d=a[p];if(r&&null!=d.comments&&g(t,d.comments,s,n),t.write(s),this[d.type](d,t),!(++p0)for(var i=e.properties,n=i.length,r=0;this[i[r].type](i[r],t),++r1)&&("U"!==r[0]||"n"!==r[1]&&"p"!==r[1]||!n.prefix||n.operator[0]!==i||"+"!==i&&"-"!==i)||t.write(" "),s?(t.write(i.length>1?" (":"("),this[r](n,t),t.write(")")):this[r](n,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression:function(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression:function(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern:function(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:p=function(e,t){var i="in"===e.operator;i&&t.write("("),h(t,e.left,e,!1),t.write(" "+e.operator+" "),h(t,e.right,e,!0),i&&t.write(")")},LogicalExpression:p,ConditionalExpression:function(e,t){var i=e.test,n=t.expressionsPrecedence[i.type];n===s||n<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[i.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression:function(e,t){t.write("new ");var i=t.expressionsPrecedence[e.callee.type];i===s||i0&&(this.lineEndSize>0&&(1===p.length?e[c-1]===p:e.endsWith(p))?(this.line+=this.lineEndSize,this.column=0):this.column+=c)}},{key:"toString",value:function(){return this.output}}])&&i(t.prototype,n),e}()},99986:e=>{"use strict";function t(e,t,r){e instanceof RegExp&&(e=i(e,r)),t instanceof RegExp&&(t=i(t,r));var s=n(e,t,r);return s&&{start:s[0],end:s[1],pre:r.slice(0,s[0]),body:r.slice(s[0]+e.length,s[1]),post:r.slice(s[1]+t.length)}}function i(e,t){var i=t.match(e);return i?i[0]:null}function n(e,t,i){var n,r,s,o,a,c=i.indexOf(e),p=i.indexOf(t,c+1),d=c;if(c>=0&&p>0){if(e===t)return[c,p];for(n=[],s=i.length;d>=0&&!a;)d==c?(n.push(d),c=i.indexOf(e,d+1)):1==n.length?a=[n.pop(),p]:((r=n.pop())=0?c:p;n.length&&(a=[s,o])}return a}e.exports=t,t.range=n},7991:(e,t)=>{"use strict";t.byteLength=function(e){var t=a(e),i=t[0],n=t[1];return 3*(i+n)/4-n},t.toByteArray=function(e){var t,i,s=a(e),o=s[0],c=s[1],p=new r(function(e,t,i){return 3*(t+i)/4-i}(0,o,c)),d=0,f=c>0?o-4:o;for(i=0;i>16&255,p[d++]=t>>8&255,p[d++]=255&t;return 2===c&&(t=n[e.charCodeAt(i)]<<2|n[e.charCodeAt(i+1)]>>4,p[d++]=255&t),1===c&&(t=n[e.charCodeAt(i)]<<10|n[e.charCodeAt(i+1)]<<4|n[e.charCodeAt(i+2)]>>2,p[d++]=t>>8&255,p[d++]=255&t),p},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,s=[],o=16383,a=0,p=n-r;ap?p:a+o));return 1===r?(t=e[n-1],s.push(i[t>>2]+i[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],s.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"=")),s.join("")};for(var i=[],n=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)i[o]=s[o],n[s.charCodeAt(o)]=o;function a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.indexOf("=");return-1===i&&(i=t),[i,i===t?0:4-i%4]}function c(e,t,n){for(var r,s,o=[],a=t;a>18&63]+i[s>>12&63]+i[s>>6&63]+i[63&s]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},1048:(e,t,i)=>{"use strict";var n=i(7991),r=i(39318),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=c,t.IS=50;var o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,i){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return p(e,t,i)}function p(e,t,i){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var i=0|h(e,t),n=a(i),r=n.write(e,t);return r!==i&&(n=n.slice(0,r)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(V(e,Uint8Array)){var t=new Uint8Array(e);return u(t.buffer,t.byteOffset,t.byteLength)}return l(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(V(e,ArrayBuffer)||e&&V(e.buffer,ArrayBuffer))return u(e,t,i);if("undefined"!=typeof SharedArrayBuffer&&(V(e,SharedArrayBuffer)||e&&V(e.buffer,SharedArrayBuffer)))return u(e,t,i);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,i);var r=function(e){if(c.isBuffer(e)){var t=0|m(e.length),i=a(t);return 0===i.length||e.copy(i,0,0,t),i}return void 0!==e.length?"number"!=typeof e.length||L(e.length)?a(0):l(e):"Buffer"===e.type&&Array.isArray(e.data)?l(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function d(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return d(e),a(e<0?0:0|m(e))}function l(e){for(var t=e.length<0?0:0|m(e.length),i=a(t),n=0;n=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function h(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||V(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var i=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return D(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return F(e).length;default:if(r)return n?-1:D(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,i){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,i);case"utf8":case"utf-8":return S(this,t,i);case"ascii":return E(this,t,i);case"latin1":case"binary":return A(this,t,i);case"base64":return P(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,i);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function g(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}function b(e,t,i,n,r){if(0===e.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),L(i=+i)&&(i=r?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(r)return-1;i=e.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:v(e,t,i,n,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,i):Uint8Array.prototype.lastIndexOf.call(e,t,i):v(e,[t],i,n,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,i,n,r){var s,o=1,a=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,i/=2}function p(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var d=-1;for(s=i;sa&&(i=a-c),s=i;s>=0;s--){for(var f=!0,l=0;lr&&(n=r):n=r;var s=t.length;n>s/2&&(n=s/2);for(var o=0;o>8,r=i%256,s.push(r),s.push(n);return s}(t,e.length-i),e,i,n)}function P(e,t,i){return 0===t&&i===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,i))}function S(e,t,i){i=Math.min(e.length,i);for(var n=[],r=t;r239?4:p>223?3:p>191?2:1;if(r+f<=i)switch(f){case 1:p<128&&(d=p);break;case 2:128==(192&(s=e[r+1]))&&(c=(31&p)<<6|63&s)>127&&(d=c);break;case 3:s=e[r+1],o=e[r+2],128==(192&s)&&128==(192&o)&&(c=(15&p)<<12|(63&s)<<6|63&o)>2047&&(c<55296||c>57343)&&(d=c);break;case 4:s=e[r+1],o=e[r+2],a=e[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(c=(15&p)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&c<1114112&&(d=c)}null===d?(d=65533,f=1):d>65535&&(d-=65536,n.push(d>>>10&1023|55296),d=56320|1023&d),n.push(d),r+=f}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);for(var i="",n=0;nn.length?c.from(s).copy(n,r):Uint8Array.prototype.set.call(n,s,r);else{if(!c.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,r)}r+=s.length}return n},c.byteLength=h,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;ti&&(e+=" ... "),""},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(e,t,i,n,r){if(V(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===i&&(i=e?e.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),t<0||i>e.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&t>=i)return 0;if(n>=r)return-1;if(t>=i)return 1;if(this===e)return 0;for(var s=(r>>>=0)-(n>>>=0),o=(i>>>=0)-(t>>>=0),a=Math.min(s,o),p=this.slice(n,r),d=e.slice(t,i),f=0;f>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-t;if((void 0===i||i>r)&&(i=r),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return $(this,e,t,i);case"utf8":case"utf-8":return j(this,e,t,i);case"ascii":case"latin1":case"binary":return _(this,e,t,i);case"base64":return w(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function E(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;rn)&&(i=n);for(var r="",s=t;si)throw new RangeError("Trying to access beyond buffer length")}function R(e,t,i,n,r,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function M(e,t,i,n,r,s){if(i+n>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function q(e,t,i,n,s){return t=+t,i>>>=0,s||M(e,0,i,4),r.write(e,t,i,n,23,4),i+4}function C(e,t,i,n,s){return t=+t,i>>>=0,s||M(e,0,i,8),r.write(e,t,i,n,52,8),i+8}c.prototype.slice=function(e,t){var i=this.length;(e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t>>=0,t>>>=0,i||k(e,t,this.length);for(var n=this[e],r=1,s=0;++s>>=0,t>>>=0,i||k(e,t,this.length);for(var n=this[e+--t],r=1;t>0&&(r*=256);)n+=this[e+--t]*r;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||k(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||k(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||k(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||k(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||k(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,i){e>>>=0,t>>>=0,i||k(e,t,this.length);for(var n=this[e],r=1,s=0;++s=(r*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,i){e>>>=0,t>>>=0,i||k(e,t,this.length);for(var n=t,r=1,s=this[e+--n];n>0&&(r*=256);)s+=this[e+--n]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return e>>>=0,t||k(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||k(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt16BE=function(e,t){e>>>=0,t||k(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||k(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||k(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return e>>>=0,t||k(e,4,this.length),r.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||k(e,4,this.length),r.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||k(e,8,this.length),r.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||k(e,8,this.length),r.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,i,n){e=+e,t>>>=0,i>>>=0,n||R(this,e,t,i,Math.pow(2,8*i)-1,0);var r=1,s=0;for(this[t]=255&e;++s>>=0,i>>>=0,n||R(this,e,t,i,Math.pow(2,8*i)-1,0);var r=i-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+i},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t>>>=0,!n){var r=Math.pow(2,8*i-1);R(this,e,t,i,r-1,-r)}var s=0,o=1,a=0;for(this[t]=255&e;++s>>=0,!n){var r=Math.pow(2,8*i-1);R(this,e,t,i,r-1,-r)}var s=i-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o|0)-a&255;return t+i},c.prototype.writeInt8=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeFloatLE=function(e,t,i){return q(this,e,t,!0,i)},c.prototype.writeFloatBE=function(e,t,i){return q(this,e,t,!1,i)},c.prototype.writeDoubleLE=function(e,t,i){return C(this,e,t,!0,i)},c.prototype.writeDoubleBE=function(e,t,i){return C(this,e,t,!1,i)},c.prototype.copy=function(e,t,i,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,i=void 0===i?this.length:i>>>0,e||(e=0),"number"==typeof e)for(s=t;s55295&&i<57344){if(!r){if(i>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(t-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((t-=1)<0)break;s.push(i)}else if(i<2048){if((t-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function F(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(N,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,i,n){for(var r=0;r=t.length||r>=e.length);++r)t[r+i]=e[r];return r}function V(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function L(e){return e!=e}var z=function(){for(var e="0123456789abcdef",t=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)t[n+r]=e[i]+e[r];return t}()},79818:(e,t,i)=>{"use strict";var n=i(528),r=i(28498),s=r(n("String.prototype.indexOf"));e.exports=function(e,t){var i=n(e,!!t);return"function"==typeof i&&s(e,".prototype.")>-1?r(i):i}},28498:(e,t,i)=>{"use strict";var n=i(79138),r=i(528),s=i(26108),o=i(3468),a=r("%Function.prototype.apply%"),c=r("%Function.prototype.call%"),p=r("%Reflect.apply%",!0)||n.call(c,a),d=i(64940),f=r("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new o("a function is required");var t=p(n,c,arguments);return s(t,1+f(0,e.length-(arguments.length-1)),!0)};var l=function(){return p(n,a,arguments)};d?d(e.exports,"apply",{value:l}):e.exports.apply=l},55837:e=>{e.exports=function(e,i){for(var n=[],r=0;r{"use strict";var n=i(64940),r=i(5731),s=i(3468),o=i(69336);e.exports=function(e,t,i){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,p=arguments.length>5?arguments[5]:null,d=arguments.length>6&&arguments[6],f=!!o&&o(e,t);if(n)n(e,t,{configurable:null===p&&f?f.configurable:!p,enumerable:null===a&&f?f.enumerable:!a,value:i,writable:null===c&&f?f.writable:!c});else{if(!d&&(a||c||p))throw new r("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=i}}},41857:(e,t,i)=>{"use strict";var n=i(49228),r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),s=Object.prototype.toString,o=Array.prototype.concat,a=i(70686),c=i(17239)(),p=function(e,t,i,n){if(t in e)if(!0===n){if(e[t]===i)return}else if("function"!=typeof(r=n)||"[object Function]"!==s.call(r)||!n())return;var r;c?a(e,t,i,!0):a(e,t,i)},d=function(e,t){var i=arguments.length>2?arguments[2]:{},s=n(t);r&&(s=o.call(s,Object.getOwnPropertySymbols(t)));for(var a=0;a{function i(e,t,i,n){var s={};return function(o){if(!s[o]){var a={},c=[],p=[];for(p.push({node:o,processed:!1});p.length>0;){var d=p[p.length-1],f=d.processed,l=d.node;if(f)p.pop(),c.pop(),a[l]=!1,s[l]=!0,t&&0!==e[l].length||i.push(l);else{if(s[l]){p.pop();continue}if(a[l]){if(n){p.pop();continue}throw c.push(l),new r(c)}a[l]=!0,c.push(l);for(var u=e[l],m=u.length-1;m>=0;m--)p.push({node:u[m],processed:!1});d.processed=!0}}}}}var n=t.DepGraph=function(e){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=e&&!!e.circular};n.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(e,t){this.hasNode(e)||(this.nodes[e]=2===arguments.length?t:e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode:function(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach((function(t){Object.keys(t).forEach((function(i){var n=t[i].indexOf(e);n>=0&&t[i].splice(n,1)}),this)})))},hasNode:function(e){return this.nodes.hasOwnProperty(e)},getNodeData:function(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency:function(e,t){var i;this.hasNode(e)&&(i=this.outgoingEdges[e].indexOf(t))>=0&&this.outgoingEdges[e].splice(i,1),this.hasNode(t)&&(i=this.incomingEdges[t].indexOf(e))>=0&&this.incomingEdges[t].splice(i,1)},clone:function(){var e=this,t=new n;return Object.keys(e.nodes).forEach((function(i){t.nodes[i]=e.nodes[i],t.outgoingEdges[i]=e.outgoingEdges[i].slice(0),t.incomingEdges[i]=e.incomingEdges[i].slice(0)})),t},directDependenciesOf:function(e){if(this.hasNode(e))return this.outgoingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},directDependantsOf:function(e){if(this.hasNode(e))return this.incomingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},dependenciesOf:function(e,t){if(this.hasNode(e)){var n=[];i(this.outgoingEdges,t,n,this.circular)(e);var r=n.indexOf(e);return r>=0&&n.splice(r,1),n}throw new Error("Node does not exist: "+e)},dependantsOf:function(e,t){if(this.hasNode(e)){var n=[];i(this.incomingEdges,t,n,this.circular)(e);var r=n.indexOf(e);return r>=0&&n.splice(r,1),n}throw new Error("Node does not exist: "+e)},overallOrder:function(e){var t=this,n=[],r=Object.keys(this.nodes);if(0===r.length)return n;if(!this.circular){var s=i(this.outgoingEdges,!1,[],this.circular);r.forEach((function(e){s(e)}))}var o=i(this.outgoingEdges,e,n,this.circular);return r.filter((function(e){return 0===t.incomingEdges[e].length})).forEach((function(e){o(e)})),this.circular&&r.filter((function(e){return-1===n.indexOf(e)})).forEach((function(e){o(e)})),n},entryNodes:function(){var e=this;return Object.keys(this.nodes).filter((function(t){return 0===e.incomingEdges[t].length}))}},n.prototype.directDependentsOf=n.prototype.directDependantsOf,n.prototype.dependentsOf=n.prototype.dependantsOf;var r=t.DepGraphCycleError=function(e){var t="Dependency Cycle Found: "+e.join(" -> "),i=new Error(t);return i.cyclePath=e,Object.setPrototypeOf(i,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(i,r),i};r.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(r,Error)},71401:(e,t,i)=>{"use strict";var n=i(10207),r=i(78464),s=i(22693),o=i(17239)(),a=i(51192),c=i(29954),p=i(29838);function d(e,t){var i=new p(t);c(i,f),delete i.constructor;var r=a(s(e,"SYNC"));return n(i,"errors",r),i}o&&Object.defineProperty(d,"prototype",{writable:!1});var f=d.prototype;if(!r(f,"constructor",d)||!r(f,"message","")||!r(f,"name","AggregateError"))throw new p("unable to install AggregateError.prototype properties; please report this!");c(d.prototype,Error.prototype),e.exports=d},99639:(e,t,i)=>{"use strict";var n=i(79138),r=i(41857),s=i(19343),o=i(70686),a=i(71401),c=i(68604),p=i(66614),d=c(),f=s(n.call(d),d.name,!0);o(f,"prototype",d.prototype,!0,!0,!0,!0),r(f,{getPolyfill:c,implementation:a,shim:p}),e.exports=f},68604:(e,t,i)=>{"use strict";var n=i(71401);e.exports=function(){return"function"==typeof AggregateError?AggregateError:n}},66614:(e,t,i)=>{"use strict";var n=i(41857),r=i(6541)(),s=i(68604);e.exports=function(){var e=s();return n(r,{AggregateError:e},{AggregateError:function(){return r.AggregateError!==e}}),e}},64940:(e,t,i)=>{"use strict";var n=i(528)("%Object.defineProperty%",!0)||!1;if(n)try{n({},"a",{value:1})}catch(e){n=!1}e.exports=n},29110:e=>{"use strict";e.exports=EvalError},29838:e=>{"use strict";e.exports=Error},83536:e=>{"use strict";e.exports=RangeError},94943:e=>{"use strict";e.exports=ReferenceError},5731:e=>{"use strict";e.exports=SyntaxError},3468:e=>{"use strict";e.exports=TypeError},32140:e=>{"use strict";e.exports=URIError},38792:e=>{"use strict";e.exports=function e(t,i){if(t===i)return!0;if(t&&i&&"object"==typeof t&&"object"==typeof i){if(t.constructor!==i.constructor)return!1;var n,r,s;if(Array.isArray(t)){if((n=t.length)!=i.length)return!1;for(r=n;0!=r--;)if(!e(t[r],i[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===i.source&&t.flags===i.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===i.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===i.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(i).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(i,s[r]))return!1;for(r=n;0!=r--;){var o=s[r];if(!e(t[o],i[o]))return!1}return!0}return t!=t&&i!=i}},2940:e=>{function t(e,t,i,n){var r,s=null==(r=n)||"number"==typeof r||"boolean"==typeof r?n:i(n),o=t.get(s);return void 0===o&&(o=e.call(this,n),t.set(s,o)),o}function i(e,t,i){var n=Array.prototype.slice.call(arguments,3),r=i(n),s=t.get(r);return void 0===s&&(s=e.apply(this,n),t.set(r,s)),s}function n(e,t,i,n,r){return i.bind(t,e,n,r)}function r(e,r){return n(e,this,1===e.length?t:i,r.cache.create(),r.serializer)}function s(){return JSON.stringify(arguments)}function o(){this.cache=Object.create(null)}o.prototype.has=function(e){return e in this.cache},o.prototype.get=function(e){return this.cache[e]},o.prototype.set=function(e,t){this.cache[e]=t};var a={create:function(){return new o}};e.exports=function(e,t){var i=t&&t.cache?t.cache:a,n=t&&t.serializer?t.serializer:s;return(t&&t.strategy?t.strategy:r)(e,{cache:i,serializer:n})},e.exports.strategies={variadic:function(e,t){return n(e,this,i,t.cache.create(),t.serializer)},monadic:function(e,i){return n(e,this,t,i.cache.create(),i.serializer)}}},28794:e=>{"use strict";var t=Object.prototype.toString,i=Math.max,n=function(e,t){for(var i=[],n=0;n{"use strict";var n=i(28794);e.exports=Function.prototype.bind||n},68993:e=>{"use strict";var t=function(){return"string"==typeof function(){}.name},i=Object.getOwnPropertyDescriptor;if(i)try{i([],"length")}catch(e){i=null}t.functionsHaveConfigurableNames=function(){if(!t()||!i)return!1;var e=i((function(){}),"name");return!!e&&!!e.configurable};var n=Function.prototype.bind;t.boundFunctionsHaveNames=function(){return t()&&"function"==typeof n&&""!==function(){}.bind().name},e.exports=t},528:(e,t,i)=>{"use strict";var n,r=i(29838),s=i(29110),o=i(83536),a=i(94943),c=i(5731),p=i(3468),d=i(32140),f=Function,l=function(e){try{return f('"use strict"; return ('+e+").constructor;")()}catch(e){}},u=Object.getOwnPropertyDescriptor;if(u)try{u({},"")}catch(e){u=null}var m=function(){throw new p},h=u?function(){try{return m}catch(e){try{return u(arguments,"callee").get}catch(e){return m}}}():m,y=i(53558)(),g=i(66869)(),b=Object.getPrototypeOf||(g?function(e){return e.__proto__}:null),v={},$="undefined"!=typeof Uint8Array&&b?b(Uint8Array):n,j={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":y&&b?b([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?n:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":s,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":f,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":y&&b?b(b([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&y&&b?b((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":o,"%ReferenceError%":a,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&y&&b?b((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":y&&b?b(""[Symbol.iterator]()):n,"%Symbol%":y?Symbol:n,"%SyntaxError%":c,"%ThrowTypeError%":h,"%TypedArray%":$,"%TypeError%":p,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":d,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet};if(b)try{null.error}catch(e){var _=b(b(e));j["%Error.prototype%"]=_}var w=function e(t){var i;if("%AsyncFunction%"===t)i=l("async function () {}");else if("%GeneratorFunction%"===t)i=l("function* () {}");else if("%AsyncGeneratorFunction%"===t)i=l("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(i=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var r=e("%AsyncGenerator%");r&&b&&(i=b(r.prototype))}return j[t]=i,i},x={__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"]},P=i(79138),S=i(78554),O=P.call(Function.call,Array.prototype.concat),E=P.call(Function.apply,Array.prototype.splice),A=P.call(Function.call,String.prototype.replace),T=P.call(Function.call,String.prototype.slice),I=P.call(Function.call,RegExp.prototype.exec),k=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,R=/\\(\\)?/g,M=function(e,t){var i,n=e;if(S(x,n)&&(n="%"+(i=x[n])[0]+"%"),S(j,n)){var r=j[n];if(r===v&&(r=w(n)),void 0===r&&!t)throw new p("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:r}}throw new c("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new p("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new p('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,e))throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=function(e){var t=T(e,0,1),i=T(e,-1);if("%"===t&&"%"!==i)throw new c("invalid intrinsic syntax, expected closing `%`");if("%"===i&&"%"!==t)throw new c("invalid intrinsic syntax, expected opening `%`");var n=[];return A(e,k,(function(e,t,i,r){n[n.length]=i?A(r,R,"$1"):t||e})),n}(e),n=i.length>0?i[0]:"",r=M("%"+n+"%",t),s=r.name,o=r.value,a=!1,d=r.alias;d&&(n=d[0],E(i,O([0,1],d)));for(var f=1,l=!0;f=i.length){var g=u(o,m);o=(l=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[m]}else l=S(o,m),o=o[m];l&&!a&&(j[s]=o)}}return o}},60285:e=>{"use strict";"undefined"!=typeof self?e.exports=self:"undefined"!=typeof window?e.exports=window:e.exports=Function("return this")()},6541:(e,t,i)=>{"use strict";var n=i(41857),r=i(60285),s=i(83658),o=i(74952),a=s(),c=function(){return a};n(c,{getPolyfill:s,implementation:r,shim:o}),e.exports=c},83658:(e,t,i)=>{"use strict";var n=i(60285);e.exports=function(){return"object"==typeof i.g&&i.g&&i.g.Math===Math&&i.g.Array===Array?i.g:n}},74952:(e,t,i)=>{"use strict";var n=i(41857),r=i(83658);e.exports=function(){var e=r();if(n.supportsDescriptors){var t=Object.getOwnPropertyDescriptor(e,"globalThis");t&&(!t.configurable||!t.enumerable&&t.writable&&globalThis===e)||Object.defineProperty(e,"globalThis",{configurable:!0,enumerable:!1,value:e,writable:!0})}else"object"==typeof globalThis&&globalThis===e||(e.globalThis=e);return e}},69336:(e,t,i)=>{"use strict";var n=i(528)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(e){n=null}e.exports=n},17239:(e,t,i)=>{"use strict";var n=i(64940),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return 1!==n([],"length",{value:1}).length}catch(e){return!0}},e.exports=r},66869:e=>{"use strict";var t={__proto__:null,foo:{}},i=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!(t instanceof i)}},53558:(e,t,i)=>{"use strict";var n="undefined"!=typeof Symbol&&Symbol,r=i(62908);e.exports=function(){return"function"==typeof n&&"function"==typeof Symbol&&"symbol"==typeof n("foo")&&"symbol"==typeof Symbol("bar")&&r()}},62908:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),i=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(i))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var n=Object.getOwnPropertySymbols(e);if(1!==n.length||n[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(e,t);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},51913:(e,t,i)=>{"use strict";var n=i(62908);e.exports=function(){return n()&&!!Symbol.toStringTag}},78554:(e,t,i)=>{"use strict";var n=Function.prototype.call,r=Object.prototype.hasOwnProperty,s=i(79138);e.exports=s.call(n,r)},39318:(e,t)=>{t.read=function(e,t,i,n,r){var s,o,a=8*r-n-1,c=(1<>1,d=-7,f=i?r-1:0,l=i?-1:1,u=e[t+f];for(f+=l,s=u&(1<<-d)-1,u>>=-d,d+=a;d>0;s=256*s+e[t+f],f+=l,d-=8);for(o=s&(1<<-d)-1,s>>=-d,d+=n;d>0;o=256*o+e[t+f],f+=l,d-=8);if(0===s)s=1-p;else{if(s===c)return o?NaN:1/0*(u?-1:1);o+=Math.pow(2,n),s-=p}return(u?-1:1)*o*Math.pow(2,s-n)},t.write=function(e,t,i,n,r,s){var o,a,c,p=8*s-r-1,d=(1<>1,l=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,u=n?0:s-1,m=n?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=d):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+f>=1?l/c:l*Math.pow(2,1-f))*c>=2&&(o++,c/=2),o+f>=d?(a=0,o=d):o+f>=1?(a=(t*c-1)*Math.pow(2,r),o+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,r),o=0));r>=8;e[i+u]=255&a,u+=m,a/=256,r-=8);for(o=o<0;e[i+u]=255&o,u+=m,o/=256,p-=8);e[i+u-m]|=128*h}},58712:(e,t)=>{function i(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n3?t.t-4:t.t:Array.isArray(e)?1:f(e)?2:l(e)?3:0}function a(e,t){return 2===o(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function c(e,t){return 2===o(e)?e.get(t):e[t]}function p(e,t,i){var n=o(e);2===n?e.set(t,i):3===n?e.add(i):e[t]=i}function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function f(e){return z&&e instanceof Map}function l(e){return B&&e instanceof Set}function u(e){return e.i||e.u}function m(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Y(e);delete t[J];for(var i=Z(t),n=0;n1&&(e.set=e.add=e.clear=e.delete=y),Object.freeze(e),t&&s(e,(function(e,t){return h(t,!0)}),!0)),e}function y(){i(2)}function g(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function b(e){var t=X[e];return t||i(18,e),t}function v(e,t){X[e]||(X[e]=t)}function $(){return V}function j(e,t){t&&(b("Patches"),e.o=[],e.v=[],e.s=t)}function _(e){w(e),e.p.forEach(P),e.p=null}function w(e){e===V&&(V=e.l)}function x(e){return V={p:[],l:V,h:e,_:!0,m:0}}function P(e){var t=e[J];0===t.t||1===t.t?t.j():t.O=!0}function S(e,t){t.m=t.p.length;var n=t.p[0],s=void 0!==e&&e!==n;return t.h.S||b("ES5").P(t,e,s),s?(n[J].g&&(_(t),i(4)),r(e)&&(e=O(t,e),t.l||A(t,e)),t.o&&b("Patches").M(n[J].u,e,t.o,t.v)):e=O(t,n,[]),_(t),t.o&&t.s(t.o,t.v),e!==G?e:void 0}function O(e,t,i){if(g(t))return t;var n=t[J];if(!n)return s(t,(function(r,s){return E(e,n,t,r,s,i)}),!0),t;if(n.A!==e)return t;if(!n.g)return A(e,n.u,!0),n.u;if(!n.R){n.R=!0,n.A.m--;var r=4===n.t||5===n.t?n.i=m(n.k):n.i,o=r,a=!1;3===n.t&&(o=new Set(r),r.clear(),a=!0),s(o,(function(t,s){return E(e,n,r,t,s,i,a)})),A(e,r,!1),i&&e.o&&b("Patches").F(n,i,e.o,e.v)}return n.i}function E(e,t,i,s,o,c,d){if(n(o)){var f=O(e,o,c&&t&&3!==t.t&&!a(t.N,s)?c.concat(s):void 0);if(p(i,s,f),!n(f))return;e._=!1}else d&&i.add(o);if(r(o)&&!g(o)){if(!e.h.D&&e.m<1)return;O(e,o),t&&t.A.l||A(e,o)}}function A(e,t,i){void 0===i&&(i=!1),!e.l&&e.h.D&&e._&&h(t,i)}function T(e,t){var i=e[J];return(i?u(i):e)[t]}function I(e,t){if(t in e)for(var i=Object.getPrototypeOf(e);i;){var n=Object.getOwnPropertyDescriptor(i,t);if(n)return n;i=Object.getPrototypeOf(i)}}function k(e){e.g||(e.g=!0,e.l&&k(e.l))}function R(e){e.i||(e.i=m(e.u))}function M(e,t,i){var n=f(t)?b("MapSet").K(t,i):l(t)?b("MapSet").$(t,i):e.S?function(e,t){var i=Array.isArray(e),n={t:i?1:0,A:t?t.A:$(),g:!1,R:!1,N:{},l:t,u:e,k:null,i:null,j:null,C:!1},r=n,s=ee;i&&(r=[n],s=te);var o=Proxy.revocable(r,s),a=o.revoke,c=o.proxy;return n.k=c,n.j=a,c}(t,i):b("ES5").I(t,i);return(i?i.A:$()).p.push(n),n}function q(e){return n(e)||i(22,e),function e(t){if(!r(t))return t;var i,n=t[J],a=o(t);if(n){if(!n.g&&(n.t<4||!b("ES5").J(n)))return n.u;n.R=!0,i=C(t,a),n.R=!1}else i=C(t,a);return s(i,(function(t,r){n&&c(n.u,t)===r||p(i,t,e(r))})),3===a?new Set(i):i}(e)}function C(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return m(e)}function N(){function e(e,t){var i=o[e];return i?i.enumerable=t:o[e]=i={configurable:!0,enumerable:t,get:function(){return ee.get(this[J],e)},set:function(t){ee.set(this[J],e,t)}},i}function t(e){for(var t=e.length-1;t>=0;t--){var n=e[t][J];if(!n.g)switch(n.t){case 5:r(n)&&k(n);break;case 4:i(n)&&k(n)}}}function i(e){for(var t=e.u,i=e.k,n=Z(i),r=n.length-1;r>=0;r--){var s=n[r];if(s!==J){var o=t[s];if(void 0===o&&!a(t,s))return!0;var c=i[s],p=c&&c[J];if(p?p.u!==o:!d(c,o))return!0}}var f=!!t[J];return n.length!==Z(t).length+(f?0:1)}function r(e){var t=e.k;if(t.length!==e.u.length)return!0;var i=Object.getOwnPropertyDescriptor(t,t.length-1);if(i&&!i.get)return!0;for(var n=0;n1?i-1:0),s=1;s1?n-1:0),s=1;s=0;i--){var r=t[i];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}i>-1&&(t=t.slice(i+1));var s=b("Patches").W;return n(e)?s(e,t):this.produce(e,(function(e){return s(e,t)}))},e}(),ne=new ie,re=ne.produce,se=ne.produceWithPatches.bind(ne),oe=ne.setAutoFreeze.bind(ne),ae=ne.setUseProxies.bind(ne),ce=ne.applyPatches.bind(ne),pe=ne.createDraft.bind(ne),de=ne.finishDraft.bind(ne);t.Immer=ie,t.applyPatches=ce,t.castDraft=function(e){return e},t.castImmutable=function(e){return e},t.createDraft=pe,t.current=q,t.default=re,t.enableAllPlugins=function(){N(),F(),D()},t.enableES5=N,t.enableMapSet=F,t.enablePatches=D,t.finishDraft=de,t.freeze=h,t.immerable=H,t.isDraft=n,t.isDraftable=r,t.nothing=G,t.original=function(e){return n(e)||i(23,e),e[J].u},t.produce=re,t.produceWithPatches=se,t.setAutoFreeze=oe,t.setUseProxies=ae},79725:(e,t,i)=>{"use strict";e.exports=i(58712)},66986:(e,t,i)=>{"use strict";var n=i(78554),r=i(77575)(),s=i(3468),o={assert:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");if(r.assert(e),!o.has(e,t))throw new s("`"+t+"` is not present on `O`")},get:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");var i=r.get(e);return i&&i["$"+t]},has:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");var i=r.get(e);return!!i&&n(i,"$"+t)},set:function(e,t,i){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");var n=r.get(e);n||(n={},r.set(e,n)),n["$"+t]=i}};Object.freeze&&Object.freeze(o),e.exports=o},89617:e=>{"use strict";var t,i,n=Function.prototype.toString,r="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof r&&"function"==typeof Object.defineProperty)try{t=Object.defineProperty({},"length",{get:function(){throw i}}),i={},r((function(){throw 42}),null,t)}catch(e){e!==i&&(r=null)}else r=null;var s=/^\s*class\b/,o=function(e){try{var t=n.call(e);return s.test(t)}catch(e){return!1}},a=function(e){try{return!o(e)&&(n.call(e),!0)}catch(e){return!1}},c=Object.prototype.toString,p="function"==typeof Symbol&&!!Symbol.toStringTag,d=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var l=document.all;c.call(l)===c.call(document.all)&&(f=function(e){if((d||!e)&&(void 0===e||"object"==typeof e))try{var t=c.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=r?function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{r(e,null,t)}catch(e){if(e!==i)return!1}return!o(e)&&a(e)}:function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(p)return a(e);if(o(e))return!1;var t=c.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&a(e)}},8120:(e,t,i)=>{"use strict";var n=String.prototype.valueOf,r=Object.prototype.toString,s=i(51913)();e.exports=function(e){return"string"==typeof e||"object"==typeof e&&(s?function(e){try{return n.call(e),!0}catch(e){return!1}}(e):"[object String]"===r.call(e))}},45838:(e,t)=>{var i=/~/,n=/~[01]/g;function r(e){switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Invalid tilde escape: "+e)}function s(e){return i.test(e)?e.replace(n,r):e}function o(e){if("string"==typeof e){if(""===(e=e.split("/"))[0])return e;throw new Error("Invalid JSON pointer.")}if(Array.isArray(e)){for(const t of e)if("string"!=typeof t&&"number"!=typeof t)throw new Error("Invalid JSON pointer. Must be of type string or number.");return e}throw new Error("Invalid JSON pointer.")}function a(e,t){if("object"!=typeof e)throw new Error("Invalid input object.");var i=(t=o(t)).length;if(1===i)return e;for(var n=1;no,void 0===e[n]&&(Array.isArray(e)&&"-"===n&&(n=e.length),r&&(""!==t[o]&&t[o]<1/0||"-"===t[o]?e[n]=[]:e[n]={})),!r)break;e=e[n]}var c=e[n];return void 0===i?delete e[n]:e[n]=i,c}(e,t,i)}t.get=a,t.set=c,t.compile=function(e){var t=o(e);return{get:function(e){return a(e,t)},set:function(e,i){return c(e,t,i)}}}},76502:e=>{"use strict";const t=[],i=[],n=(e,n)=>{if(e===n)return 0;const r=e;e.length>n.length&&(e=n,n=r);let s=e.length,o=n.length;for(;s>0&&e.charCodeAt(~-s)===n.charCodeAt(~-o);)s--,o--;let a,c,p,d,f=0;for(;fc?d>c?c+1:d:d>p?p+1:d;return c};e.exports=n,e.exports.default=n},86981:(e,t,i)=>{var n,r="__lodash_hash_undefined__",s="[object Function]",o="[object GeneratorFunction]",a="[object Symbol]",c=/^\./,p=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,d=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,l="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,u="object"==typeof self&&self&&self.Object===Object&&self,m=l||u||Function("return this")(),h=Array.prototype,y=Function.prototype,g=Object.prototype,b=m["__core-js_shared__"],v=(n=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",$=y.toString,j=g.hasOwnProperty,_=g.toString,w=RegExp("^"+$.call(j).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),x=m.Symbol,P=h.splice,S=q(m,"Map"),O=q(Object,"create"),E=x?x.prototype:void 0,A=E?E.toString:void 0;function T(e){var t=-1,i=e?e.length:0;for(this.clear();++t-1},I.prototype.set=function(e,t){var i=this.__data__,n=R(i,e);return n<0?i.push([e,t]):i[n][1]=t,this},k.prototype.clear=function(){this.__data__={hash:new T,map:new(S||I),string:new T}},k.prototype.delete=function(e){return M(this,e).delete(e)},k.prototype.get=function(e){return M(this,e).get(e)},k.prototype.has=function(e){return M(this,e).has(e)},k.prototype.set=function(e,t){return M(this,e).set(e,t),this};var C=D((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(V(e))return A?A.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var i=[];return c.test(e)&&i.push(""),e.replace(p,(function(e,t,n,r){i.push(n?r.replace(d,"$1"):t||e)})),i}));function N(e){if("string"==typeof e||V(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function D(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],s=i.cache;if(s.has(r))return s.get(r);var o=e.apply(this,n);return i.cache=s.set(r,o),o};return i.cache=new(D.Cache||k),i}D.Cache=k;var F=Array.isArray;function U(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function V(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&_.call(e)==a}e.exports=function(e){return F(e)?function(e,t){for(var i=-1,n=e?e.length:0,r=Array(n);++i{var n=i(23305),r=i(39361),s=i(11112),o=i(25276),a=i(57452);function c(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t{var n=i(12393),r=i(62049),s=i(7144),o=i(7452),a=i(13964);function c(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t{var n=i(94715)(i(78942),"Map");e.exports=n},68250:(e,t,i)=>{var n=i(49753),r=i(5681),s=i(80088),o=i(54732),a=i(59068);function c(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t{var n=i(78942).Symbol;e.exports=n},65111:e=>{e.exports=function(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i{var n=i(57073),r=i(46285),s=Object.prototype.hasOwnProperty;e.exports=function(e,t,i){var o=e[t];s.call(e,t)&&r(o,i)&&(void 0!==i||t in e)||n(e,t,i)}},97034:(e,t,i)=>{var n=i(46285);e.exports=function(e,t){for(var i=e.length;i--;)if(n(e[i][0],t))return i;return-1}},57073:(e,t,i)=>{var n=i(72532);e.exports=function(e,t,i){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i}},57923:(e,t,i)=>{var n=i(93526),r=i(66040);e.exports=function(e,t){for(var i=0,s=(t=n(t,e)).length;null!=e&&i{var n=i(65650),r=i(8870),s=i(29005),o=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?r(e):s(e)}},89624:(e,t,i)=>{var n=i(93655),r=i(64759),s=i(41580),o=i(64066),a=/^\[object .+?Constructor\]$/,c=Function.prototype,p=Object.prototype,d=c.toString,f=p.hasOwnProperty,l=RegExp("^"+d.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!s(e)||r(e))&&(n(e)?l:a).test(o(e))}},87655:(e,t,i)=>{var n=i(3422),r=i(93526),s=i(69632),o=i(41580),a=i(66040);e.exports=function(e,t,i,c){if(!o(e))return e;for(var p=-1,d=(t=r(t,e)).length,f=d-1,l=e;null!=l&&++p{var n=i(65650),r=i(65111),s=i(53142),o=i(51187),a=n?n.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(s(t))return r(t,e)+"";if(o(t))return c?c.call(t):"";var i=t+"";return"0"==i&&1/t==-1/0?"-0":i}},93526:(e,t,i)=>{var n=i(53142),r=i(65187),s=i(96493),o=i(95243);e.exports=function(e,t){return n(e)?e:r(e,t)?[e]:s(o(e))}},41950:(e,t,i)=>{var n=i(78942)["__core-js_shared__"];e.exports=n},72532:(e,t,i)=>{var n=i(94715),r=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=r},74967:(e,t,i)=>{var n="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;e.exports=n},44700:(e,t,i)=>{var n=i(79067);e.exports=function(e,t){var i=e.__data__;return n(t)?i["string"==typeof t?"string":"hash"]:i.map}},94715:(e,t,i)=>{var n=i(89624),r=i(20155);e.exports=function(e,t){var i=r(e,t);return n(i)?i:void 0}},8870:(e,t,i)=>{var n=i(65650),r=Object.prototype,s=r.hasOwnProperty,o=r.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=s.call(e,a),i=e[a];try{e[a]=void 0;var n=!0}catch(e){}var r=o.call(e);return n&&(t?e[a]=i:delete e[a]),r}},20155:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},23305:(e,t,i)=>{var n=i(94497);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},39361:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},11112:(e,t,i)=>{var n=i(94497),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var i=t[e];return"__lodash_hash_undefined__"===i?void 0:i}return r.call(t,e)?t[e]:void 0}},25276:(e,t,i)=>{var n=i(94497),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:r.call(t,e)}},57452:(e,t,i)=>{var n=i(94497);e.exports=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},69632:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,i){var n=typeof e;return!!(i=null==i?9007199254740991:i)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e{var n=i(53142),r=i(51187),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!r(e))||o.test(e)||!s.test(e)||null!=t&&e in Object(t)}},79067:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},64759:(e,t,i)=>{var n,r=i(41950),s=(n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!s&&s in e}},12393:e=>{e.exports=function(){this.__data__=[],this.size=0}},62049:(e,t,i)=>{var n=i(97034),r=Array.prototype.splice;e.exports=function(e){var t=this.__data__,i=n(t,e);return!(i<0||(i==t.length-1?t.pop():r.call(t,i,1),--this.size,0))}},7144:(e,t,i)=>{var n=i(97034);e.exports=function(e){var t=this.__data__,i=n(t,e);return i<0?void 0:t[i][1]}},7452:(e,t,i)=>{var n=i(97034);e.exports=function(e){return n(this.__data__,e)>-1}},13964:(e,t,i)=>{var n=i(97034);e.exports=function(e,t){var i=this.__data__,r=n(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}},49753:(e,t,i)=>{var n=i(25098),r=i(1386),s=i(19770);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(s||r),string:new n}}},5681:(e,t,i)=>{var n=i(44700);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},80088:(e,t,i)=>{var n=i(44700);e.exports=function(e){return n(this,e).get(e)}},54732:(e,t,i)=>{var n=i(44700);e.exports=function(e){return n(this,e).has(e)}},59068:(e,t,i)=>{var n=i(44700);e.exports=function(e,t){var i=n(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}},76853:(e,t,i)=>{var n=i(69011);e.exports=function(e){var t=n(e,(function(e){return 500===i.size&&i.clear(),e})),i=t.cache;return t}},94497:(e,t,i)=>{var n=i(94715)(Object,"create");e.exports=n},29005:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},78942:(e,t,i)=>{var n=i(74967),r="object"==typeof self&&self&&self.Object===Object&&self,s=n||r||Function("return this")();e.exports=s},96493:(e,t,i)=>{var n=i(76853),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,o=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r,(function(e,i,n,r){t.push(n?r.replace(s,"$1"):i||e)})),t}));e.exports=o},66040:(e,t,i)=>{var n=i(51187);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},64066:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},46285:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},46123:(e,t,i)=>{var n=i(57923);e.exports=function(e,t,i){var r=null==e?void 0:n(e,t);return void 0===r?i:r}},53142:e=>{var t=Array.isArray;e.exports=t},93655:(e,t,i)=>{var n=i(87379),r=i(41580);e.exports=function(e){if(!r(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},41580:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},80547:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},51187:(e,t,i)=>{var n=i(87379),r=i(80547);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==n(e)}},45250:function(e,t,i){var n;e=i.nmd(e),function(){var r,s="Expected a function",o="__lodash_hash_undefined__",a="__lodash_placeholder__",c=32,p=128,d=1/0,f=9007199254740991,l=NaN,u=4294967295,m=[["ary",p],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],h="[object Arguments]",y="[object Array]",g="[object Boolean]",b="[object Date]",v="[object Error]",$="[object Function]",j="[object GeneratorFunction]",_="[object Map]",w="[object Number]",x="[object Object]",P="[object Promise]",S="[object RegExp]",O="[object Set]",E="[object String]",A="[object Symbol]",T="[object WeakMap]",I="[object ArrayBuffer]",k="[object DataView]",R="[object Float32Array]",M="[object Float64Array]",q="[object Int8Array]",C="[object Int16Array]",N="[object Int32Array]",D="[object Uint8Array]",F="[object Uint8ClampedArray]",U="[object Uint16Array]",V="[object Uint32Array]",L=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,B=/(__e\(.*?\)|\b__t\)) \+\n'';/g,K=/&(?:amp|lt|gt|quot|#39);/g,G=/[&<>"']/g,H=RegExp(K.source),J=RegExp(G.source),W=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,Y=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ie=RegExp(te.source),ne=/^\s+/,re=/\s/,se=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,ce=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pe=/[()=,{}\[\]\/\s]/,de=/\\(\\)?/g,fe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,le=/\w*$/,ue=/^[-+]0x[0-9a-f]+$/i,me=/^0b[01]+$/i,he=/^\[object .+?Constructor\]$/,ye=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,be=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ve=/($^)/,$e=/['\n\r\u2028\u2029\\]/g,je="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",xe="a-z\\xdf-\\xf6\\xf8-\\xff",Pe="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Oe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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",Ee="["+je+"]",Ae="["+Oe+"]",Te="["+_e+"]",Ie="\\d+",ke="["+we+"]",Re="["+xe+"]",Me="[^"+je+Oe+Ie+we+xe+Pe+"]",qe="\\ud83c[\\udffb-\\udfff]",Ce="[^"+je+"]",Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Pe+"]",Ue="\\u200d",Ve="(?:"+Re+"|"+Me+")",Le="(?:"+Fe+"|"+Me+")",ze="(?:['’](?:d|ll|m|re|s|t|ve))?",Be="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ke="(?:"+Te+"|"+qe+")?",Ge="["+Se+"]?",He=Ge+Ke+"(?:"+Ue+"(?:"+[Ce,Ne,De].join("|")+")"+Ge+Ke+")*",Je="(?:"+[ke,Ne,De].join("|")+")"+He,We="(?:"+[Ce+Te+"?",Te,Ne,De,Ee].join("|")+")",Qe=RegExp("['’]","g"),Ze=RegExp(Te,"g"),Ye=RegExp(qe+"(?="+qe+")|"+We+He,"g"),Xe=RegExp([Fe+"?"+Re+"+"+ze+"(?="+[Ae,Fe,"$"].join("|")+")",Le+"+"+Be+"(?="+[Ae,Fe+Ve,"$"].join("|")+")",Fe+"?"+Ve+"+"+ze,Fe+"+"+Be,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ie,Je].join("|"),"g"),et=RegExp("["+Ue+je+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,it=["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"],nt=-1,rt={};rt[R]=rt[M]=rt[q]=rt[C]=rt[N]=rt[D]=rt[F]=rt[U]=rt[V]=!0,rt[h]=rt[y]=rt[I]=rt[g]=rt[k]=rt[b]=rt[v]=rt[$]=rt[_]=rt[w]=rt[x]=rt[S]=rt[O]=rt[E]=rt[T]=!1;var st={};st[h]=st[y]=st[I]=st[k]=st[g]=st[b]=st[R]=st[M]=st[q]=st[C]=st[N]=st[_]=st[w]=st[x]=st[S]=st[O]=st[E]=st[A]=st[D]=st[F]=st[U]=st[V]=!0,st[v]=st[$]=st[T]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},at=parseFloat,ct=parseInt,pt="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,dt="object"==typeof self&&self&&self.Object===Object&&self,ft=pt||dt||Function("return this")(),lt=t&&!t.nodeType&&t,ut=lt&&e&&!e.nodeType&&e,mt=ut&&ut.exports===lt,ht=mt&&pt.process,yt=function(){try{return ut&&ut.require&&ut.require("util").types||ht&&ht.binding&&ht.binding("util")}catch(e){}}(),gt=yt&&yt.isArrayBuffer,bt=yt&&yt.isDate,vt=yt&&yt.isMap,$t=yt&&yt.isRegExp,jt=yt&&yt.isSet,_t=yt&&yt.isTypedArray;function wt(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)}function xt(e,t,i,n){for(var r=-1,s=null==e?0:e.length;++r-1}function Tt(e,t,i){for(var n=-1,r=null==e?0:e.length;++n-1;);return i}function Xt(e,t){for(var i=e.length;i--&&Ft(t,e[i],0)>-1;);return i}var ei=Bt({À:"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"}),ti=Bt({"&":"&","<":"<",">":">",'"':""","'":"'"});function ii(e){return"\\"+ot[e]}function ni(e){return et.test(e)}function ri(e){var t=-1,i=Array(e.size);return e.forEach((function(e,n){i[++t]=[n,e]})),i}function si(e,t){return function(i){return e(t(i))}}function oi(e,t){for(var i=-1,n=e.length,r=0,s=[];++i",""":'"',"'":"'"}),ui=function e(t){var i,n=(t=null==t?ft:ui.defaults(ft.Object(),t,ui.pick(ft,it))).Array,re=t.Date,je=t.Error,_e=t.Function,we=t.Math,xe=t.Object,Pe=t.RegExp,Se=t.String,Oe=t.TypeError,Ee=n.prototype,Ae=_e.prototype,Te=xe.prototype,Ie=t["__core-js_shared__"],ke=Ae.toString,Re=Te.hasOwnProperty,Me=0,qe=(i=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",Ce=Te.toString,Ne=ke.call(xe),De=ft._,Fe=Pe("^"+ke.call(Re).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ue=mt?t.Buffer:r,Ve=t.Symbol,Le=t.Uint8Array,ze=Ue?Ue.allocUnsafe:r,Be=si(xe.getPrototypeOf,xe),Ke=xe.create,Ge=Te.propertyIsEnumerable,He=Ee.splice,Je=Ve?Ve.isConcatSpreadable:r,We=Ve?Ve.iterator:r,Ye=Ve?Ve.toStringTag:r,et=function(){try{var e=cs(xe,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==ft.clearTimeout&&t.clearTimeout,pt=re&&re.now!==ft.Date.now&&re.now,dt=t.setTimeout!==ft.setTimeout&&t.setTimeout,lt=we.ceil,ut=we.floor,ht=xe.getOwnPropertySymbols,yt=Ue?Ue.isBuffer:r,Ct=t.isFinite,Bt=Ee.join,mi=si(xe.keys,xe),hi=we.max,yi=we.min,gi=re.now,bi=t.parseInt,vi=we.random,$i=Ee.reverse,ji=cs(t,"DataView"),_i=cs(t,"Map"),wi=cs(t,"Promise"),xi=cs(t,"Set"),Pi=cs(t,"WeakMap"),Si=cs(xe,"create"),Oi=Pi&&new Pi,Ei={},Ai=Cs(ji),Ti=Cs(_i),Ii=Cs(wi),ki=Cs(xi),Ri=Cs(Pi),Mi=Ve?Ve.prototype:r,qi=Mi?Mi.valueOf:r,Ci=Mi?Mi.toString:r;function Ni(e){if(ea(e)&&!zo(e)&&!(e instanceof Vi)){if(e instanceof Ui)return e;if(Re.call(e,"__wrapped__"))return Ns(e)}return new Ui(e)}var Di=function(){function e(){}return function(t){if(!Xo(t))return{};if(Ke)return Ke(t);e.prototype=t;var i=new e;return e.prototype=r,i}}();function Fi(){}function Ui(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vi(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=u,this.__views__=[]}function Li(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function on(e,t,i,n,s,o){var a,c=1&t,p=2&t,d=4&t;if(i&&(a=s?i(e,n,s,o):i(e)),a!==r)return a;if(!Xo(e))return e;var f=zo(e);if(f){if(a=function(e){var t=e.length,i=new e.constructor(t);return t&&"string"==typeof e[0]&&Re.call(e,"index")&&(i.index=e.index,i.input=e.input),i}(e),!c)return Sr(e,a)}else{var l=fs(e),u=l==$||l==j;if(Ho(e))return $r(e,c);if(l==x||l==h||u&&!s){if(a=p||u?{}:us(e),!c)return p?function(e,t){return Or(e,ds(e),t)}(e,function(e,t){return e&&Or(t,Ia(t),e)}(a,e)):function(e,t){return Or(e,ps(e),t)}(e,tn(a,e))}else{if(!st[l])return s?e:{};a=function(e,t,i){var n,r=e.constructor;switch(t){case I:return jr(e);case g:case b:return new r(+e);case k:return function(e,t){var i=t?jr(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}(e,i);case R:case M:case q:case C:case N:case D:case F:case U:case V:return _r(e,i);case _:return new r;case w:case E:return new r(e);case S:return function(e){var t=new e.constructor(e.source,le.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return new r;case A:return n=e,qi?xe(qi.call(n)):{}}}(e,l,c)}}o||(o=new Gi);var m=o.get(e);if(m)return m;o.set(e,a),sa(e)?e.forEach((function(n){a.add(on(n,t,i,n,e,o))})):ta(e)&&e.forEach((function(n,r){a.set(r,on(n,t,i,r,e,o))}));var y=f?r:(d?p?ts:es:p?Ia:Ta)(e);return Pt(y||e,(function(n,r){y&&(n=e[r=n]),Yi(a,r,on(n,t,i,r,e,o))})),a}function an(e,t,i){var n=i.length;if(null==e)return!n;for(e=xe(e);n--;){var s=i[n],o=t[s],a=e[s];if(a===r&&!(s in e)||!o(a))return!1}return!0}function cn(e,t,i){if("function"!=typeof e)throw new Oe(s);return Os((function(){e.apply(r,i)}),t)}function pn(e,t,i,n){var r=-1,s=At,o=!0,a=e.length,c=[],p=t.length;if(!a)return c;i&&(t=It(t,Wt(i))),n?(s=Tt,o=!1):t.length>=200&&(s=Zt,o=!1,t=new Ki(t));e:for(;++r-1},zi.prototype.set=function(e,t){var i=this.__data__,n=Xi(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},Bi.prototype.clear=function(){this.size=0,this.__data__={hash:new Li,map:new(_i||zi),string:new Li}},Bi.prototype.delete=function(e){var t=os(this,e).delete(e);return this.size-=t?1:0,t},Bi.prototype.get=function(e){return os(this,e).get(e)},Bi.prototype.has=function(e){return os(this,e).has(e)},Bi.prototype.set=function(e,t){var i=os(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},Ki.prototype.add=Ki.prototype.push=function(e){return this.__data__.set(e,o),this},Ki.prototype.has=function(e){return this.__data__.has(e)},Gi.prototype.clear=function(){this.__data__=new zi,this.size=0},Gi.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},Gi.prototype.get=function(e){return this.__data__.get(e)},Gi.prototype.has=function(e){return this.__data__.has(e)},Gi.prototype.set=function(e,t){var i=this.__data__;if(i instanceof zi){var n=i.__data__;if(!_i||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new Bi(n)}return i.set(e,t),this.size=i.size,this};var dn=Tr(bn),fn=Tr(vn,!0);function ln(e,t){var i=!0;return dn(e,(function(e,n,r){return i=!!t(e,n,r)})),i}function un(e,t,i){for(var n=-1,s=e.length;++n0&&i(a)?t>1?hn(a,t-1,i,n,r):kt(r,a):n||(r[r.length]=a)}return r}var yn=Ir(),gn=Ir(!0);function bn(e,t){return e&&yn(e,t,Ta)}function vn(e,t){return e&&gn(e,t,Ta)}function $n(e,t){return Et(t,(function(t){return Qo(e[t])}))}function jn(e,t){for(var i=0,n=(t=yr(t,e)).length;null!=e&&it}function Pn(e,t){return null!=e&&Re.call(e,t)}function Sn(e,t){return null!=e&&t in xe(e)}function On(e,t,i){for(var s=i?Tt:At,o=e[0].length,a=e.length,c=a,p=n(a),d=1/0,f=[];c--;){var l=e[c];c&&t&&(l=It(l,Wt(t))),d=yi(l.length,d),p[c]=!i&&(t||o>=120&&l.length>=120)?new Ki(c&&l):r}l=e[0];var u=-1,m=p[0];e:for(;++u=a?c:c*("desc"==i[n]?-1:1)}return e.index-t.index}(e,t,i)}));n--;)e[n]=e[n].value;return e}(r)}function Ln(e,t,i){for(var n=-1,r=t.length,s={};++n-1;)a!==e&&He.call(a,c,1),He.call(e,c,1);return e}function Bn(e,t){for(var i=e?t.length:0,n=i-1;i--;){var r=t[i];if(i==n||r!==s){var s=r;hs(r)?He.call(e,r,1):cr(e,r)}}return e}function Kn(e,t){return e+ut(vi()*(t-e+1))}function Gn(e,t){var i="";if(!e||t<1||t>f)return i;do{t%2&&(i+=e),(t=ut(t/2))&&(e+=e)}while(t);return i}function Hn(e,t){return Es(ws(e,t,ic),e+"")}function Jn(e){return Ji(Fa(e))}function Wn(e,t){var i=Fa(e);return Is(i,sn(t,0,i.length))}function Qn(e,t,i,n){if(!Xo(e))return e;for(var s=-1,o=(t=yr(t,e)).length,a=o-1,c=e;null!=c&&++ss?0:s+t),(i=i>s?s:i)<0&&(i+=s),s=t>i?0:i-t>>>0,t>>>=0;for(var o=n(s);++r>>1,o=e[s];null!==o&&!aa(o)&&(i?o<=t:o=200){var p=t?null:Gr(e);if(p)return ai(p);o=!1,r=Zt,c=new Ki}else c=t?[]:a;e:for(;++n=n?e:er(e,t,i)}var vr=ot||function(e){return ft.clearTimeout(e)};function $r(e,t){if(t)return e.slice();var i=e.length,n=ze?ze(i):new e.constructor(i);return e.copy(n),n}function jr(e){var t=new e.constructor(e.byteLength);return new Le(t).set(new Le(e)),t}function _r(e,t){var i=t?jr(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var i=e!==r,n=null===e,s=e==e,o=aa(e),a=t!==r,c=null===t,p=t==t,d=aa(t);if(!c&&!d&&!o&&e>t||o&&a&&p&&!c&&!d||n&&a&&p||!i&&p||!s)return 1;if(!n&&!o&&!d&&e1?i[s-1]:r,a=s>2?i[2]:r;for(o=e.length>3&&"function"==typeof o?(s--,o):r,a&&ys(i[0],i[1],a)&&(o=s<3?r:o,s=1),t=xe(t);++n-1?s[o?t[a]:a]:r}}function Cr(e){return Xr((function(t){var i=t.length,n=i,o=Ui.prototype.thru;for(e&&t.reverse();n--;){var a=t[n];if("function"!=typeof a)throw new Oe(s);if(o&&!c&&"wrapper"==ns(a))var c=new Ui([],!0)}for(n=c?n:i;++n1&&$.reverse(),u&&fc))return!1;var d=o.get(e),f=o.get(t);if(d&&f)return d==t&&f==e;var l=-1,u=!0,m=2&i?new Ki:r;for(o.set(e,t),o.set(t,e);++l-1&&e%1==0&&e1?"& ":"")+t[n],t=t.join(i>2?", ":" "),e.replace(se,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return Pt(m,(function(i){var n="_."+i[0];t&i[1]&&!At(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(ae):[]}(n),i)))}function Ts(e){var t=0,i=0;return function(){var n=gi(),s=16-(n-i);if(i=n,s>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Is(e,t){var i=-1,n=e.length,s=n-1;for(t=t===r?n:t;++i1?e[t-1]:r;return i="function"==typeof i?(e.pop(),i):r,no(e,i)}));function fo(e){var t=Ni(e);return t.__chain__=!0,t}function lo(e,t){return t(e)}var uo=Xr((function(e){var t=e.length,i=t?e[0]:0,n=this.__wrapped__,s=function(t){return rn(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Vi&&hs(i)?((n=n.slice(i,+i+(t?1:0))).__actions__.push({func:lo,args:[s],thisArg:r}),new Ui(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(r),e}))):this.thru(s)})),mo=Er((function(e,t,i){Re.call(e,i)?++e[i]:nn(e,i,1)})),ho=qr(Vs),yo=qr(Ls);function go(e,t){return(zo(e)?Pt:dn)(e,ss(t,3))}function bo(e,t){return(zo(e)?St:fn)(e,ss(t,3))}var vo=Er((function(e,t,i){Re.call(e,i)?e[i].push(t):nn(e,i,[t])})),$o=Hn((function(e,t,i){var r=-1,s="function"==typeof t,o=Ko(e)?n(e.length):[];return dn(e,(function(e){o[++r]=s?wt(t,e,i):En(e,t,i)})),o})),jo=Er((function(e,t,i){nn(e,i,t)}));function _o(e,t){return(zo(e)?It:Cn)(e,ss(t,3))}var wo=Er((function(e,t,i){e[i?0:1].push(t)}),(function(){return[[],[]]})),xo=Hn((function(e,t){if(null==e)return[];var i=t.length;return i>1&&ys(e,t[0],t[1])?t=[]:i>2&&ys(t[0],t[1],t[2])&&(t=[t[0]]),Vn(e,hn(t,1),[])})),Po=pt||function(){return ft.Date.now()};function So(e,t,i){return t=i?r:t,t=e&&null==t?e.length:t,Jr(e,p,r,r,r,r,t)}function Oo(e,t){var i;if("function"!=typeof t)throw new Oe(s);return e=ua(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Eo=Hn((function(e,t,i){var n=1;if(i.length){var r=oi(i,rs(Eo));n|=c}return Jr(e,n,t,i,r)})),Ao=Hn((function(e,t,i){var n=3;if(i.length){var r=oi(i,rs(Ao));n|=c}return Jr(t,n,e,i,r)}));function To(e,t,i){var n,o,a,c,p,d,f=0,l=!1,u=!1,m=!0;if("function"!=typeof e)throw new Oe(s);function h(t){var i=n,s=o;return n=o=r,f=t,c=e.apply(s,i)}function y(e){var i=e-d;return d===r||i>=t||i<0||u&&e-f>=a}function g(){var e=Po();if(y(e))return b(e);p=Os(g,function(e){var i=t-(e-d);return u?yi(i,a-(e-f)):i}(e))}function b(e){return p=r,m&&n?h(e):(n=o=r,c)}function v(){var e=Po(),i=y(e);if(n=arguments,o=this,d=e,i){if(p===r)return function(e){return f=e,p=Os(g,t),l?h(e):c}(d);if(u)return vr(p),p=Os(g,t),h(d)}return p===r&&(p=Os(g,t)),c}return t=ha(t)||0,Xo(i)&&(l=!!i.leading,a=(u="maxWait"in i)?hi(ha(i.maxWait)||0,t):a,m="trailing"in i?!!i.trailing:m),v.cancel=function(){p!==r&&vr(p),f=0,n=d=o=p=r},v.flush=function(){return p===r?c:b(Po())},v}var Io=Hn((function(e,t){return cn(e,1,t)})),ko=Hn((function(e,t,i){return cn(e,ha(t)||0,i)}));function Ro(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Oe(s);var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],s=i.cache;if(s.has(r))return s.get(r);var o=e.apply(this,n);return i.cache=s.set(r,o)||s,o};return i.cache=new(Ro.Cache||Bi),i}function Mo(e){if("function"!=typeof e)throw new Oe(s);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ro.Cache=Bi;var qo=gr((function(e,t){var i=(t=1==t.length&&zo(t[0])?It(t[0],Wt(ss())):It(hn(t,1),Wt(ss()))).length;return Hn((function(n){for(var r=-1,s=yi(n.length,i);++r=t})),Lo=An(function(){return arguments}())?An:function(e){return ea(e)&&Re.call(e,"callee")&&!Ge.call(e,"callee")},zo=n.isArray,Bo=gt?Wt(gt):function(e){return ea(e)&&wn(e)==I};function Ko(e){return null!=e&&Yo(e.length)&&!Qo(e)}function Go(e){return ea(e)&&Ko(e)}var Ho=yt||hc,Jo=bt?Wt(bt):function(e){return ea(e)&&wn(e)==b};function Wo(e){if(!ea(e))return!1;var t=wn(e);return t==v||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!na(e)}function Qo(e){if(!Xo(e))return!1;var t=wn(e);return t==$||t==j||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Zo(e){return"number"==typeof e&&e==ua(e)}function Yo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=f}function Xo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ea(e){return null!=e&&"object"==typeof e}var ta=vt?Wt(vt):function(e){return ea(e)&&fs(e)==_};function ia(e){return"number"==typeof e||ea(e)&&wn(e)==w}function na(e){if(!ea(e)||wn(e)!=x)return!1;var t=Be(e);if(null===t)return!0;var i=Re.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&ke.call(i)==Ne}var ra=$t?Wt($t):function(e){return ea(e)&&wn(e)==S},sa=jt?Wt(jt):function(e){return ea(e)&&fs(e)==O};function oa(e){return"string"==typeof e||!zo(e)&&ea(e)&&wn(e)==E}function aa(e){return"symbol"==typeof e||ea(e)&&wn(e)==A}var ca=_t?Wt(_t):function(e){return ea(e)&&Yo(e.length)&&!!rt[wn(e)]},pa=zr(qn),da=zr((function(e,t){return e<=t}));function fa(e){if(!e)return[];if(Ko(e))return oa(e)?di(e):Sr(e);if(We&&e[We])return function(e){for(var t,i=[];!(t=e.next()).done;)i.push(t.value);return i}(e[We]());var t=fs(e);return(t==_?ri:t==O?ai:Fa)(e)}function la(e){return e?(e=ha(e))===d||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ua(e){var t=la(e),i=t%1;return t==t?i?t-i:t:0}function ma(e){return e?sn(ua(e),0,u):0}function ha(e){if("number"==typeof e)return e;if(aa(e))return l;if(Xo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Xo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Jt(e);var i=me.test(e);return i||ye.test(e)?ct(e.slice(2),i?2:8):ue.test(e)?l:+e}function ya(e){return Or(e,Ia(e))}function ga(e){return null==e?"":or(e)}var ba=Ar((function(e,t){if($s(t)||Ko(t))Or(t,Ta(t),e);else for(var i in t)Re.call(t,i)&&Yi(e,i,t[i])})),va=Ar((function(e,t){Or(t,Ia(t),e)})),$a=Ar((function(e,t,i,n){Or(t,Ia(t),e,n)})),ja=Ar((function(e,t,i,n){Or(t,Ta(t),e,n)})),_a=Xr(rn),wa=Hn((function(e,t){e=xe(e);var i=-1,n=t.length,s=n>2?t[2]:r;for(s&&ys(t[0],t[1],s)&&(n=1);++i1),t})),Or(e,ts(e),i),n&&(i=on(i,7,Zr));for(var r=t.length;r--;)cr(i,t[r]);return i})),qa=Xr((function(e,t){return null==e?{}:function(e,t){return Ln(e,t,(function(t,i){return Sa(e,i)}))}(e,t)}));function Ca(e,t){if(null==e)return{};var i=It(ts(e),(function(e){return[e]}));return t=ss(t),Ln(e,i,(function(e,i){return t(e,i[0])}))}var Na=Hr(Ta),Da=Hr(Ia);function Fa(e){return null==e?[]:Qt(e,Ta(e))}var Ua=Rr((function(e,t,i){return t=t.toLowerCase(),e+(i?Va(t):t)}));function Va(e){return Wa(ga(e).toLowerCase())}function La(e){return(e=ga(e))&&e.replace(be,ei).replace(Ze,"")}var za=Rr((function(e,t,i){return e+(i?"-":"")+t.toLowerCase()})),Ba=Rr((function(e,t,i){return e+(i?" ":"")+t.toLowerCase()})),Ka=kr("toLowerCase"),Ga=Rr((function(e,t,i){return e+(i?"_":"")+t.toLowerCase()})),Ha=Rr((function(e,t,i){return e+(i?" ":"")+Wa(t)})),Ja=Rr((function(e,t,i){return e+(i?" ":"")+t.toUpperCase()})),Wa=kr("toUpperCase");function Qa(e,t,i){return e=ga(e),(t=i?r:t)===r?function(e){return tt.test(e)}(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.match(ce)||[]}(e):e.match(t)||[]}var Za=Hn((function(e,t){try{return wt(e,r,t)}catch(e){return Wo(e)?e:new je(e)}})),Ya=Xr((function(e,t){return Pt(t,(function(t){t=qs(t),nn(e,t,Eo(e[t],e))})),e}));function Xa(e){return function(){return e}}var ec=Cr(),tc=Cr(!0);function ic(e){return e}function nc(e){return Rn("function"==typeof e?e:on(e,1))}var rc=Hn((function(e,t){return function(i){return En(i,e,t)}})),sc=Hn((function(e,t){return function(i){return En(e,i,t)}}));function oc(e,t,i){var n=Ta(t),r=$n(t,n);null!=i||Xo(t)&&(r.length||!n.length)||(i=t,t=e,e=this,r=$n(t,Ta(t)));var s=!(Xo(i)&&"chain"in i&&!i.chain),o=Qo(e);return Pt(r,(function(i){var n=t[i];e[i]=n,o&&(e.prototype[i]=function(){var t=this.__chain__;if(s||t){var i=e(this.__wrapped__);return(i.__actions__=Sr(this.__actions__)).push({func:n,args:arguments,thisArg:e}),i.__chain__=t,i}return n.apply(e,kt([this.value()],arguments))})})),e}function ac(){}var cc=Ur(It),pc=Ur(Ot),dc=Ur(qt);function fc(e){return gs(e)?zt(qs(e)):function(e){return function(t){return jn(t,e)}}(e)}var lc=Lr(),uc=Lr(!0);function mc(){return[]}function hc(){return!1}var yc,gc=Fr((function(e,t){return e+t}),0),bc=Kr("ceil"),vc=Fr((function(e,t){return e/t}),1),$c=Kr("floor"),jc=Fr((function(e,t){return e*t}),1),_c=Kr("round"),wc=Fr((function(e,t){return e-t}),0);return Ni.after=function(e,t){if("function"!=typeof t)throw new Oe(s);return e=ua(e),function(){if(--e<1)return t.apply(this,arguments)}},Ni.ary=So,Ni.assign=ba,Ni.assignIn=va,Ni.assignInWith=$a,Ni.assignWith=ja,Ni.at=_a,Ni.before=Oo,Ni.bind=Eo,Ni.bindAll=Ya,Ni.bindKey=Ao,Ni.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return zo(e)?e:[e]},Ni.chain=fo,Ni.chunk=function(e,t,i){t=(i?ys(e,t,i):t===r)?1:hi(ua(t),0);var s=null==e?0:e.length;if(!s||t<1)return[];for(var o=0,a=0,c=n(lt(s/t));os?0:s+i),(n=n===r||n>s?s:ua(n))<0&&(n+=s),n=i>n?0:ma(n);i>>0)?(e=ga(e))&&("string"==typeof t||null!=t&&!ra(t))&&!(t=or(t))&&ni(e)?br(di(e),0,i):e.split(t,i):[]},Ni.spread=function(e,t){if("function"!=typeof e)throw new Oe(s);return t=null==t?0:hi(ua(t),0),Hn((function(i){var n=i[t],r=br(i,0,t);return n&&kt(r,n),wt(e,this,r)}))},Ni.tail=function(e){var t=null==e?0:e.length;return t?er(e,1,t):[]},Ni.take=function(e,t,i){return e&&e.length?er(e,0,(t=i||t===r?1:ua(t))<0?0:t):[]},Ni.takeRight=function(e,t,i){var n=null==e?0:e.length;return n?er(e,(t=n-(t=i||t===r?1:ua(t)))<0?0:t,n):[]},Ni.takeRightWhile=function(e,t){return e&&e.length?dr(e,ss(t,3),!1,!0):[]},Ni.takeWhile=function(e,t){return e&&e.length?dr(e,ss(t,3)):[]},Ni.tap=function(e,t){return t(e),e},Ni.throttle=function(e,t,i){var n=!0,r=!0;if("function"!=typeof e)throw new Oe(s);return Xo(i)&&(n="leading"in i?!!i.leading:n,r="trailing"in i?!!i.trailing:r),To(e,t,{leading:n,maxWait:t,trailing:r})},Ni.thru=lo,Ni.toArray=fa,Ni.toPairs=Na,Ni.toPairsIn=Da,Ni.toPath=function(e){return zo(e)?It(e,qs):aa(e)?[e]:Sr(Ms(ga(e)))},Ni.toPlainObject=ya,Ni.transform=function(e,t,i){var n=zo(e),r=n||Ho(e)||ca(e);if(t=ss(t,4),null==i){var s=e&&e.constructor;i=r?n?new s:[]:Xo(e)&&Qo(s)?Di(Be(e)):{}}return(r?Pt:bn)(e,(function(e,n,r){return t(i,e,n,r)})),i},Ni.unary=function(e){return So(e,1)},Ni.union=Xs,Ni.unionBy=eo,Ni.unionWith=to,Ni.uniq=function(e){return e&&e.length?ar(e):[]},Ni.uniqBy=function(e,t){return e&&e.length?ar(e,ss(t,2)):[]},Ni.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?ar(e,r,t):[]},Ni.unset=function(e,t){return null==e||cr(e,t)},Ni.unzip=io,Ni.unzipWith=no,Ni.update=function(e,t,i){return null==e?e:pr(e,t,hr(i))},Ni.updateWith=function(e,t,i,n){return n="function"==typeof n?n:r,null==e?e:pr(e,t,hr(i),n)},Ni.values=Fa,Ni.valuesIn=function(e){return null==e?[]:Qt(e,Ia(e))},Ni.without=ro,Ni.words=Qa,Ni.wrap=function(e,t){return Co(hr(t),e)},Ni.xor=so,Ni.xorBy=oo,Ni.xorWith=ao,Ni.zip=co,Ni.zipObject=function(e,t){return ur(e||[],t||[],Yi)},Ni.zipObjectDeep=function(e,t){return ur(e||[],t||[],Qn)},Ni.zipWith=po,Ni.entries=Na,Ni.entriesIn=Da,Ni.extend=va,Ni.extendWith=$a,oc(Ni,Ni),Ni.add=gc,Ni.attempt=Za,Ni.camelCase=Ua,Ni.capitalize=Va,Ni.ceil=bc,Ni.clamp=function(e,t,i){return i===r&&(i=t,t=r),i!==r&&(i=(i=ha(i))==i?i:0),t!==r&&(t=(t=ha(t))==t?t:0),sn(ha(e),t,i)},Ni.clone=function(e){return on(e,4)},Ni.cloneDeep=function(e){return on(e,5)},Ni.cloneDeepWith=function(e,t){return on(e,5,t="function"==typeof t?t:r)},Ni.cloneWith=function(e,t){return on(e,4,t="function"==typeof t?t:r)},Ni.conformsTo=function(e,t){return null==t||an(e,t,Ta(t))},Ni.deburr=La,Ni.defaultTo=function(e,t){return null==e||e!=e?t:e},Ni.divide=vc,Ni.endsWith=function(e,t,i){e=ga(e),t=or(t);var n=e.length,s=i=i===r?n:sn(ua(i),0,n);return(i-=t.length)>=0&&e.slice(i,s)==t},Ni.eq=Fo,Ni.escape=function(e){return(e=ga(e))&&J.test(e)?e.replace(G,ti):e},Ni.escapeRegExp=function(e){return(e=ga(e))&&ie.test(e)?e.replace(te,"\\$&"):e},Ni.every=function(e,t,i){var n=zo(e)?Ot:ln;return i&&ys(e,t,i)&&(t=r),n(e,ss(t,3))},Ni.find=ho,Ni.findIndex=Vs,Ni.findKey=function(e,t){return Nt(e,ss(t,3),bn)},Ni.findLast=yo,Ni.findLastIndex=Ls,Ni.findLastKey=function(e,t){return Nt(e,ss(t,3),vn)},Ni.floor=$c,Ni.forEach=go,Ni.forEachRight=bo,Ni.forIn=function(e,t){return null==e?e:yn(e,ss(t,3),Ia)},Ni.forInRight=function(e,t){return null==e?e:gn(e,ss(t,3),Ia)},Ni.forOwn=function(e,t){return e&&bn(e,ss(t,3))},Ni.forOwnRight=function(e,t){return e&&vn(e,ss(t,3))},Ni.get=Pa,Ni.gt=Uo,Ni.gte=Vo,Ni.has=function(e,t){return null!=e&&ls(e,t,Pn)},Ni.hasIn=Sa,Ni.head=Bs,Ni.identity=ic,Ni.includes=function(e,t,i,n){e=Ko(e)?e:Fa(e),i=i&&!n?ua(i):0;var r=e.length;return i<0&&(i=hi(r+i,0)),oa(e)?i<=r&&e.indexOf(t,i)>-1:!!r&&Ft(e,t,i)>-1},Ni.indexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var r=null==i?0:ua(i);return r<0&&(r=hi(n+r,0)),Ft(e,t,r)},Ni.inRange=function(e,t,i){return t=la(t),i===r?(i=t,t=0):i=la(i),function(e,t,i){return e>=yi(t,i)&&e=-9007199254740991&&e<=f},Ni.isSet=sa,Ni.isString=oa,Ni.isSymbol=aa,Ni.isTypedArray=ca,Ni.isUndefined=function(e){return e===r},Ni.isWeakMap=function(e){return ea(e)&&fs(e)==T},Ni.isWeakSet=function(e){return ea(e)&&"[object WeakSet]"==wn(e)},Ni.join=function(e,t){return null==e?"":Bt.call(e,t)},Ni.kebabCase=za,Ni.last=Js,Ni.lastIndexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var s=n;return i!==r&&(s=(s=ua(i))<0?hi(n+s,0):yi(s,n-1)),t==t?function(e,t,i){for(var n=i+1;n--;)if(e[n]===t)return n;return n}(e,t,s):Dt(e,Vt,s,!0)},Ni.lowerCase=Ba,Ni.lowerFirst=Ka,Ni.lt=pa,Ni.lte=da,Ni.max=function(e){return e&&e.length?un(e,ic,xn):r},Ni.maxBy=function(e,t){return e&&e.length?un(e,ss(t,2),xn):r},Ni.mean=function(e){return Lt(e,ic)},Ni.meanBy=function(e,t){return Lt(e,ss(t,2))},Ni.min=function(e){return e&&e.length?un(e,ic,qn):r},Ni.minBy=function(e,t){return e&&e.length?un(e,ss(t,2),qn):r},Ni.stubArray=mc,Ni.stubFalse=hc,Ni.stubObject=function(){return{}},Ni.stubString=function(){return""},Ni.stubTrue=function(){return!0},Ni.multiply=jc,Ni.nth=function(e,t){return e&&e.length?Un(e,ua(t)):r},Ni.noConflict=function(){return ft._===this&&(ft._=De),this},Ni.noop=ac,Ni.now=Po,Ni.pad=function(e,t,i){e=ga(e);var n=(t=ua(t))?pi(e):0;if(!t||n>=t)return e;var r=(t-n)/2;return Vr(ut(r),i)+e+Vr(lt(r),i)},Ni.padEnd=function(e,t,i){e=ga(e);var n=(t=ua(t))?pi(e):0;return t&&nt){var n=e;e=t,t=n}if(i||e%1||t%1){var s=vi();return yi(e+s*(t-e+at("1e-"+((s+"").length-1))),t)}return Kn(e,t)},Ni.reduce=function(e,t,i){var n=zo(e)?Rt:Kt,r=arguments.length<3;return n(e,ss(t,4),i,r,dn)},Ni.reduceRight=function(e,t,i){var n=zo(e)?Mt:Kt,r=arguments.length<3;return n(e,ss(t,4),i,r,fn)},Ni.repeat=function(e,t,i){return t=(i?ys(e,t,i):t===r)?1:ua(t),Gn(ga(e),t)},Ni.replace=function(){var e=arguments,t=ga(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Ni.result=function(e,t,i){var n=-1,s=(t=yr(t,e)).length;for(s||(s=1,e=r);++nf)return[];var i=u,n=yi(e,u);t=ss(t),e-=u;for(var r=Ht(n,t);++i=o)return e;var c=i-pi(n);if(c<1)return n;var p=a?br(a,0,c).join(""):e.slice(0,c);if(s===r)return p+n;if(a&&(c+=p.length-c),ra(s)){if(e.slice(c).search(s)){var d,f=p;for(s.global||(s=Pe(s.source,ga(le.exec(s))+"g")),s.lastIndex=0;d=s.exec(f);)var l=d.index;p=p.slice(0,l===r?c:l)}}else if(e.indexOf(or(s),c)!=c){var u=p.lastIndexOf(s);u>-1&&(p=p.slice(0,u))}return p+n},Ni.unescape=function(e){return(e=ga(e))&&H.test(e)?e.replace(K,li):e},Ni.uniqueId=function(e){var t=++Me;return ga(e)+t},Ni.upperCase=Ja,Ni.upperFirst=Wa,Ni.each=go,Ni.eachRight=bo,Ni.first=Bs,oc(Ni,(yc={},bn(Ni,(function(e,t){Re.call(Ni.prototype,t)||(yc[t]=e)})),yc),{chain:!1}),Ni.VERSION="4.17.21",Pt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Ni[e].placeholder=Ni})),Pt(["drop","take"],(function(e,t){Vi.prototype[e]=function(i){i=i===r?1:hi(ua(i),0);var n=this.__filtered__&&!t?new Vi(this):this.clone();return n.__filtered__?n.__takeCount__=yi(i,n.__takeCount__):n.__views__.push({size:yi(i,u),type:e+(n.__dir__<0?"Right":"")}),n},Vi.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Pt(["filter","map","takeWhile"],(function(e,t){var i=t+1,n=1==i||3==i;Vi.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ss(e,3),type:i}),t.__filtered__=t.__filtered__||n,t}})),Pt(["head","last"],(function(e,t){var i="take"+(t?"Right":"");Vi.prototype[e]=function(){return this[i](1).value()[0]}})),Pt(["initial","tail"],(function(e,t){var i="drop"+(t?"":"Right");Vi.prototype[e]=function(){return this.__filtered__?new Vi(this):this[i](1)}})),Vi.prototype.compact=function(){return this.filter(ic)},Vi.prototype.find=function(e){return this.filter(e).head()},Vi.prototype.findLast=function(e){return this.reverse().find(e)},Vi.prototype.invokeMap=Hn((function(e,t){return"function"==typeof e?new Vi(this):this.map((function(i){return En(i,e,t)}))})),Vi.prototype.reject=function(e){return this.filter(Mo(ss(e)))},Vi.prototype.slice=function(e,t){e=ua(e);var i=this;return i.__filtered__&&(e>0||t<0)?new Vi(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(i=(t=ua(t))<0?i.dropRight(-t):i.take(t-e)),i)},Vi.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vi.prototype.toArray=function(){return this.take(u)},bn(Vi.prototype,(function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),s=Ni[n?"take"+("last"==t?"Right":""):t],o=n||/^find/.test(t);s&&(Ni.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,c=t instanceof Vi,p=a[0],d=c||zo(t),f=function(e){var t=s.apply(Ni,kt([e],a));return n&&l?t[0]:t};d&&i&&"function"==typeof p&&1!=p.length&&(c=d=!1);var l=this.__chain__,u=!!this.__actions__.length,m=o&&!l,h=c&&!u;if(!o&&d){t=h?t:new Vi(this);var y=e.apply(t,a);return y.__actions__.push({func:lo,args:[f],thisArg:r}),new Ui(y,l)}return m&&h?e.apply(this,a):(y=this.thru(f),m?n?y.value()[0]:y.value():y)})})),Pt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ee[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);Ni.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var r=this.value();return t.apply(zo(r)?r:[],e)}return this[i]((function(i){return t.apply(zo(i)?i:[],e)}))}})),bn(Vi.prototype,(function(e,t){var i=Ni[t];if(i){var n=i.name+"";Re.call(Ei,n)||(Ei[n]=[]),Ei[n].push({name:t,func:i})}})),Ei[Nr(r,2).name]=[{name:"wrapper",func:r}],Vi.prototype.clone=function(){var e=new Vi(this.__wrapped__);return e.__actions__=Sr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sr(this.__views__),e},Vi.prototype.reverse=function(){if(this.__filtered__){var e=new Vi(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vi.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,i=zo(e),n=t<0,r=i?e.length:0,s=function(e,t,i){for(var n=-1,r=i.length;++n=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},Ni.prototype.plant=function(e){for(var t,i=this;i instanceof Fi;){var n=Ns(i);n.__index__=0,n.__values__=r,t?s.__wrapped__=n:t=n;var s=n;i=i.__wrapped__}return s.__wrapped__=e,t},Ni.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vi){var t=e;return this.__actions__.length&&(t=new Vi(this)),(t=t.reverse()).__actions__.push({func:lo,args:[Ys],thisArg:r}),new Ui(t,this.__chain__)}return this.thru(Ys)},Ni.prototype.toJSON=Ni.prototype.valueOf=Ni.prototype.value=function(){return fr(this.__wrapped__,this.__actions__)},Ni.prototype.first=Ni.prototype.head,We&&(Ni.prototype[We]=function(){return this}),Ni}();ft._=ui,(n=function(){return ui}.call(t,i,t,e))===r||(e.exports=n)}.call(this)},69011:(e,t,i)=>{var n=i(68250);function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],s=i.cache;if(s.has(r))return s.get(r);var o=e.apply(this,n);return i.cache=s.set(r,o)||s,o};return i.cache=new(r.Cache||n),i}r.Cache=n,e.exports=r},41263:(e,t,i)=>{var n=i(87655);e.exports=function(e,t,i){return null==e?e:n(e,t,i)}},95243:(e,t,i)=>{var n=i(52291);e.exports=function(e){return null==e?"":n(e)}},98203:(e,t)=>{"use strict";var i=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==i)return i;throw new Error("unable to locate global object")}();e.exports=t=i.fetch,i.fetch&&(t.default=i.fetch.bind(i)),t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response},48660:(e,t,i)=>{var n="function"==typeof Map&&Map.prototype,r=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,s=n&&r&&"function"==typeof r.get?r.get:null,o=n&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,p=a&&c&&"function"==typeof c.get?c.get:null,d=a&&Set.prototype.forEach,f="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,l="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,u="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,m=Boolean.prototype.valueOf,h=Object.prototype.toString,y=Function.prototype.toString,g=String.prototype.match,b=String.prototype.slice,v=String.prototype.replace,$=String.prototype.toUpperCase,j=String.prototype.toLowerCase,_=RegExp.prototype.test,w=Array.prototype.concat,x=Array.prototype.join,P=Array.prototype.slice,S=Math.floor,O="function"==typeof BigInt?BigInt.prototype.valueOf:null,E=Object.getOwnPropertySymbols,A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"==typeof Symbol&&"object"==typeof Symbol.iterator,I="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,k=Object.prototype.propertyIsEnumerable,R=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function M(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||_.call(/e/,t))return t;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var n=e<0?-S(-e):S(e);if(n!==e){var r=String(n),s=b.call(t,r.length+1);return v.call(r,i,"$&_")+"."+v.call(v.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(t,i,"$&_")}var q=i(86973),C=q.custom,N=L(C)?C:null;function D(e,t,i){var n="double"===(i.quoteStyle||t)?'"':"'";return n+e+n}function F(e){return v.call(String(e),/"/g,""")}function U(e){return!("[object Array]"!==K(e)||I&&"object"==typeof e&&I in e)}function V(e){return!("[object RegExp]"!==K(e)||I&&"object"==typeof e&&I in e)}function L(e){if(T)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!A)return!1;try{return A.call(e),!0}catch(e){}return!1}e.exports=function e(t,n,r,a){var c=n||{};if(B(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(B(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var h=!B(c,"customInspect")||c.customInspect;if("boolean"!=typeof h&&"symbol"!==h)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(B(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(B(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var $=c.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return H(t,c);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var _=String(t);return $?M(t,_):_}if("bigint"==typeof t){var S=String(t)+"n";return $?M(t,S):S}var E=void 0===c.depth?5:c.depth;if(void 0===r&&(r=0),r>=E&&E>0&&"object"==typeof t)return U(t)?"[Array]":"[Object]";var C,z=function(e,t){var i;if("\t"===e.indent)i="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;i=x.call(Array(e.indent+1)," ")}return{base:i,prev:x.call(Array(t+1),i)}}(c,r);if(void 0===a)a=[];else if(G(a,t)>=0)return"[Circular]";function J(t,i,n){if(i&&(a=P.call(a)).push(i),n){var s={depth:c.depth};return B(c,"quoteStyle")&&(s.quoteStyle=c.quoteStyle),e(t,s,r+1,a)}return e(t,c,r+1,a)}if("function"==typeof t&&!V(t)){var ee=function(e){if(e.name)return e.name;var t=g.call(y.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),te=X(t,J);return"[Function"+(ee?": "+ee:" (anonymous)")+"]"+(te.length>0?" { "+x.call(te,", ")+" }":"")}if(L(t)){var ie=T?v.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):A.call(t);return"object"!=typeof t||T?ie:W(ie)}if((C=t)&&"object"==typeof C&&("undefined"!=typeof HTMLElement&&C instanceof HTMLElement||"string"==typeof C.nodeName&&"function"==typeof C.getAttribute)){for(var ne="<"+j.call(String(t.nodeName)),re=t.attributes||[],se=0;se"}if(U(t)){if(0===t.length)return"[]";var oe=X(t,J);return z&&!function(e){for(var t=0;t=0)return!1;return!0}(oe)?"["+Y(oe,z)+"]":"[ "+x.call(oe,", ")+" ]"}if(function(e){return!("[object Error]"!==K(e)||I&&"object"==typeof e&&I in e)}(t)){var ae=X(t,J);return"cause"in Error.prototype||!("cause"in t)||k.call(t,"cause")?0===ae.length?"["+String(t)+"]":"{ ["+String(t)+"] "+x.call(ae,", ")+" }":"{ ["+String(t)+"] "+x.call(w.call("[cause]: "+J(t.cause),ae),", ")+" }"}if("object"==typeof t&&h){if(N&&"function"==typeof t[N]&&q)return q(t,{depth:E-r});if("symbol"!==h&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!s||!e||"object"!=typeof e)return!1;try{s.call(e);try{p.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(t)){var ce=[];return o&&o.call(t,(function(e,i){ce.push(J(i,t,!0)+" => "+J(e,t))})),Z("Map",s.call(t),ce,z)}if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e);try{s.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(t)){var pe=[];return d&&d.call(t,(function(e){pe.push(J(e,t))})),Z("Set",p.call(t),pe,z)}if(function(e){if(!f||!e||"object"!=typeof e)return!1;try{f.call(e,f);try{l.call(e,l)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(t))return Q("WeakMap");if(function(e){if(!l||!e||"object"!=typeof e)return!1;try{l.call(e,l);try{f.call(e,f)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(t))return Q("WeakSet");if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{return u.call(e),!0}catch(e){}return!1}(t))return Q("WeakRef");if(function(e){return!("[object Number]"!==K(e)||I&&"object"==typeof e&&I in e)}(t))return W(J(Number(t)));if(function(e){if(!e||"object"!=typeof e||!O)return!1;try{return O.call(e),!0}catch(e){}return!1}(t))return W(J(O.call(t)));if(function(e){return!("[object Boolean]"!==K(e)||I&&"object"==typeof e&&I in e)}(t))return W(m.call(t));if(function(e){return!("[object String]"!==K(e)||I&&"object"==typeof e&&I in e)}(t))return W(J(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if(t===i.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==K(e)||I&&"object"==typeof e&&I in e)}(t)&&!V(t)){var de=X(t,J),fe=R?R(t)===Object.prototype:t instanceof Object||t.constructor===Object,le=t instanceof Object?"":"null prototype",ue=!fe&&I&&Object(t)===t&&I in t?b.call(K(t),8,-1):le?"Object":"",me=(fe||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(ue||le?"["+x.call(w.call([],ue||[],le||[]),": ")+"] ":"");return 0===de.length?me+"{}":z?me+"{"+Y(de,z)+"}":me+"{ "+x.call(de,", ")+" }"}return String(t)};var z=Object.prototype.hasOwnProperty||function(e){return e in this};function B(e,t){return z.call(e,t)}function K(e){return h.call(e)}function G(e,t){if(e.indexOf)return e.indexOf(t);for(var i=0,n=e.length;it.maxStringLength){var i=e.length-t.maxStringLength,n="... "+i+" more character"+(i>1?"s":"");return H(b.call(e,0,t.maxStringLength),t)+n}return D(v.call(v.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,J),"single",t)}function J(e){var t=e.charCodeAt(0),i={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return i?"\\"+i:"\\x"+(t<16?"0":"")+$.call(t.toString(16))}function W(e){return"Object("+e+")"}function Q(e){return e+" { ? }"}function Z(e,t,i,n){return e+" ("+t+") {"+(n?Y(i,n):x.call(i,", "))+"}"}function Y(e,t){if(0===e.length)return"";var i="\n"+t.prev+t.base;return i+x.call(e,","+i)+"\n"+t.prev}function X(e,t){var i=U(e),n=[];if(i){n.length=e.length;for(var r=0;r{"use strict";var n;if(!Object.keys){var r=Object.prototype.hasOwnProperty,s=Object.prototype.toString,o=i(50968),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),p=a.call((function(){}),"prototype"),d=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(e){var t=e.constructor;return t&&t.prototype===e},l={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},u=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!l["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{f(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();n=function(e){var t=null!==e&&"object"==typeof e,i="[object Function]"===s.call(e),n=o(e),a=t&&"[object String]"===s.call(e),l=[];if(!t&&!i&&!n)throw new TypeError("Object.keys called on a non-object");var m=p&&i;if(a&&e.length>0&&!r.call(e,0))for(var h=0;h0)for(var y=0;y{"use strict";var n=Array.prototype.slice,r=i(50968),s=Object.keys,o=s?function(e){return s(e)}:i(78160),a=Object.keys;o.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return r(e)?a(n.call(e)):a(e)})}else Object.keys=o;return Object.keys||o},e.exports=o},50968:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var i=t.call(e),n="[object Arguments]"===i;return n||(n="[object Array]"!==i&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),n}},59756:e=>{"use strict";class t extends Error{constructor(e,{cause:i}={}){super(e),this.name=t.name,i&&(this.cause=i),this.message=e}}const i=e=>{if(!e)return;const t=e.cause;if("function"==typeof t){const t=e.cause();return t instanceof Error?t:void 0}return t instanceof Error?t:void 0},n=(e,t)=>{if(!(e instanceof Error))return"";const r=e.stack||"";if(t.has(e))return r+"\ncauses have become circular...";const s=i(e);return s?(t.add(e),r+"\ncaused by: "+n(s,t)):r},r=(e,t,n)=>{if(!(e instanceof Error))return"";const s=n?"":e.message||"";if(t.has(e))return s+": ...";const o=i(e);if(o){t.add(e);const i="function"==typeof e.cause;return s+(i?"":": ")+r(o,t,i)}return s};e.exports={ErrorWithCause:t,findCauseByReference:(e,t)=>{if(!e||!t)return;if(!(e instanceof Error))return;if(!(t.prototype instanceof Error)&&t!==Error)return;const n=new Set;let r=e;for(;r&&!n.has(r);){if(n.add(r),r instanceof t)return r;r=i(r)}},getErrorCause:i,stackWithCauses:e=>n(e,new Set),messageWithCauses:e=>r(e,new Set)}},11145:(e,t,i)=>{"use strict";const n=i(70998);e.exports=n,n.default=n},70998:e=>{"use strict";e.exports=function(e,i,n){var r,s="";if(t="",arguments.length>1){if("number"==typeof n)for(r=0;r100)return e.replace(n,s);for(var t="",o=0,a=0;an;)e[i]=e[i-1],i--;e[i]=n}return e}},26108:(e,t,i)=>{"use strict";var n=i(528),r=i(70686),s=i(17239)(),o=i(69336),a=i(3468),c=n("%Math.floor%");e.exports=function(e,t){if("function"!=typeof e)throw new a("`fn` is not a function");if("number"!=typeof t||t<0||t>4294967295||c(t)!==t)throw new a("`length` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],n=!0,p=!0;if("length"in e&&o){var d=o(e,"length");d&&!d.configurable&&(n=!1),d&&!d.writable&&(p=!1)}return(n||p||!i)&&(s?r(e,"length",t,!0,!0):r(e,"length",t)),e}},19343:(e,t,i)=>{"use strict";var n=i(70686),r=i(17239)(),s=i(68993).functionsHaveConfigurableNames(),o=i(3468);e.exports=function(e,t){if("function"!=typeof e)throw new o("`fn` is not a function");return arguments.length>2&&!!arguments[2]&&!s||(r?n(e,"name",t,!0,!0):n(e,"name",t)),e}},77575:(e,t,i)=>{"use strict";var n=i(528),r=i(79818),s=i(48660),o=i(3468),a=n("%WeakMap%",!0),c=n("%Map%",!0),p=r("WeakMap.prototype.get",!0),d=r("WeakMap.prototype.set",!0),f=r("WeakMap.prototype.has",!0),l=r("Map.prototype.get",!0),u=r("Map.prototype.set",!0),m=r("Map.prototype.has",!0),h=function(e,t){for(var i,n=e;null!==(i=n.next);n=i)if(i.key===t)return n.next=i.next,i.next=e.next,e.next=i,i};e.exports=function(){var e,t,i,n={assert:function(e){if(!n.has(e))throw new o("Side channel does not contain "+s(e))},get:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(e)return p(e,n)}else if(c){if(t)return l(t,n)}else if(i)return function(e,t){var i=h(e,t);return i&&i.value}(i,n)},has:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(e)return f(e,n)}else if(c){if(t)return m(t,n)}else if(i)return function(e,t){return!!h(e,t)}(i,n);return!1},set:function(n,r){a&&n&&("object"==typeof n||"function"==typeof n)?(e||(e=new a),d(e,n,r)):c?(t||(t=new c),u(t,n,r)):(i||(i={key:{},next:null}),function(e,t,i){var n=h(e,t);n?n.value=i:e.next={key:t,next:e.next,value:i}}(i,n,r))}};return n}},2862:function(e,t){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),i=0;i1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,r=1;r= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,y=String.fromCharCode;function g(e){throw new RangeError(m[e])}function b(e,t){var i=e.split("@"),n="";return i.length>1&&(n=i[0]+"@",e=i[1]),n+function(e,t){for(var i=[],n=e.length;n--;)i[n]=t(e[n]);return i}((e=e.replace(u,".")).split("."),t).join(".")}function v(e){for(var t=[],i=0,n=e.length;i=55296&&r<=56319&&i>1,e+=h(e/t);e>455;n+=d)e=h(e/35);return h(n+36*e/(e+38))},_=function(e){var t,i=[],n=e.length,r=0,s=128,o=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var c=0;c=128&&g("not-basic"),i.push(e.charCodeAt(c));for(var f=a>0?a+1:0;f=n&&g("invalid-input");var y=(t=e.charCodeAt(f++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:d;(y>=d||y>h((p-r)/u))&&g("overflow"),r+=y*u;var b=m<=o?1:m>=o+26?26:m-o;if(yh(p/v)&&g("overflow"),u*=v}var $=i.length+1;o=j(r-l,$,0==l),h(r/$)>p-s&&g("overflow"),s+=h(r/$),r%=$,i.splice(r++,0,s)}return String.fromCodePoint.apply(String,i)},w=function(e){var t=[],i=(e=v(e)).length,n=128,r=0,s=72,o=!0,a=!1,c=void 0;try{for(var f,l=e[Symbol.iterator]();!(o=(f=l.next()).done);o=!0){var u=f.value;u<128&&t.push(y(u))}}catch(e){a=!0,c=e}finally{try{!o&&l.return&&l.return()}finally{if(a)throw c}}var m=t.length,b=m;for(m&&t.push("-");b=n&&E<_&&(_=E)}}catch(e){x=!0,P=e}finally{try{!w&&O.return&&O.return()}finally{if(x)throw P}}var A=b+1;_-n>h((p-r)/A)&&g("overflow"),r+=(_-n)*A,n=_;var T=!0,I=!1,k=void 0;try{for(var R,M=e[Symbol.iterator]();!(T=(R=M.next()).done);T=!0){var q=R.value;if(qp&&g("overflow"),q==n){for(var C=r,N=d;;N+=d){var D=N<=s?1:N>=s+26?26:N-s;if(C>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function O(e){for(var t="",i=0,n=e.length;i=194&&r<224){if(n-i>=6){var s=parseInt(e.substr(i+4,2),16);t+=String.fromCharCode((31&r)<<6|63&s)}else t+=e.substr(i,6);i+=6}else if(r>=224){if(n-i>=9){var o=parseInt(e.substr(i+4,2),16),a=parseInt(e.substr(i+7,2),16);t+=String.fromCharCode((15&r)<<12|(63&o)<<6|63&a)}else t+=e.substr(i,9);i+=9}else t+=e.substr(i,3),i+=3}return t}function E(e,t){function i(e){var i=O(e);return i.match(t.UNRESERVED)?i:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,i).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,i).replace(t.NOT_USERINFO,S).replace(t.PCT_ENCODED,r)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,i).toLowerCase().replace(t.NOT_HOST,S).replace(t.PCT_ENCODED,r)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,i).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,S).replace(t.PCT_ENCODED,r)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,i).replace(t.NOT_QUERY,S).replace(t.PCT_ENCODED,r)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,i).replace(t.NOT_FRAGMENT,S).replace(t.PCT_ENCODED,r)),e}function A(e){return e.replace(/^0*(.*)/,"$1")||"0"}function T(e,t){var i=e.match(t.IPV4ADDRESS)||[],n=c(i,2)[1];return n?n.split(".").map(A).join("."):e}function I(e,t){var i=e.match(t.IPV6ADDRESS)||[],n=c(i,3),r=n[1],s=n[2];if(r){for(var o=r.toLowerCase().split("::").reverse(),a=c(o,2),p=a[0],d=a[1],f=d?d.split(":").map(A):[],l=p.split(":").map(A),u=t.IPV4ADDRESS.test(l[l.length-1]),m=u?7:8,h=l.length-m,y=Array(m),g=0;g1){var $=y.slice(0,b.index),j=y.slice(b.index+b.length);v=$.join(":")+"::"+j.join(":")}else v=y.join(":");return s&&(v+="%"+s),v}return e}var k=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,R=void 0==="".match(/(){0}/)[1];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i={},n=!1!==t.iri?a:o;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var r=e.match(k);if(r){R?(i.scheme=r[1],i.userinfo=r[3],i.host=r[4],i.port=parseInt(r[5],10),i.path=r[6]||"",i.query=r[7],i.fragment=r[8],isNaN(i.port)&&(i.port=r[5])):(i.scheme=r[1]||void 0,i.userinfo=-1!==e.indexOf("@")?r[3]:void 0,i.host=-1!==e.indexOf("//")?r[4]:void 0,i.port=parseInt(r[5],10),i.path=r[6]||"",i.query=-1!==e.indexOf("?")?r[7]:void 0,i.fragment=-1!==e.indexOf("#")?r[8]:void 0,isNaN(i.port)&&(i.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?r[4]:void 0)),i.host&&(i.host=I(T(i.host,n),n)),void 0!==i.scheme||void 0!==i.userinfo||void 0!==i.host||void 0!==i.port||i.path||void 0!==i.query?void 0===i.scheme?i.reference="relative":void 0===i.fragment?i.reference="absolute":i.reference="uri":i.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==i.reference&&(i.error=i.error||"URI is not a "+t.reference+" reference.");var s=P[(t.scheme||i.scheme||"").toLowerCase()];if(t.unicodeSupport||s&&s.unicodeSupport)E(i,n);else{if(i.host&&(t.domainHost||s&&s.domainHost))try{i.host=x.toASCII(i.host.replace(n.PCT_ENCODED,O).toLowerCase())}catch(e){i.error=i.error||"Host's domain name can not be converted to ASCII via punycode: "+e}E(i,o)}s&&s.parse&&s.parse(i,t)}else i.error=i.error||"URI can not be parsed.";return i}var q=/^\.\.?\//,C=/^\/\.(\/|$)/,N=/^\/\.\.(\/|$)/,D=/^\/?(?:.|\n)*?(?=\/|$)/;function F(e){for(var t=[];e.length;)if(e.match(q))e=e.replace(q,"");else if(e.match(C))e=e.replace(C,"/");else if(e.match(N))e=e.replace(N,"/"),t.pop();else if("."===e||".."===e)e="";else{var i=e.match(D);if(!i)throw new Error("Unexpected dot segment condition");var n=i[0];e=e.slice(n.length),t.push(n)}return t.join("")}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.iri?a:o,n=[],r=P[(t.scheme||e.scheme||"").toLowerCase()];if(r&&r.serialize&&r.serialize(e,t),e.host)if(i.IPV6ADDRESS.test(e.host));else if(t.domainHost||r&&r.domainHost)try{e.host=t.iri?x.toUnicode(e.host):x.toASCII(e.host.replace(i.PCT_ENCODED,O).toLowerCase())}catch(i){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+i}E(e,i),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var s=function(e,t){var i=!1!==t.iri?a:o,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(I(T(String(e.host),i),i).replace(i.IPV6ADDRESS,(function(e,t,i){return"["+t+(i?"%25"+i:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}(e,t);if(void 0!==s&&("suffix"!==t.reference&&n.push("//"),n.push(s),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var c=e.path;t.absolutePath||r&&r.absolutePath||(c=F(c)),void 0===s&&(c=c.replace(/^\/\//,"/%2F")),n.push(c)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function V(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=M(U(e,i),i),t=M(U(t,i),i)),!(i=i||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=F(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=F(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function L(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:o.PCT_ENCODED,O)}var z={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var i="https"===String(e.scheme).toLowerCase();return e.port!==(i?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},B={scheme:"https",domainHost:z.domainHost,parse:z.parse,serialize:z.serialize};function K(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var G={scheme:"ws",domainHost:!0,parse:function(e,t){var i=e;return i.secure=K(i),i.resourceName=(i.path||"/")+(i.query?"?"+i.query:""),i.path=void 0,i.query=void 0,i},serialize:function(e,t){if(e.port!==(K(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var i=e.resourceName.split("?"),n=c(i,2),r=n[0],s=n[1];e.path=r&&"/"!==r?r:void 0,e.query=s,e.resourceName=void 0}return e.fragment=void 0,e}},H={scheme:"wss",domainHost:G.domainHost,parse:G.parse,serialize:G.serialize},J={},W="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Q="[0-9A-Fa-f]",Z=i(i("%[EFef]"+Q+"%"+Q+Q+"%"+Q+Q)+"|"+i("%[89A-Fa-f]"+Q+"%"+Q+Q)+"|"+i("%"+Q+Q)),Y=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),X=new RegExp(W,"g"),ee=new RegExp(Z,"g"),te=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',Y),"g"),ie=new RegExp(t("[^]",W,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),ne=ie;function re(e){var t=O(e);return t.match(X)?t:e}var se={scheme:"mailto",parse:function(e,t){var i=e,n=i.to=i.path?i.path.split(","):[];if(i.path=void 0,i.query){for(var r=!1,s={},o=i.query.split("&"),a=0,c=o.length;a1;a++)i.splice(0,1);n[o]=i.join("")}var c=-1,p=0,d=0,f=-1,l=!1;for(o=0;op&&(c=f,p=d)):"0"===n[o]&&(l=!0,f=o,d=1);d>p&&(c=f,p=d),p>1&&n.splice(c,p,""),r=n.length;var u="";for(""===n[0]&&(u=":"),o=0;o=e.length-1)return!1;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return!1;var r=i.list[e.slice(t+1)];return!!r&&r.indexOf(" "+e.slice(n+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var n=i.list[e.slice(t+1)];return!!n&&n.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return null;var r=i.list[e.slice(t+1)];return r?r.indexOf(" "+e.slice(n+1,t)+" ")<0?null:e.slice(n+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return i}))},99472:function(e,t,i){var n,r,s;!function(o,a){"use strict";e.exports?e.exports=a(i(62675),i(69825),i(71811)):(r=[i(62675),i(69825),i(71811)],void 0===(s="function"==typeof(n=a)?n.apply(t,r):n)||(e.exports=s))}(0,(function(e,t,i,n){"use strict";var r=n&&n.URI;function s(e,t){var i=arguments.length>=1;if(!(this instanceof s))return i?arguments.length>=2?new s(e,t):new s(e):new s;if(void 0===e){if(i)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&i)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}s.version="1.19.11";var o=s.prototype,a=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function p(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function d(e){return"Array"===p(e)}function f(e,t){var i,n,r={};if("RegExp"===p(t))r=null;else if(d(t))for(i=0,n=t.length;i]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,s.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},s.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,s.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},s.hostProtocols=["http","https"],s.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,s.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},s.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return s.domAttributes[t]}},s.encode=y,s.decode=decodeURIComponent,s.iso8859=function(){s.encode=escape,s.decode=unescape},s.unicode=function(){s.encode=y,s.decode=decodeURIComponent},s.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},s.encodeQuery=function(e,t){var i=s.encode(e+"");return void 0===t&&(t=s.escapeQuerySpace),t?i.replace(/%20/g,"+"):i},s.decodeQuery=function(e,t){e+="",void 0===t&&(t=s.escapeQuerySpace);try{return s.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var g,b={encode:"encode",decode:"decode"},v=function(e,t){return function(i){try{return s[t](i+"").replace(s.characters[e][t].expression,(function(i){return s.characters[e][t].map[i]}))}catch(e){return i}}};for(g in b)s[g+"PathSegment"]=v("pathname",b[g]),s[g+"UrnPathSegment"]=v("urnpath",b[g]);var $=function(e,t,i){return function(n){var r;r=i?function(e){return s[t](s[i](e))}:s[t];for(var o=(n+"").split(e),a=0,c=o.length;a-1&&(t.fragment=e.substring(i+1)||null,e=e.substring(0,i)),(i=e.indexOf("?"))>-1&&(t.query=e.substring(i+1)||null,e=e.substring(0,i)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=s.parseAuthority(e,t)):(i=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,i)||null,t.protocol&&!t.protocol.match(s.protocol_expression)?t.protocol=void 0:"//"===e.substring(i+1,i+3).replace(/\\/g,"/")?(e=e.substring(i+3),e=s.parseAuthority(e,t)):(e=e.substring(i+1),t.urn=!0)),t.path=e,t},s.parseHost=function(e,t){e||(e="");var i,n,r=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===r&&(r=e.length),"["===e.charAt(0))i=e.indexOf("]"),t.hostname=e.substring(1,i)||null,t.port=e.substring(i+2,r)||null,"/"===t.port&&(t.port=null);else{var o=e.indexOf(":"),a=e.indexOf("/"),c=e.indexOf(":",o+1);-1!==c&&(-1===a||c-1?r:e.length-1);return o>-1&&(-1===r||o-1?u.slice(0,m)+u.slice(m).replace(o,""):u.replace(o,"")).length<=p[0].length||i.ignore&&i.ignore.test(u))){var g=t(u,d,l=d+u.length,e);void 0!==g?(g=String(g),e=e.slice(0,d)+g+e.slice(l),n.lastIndex=d+g.length):n.lastIndex=l}}return n.lastIndex=0,e},s.ensureValidHostname=function(t,i){var n=!!t,r=!1;if(!!i&&(r=l(s.hostProtocols,i)),r&&!n)throw new TypeError("Hostname cannot be empty, if protocol is "+i);if(t&&t.match(s.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(s.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},s.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},s.noConflict=function(e){if(e){var t={URI:this.noConflict()};return n.URITemplate&&"function"==typeof n.URITemplate.noConflict&&(t.URITemplate=n.URITemplate.noConflict()),n.IPv6&&"function"==typeof n.IPv6.noConflict&&(t.IPv6=n.IPv6.noConflict()),n.SecondLevelDomains&&"function"==typeof n.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=n.SecondLevelDomains.noConflict()),t}return n.URI===this&&(n.URI=r),this},o.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=s.build(this._parts),this._deferred_build=!1),this},o.clone=function(){return new s(this)},o.valueOf=o.toString=function(){return this.build(!1)._string},o.protocol=j("protocol"),o.username=j("username"),o.password=j("password"),o.hostname=j("hostname"),o.port=j("port"),o.query=_("query","?"),o.fragment=_("fragment","#"),o.search=function(e,t){var i=this.query(e,t);return"string"==typeof i&&i.length?"?"+i:i},o.hash=function(e,t){var i=this.fragment(e,t);return"string"==typeof i&&i.length?"#"+i:i},o.pathname=function(e,t){if(void 0===e||!0===e){var i=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?s.decodeUrnPath:s.decodePath)(i):i}return this._parts.urn?this._parts.path=e?s.recodeUrnPath(e):"":this._parts.path=e?s.recodePath(e):"/",this.build(!t),this},o.path=o.pathname,o.href=function(e,t){var i;if(void 0===e)return this.toString();this._string="",this._parts=s._parts();var n=e instanceof s,r="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[s.getDomAttribute(e)]||"",r=!1),!n&&r&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=s.parse(String(e),this._parts);else{if(!n&&!r)throw new TypeError("invalid input");var o=n?e._parts:e;for(i in o)"query"!==i&&a.call(this._parts,i)&&(this._parts[i]=o[i]);o.query&&this.query(o.query,!1)}return this.build(!t),this},o.is=function(e){var t=!1,n=!1,r=!1,o=!1,a=!1,c=!1,p=!1,d=!this._parts.urn;switch(this._parts.hostname&&(d=!1,n=s.ip4_expression.test(this._parts.hostname),r=s.ip6_expression.test(this._parts.hostname),a=(o=!(t=n||r))&&i&&i.has(this._parts.hostname),c=o&&s.idn_expression.test(this._parts.hostname),p=o&&s.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return d;case"absolute":return!d;case"domain":case"name":return o;case"sld":return a;case"ip":return t;case"ip4":case"ipv4":case"inet4":return n;case"ip6":case"ipv6":case"inet6":return r;case"idn":return c;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return p}return null};var w=o.protocol,x=o.port,P=o.hostname;o.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(s.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return w.call(this,e,t)},o.scheme=o.protocol,o.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),s.ensureValidPort(e))),x.call(this,e,t))},o.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var i={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==s.parseHost(e,i))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=i.hostname,this._parts.preventInvalidHostname&&s.ensureValidHostname(e,this._parts.protocol)}return P.call(this,e,t)},o.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var i=this.protocol();return this.authority()?(i?i+"://":"")+this.authority():""}var n=s(e);return this.protocol(n.protocol()).authority(n.authority()).build(!t),this},o.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildHost(this._parts):"";if("/"!==s.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildAuthority(this._parts):"";if("/"!==s.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var i=s.buildUserinfo(this._parts);return i?i.substring(0,i.length-1):i}return"@"!==e[e.length-1]&&(e+="@"),s.parseUserinfo(e,this._parts),this.build(!t),this},o.resource=function(e,t){var i;return void 0===e?this.path()+this.search()+this.hash():(i=s.parse(e),this._parts.path=i.path,this._parts.query=i.query,this._parts.fragment=i.fragment,this.build(!t),this)},o.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var i=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,i)||""}var n=this._parts.hostname.length-this.domain().length,r=this._parts.hostname.substring(0,n),o=new RegExp("^"+c(r));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&s.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(o,e),this.build(!t),this},o.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var i=this._parts.hostname.match(/\./g);if(i&&i.length<2)return this._parts.hostname;var n=this._parts.hostname.length-this.tld(t).length-1;return n=this._parts.hostname.lastIndexOf(".",n-1)+1,this._parts.hostname.substring(n)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(s.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var r=new RegExp(c(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(r,e)}return this.build(!t),this},o.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.lastIndexOf("."),r=this._parts.hostname.substring(n+1);return!0!==t&&i&&i.list[r.toLowerCase()]&&i.get(this._parts.hostname)||r}var s;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!i||!i.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');s=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");s=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}return this.build(!t),this},o.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var i=this._parts.path.length-this.filename().length-1,n=this._parts.path.substring(0,i)||(this._parts.hostname?"/":"");return e?s.decodePath(n):n}var r=this._parts.path.length-this.filename().length,o=this._parts.path.substring(0,r),a=new RegExp("^"+c(o));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e),this.build(!t),this},o.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var i=this._parts.path.lastIndexOf("/"),n=this._parts.path.substring(i+1);return e?s.decodePathSegment(n):n}var r=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(r=!0);var o=new RegExp(c(this.filename())+"$");return e=s.recodePath(e),this._parts.path=this._parts.path.replace(o,e),r?this.normalizePath(t):this.build(!t),this},o.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var i,n,r=this.filename(),o=r.lastIndexOf(".");return-1===o?"":(i=r.substring(o+1),n=/^[a-z0-9%]+$/i.test(i)?i:"",e?s.decodePathSegment(n):n)}"."===e.charAt(0)&&(e=e.substring(1));var a,p=this.suffix();if(p)a=e?new RegExp(c(p)+"$"):new RegExp(c("."+p)+"$");else{if(!e)return this;this._parts.path+="."+s.recodePath(e)}return a&&(e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e)),this.build(!t),this},o.segment=function(e,t,i){var n=this._parts.urn?":":"/",r=this.path(),s="/"===r.substring(0,1),o=r.split(n);if(void 0!==e&&"number"!=typeof e&&(i=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(s&&o.shift(),e<0&&(e=Math.max(o.length+e,0)),void 0===t)return void 0===e?o:o[e];if(null===e||void 0===o[e])if(d(t)){o=[];for(var a=0,c=t.length;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},y=c-1,g=Math.floor,b=String.fromCharCode;function v(e){throw new RangeError(h[e])}function $(e,t){for(var i=e.length,n=[];i--;)n[i]=t(e[i]);return n}function j(e,t){var i=e.split("@"),n="";return i.length>1&&(n=i[0]+"@",e=i[1]),n+$((e=e.replace(m,".")).split("."),t).join(".")}function _(e){for(var t,i,n=[],r=0,s=e.length;r=55296&&t<=56319&&r65535&&(t+=b((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+b(e)})).join("")}function x(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function P(e,t,i){var n=0;for(e=i?g(e/f):e>>1,e+=g(e/t);e>y*p>>1;n+=c)e=g(e/y);return g(n+(y+1)*e/(e+d))}function S(e){var t,i,n,r,s,o,d,f,l,u,m,h=[],y=e.length,b=0,$=128,j=72;for((i=e.lastIndexOf("-"))<0&&(i=0),n=0;n=128&&v("not-basic"),h.push(e.charCodeAt(n));for(r=i>0?i+1:0;r=y&&v("invalid-input"),((f=(m=e.charCodeAt(r++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:c)>=c||f>g((a-b)/o))&&v("overflow"),b+=f*o,!(f<(l=d<=j?1:d>=j+p?p:d-j));d+=c)o>g(a/(u=c-l))&&v("overflow"),o*=u;j=P(b-s,t=h.length+1,0==s),g(b/t)>a-$&&v("overflow"),$+=g(b/t),b%=t,h.splice(b++,0,$)}return w(h)}function O(e){var t,i,n,r,s,o,d,f,l,u,m,h,y,$,j,w=[];for(h=(e=_(e)).length,t=128,i=0,s=72,o=0;o=t&&mg((a-i)/(y=n+1))&&v("overflow"),i+=(d-t)*y,t=d,o=0;oa&&v("overflow"),m==t){for(f=i,l=c;!(f<(u=l<=s?1:l>=s+p?p:l-s));l+=c)j=f-u,$=c-u,w.push(b(x(u+j%$,0))),f=g(j/$);w.push(b(x(f,0))),s=P(i,y,n==r),i=0,++n}++i,++t}return w.join("")}o={version:"1.3.2",ucs2:{decode:_,encode:w},decode:S,encode:O,toASCII:function(e){return j(e,(function(e){return u.test(e)?"xn--"+O(e):e}))},toUnicode:function(e){return j(e,(function(e){return l.test(e)?S(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return o}.call(t,i,t,e))||(e.exports=n)}()},8839:()=>{},71848:()=>{},18248:()=>{},86973:()=>{},93643:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=`__object_order_${Math.floor(Date.now()/36e5)}__`,n=Symbol.for(i),r=String(n),s={defineProperty:(e,t,i)=>(!Object.prototype.hasOwnProperty.call(e,t)&&n in e?e[n].push(t):"value"in i&&t===n&&-1===i.value.lastIndexOf(n)&&i.value.push(n),Reflect.defineProperty(e,t,i)),deleteProperty(e,t){const i=Object.prototype.hasOwnProperty.call(e,t),r=Reflect.deleteProperty(e,t);if(r&&i&&n in e){const i=e[n].indexOf(t);-1!==i&&e[n].splice(i,1)}return r},ownKeys:e=>n in e?e[n]:Reflect.ownKeys(e),set(e,t,i){const r=Object.prototype.hasOwnProperty.call(e,t),s=Reflect.set(e,t,i);return s&&!r&&n in e&&e[n].push(t),s}};function o(e,t=Reflect.ownKeys(e)){u(e);const i=new Proxy(e,s);return a(i,t),i}function a(e,t){return n in e?(e[n].length=0,e[n].push(...t),!0):Reflect.defineProperty(e,n,{configurable:!0,value:t})}function c(e){const t=e.slice();for(let e=0;ee!==n))}),t)for(const t of Object.keys(e)){if(t===r)continue;const n=e[t];l(n)&&(i[t]=Array.isArray(n)?c(n):p(n,!0))}return i}function d(e){for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_PARSER_OPTIONS=void 0;const n=i(20613);t.DEFAULT_PARSER_OPTIONS=Object.freeze({incompatibleValues:n.DiagnosticSeverity.Error,duplicateKeys:n.DiagnosticSeverity.Error})},84474:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isParsedResult=t.ParsedDocument=t.Document=t.normalizeSource=void 0;const n=i(98136),r=i(30333),s=i(95955),o=i(46734);function a(e){return void 0===e?null:e.length>0&&!(0,s.startsWithProtocol)(e)?(0,n.normalize)(e):e}t.normalizeSource=a,t.Document=class{constructor(e,t,i){this.input=e,this.parser=t,this.parserResult=t.parse(e),this.source=a(i),this.diagnostics=(0,r.formatParserDiagnostics)(this.parserResult.diagnostics,this.source)}getRangeForJsonPath(e,t){var i;return null===(i=this.parser.getLocationForJsonPath(this.parserResult,e,t))||void 0===i?void 0:i.range}trapAccess(e){return this.parser.trapAccess(e)}static get DEFAULT_RANGE(){return{start:{character:0,line:0},end:{character:0,line:0}}}get data(){return this.parserResult.data}},t.ParsedDocument=class{constructor(e){this.parserResult=e,this.source=a(e.source),this.diagnostics=(0,r.formatParserDiagnostics)(this.parserResult.parsed.diagnostics,this.source)}trapAccess(e){return e}getRangeForJsonPath(e,t){var i;return null===(i=this.parserResult.getLocationForJsonPath(this.parserResult.parsed,e,t))||void 0===i?void 0:i.range}get data(){return this.parserResult.parsed.data}},t.isParsedResult=e=>(0,o.isPlainObject)(e)&&(0,o.isPlainObject)(e.parsed)&&"function"==typeof e.getLocationForJsonPath},47600:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentInventory=void 0;const n=i(85608),r=i(46734),s=i(98136),o=i(45250),a=i(84474),c=i(30333),p=(0,n.__importStar)(i(63083)),d=i(95955);class f{constructor(e,t){this.document=e,this.resolver=t,this.diagnostics=[],this.parseResolveResult=e=>{const t=e.targetAuthority.href().replace(/\/$/,""),i=(0,s.extname)(t),n=String(e.result),r=".json"===i?p.Json:p.Yaml,o=new a.Document(n,r,t);return e.result=o.data,o.diagnostics.length>0&&this.diagnostics.push(...(0,c.formatParserDiagnostics)(o.diagnostics,o.source)),this.referencedDocuments[t]=o,Promise.resolve(e)},this.graph=null,this.errors=null;const i=t.uriCache,n=f._cachedRemoteDocuments.get(i);void 0!==n?this.referencedDocuments=n:(this.referencedDocuments={},f._cachedRemoteDocuments.set(i,this.referencedDocuments))}get source(){return this.document.source}get unresolved(){return this.document.data}get formats(){var e;return null!==(e=this.document.formats)&&void 0!==e?e:null}async resolve(){if(!(0,o.isObjectLike)(this.document.data))return this.graph=null,this.resolved=this.document.data,void(this.errors=null);const e=await this.resolver.resolve(this.document.data,{...null!==this.document.source?{baseUri:this.document.source}:null,parseResolveResult:this.parseResolveResult});this.graph=e.graph,this.resolved=e.result,this.errors=(0,c.formatResolverErrors)(this.document,e.errors)}findAssociatedItemForPath(e,t){if(!t){const t=(0,d.getClosestJsonPath)(this.unresolved,e);return{document:this.document,path:t,missingPropertyPath:e}}try{const t=(0,d.getClosestJsonPath)(this.resolved,e);if(null===(0,d.traverseObjUntilRef)(this.unresolved,t))return{document:this.document,path:(0,d.getClosestJsonPath)(this.unresolved,e),missingPropertyPath:e};const i=0===t.length?[]:e.slice(e.lastIndexOf(t[t.length-1])+1);let{source:n}=this;if(null===n||null===this.graph)return null;let o=this.graph.getNodeData(n).refMap,a=this.document;const c=["#",...e.map(r.encodePointerUriFragment).map(String)];let p="";for(const t of c)for(p.length>0&&(p+="/"),p+=t;p in o;){const t=o[p];if((0,r.isLocalRef)(t))p=t;else{const i=(0,r.extractSourceFromRef)(t);if(null===i)return{document:a,path:(0,d.getClosestJsonPath)(a.data,e),missingPropertyPath:e};n=(0,d.isAbsoluteRef)(i)?i:(0,s.resolve)(n,"..",i);const c=n===this.document.source?this.document:this.referencedDocuments[n];if(null==c)return{document:a,path:(0,d.getClosestJsonPath)(a.data,e),missingPropertyPath:e};a=c,o=this.graph.getNodeData(n).refMap,p=t.indexOf("#")>=0?t.slice(t.indexOf("#")):"#"}}const f=(0,d.getClosestJsonPath)(a.data,this.convertRefMapKeyToPath(p));return{document:a,path:f,missingPropertyPath:[...f,...i]}}catch{return null}}convertRefMapKeyToPath(e){return e.startsWith("#/")&&(e=e.slice(2)),e.split("/").map(r.decodePointerFragment)}}t.DocumentInventory=f,f._cachedRemoteDocuments=new WeakMap},30333:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatResolverErrors=t.formatParserDiagnostics=t.prettyPrintResolverErrorMessage=t.getDiagnosticErrorMessage=void 0;const n=i(20613),r=i(45250),s=i(84474),o=e=>e.toUpperCase(),a=(e,t,i)=>`${t} ${i.toLowerCase()}`;function c(e){const t=p(e.path);let i=e.message.replace(/^[a-z]/,o);return"YAMLException"!==e.code&&(i=i.replace(/([a-z])([A-Z])/g,a)),void 0!==t&&(i=i.replace(/(Duplicate key)/,`$1: ${t}`)),i}t.getDiagnosticErrorMessage=c,t.prettyPrintResolverErrorMessage=e=>e.replace(/^Error\s*:\s*/,"");const p=e=>{if(void 0!==e&&e.length>0)return e[e.length-1]};t.formatParserDiagnostics=function(e,t){return e.map((e=>{var i;return{...e,code:"parser",message:c(e),path:null!==(i=e.path)&&void 0!==i?i:[],...null!==t?{source:t}:null}}))},t.formatResolverErrors=(e,i)=>(0,r.uniqBy)(i,"message").map((i=>{var r;const o=[...i.path,"$ref"],a=null!==(r=e.getRangeForJsonPath(o,!0))&&void 0!==r?r:s.Document.DEFAULT_RANGE,c=i.uriStack.length>0?i.uriStack[i.uriStack.length-1]:e.source;return{code:"invalid-ref",path:o,message:(0,t.prettyPrintResolverErrorMessage)(i.message),severity:n.DiagnosticSeverity.Error,range:a,...null!==c?{source:c}:null}}))},71267:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAggregateError=void 0;const n=i(45250);t.isAggregateError=function(e){return(0,n.isError)(e)&&"AggregateError"===e.constructor.name}},23859:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParsedDocument=t.Document=void 0;const n=i(85608);(0,n.__exportStar)(i(45559),t),(0,n.__exportStar)(i(77327),t);var r=i(84474);Object.defineProperty(t,"Document",{enumerable:!0,get:function(){return r.Document}}),Object.defineProperty(t,"ParsedDocument",{enumerable:!0,get:function(){return r.ParsedDocument}}),(0,n.__exportStar)(i(16090),t)},36246:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveAlias=t.resolveAliasForFormats=void 0;const n=i(1336),r=/^#([A-Za-z0-9_-]+)/;function s({targets:e},t){if(null===t||0===t.size)return null;for(let i=e.length-1;i>=0;i--){const n=e[i];for(const e of n.formats)if(t.has(e))return n.given}return null}function o(e,t,i,a){var c;const p=[];if(t.startsWith("#")){const d=null===(c=r.exec(t))||void 0===c?void 0:c[1];if(null==d)throw new TypeError("Alias must match /^#([A-Za-z0-9_-]+)/");if(a.has(d)){const e=[...a,d];throw new Error(`Alias "${e[0]}" is circular. Resolution stack: ${e.join(" -> ")}`)}if(a.add(d),null===e||!(d in e))throw new ReferenceError(`Alias "${d}" does not exist`);const f=e[d];let l;l=(0,n.isSimpleAliasDefinition)(f)?f:(0,n.isScopedAliasDefinition)(f)?s(f,i):null,null!==l&&p.push(...l.flatMap((n=>o(e,n+t.slice(d.length+1),i,new Set([...a])))))}else p.push(t);return p}t.resolveAliasForFormats=s,t.resolveAlias=function(e,t,i){return o(e,t,i,new Set)}},83486:(e,t)=>{"use strict";function i(e){var t;return null!==(t=e.displayName)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.Formats=void 0;class n extends Set{toJSON(){return Array.from(this).map(i)}}t.Formats=n},95152:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createRulesetFunction=t.RulesetFunctionValidationError=void 0;const n=i(85608),r=(0,n.__importDefault)(i(70130)),s=(0,n.__importDefault)(i(74421)),o=(0,n.__importDefault)(i(11673)),a=i(95955),c=i(572),p=i(45250),d=i(99639),f=new r.default({allErrors:!0,allowUnionTypes:!0,strict:!0,keywords:["x-internal"]});(0,o.default)(f),(0,s.default)(f);class l extends c.RulesetValidationError{constructor(e,t){super("invalid-function-options",l.printMessage(e,t),l.getPath(t))}static getPath(e){const t=["functionOptions",...""===e.instancePath?[]:e.instancePath.slice(1).split("/")];switch(e.keyword){case"additionalProperties":{const i=e.params.additionalProperty;t.push(i);break}}return t}static printMessage(e,t){var i;switch(t.keyword){case"type":return`"${e}" function and its "${(0,a.printPath)(t.instancePath.slice(1).split("/"),a.PrintStyle.Dot)}" option accepts only the following types: ${Array.isArray(t.params.type)?t.params.type.join(", "):String(t.params.type)}`;case"required":{const i=t.params.missingProperty;return`"${e}" function is missing "${""===t.instancePath?i:(0,a.printPath)([...t.instancePath.slice(1).split("/"),i],a.PrintStyle.Dot)}" option`}case"additionalProperties":{const i=t.params.additionalProperty;return`"${e}" function does not support "${""===t.instancePath?i:(0,a.printPath)([...t.instancePath.slice(1).split("/"),i],a.PrintStyle.Dot)}" option`}case"enum":return`"${e}" function and its "${(0,a.printPath)(t.instancePath.slice(1).split("/"),a.PrintStyle.Dot)}" option accepts only the following values: ${t.params.allowedValues.map(a.printValue).join(", ")}`;default:return null!==(i=t.message)&&void 0!==i?i:"unknown error"}}}t.RulesetFunctionValidationError=l;const u=e=>null===e;t.createRulesetFunction=function({input:e,errorOnInvalidInput:t=!1,options:i},n){const r=null===i?u:f.compile(i),s=null!==e?f.compile(e):e,o=function(e,i,...r){var a,c,p;return!1===(null==s?void 0:s(e))?t?[{message:null!==(p=null===(c=null===(a=s.errors)||void 0===a?void 0:a.find((e=>"errorMessage"===e.keyword)))||void 0===c?void 0:c.message)&&void 0!==p?p:"invalid input"}]:void 0:(o.validator(i),n(e,i,...r))};Reflect.defineProperty(o,"name",{value:n.name});const a=new WeakSet;return o.validator=function(e){if(!(0,p.isObject)(e)||!a.has(e)){if(!r(e))throw null===i?new c.RulesetValidationError("invalid-function-options",`"${n.name||""}" function does not accept any options`,["functionOptions"]):"errors"in r&&Array.isArray(r.errors)&&r.errors.length>0?new d(r.errors.map((e=>new l(n.name||"",e)))):new c.RulesetValidationError("invalid-function-options",`"functionOptions" of "${n.name||""}" function must be valid`,["functionOptions"]);(0,p.isObject)(e)&&a.add(e)}},Reflect.defineProperty(o,"schemas",{enumerable:!1,value:{input:e,options:i}}),o}},16090:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rule=t.Formats=t.Ruleset=t.createRulesetFunction=t.getDiagnosticSeverity=t.RulesetValidationError=t.assertValidRuleset=void 0;var n=i(572);Object.defineProperty(t,"assertValidRuleset",{enumerable:!0,get:function(){return n.assertValidRuleset}}),Object.defineProperty(t,"RulesetValidationError",{enumerable:!0,get:function(){return n.RulesetValidationError}});var r=i(92393);Object.defineProperty(t,"getDiagnosticSeverity",{enumerable:!0,get:function(){return r.getDiagnosticSeverity}});var s=i(95152);Object.defineProperty(t,"createRulesetFunction",{enumerable:!0,get:function(){return s.createRulesetFunction}});var o=i(73368);Object.defineProperty(t,"Ruleset",{enumerable:!0,get:function(){return o.Ruleset}});var a=i(83486);Object.defineProperty(t,"Formats",{enumerable:!0,get:function(){return a.Formats}});var c=i(82846);Object.defineProperty(t,"Rule",{enumerable:!0,get:function(){return c.Rule}})},92237:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mergeRule=void 0;const n=i(38647),r=i(82846);function s(e,t){if(void 0===e)throw new ReferenceError(`Cannot extend non-existing rule: "${t}"`)}t.mergeRule=function(e,t,i,o){switch(typeof i){case"boolean":s(e,t),e.enabled=i;break;case"string":case"number":s(e,t),e.severity=i,"off"===i?e.enabled=!1:e.enabled||(e.enabled=!0);break;case"object":if(void 0===e)return(0,n.assertValidRule)(i,t),new r.Rule(t,i,o);Object.assign(e,i,{enabled:!0,owner:e.owner});break;default:throw new Error("Invalid value")}return e}},1679:(e,t)=>{"use strict";function i(e){return Array.isArray(e)?e[0]:e}Object.defineProperty(t,"__esModule",{value:!0}),t.mergeRulesets=void 0,t.mergeRulesets=function(e,t,n){const r={...e,...t};if("extends"in r&&"extends"in r){const e=(s=r.extends,(Array.isArray(s)?s:[s]).map(i));r.extends=[...(Array.isArray(r.extends)?r.extends:[r.extends]).filter((t=>!e.includes(i(t)))),...Array.isArray(r.extends)?r.extends:[r.extends]]}var s;if("aliases"in e&&"aliases"in t&&(r.aliases={...e.aliases,...t.aliases}),!("rules"in e)||!("rules"in t))return r;if(n)r.rules={...e.rules,...t.rules};else{const t=r;"extends"in t?Array.isArray(t.extends)?t.extends=[...t.extends,e]:t.extends=[t.extends,e]:t.extends=e}return r}},82846:(e,t,i)=>{"use strict";var n,r,s,o;Object.defineProperty(t,"__esModule",{value:!0}),t.Rule=void 0;const a=i(85608),c=i(45250),p=i(98136),d=i(46734),f=i(92393),l=i(64100),u=i(83486),m=i(36246);class h{constructor(e,t,i){var c,p,d,f;this.name=e,this.definition=t,this.owner=i,n.set(this,void 0),r.set(this,void 0),s.set(this,void 0),o.set(this,void 0),this.recommended=!1!==t.recommended,(0,a.__classPrivateFieldSet)(this,r,this.recommended,"f"),this.description=null!==(c=t.description)&&void 0!==c?c:null,this.message=null!==(p=t.message)&&void 0!==p?p:null,this.documentationUrl=null!==(d=t.documentationUrl)&&void 0!==d?d:null,this.severity=t.severity,this.resolved=!1!==t.resolved,this.formats="formats"in t?new u.Formats(t.formats):null,this.then=t.then,this.given=t.given,this.extensions=null!==(f=t.extensions)&&void 0!==f?f:null}get enabled(){return(0,a.__classPrivateFieldGet)(this,r,"f")||void 0!==this.overrides}set enabled(e){(0,a.__classPrivateFieldSet)(this,r,e,"f")}static isEnabled(e,t){return"all"===t||"recommended"===t&&e.recommended}getSeverityForSource(e,t){if(void 0===this.overrides||0===this.overrides.definition.size)return this.severity;const i=(0,p.relative)((0,p.dirname)(this.overrides.rulesetSource),e),n=[];for(const[e,t]of this.overrides.definition.entries())(0,l.minimatch)(i,e)&&n.push(t);if(0===n.length)return this.severity;let r=this.severity,s="";const o=(0,d.pathToPointer)(t);for(const e of n)for(const[t,i]of e.entries())t.length>=s.length&&(o===t||o.startsWith(`${t}/`))&&(s=t,r=i);return r}get severity(){return(0,a.__classPrivateFieldGet)(this,n,"f")}set severity(e){void 0===e?(0,a.__classPrivateFieldSet)(this,n,f.DEFAULT_SEVERITY_LEVEL,"f"):(0,a.__classPrivateFieldSet)(this,n,(0,f.getDiagnosticSeverity)(e),"f")}get then(){return(0,a.__classPrivateFieldGet)(this,s,"f")}set then(e){(0,a.__classPrivateFieldSet)(this,s,Array.isArray(e)?e:[e],"f")}get given(){return(0,a.__classPrivateFieldGet)(this,o,"f")}set given(e){const t=Array.isArray(e)?e:[e];(0,a.__classPrivateFieldSet)(this,o,this.owner.hasComplexAliases?t:t.flatMap((e=>(0,m.resolveAlias)(this.owner.aliases,e,null))).filter(c.isString),"f")}getGivenForFormats(e){return this.owner.hasComplexAliases?(0,a.__classPrivateFieldGet)(this,o,"f").flatMap((t=>(0,m.resolveAlias)(this.owner.aliases,t,e))):(0,a.__classPrivateFieldGet)(this,o,"f")}matchesFormat(e){if(null===this.formats)return!0;if(null===e)return!1;for(const t of e)if(this.formats.has(t))return!0;return!1}clone(){return new h(this.name,this.definition,this.owner)}toJSON(){return{name:this.name,recommended:this.recommended,enabled:this.enabled,description:this.description,message:this.message,documentationUrl:this.documentationUrl,severity:this.severity,resolved:this.resolved,formats:this.formats,then:this.then.map((e=>({...e,function:e.function.name}))),given:Array.isArray(this.definition.given)?this.definition.given:[this.definition.given],owner:this.owner.id,extensions:this.extensions}}}t.Rule=h,n=new WeakMap,r=new WeakMap,s=new WeakMap,o=new WeakMap},73368:(e,t,i)=>{"use strict";var n,r,s;Object.defineProperty(t,"__esModule",{value:!0}),t.Ruleset=void 0;const o=i(85608),a=i(98136),c=i(46734),p=i(64100),d=i(82846),f=i(572),l=i(92237),u=i(23859),m=i(1679),h=i(83486),y=i(1336),g=Symbol("@stoplight/spectral/ruleset/#stack"),b=Symbol("@stoplight/spectral/ruleset/#explicit-severity"),v=/^\.?spectral\.(ya?ml|json|m?js)$/;let $=1;class j{constructor(e,t){var i;let a;if(this.maybeDefinition=e,n.add(this),this.id=$++,this.formats=new h.Formats,r.set(this,void 0),(0,c.isPlainObject)(e)&&"extends"in e){const{extends:t,...i}=e;(0,f.assertValidRuleset)({extends:[],...i},"js"),a=e}else(0,f.assertValidRuleset)(e,"js"),a=e;this.definition=a,(0,o.__classPrivateFieldSet)(this,r,{severity:"recommended",...t},"f");let p=!1;this.aliases=void 0===a.aliases?null:Object.fromEntries(Object.entries(a.aliases).map((e=>{const[t,i]=e;if((0,y.isSimpleAliasDefinition)(i))return e;p=!0;const n=i.targets.map((e=>({formats:new h.Formats(e.formats),given:e.given})));return[t,{...i,targets:n}]}))),this.hasComplexAliases=p;const d=null!==(i=null==t?void 0:t[g])&&void 0!==i?i:new Map;if(d.set(this.definition,this),this.extends="extends"in a?(Array.isArray(a.extends)?a.extends:[a.extends]).reduce(((e,t)=>{let i,n="recommended";const r=Array.isArray(t);return r?[i,n]=t:i=t,void 0!==d.get(i)||e.push(new j(i,{severity:n,[g]:d,[b]:r})),e}),[]):null,1===d.size&&a.overrides?this.overrides=a.overrides:this.overrides=null,d.delete(this.definition),Array.isArray(this.definition.formats))for(const e of this.definition.formats)this.formats.add(e);if(Array.isArray(this.extends))for(const{formats:e}of this.extends)for(const t of e)this.formats.add(t);this.rules=(0,o.__classPrivateFieldGet)(this,n,"m",s).call(this)}get source(){var e;return null!==(e=(0,o.__classPrivateFieldGet)(this,r,"f").source)&&void 0!==e?e:null}fromSource(e){if(null===this.overrides)return this;const{source:t}=this;if(null===e)throw new Error("Document must have some source assigned. If you use Spectral programmatically make sure to pass the source to Document");if(null===t)throw new Error("Ruleset must have some source assigned. If you use Spectral programmatically make sure to pass the source to Ruleset");const i=(0,a.relative)((0,a.dirname)(t),e),n={},r=this.overrides.flatMap((({files:e,...r})=>{var s,o;const a=[];for(const d of e){const e=null!==(s=(0,c.extractSourceFromRef)(d))&&void 0!==s?s:d;if(!(0,p.minimatch)(i,e))continue;const f=(0,c.extractPointerFromRef)(d);if(e===d)a.push(d);else{if(!("rules"in r)||null===f)throw new Error("Unknown error. The ruleset is presumably invalid.");for(const[i,s]of Object.entries(r.rules)){if("object"==typeof s||"boolean"==typeof s)throw new Error("Unknown error. The ruleset is presumably invalid.");const{definition:r}=null!==(o=n[i])&&void 0!==o?o:n[i]={rulesetSource:t,definition:new Map},a=(0,u.getDiagnosticSeverity)(s);let c=r.get(e);void 0===c&&(c=new Map,r.set(e,c)),c.set(f,a)}}}return 0===a.length?[]:r})),{overrides:s,...o}=this.definition;if(0===r.length&&0===Object.keys(n).length)return this;const d=0===r.length?null:r.length>1?r.slice(1).reduce(((e,t)=>(0,m.mergeRulesets)(e,t,!0)),r[0]):r[0],f=new j(null===d?o:(0,m.mergeRulesets)(o,d,!1),{severity:"recommended",source:t});for(const[e,t]of Object.entries(n))e in f.rules&&(f.rules[e].overrides=t);return f}get parserOptions(){return{...u.DEFAULT_PARSER_OPTIONS,...this.definition.parserOptions}}static isDefaultRulesetFile(e){return v.test(e)}toJSON(){return{id:this.id,extends:this.extends,source:this.source,aliases:this.aliases,formats:0===this.formats.size?null:this.formats,rules:this.rules,overrides:this.overrides,parserOptions:this.parserOptions}}}t.Ruleset=j,r=new WeakMap,n=new WeakSet,s=function(){const e={};if(null!==this.extends&&this.extends.length>0)for(const t of this.extends)if(t!==this)for(const i of Object.values(t.rules))e[i.name]=i,void 0!==(0,o.__classPrivateFieldGet)(this,r,"f")[g]&&!0===(0,o.__classPrivateFieldGet)(this,r,"f")[b]&&(i.enabled=d.Rule.isEnabled(i,(0,o.__classPrivateFieldGet)(this,r,"f").severity));if("rules"in this.definition)for(const[t,i]of Object.entries(this.definition.rules)){const n=(0,l.mergeRule)(e[t],t,i,this);if(e[t]=n,n.owner===this&&(n.enabled=d.Rule.isEnabled(n,(0,o.__classPrivateFieldGet)(this,r,"f").severity)),null!==n.formats)for(const e of n.formats)this.formats.add(e);else n.owner!==this?n.formats=void 0===n.owner.definition.formats?null:new h.Formats(n.owner.definition.formats):void 0!==this.definition.formats&&(n.formats=new h.Formats(this.definition.formats));void 0!==this.definition.documentationUrl&&null===n.documentationUrl&&(n.documentationUrl=`${this.definition.documentationUrl}#${t}`)}return e}},1336:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isScopedAliasDefinition=t.isValidAliasTarget=t.isSimpleAliasDefinition=void 0;const n=i(46734),r=i(45250);function s(e){const t=e.formats;return!!(Array.isArray(t)||t instanceof Set)&&Array.isArray(e.given)&&e.given.every(r.isString)}t.isSimpleAliasDefinition=function(e){return Array.isArray(e)},t.isValidAliasTarget=s,t.isScopedAliasDefinition=function(e){return(0,n.isPlainObject)(e)&&Array.isArray(e.targets)&&e.targets.every(s)}},64100:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.minimatch=void 0;const n=(0,i(85608).__importDefault)(i(14763)),r={matchBase:!0};t.minimatch=function(e,t){return(0,n.default)(e,t,r)}},92393:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDiagnosticSeverity=t.DEFAULT_SEVERITY_LEVEL=void 0;const n=i(20613);t.DEFAULT_SEVERITY_LEVEL=n.DiagnosticSeverity.Warning;const r={error:n.DiagnosticSeverity.Error,warn:n.DiagnosticSeverity.Warning,info:n.DiagnosticSeverity.Information,hint:n.DiagnosticSeverity.Hint,off:-1};t.getDiagnosticSeverity=function(e){return Number.isNaN(Number(e))?r[e]:Number(e)}},55823:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createValidator=void 0;const n=i(85608),r=(0,n.__importStar)(i(70130)),s=(0,n.__importDefault)(i(91911)),o=(0,n.__importDefault)(i(74421)),a=(0,n.__importDefault)(i(11673)),c=(0,n.__importStar)(i(91361)),p=(0,n.__importStar)(i(82691)),d=(0,n.__importStar)(i(84185)),f=(0,n.__importStar)(i(3054)),l=(0,n.__importStar)(i(50421)),u=i(28658),m=i(59868),h={js:null,json:null};t.createValidator=function(e){const t=h[e];if(null!==t)return t;const i=new r.default({allErrors:!0,strict:!0,strictRequired:!1,keywords:["$anchor"],schemas:[c,p],passContext:!0});(0,o.default)(i),(0,a.default)(i),i.addKeyword({keyword:"x-spectral-runtime",schemaType:"string",error:{message(e){var t;return r._`${void 0!==(null===(t=e.params)||void 0===t?void 0:t.message)?e.params.message:""}`},params(e){var t;return r._`{ errors: ${void 0!==(null===(t=e.params)||void 0===t?void 0:t.errors)&&e.params.errors} || [] }`}},code(e){const{data:t}=e;switch(e.schema){case"format":e.fail(r._`typeof ${t} !== "function"`);break;case"ruleset-function":{const i=e.gen.const("spectralFunction",r._`this.validateFunction(${t}.function, ${t}.functionOptions === void 0 ? null : ${t}.functionOptions, ${s.default.instancePath})`);e.gen.if(r._`${i} !== void 0`),e.error(!1,{errors:i}),e.gen.endIf();break}case"alias":{const i=e.gen.const("spectralAlias",r._`this.validateAlias(${s.default.rootData}, ${t}, ${s.default.instancePath})`);e.gen.if(r._`${i} !== void 0`),e.error(!1,{errors:i}),e.gen.endIf();break}}}}),"js"===e?i.addSchema(f):i.addSchema(l);const n=new Proxy(i.compile(d),{apply:(e,t,i)=>Reflect.apply(e,{validateAlias:u.validateAlias,validateFunction:m.validateFunction},i)});return h[e]=n,n}},38647:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertValidRule=t.assertValidRuleset=void 0;const n=i(85608),r=i(46734),s=i(55823),o=i(78253),a=(0,n.__importDefault)(i(99639));t.assertValidRuleset=function(e,t="js"){var i;if(!(0,r.isPlainObject)(e))throw new o.RulesetValidationError("invalid-ruleset-definition","Provided ruleset is not an object",[]);if(!("rules"in e)&&!("extends"in e)&&!("overrides"in e))throw new o.RulesetValidationError("invalid-ruleset-definition","Ruleset must have rules or extends or overrides defined",[]);const n=(0,s.createValidator)(t);if(!n(e))throw new a.default((0,o.convertAjvErrors)(null!==(i=n.errors)&&void 0!==i?i:[]))},t.assertValidRule=function(e,t){if(!function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("given"in e||"then"in e)}(e))throw new o.RulesetValidationError("invalid-rule-definition","Rule definition expected",["rules",t])}},78253:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertAjvErrors=t.RulesetValidationError=void 0;const n=i(71267);class r extends Error{constructor(e,t,i){super(t),this.code=e,this.message=t,this.path=i}}t.RulesetValidationError=r;const s=/^\/rules\/[^/]+/,o=/^\/(?:aliases|extends|overrides(?:\/\d+\/extends)?)/;function a(e){return(0,n.isAggregateError)(e)?e.errors.flatMap(a):e}function c(e,t){if(0===e.length)return"generic-validation-error";if(1===e.length&&"errorMessage"!==t)return"invalid-ruleset-definition";switch(e[0]){case"rules":return function(e){return 3===e.length&&"severity"===e[2]?"invalid-severity":4===e.length&&"formats"===e[2]?"invalid-format":4===e.length&&"given"===e[2]?"invalid-given-definition":"invalid-rule-definition"}(e);case"parserOptions":return"invalid-parser-options-definition";case"aliases":return function(e){if(6===e.length){if("given"===e[4])return"invalid-given-definition";if("formats"===e[4])return"invalid-format"}return"invalid-alias-definition"}(e);case"extends":return"invalid-extend-definition";case"overrides":return function(e,t){return e.length>=3?c(e.slice(2),t):"invalid-override-definition"}(e,t);case"formats":return 1===e.length?"invalid-ruleset-definition":"invalid-format";default:return"generic-validation-error"}}t.convertAjvErrors=function(e){const t=[...e].sort(((e,t)=>{const i=e.instancePath.length-t.instancePath.length;return 0===i?"errorMessage"===e.keyword&&"errorMessage"!==t.keyword?-1:0:i})).filter(((e,t,i)=>0===t||i[t-1].instancePath!==e.instancePath)),i=[];e:for(let e=0;e{var t;if("x-spectral-runtime"===e.keyword)return a(e.params.errors);const i=e.instancePath.slice(1).split("/");return new r(c(i,e.keyword),null!==(t=e.message)&&void 0!==t?t:"unknown error",i)}))}},572:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertValidRuleset=t.RulesetValidationError=void 0;var n=i(78253);Object.defineProperty(t,"RulesetValidationError",{enumerable:!0,get:function(){return n.RulesetValidationError}});var r=i(38647);Object.defineProperty(t,"assertValidRuleset",{enumerable:!0,get:function(){return r.assertValidRuleset}})},28658:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAlias=void 0;const n=i(46734),r=i(45250),s=i(36246),o=i(83486),a=i(5688),c=i(78253);function p(e,t){if(!Array.isArray(e))return null;const i=Number(t);if(Number.isNaN(i))return null;if(i<0&&i>=e.length)return null;const r=e[i];return(0,n.isPlainObject)(r)&&(0,n.isPlainObject)(r.aliases)?r.aliases:null}t.validateAlias=function(e,t,i){const n=(0,a.toParsedPath)(i);try{const i=(0,r.get)(e,[...n.slice(0,n.indexOf("rules")+2),"formats"]),a="overrides"===n[0]?{...e.aliases,...p(e.overrides,n[1])}:e.aliases;(0,s.resolveAlias)(null!=a?a:null,t,Array.isArray(i)?new o.Formats(i):null)}catch(e){return e instanceof ReferenceError?new c.RulesetValidationError("undefined-alias",e.message,n):(0,a.wrapError)(e,i)}}},5688:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toParsedPath=t.wrapError=void 0;const n=i(85608),r=i(45250),s=(0,n.__importDefault)(i(99639)),o=i(78253),a=i(71267);function c(e){return e instanceof o.RulesetValidationError?(e.path.unshift(...this),e):new o.RulesetValidationError("generic-validation-error",(0,r.isError)(e)?e.message:String(e),[...this])}function p(e){return e.slice(1).split("/")}t.wrapError=function(e,t){const i=p(t);return(0,a.isAggregateError)(e)?new s.default(e.errors.map(c,i)):c.call(i,e)},t.toParsedPath=p},59868:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateFunction=void 0;const n=i(5688),r=i(78253);t.validateFunction=function(e,t,i){try{if(function(e){if("function"!=typeof e)throw ReferenceError("Function is not defined")}(e),!("validator"in e))return;e.validator.bind(e)(t)}catch(e){return e instanceof ReferenceError?new r.RulesetValidationError("undefined-function",e.message,[...(0,n.toParsedPath)(i),"function"]):(0,n.wrapError)(e,i)}}},35046:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Runner=void 0;var n=i(59446);Object.defineProperty(t,"Runner",{enumerable:!0,get:function(){return n.Runner}})},32185:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lintNode=void 0;const n=i(95955),r=i(45250),s=i(59756),o=i(84474),a=i(32704);function c(e,t,i){var s,c,p,d,f;const{rule:l,path:u}=t;for(const t of i){const i=(null!==(s=t.path)&&void 0!==s?s:u).map(n.decodeSegmentFragment),m=e.documentInventory.findAssociatedItemForPath(i,l.resolved),h=null!==(c=null==m?void 0:m.path)&&void 0!==c?c:(0,n.getClosestJsonPath)(e.documentInventory.resolved,i),y=null==m?void 0:m.document.source,g=null!==(p=null==m?void 0:m.document)&&void 0!==p?p:e.documentInventory.document,b=null!==(d=g.getRangeForJsonPath(h,!0))&&void 0!==d?d:o.Document.DEFAULT_RANGE,v=0===h.length?g.data:(0,r.get)(g.data,h),$={property:void 0!==(null==m?void 0:m.missingPropertyPath)&&m.missingPropertyPath.length>h.length?(0,n.printPath)(m.missingPropertyPath.slice(h.length-1),n.PrintStyle.Dot):h.length>0?h[h.length-1]:"",error:t.message,path:(0,n.printPath)(h,n.PrintStyle.EscapedPointer),description:l.description,value:v},j=(0,a.message)(t.message,$);$.error=j;const _=null!=y?l.getSeverityForSource(y,h):l.severity;-1!==_&&e.results.push({code:l.name,message:(null===l.message?null!==(f=l.description)&&void 0!==f?f:j:(0,a.message)(l.message,$)).trim(),path:h,severity:_,...null!==y?{source:y}:null,range:b})}}t.lintNode=(e,t,i)=>{var n;const o=t.path.length>0&&"$"===t.path[0]?t.path.slice(1):t.path.slice(),p={document:e.documentInventory.document,documentInventory:e.documentInventory,rule:i,path:o};for(const d of i.then){const i=(0,a.getLintTargets)(t.value,d.field);for(const t of i){let i;t.path.length>0?p.path=[...o,...t.path]:p.path=o;try{i=d.function(t.value,null!==(n=d.functionOptions)&&void 0!==n?n:null,p)}catch(e){throw new s.ErrorWithCause(`Function "${d.function.name}" threw an exception${(0,r.isError)(e)?`: ${e.message}`:""}`,{cause:e})}if(void 0!==i)if("then"in i){const t={...p};e.promises.push(i.then((i=>void 0===i?void 0:c(e,t,i))))}else c(e,p,i)}}}},59446:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Runner=void 0;const n=i(85608),r=i(41150),s=i(32185),o=(0,n.__importDefault)(i(22001)),a=i(1847),c=i(46734);function p(e,t,i){var n;if((0,c.isPlainObject)(e)||Array.isArray(e))new o.default(i,{fallback:a.jsonPathPlus,unsafe:!1,output:"auto",customShorthands:{}}).query(e,Object.entries(t).reduce(((e,[t,i])=>(e[t]=e=>{for(const t of i)t(e)},e)),{}));else for(const i of null!==(n=t.$)&&void 0!==n?n:[])i({path:[],value:e})}t.Runner=class{constructor(e){var t;this.inventory=e,this.results=[...this.inventory.diagnostics,...null!==(t=this.inventory.errors)&&void 0!==t?t:[]]}get document(){return this.inventory.document}addResult(e){this.results.push(e)}async run(e){var t,i,n;const{inventory:r}=this,{rules:o}=e,a=null!==(t=this.document.formats)&&void 0!==t?t:null,c={ruleset:e,documentInventory:r,results:this.results,promises:[]},d=Object.values(o).filter((e=>e.enabled)).filter((e=>e.matchesFormat(r.formats))),f={resolved:{},unresolved:{}};for(const e of d)for(const t of e.getGivenForFormats(a)){const r=t=>{(0,s.lintNode)(c,t,e)};(null!==(i=(n=f[e.resolved?"resolved":"unresolved"])[t])&&void 0!==i?i:n[t]=[]).push(r)}const l=Object.keys(f.resolved),u=Object.keys(f.unresolved);l.length>0&&p(c.documentInventory.resolved,f.resolved,l),u.length>0&&p(c.documentInventory.unresolved,f.unresolved,u),c.promises.length>0&&await Promise.all(c.promises)}getResults(){return(0,r.prepareResults)(this.results)}}},68111:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLintTargets=void 0;const n=i(73522),r=i(45250);t.getLintTargets=(e,t)=>{const i=[];if((0,r.isObject)(e)&&"string"==typeof t)if("@key"===t)for(const t of Object.keys(e))i.push({path:[t],value:t});else t.startsWith("$")?(0,n.JSONPath)({path:t,json:e,resultType:"all",callback(e){i.push({path:(0,r.toPath)(e.path.slice(1)),value:e.value})}}):i.push({path:(0,r.toPath)(t),value:(0,r.get)(e,t)});else i.push({path:[],value:e});return 0===i.length&&i.push({path:[],value:void 0}),i}},32704:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(68111),t),(0,n.__exportStar)(i(15155),t)},15155:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.message=void 0;const n=i(95955),r=new(i(63687).Replacer)(2);r.addFunction("print",(function(e){if("string"!=typeof e)return"";const{property:t,value:i}=this;switch(e){case"property":return void 0!==t&&""!==t?`"${t}" property `:"The document ";case"value":return(0,n.printValue)(i);default:return e in this&&null!==this[e]?String(this[e]):""}})),t.message=r.print.bind(r)},41150:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sortResults=t.compareResults=t.comparePosition=t.prepareResults=void 0,t.prepareResults=e=>(0,t.sortResults)(i(e));const i=e=>{const t=new Set;return e.filter((e=>{const i=(e=>{let t=String(e.code);return e.path.length>0?t+=JSON.stringify(e.path):t+=JSON.stringify(e.range),void 0!==e.source&&(t+=e.source),void 0!==e.message&&(t+=e.message),t})(e);return!t.has(i)&&(t.add(i),!0)}))},n=e=>e<0?-1:e>0?1:0;t.comparePosition=(e,t)=>{const i=e.line-t.line;if(0!==i)return n(i);const r=e.character-t.character;return n(r)},t.compareResults=(e,i)=>{const r=((e,t)=>void 0===e&&void 0===t?0:void 0===e?-1:void 0===t?1:e.localeCompare(t))(e.source,i.source);if(0!==r)return n(r);const s=(0,t.comparePosition)(e.range.start,i.range.start);if(0!==s)return s;const o=((e,t)=>void 0===e&&void 0===t?0:void 0===e?-1:void 0===t?1:String(e).localeCompare(String(t),void 0,{numeric:!0}))(e.code,i.code);if(0!==o)return n(o);const a=e.path.join().localeCompare(i.path.join());return n(a)},t.sortResults=e=>[...e].sort(t.compareResults)},77327:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Spectral=void 0;const n=i(85608),r=i(46734),s=i(20613),o=(0,n.__importStar)(i(63083)),a=i(88601),c=i(84474),p=i(47600),d=i(35046),f=i(73368),l=i(98833),u=i(16090);(0,n.__exportStar)(i(86065),t),t.Spectral=class{constructor(e){this.opts=e,void 0!==(null==e?void 0:e.resolver)?this._resolver=e.resolver:this._resolver=(0,a.createHttpAndFileResolver)()}parseDocument(e){return e instanceof c.Document?e:(0,c.isParsedResult)(e)?new c.ParsedDocument(e):new c.Document("string"==typeof e?e:(0,r.stringify)(e,void 0,2),o.Yaml)}async runWithResolved(e,t={}){if(void 0===this.ruleset)throw new Error("No ruleset has been defined. Have you called setRuleset()?");const i=this.parseDocument(e),n=this.ruleset.fromSource(i.source),r=new p.DocumentInventory(i,this._resolver);await r.resolve();const s=new d.Runner(r);if(s.results.push(...this._filterParserErrors(i.diagnostics,n.parserOptions)),void 0===i.formats){const e=[...n.formats].filter((e=>e(r.resolved,i.source)));0===e.length&&!0!==t.ignoreUnknownFormat?(i.formats=null,n.formats.size>0&&s.addResult(this._generateUnrecognizedFormatError(i,Array.from(n.formats)))):i.formats=new Set(e)}await s.run(n);const o=s.getResults();return{resolved:r.resolved,results:o}}async run(e,t={}){return(await this.runWithResolved(e,t)).results}setRuleset(e){this.ruleset=e instanceof f.Ruleset?e:new f.Ruleset(e)}_generateUnrecognizedFormatError(e,t){return(0,l.generateDocumentWideResult)(e,`The provided document does not match any of the registered formats [${t.map((e=>{var t;return null!==(t=e.displayName)&&void 0!==t?t:e.name})).join(", ")}]`,s.DiagnosticSeverity.Warning,"unrecognized-format")}_filterParserErrors(e,t){return e.reduce(((e,i)=>{if("parser"!==i.code)return e;let n;if(i.message.startsWith("Mapping key must be a string scalar rather than"))n=(0,u.getDiagnosticSeverity)(t.incompatibleValues);else{if(!i.message.startsWith("Duplicate key"))return e.push(i),e;n=(0,u.getDiagnosticSeverity)(t.duplicateKeys)}return-1!==n&&(e.push(i),i.severity=n),e}),[])}}},32385:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86065:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(17937),t),(0,n.__exportStar)(i(32385),t)},17937:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},98833:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateDocumentWideResult=void 0;const n=i(84474);t.generateDocumentWideResult=(e,t,i,r)=>{var s;return{range:null!==(s=e.getRangeForJsonPath([],!0))&&void 0!==s?s:n.Document.DEFAULT_RANGE,message:t,code:r,severity:i,...null!==e.source?{source:e.source}:null,path:[]}}},63687:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Replacer=void 0;const n=(0,i(85608).__importDefault)(i(46065));t.Replacer=class{constructor(e){this.regex=new RegExp(`#?${"{".repeat(e)}([^}\n]+)${"}".repeat(e)}`,"g"),this.functions={}}addFunction(e,t){this.functions[e]=t}print(e,t){return e.replace(this.regex,((i,r,s)=>"#"===e[s]?String((0,n.default)(r,{...Object.entries(this.functions).reduce(((e,[i,n])=>(e[i]=n.bind(t),e)),{}),...t})):r in t?String(t[r]):""))}}},20613:(e,t)=>{"use strict";var i,n,r,s;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpParamStyles=void 0,(i=t.HttpParamStyles||(t.HttpParamStyles={})).Simple="simple",i.Matrix="matrix",i.Label="label",i.Form="form",i.CommaDelimited="commaDelimited",i.SpaceDelimited="spaceDelimited",i.PipeDelimited="pipeDelimited",i.DeepObject="deepObject",t.DiagnosticSeverity=void 0,(n=t.DiagnosticSeverity||(t.DiagnosticSeverity={}))[n.Error=0]="Error",n[n.Warning=1]="Warning",n[n.Information=2]="Information",n[n.Hint=3]="Hint",t.NodeType=void 0,(r=t.NodeType||(t.NodeType={})).Article="article",r.HttpService="http_service",r.HttpServer="http_server",r.HttpOperation="http_operation",r.Model="model",r.Generic="generic",r.Unknown="unknown",r.TableOfContents="table_of_contents",r.SpectralRuleset="spectral_ruleset",r.Styleguide="styleguide",r.Image="image",t.NodeFormat=void 0,(s=t.NodeFormat||(t.NodeFormat={})).Json="json",s.Markdown="markdown",s.Yaml="yaml",s.Apng="apng",s.Avif="avif",s.Bmp="bmp",s.Gif="gif",s.Jpeg="jpeg",s.Png="png",s.Svg="svg",s.Webp="webp"},75150:(e,t,i)=>{"use strict";var n=i(45838),r=i(76502);function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(n),a=s(r);const c=e=>void 0!==e,p=e=>t=>t.keyword===e,d=p("anyOf"),f=p("enum"),l=e=>e&&e.errors||[],u=e=>{return e&&(t=e.children,Object.values(t))||[];var t},m=e=>t=>t.reduce(((e,t)=>e.concat(t)),e),h=/['"]/g,y=/NOT/g,g=/^[a-z]/;function b(e){return e.replace(h,'"').replace(y,"not")}function v(e){return e.toUpperCase()}class ${constructor(e={isIdentifierLocation:!1},{data:t,schema:i,propPath:n}){this.options=e,this.data=t,this.schema=i,this.propPath=n}getError(){throw new Error(`Implement the 'getError' method inside ${this.constructor.name}!`)}getPrettyPropertyName(e){const t=this.getPropertyName(e);return null===t?(typeof this.getPropertyValue(e)).replace(g,v):`"${t}" property`}getPropertyName(e){const t=function(e){const t=e.lastIndexOf("/");return-1!==t?e.slice(t+1):null}(e);return null!==t?t:0===this.propPath.length?null:this.propPath[this.propPath.length-1]}getPropertyValue(e){return""===e?this.data:o.default.get(this.data,e)}}class j extends ${getError(){const{message:e,instancePath:t}=this.options;return{error:`${this.getPrettyPropertyName(t)} ${b(e)}`,path:t}}}class _ extends ${constructor(...e){super(...e)}getError(){const{params:e,instancePath:t}=this.options;return{error:`Property "${e.additionalProperty}" is not expected to be here`,path:t}}}class w extends ${getError(){const{message:e,instancePath:t,params:i}=this.options,n=this.findBestMatch(),r={error:`${this.getPrettyPropertyName(t)} ${e}: ${i.allowedValues.map((e=>"string"==typeof e?`"${e}"`:JSON.stringify(e))).join(", ")}`,path:t};return null!==n&&(r.suggestion=`Did you mean "${n}"?`),r}findBestMatch(){const{instancePath:e,params:{allowedValues:t}}=this.options,i=this.getPropertyValue(e);if("string"!=typeof i)return null;const n=t.filter((e=>"string"==typeof e)).map((e=>({value:e,weight:a.default(e,i.toString())}))).sort(((e,t)=>e.weight>t.weight?1:e.weight0&&delete e.errors,e.errors&&e.errors.length&&l(e).every(f)&&(e=>t=>{return u(e).filter((n=t,i=e=>n===e,e=>!i(e)));var i,n})(t)(e).filter(c).some(l)&&delete t.children[i],Object.entries(e.children).forEach((([t,i])=>E(i,e,t)))}function A(e,t){const i=l(e);if(i.length&&i.every(f)){const e=[...new Set(m([])(i.map((e=>e.params.allowedValues))))],n=i[0];return[new w({...n,params:{allowedValues:e}},t)]}return m(i.reduce(((e,i)=>{switch(i.keyword){case"additionalProperties":return e.concat(new _(i,t));case"required":return e.concat(new j(i,t));case"type":return e.concat(new P(i,t));case"errorMessage":return e.concat(new S(i,t));default:return e.concat(new x(i,t))}}),[]))(u(e).map((e=>A(e,t))))}var T=(e,t)=>{const i=function(e=[]){const t={children:{}};return e.forEach((e=>{const{instancePath:i}=e,n=""===i?[""]:i.match(O);n&&n.reduce(((t,i,r)=>(t.children[i]=t.children[i]||{children:{},errors:[]},r===n.length-1&&t.children[i].errors.push(e),t.children[i])),t)})),t}(e||[]);return E(i),A(i,t)};const I=e=>e.getError();e.exports=(e,t,{propertyPath:i,targetValue:n})=>T(t,{data:n,schema:e,propPath:i}).map(I)},29824:(e,t)=>{"use strict";var i,n,r,s,o;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpOperationSecurityDeclarationTypes=void 0,(i=t.HttpOperationSecurityDeclarationTypes||(t.HttpOperationSecurityDeclarationTypes={})).None="none",i.Declared="declared",i.InheritedFromService="inheritedFromService",t.HttpParamStyles=void 0,(n=t.HttpParamStyles||(t.HttpParamStyles={})).Unspecified="unspecified",n.Simple="simple",n.Matrix="matrix",n.Label="label",n.Form="form",n.CommaDelimited="commaDelimited",n.SpaceDelimited="spaceDelimited",n.PipeDelimited="pipeDelimited",n.DeepObject="deepObject",n.TabDelimited="tabDelimited",t.DiagnosticSeverity=void 0,(r=t.DiagnosticSeverity||(t.DiagnosticSeverity={}))[r.Error=0]="Error",r[r.Warning=1]="Warning",r[r.Information=2]="Information",r[r.Hint=3]="Hint",t.NodeType=void 0,(s=t.NodeType||(t.NodeType={})).Article="article",s.HttpService="http_service",s.HttpServer="http_server",s.HttpOperation="http_operation",s.HttpCallback="http_callback",s.HttpWebhook="http_webhook",s.Model="model",s.Generic="generic",s.Unknown="unknown",s.TableOfContents="table_of_contents",s.SpectralRuleset="spectral_ruleset",s.Styleguide="styleguide",s.Image="image",s.StoplightResolutions="stoplight_resolutions",s.StoplightOverride="stoplight_override",t.NodeFormat=void 0,(o=t.NodeFormat||(t.NodeFormat={})).Json="json",o.Markdown="markdown",o.Yaml="yaml",o.Javascript="javascript",o.Apng="apng",o.Avif="avif",o.Bmp="bmp",o.Gif="gif",o.Jpeg="jpeg",o.Png="png",o.Svg="svg",o.Webp="webp"},78464:(e,t,i)=>{"use strict";var n=i(3468),r=i(20700),s=i(79828),o=i(17189),a=i(67594),c=i(58481),p=i(66684);e.exports=function(e,t,i){if("Object"!==p(e))throw new n("Assertion failed: Type(O) is not Object");if(!a(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");return r(o,c,s,e,t,{"[[Configurable]]":!0,"[[Enumerable]]":!1,"[[Value]]":i,"[[Writable]]":!0})}},79828:(e,t,i)=>{"use strict";var n=i(3468),r=i(47604),s=i(290);e.exports=function(e){if(void 0!==e&&!r(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return s(e)}},17189:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!s(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!(!r(e,"[[Value]]")&&!r(e,"[[Writable]]"))}},67594:e=>{"use strict";e.exports=function(e){return"string"==typeof e||"symbol"==typeof e}},58481:(e,t,i)=>{"use strict";var n=i(41445);e.exports=function(e,t){return e===t?0!==e||1/e==1/t:n(e)&&n(t)}},66684:(e,t,i)=>{"use strict";var n=i(61216);e.exports=function(e){return"symbol"==typeof e?"Symbol":"bigint"==typeof e?"BigInt":n(e)}},80238:(e,t,i)=>{"use strict";var n=i(39911),r=i(76982),s=i(2625),o=i(3468);e.exports=function(e,t,i){if("string"!=typeof e)throw new o("Assertion failed: `S` must be a String");if(!r(t)||t<0||t>s)throw new o("Assertion failed: `length` must be an integer >= 0 and <= 2**53");if("boolean"!=typeof i)throw new o("Assertion failed: `unicode` must be a Boolean");return i?t+1>=e.length?t+1:t+n(e,t)["[[CodeUnitCount]]"]:t+1}},9081:(e,t,i)=>{"use strict";var n=i(528),r=i(5731),s=i(3468),o=n("%Promise%",!0),a=i(79818),c=i(90307),p=i(158),d=i(56188),f=i(69896),l=i(52795),u=a("Promise.prototype.then",!0);e.exports=function(e){if("Object"!==l(e))throw new s("Assertion failed: Type(O) is not Object");if(arguments.length>1)throw new r("although AsyncFromSyncIteratorContinuation should take a second argument, it is not used in this implementation");if(!o)throw new r("This environment does not support Promises.");return new o((function(t){var i=p(e),n=d(e),r=f(o,n);t(u(r,(function(e){return c(e,i)})))}))}},53347:(e,t,i)=>{"use strict";var n=i(528),r=i(79818),s=i(3468),o=i(80234),a=n("%Reflect.apply%",!0)||r("Function.prototype.apply");e.exports=function(e,t){var i=arguments.length>2?arguments[2]:[];if(!o(i))throw new s("Assertion failed: optional `argumentsList`, if provided, must be a List");return a(e,t,i)}},39911:(e,t,i)=>{"use strict";var n=i(3468),r=i(79818),s=i(91318),o=i(86186),a=i(79041),c=r("String.prototype.charAt"),p=r("String.prototype.charCodeAt");e.exports=function(e,t){if("string"!=typeof e)throw new n("Assertion failed: `string` must be a String");var i=e.length;if(t<0||t>=i)throw new n("Assertion failed: `position` must be >= 0, and < the length of `string`");var r=p(e,t),d=c(e,t),f=s(r),l=o(r);if(!f&&!l)return{"[[CodePoint]]":d,"[[CodeUnitCount]]":1,"[[IsUnpairedSurrogate]]":!1};if(l||t+1===i)return{"[[CodePoint]]":d,"[[CodeUnitCount]]":1,"[[IsUnpairedSurrogate]]":!0};var u=p(e,t+1);return o(u)?{"[[CodePoint]]":a(r,u),"[[CodeUnitCount]]":2,"[[IsUnpairedSurrogate]]":!1}:{"[[CodePoint]]":d,"[[CodeUnitCount]]":1,"[[IsUnpairedSurrogate]]":!0}}},55286:(e,t,i)=>{"use strict";var n=i(528),r=i(5731),s=i(3468),o=n("%Promise%",!0),a=i(9081),c=i(53347),p=i(90307),d=i(52903),f=i(18666),l=i(24600),u=i(77394),m=i(52795),h=i(66986),y=i(66381),g=n("%AsyncFromSyncIteratorPrototype%",!0)||{next:function(e){if(!o)throw new r("This environment does not support Promises.");var t=this;h.assert(t,"[[SyncIteratorRecord]]");var i=arguments.length;return new o((function(n){var r,s=h.get(t,"[[SyncIteratorRecord]]");r=i>0?l(s,e):l(s),n(a(r))}))},return:function(){if(!o)throw new r("This environment does not support Promises.");var e=this;h.assert(e,"[[SyncIteratorRecord]]");var t=arguments.length>0,i=t?arguments[0]:void 0;return new o((function(n,r){var o=h.get(e,"[[SyncIteratorRecord]]")["[[Iterator]]"],d=f(o,"return");if(void 0!==d){var l;l=t?c(d,o,[i]):c(d,o),"Object"===m(l)?n(a(l)):c(r,void 0,[new s("Iterator `return` method returned a non-object value.")])}else{var u=p(i,!0);c(n,void 0,[u])}}))},throw:function(){if(!o)throw new r("This environment does not support Promises.");var e=this;h.assert(e,"[[SyncIteratorRecord]]");var t=arguments.length>0,i=t?arguments[0]:void 0;return new o((function(n,r){var o,p=h.get(e,"[[SyncIteratorRecord]]")["[[Iterator]]"],d=f(p,"throw");void 0!==d?(o=t?c(d,p,[i]):c(d,p),"Object"===m(o)?n(a(o)):c(r,void 0,[new s("Iterator `throw` method returned a non-object value.")])):c(r,void 0,[i])}))}};e.exports=function(e){if(!y(e))throw new s("Assertion failed: `syncIteratorRecord` must be an Iterator Record");var t=u(g);return h.set(t,"[[SyncIteratorRecord]]",e),{"[[Iterator]]":t,"[[NextMethod]]":d(t,"next"),"[[Done]]":!1}}},92210:(e,t,i)=>{"use strict";var n=i(3468),r=i(52731),s=i(35521),o=i(52795);e.exports=function(e,t,i){if("Object"!==o(e))throw new n("Assertion failed: Type(O) is not Object");if(!r(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");return s(e,t,{"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Value]]":i,"[[Writable]]":!0})}},10207:(e,t,i)=>{"use strict";var n=i(3468),r=i(92210),s=i(52731),o=i(52795);e.exports=function(e,t,i){if("Object"!==o(e))throw new n("Assertion failed: Type(O) is not Object");if(!s(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");if(!r(e,t,i))throw new n("unable to create data property")}},90307:(e,t,i)=>{"use strict";var n=i(3468);e.exports=function(e,t){if("boolean"!=typeof t)throw new n("Assertion failed: Type(done) is not Boolean");return{value:e,done:t}}},84063:(e,t,i)=>{"use strict";var n=i(3468),r=i(47604),s=i(290);e.exports=function(e){if(void 0!==e&&!r(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return s(e)}},52903:(e,t,i)=>{"use strict";var n=i(3468),r=i(48660),s=i(52731),o=i(52795);e.exports=function(e,t){if("Object"!==o(e))throw new n("Assertion failed: Type(O) is not Object");if(!s(t))throw new n("Assertion failed: IsPropertyKey(P) is not true, got "+r(t));return e[t]}},22693:(e,t,i)=>{"use strict";var n=i(528),r=i(3468),s=n("%Symbol.asyncIterator%",!0),o=i(48660),a=i(53558)(),c=i(80238),p=i(55286),d=i(21088),f=i(18666),l=i(80234),u=i(76959);e.exports=function(e,t){if("SYNC"!==t&&"ASYNC"!==t)throw new r("Assertion failed: `kind` must be one of 'sync' or 'async', got "+o(t));var i;if("ASYNC"===t&&a&&s&&(i=f(e,s)),void 0===i){var n=u({AdvanceStringIndex:c,GetMethod:f,IsArray:l},e);if("ASYNC"===t){if(void 0===n)throw new r("iterator method is `undefined`");var m=d(e,n);return p(m)}i=n}if(void 0===i)throw new r("iterator method is `undefined`");return d(e,i)}},21088:(e,t,i)=>{"use strict";var n=i(3468),r=i(53347),s=i(52903),o=i(46627),a=i(52795);e.exports=function(e,t){if(!o(t))throw new n("method must be a function");var i=r(t,e);if("Object"!==a(i))throw new n("iterator must return an object");return{"[[Iterator]]":i,"[[NextMethod]]":s(i,"next"),"[[Done]]":!1}}},18666:(e,t,i)=>{"use strict";var n=i(3468),r=i(32157),s=i(46627),o=i(52731),a=i(48660);e.exports=function(e,t){if(!o(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");var i=r(e,t);if(null!=i){if(!s(i))throw new n(a(t)+" is not a function: "+a(i));return i}}},32157:(e,t,i)=>{"use strict";var n=i(3468),r=i(48660),s=i(52731);e.exports=function(e,t){if(!s(t))throw new n("Assertion failed: IsPropertyKey(P) is not true, got "+r(t));return e[t]}},67093:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!s(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!(!r(e,"[[Get]]")&&!r(e,"[[Set]]"))}},80234:(e,t,i)=>{"use strict";e.exports=i(66009)},46627:(e,t,i)=>{"use strict";e.exports=i(89617)},57326:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!s(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!(!r(e,"[[Value]]")&&!r(e,"[[Writable]]"))}},11482:(e,t,i)=>{"use strict";var n=i(528),r=n("%Object.preventExtensions%",!0),s=n("%Object.isExtensible%",!0),o=i(8809);e.exports=r?function(e){return!o(e)&&s(e)}:function(e){return!o(e)}},4579:(e,t,i)=>{"use strict";var n=i(3468),r=i(67093),s=i(57326),o=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!o(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!r(e)&&!s(e)}},52731:e=>{"use strict";e.exports=function(e){return"string"==typeof e||"symbol"==typeof e}},158:(e,t,i)=>{"use strict";var n=i(3468),r=i(52903),s=i(64124),o=i(52795);e.exports=function(e){if("Object"!==o(e))throw new n("Assertion failed: Type(iterResult) is not Object");return s(r(e,"done"))}},24600:(e,t,i)=>{"use strict";var n=i(3468),r=i(53347),s=i(52795),o=i(66381);e.exports=function(e){if(!o(e))throw new n("Assertion failed: `iteratorRecord` must be an Iterator Record");var t;if(t=arguments.length<2?r(e["[[NextMethod]]"],e["[[Iterator]]"]):r(e["[[NextMethod]]"],e["[[Iterator]]"],[arguments[1]]),"Object"!==s(t))throw new n("iterator next must return an object");return t}},37259:(e,t,i)=>{"use strict";var n=i(3468),r=i(158),s=i(24600),o=i(66381);e.exports=function(e){if(!o(e))throw new n("Assertion failed: `iteratorRecord` must be an Iterator Record");var t=s(e);return!0!==r(t)&&t}},51192:(e,t,i)=>{"use strict";var n=i(3468),r=i(79818)("Array.prototype.push"),s=i(37259),o=i(56188),a=i(66381);e.exports=function(e){if(!a(e))throw new n("Assertion failed: `iteratorRecord` must be an Iterator Record");for(var t=[],i=!0;i;)if(i=s(e)){var c=o(i);r(t,c)}return t}},56188:(e,t,i)=>{"use strict";var n=i(3468),r=i(52903),s=i(52795);e.exports=function(e){if("Object"!==s(e))throw new n("Assertion failed: Type(iterResult) is not Object");return r(e,"value")}},35521:(e,t,i)=>{"use strict";var n=i(69336),r=i(5731),s=i(3468),o=i(47604),a=i(67093),c=i(11482),p=i(52731),d=i(45722),f=i(11328),l=i(52795),u=i(85442);e.exports=function(e,t,i){if("Object"!==l(e))throw new s("Assertion failed: O must be an Object");if(!p(t))throw new s("Assertion failed: P must be a Property Key");if(!o(i))throw new s("Assertion failed: Desc must be a Property Descriptor");if(!n){if(a(i))throw new r("This environment does not support accessor property descriptors.");var m=!(t in e)&&i["[[Writable]]"]&&i["[[Enumerable]]"]&&i["[[Configurable]]"]&&"[[Value]]"in i,h=t in e&&(!("[[Configurable]]"in i)||i["[[Configurable]]"])&&(!("[[Enumerable]]"in i)||i["[[Enumerable]]"])&&(!("[[Writable]]"in i)||i["[[Writable]]"])&&"[[Value]]"in i;if(m||h)return e[t]=i["[[Value]]"],f(e[t],i["[[Value]]"]);throw new r("This environment does not support defining non-writable, non-enumerable, or non-configurable properties")}var y=n(e,t),g=y&&d(y),b=c(e);return u(e,t,b,i,g)}},11246:(e,t,i)=>{"use strict";var n=i(3468),r=i(49944),s=i(52795);e.exports=function(e){if("Object"!==s(e))throw new n("Assertion failed: O must be an Object");if(!r)throw new n("This environment does not support fetching prototypes.");return r(e)}},77394:(e,t,i)=>{"use strict";var n=i(528)("%Object.create%",!0),r=i(3468),s=i(5731),o=i(80234),a=i(52795),c=i(90626),p=i(66986),d=i(66869)();e.exports=function(e){if(null!==e&&"Object"!==a(e))throw new r("Assertion failed: `proto` must be null or an object");var t,i=arguments.length<2?[]:arguments[1];if(!o(i))throw new r("Assertion failed: `additionalInternalSlotsList` must be an Array");if(n)t=n(e);else if(d)t={__proto__:e};else{if(null===e)throw new s("native Object.create support is required to create null objects");var f=function(){};f.prototype=e,t=new f}return i.length>0&&c(i,(function(e){p.set(t,e,void 0)})),t}},29954:(e,t,i)=>{"use strict";var n=i(3468),r=i(64116),s=i(11246);e.exports=function(e,t){if("object"!=typeof t)throw new n("Assertion failed: V must be Object or Null");try{r(e,t)}catch(e){return!1}return s(e)===t}},69896:(e,t,i)=>{"use strict";var n=i(528),r=i(28498),s=i(5731),o=n("%Promise.resolve%",!0),a=o&&r(o);e.exports=function(e,t){if(!a)throw new s("This environment does not support Promises.");return a(e,t)}},11328:(e,t,i)=>{"use strict";var n=i(41445);e.exports=function(e,t){return e===t?0!==e||1/e==1/t:n(e)&&n(t)}},64124:e=>{"use strict";e.exports=function(e){return!!e}},45722:(e,t,i)=>{"use strict";var n=i(78554),r=i(3468),s=i(52795),o=i(64124),a=i(46627);e.exports=function(e){if("Object"!==s(e))throw new r("ToPropertyDescriptor requires an object");var t={};if(n(e,"enumerable")&&(t["[[Enumerable]]"]=o(e.enumerable)),n(e,"configurable")&&(t["[[Configurable]]"]=o(e.configurable)),n(e,"value")&&(t["[[Value]]"]=e.value),n(e,"writable")&&(t["[[Writable]]"]=o(e.writable)),n(e,"get")){var i=e.get;if(void 0!==i&&!a(i))throw new r("getter must be a function");t["[[Get]]"]=i}if(n(e,"set")){var c=e.set;if(void 0!==c&&!a(c))throw new r("setter must be a function");t["[[Set]]"]=c}if((n(t,"[[Get]]")||n(t,"[[Set]]"))&&(n(t,"[[Value]]")||n(t,"[[Writable]]")))throw new r("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return t}},52795:(e,t,i)=>{"use strict";var n=i(61216);e.exports=function(e){return"symbol"==typeof e?"Symbol":"bigint"==typeof e?"BigInt":n(e)}},79041:(e,t,i)=>{"use strict";var n=i(528),r=i(3468),s=n("%String.fromCharCode%"),o=i(91318),a=i(86186);e.exports=function(e,t){if(!o(e)||!a(t))throw new r("Assertion failed: `lead` must be a leading surrogate char code, and `trail` must be a trailing surrogate char code");return s(e)+s(t)}},85442:(e,t,i)=>{"use strict";var n=i(3468),r=i(20700),s=i(49040),o=i(47604),a=i(84063),c=i(67093),p=i(57326),d=i(4579),f=i(52731),l=i(11328),u=i(52795);e.exports=function(e,t,i,m,h){var y,g,b=u(e);if("Undefined"!==b&&"Object"!==b)throw new n("Assertion failed: O must be undefined or an Object");if(!f(t))throw new n("Assertion failed: P must be a Property Key");if("boolean"!=typeof i)throw new n("Assertion failed: extensible must be a Boolean");if(!o(m))throw new n("Assertion failed: Desc must be a Property Descriptor");if(void 0!==h&&!o(h))throw new n("Assertion failed: current must be a Property Descriptor, or undefined");if(void 0===h)return!!i&&("Undefined"===b||(c(m)?r(p,l,a,e,t,m):r(p,l,a,e,t,{"[[Configurable]]":!!m["[[Configurable]]"],"[[Enumerable]]":!!m["[[Enumerable]]"],"[[Value]]":m["[[Value]]"],"[[Writable]]":!!m["[[Writable]]"]})));if(!s({IsAccessorDescriptor:c,IsDataDescriptor:p},h))throw new n("`current`, when present, must be a fully populated and valid Property Descriptor");if(!h["[[Configurable]]"]){if("[[Configurable]]"in m&&m["[[Configurable]]"])return!1;if("[[Enumerable]]"in m&&!l(m["[[Enumerable]]"],h["[[Enumerable]]"]))return!1;if(!d(m)&&!l(c(m),c(h)))return!1;if(c(h)){if("[[Get]]"in m&&!l(m["[[Get]]"],h["[[Get]]"]))return!1;if("[[Set]]"in m&&!l(m["[[Set]]"],h["[[Set]]"]))return!1}else if(!h["[[Writable]]"]){if("[[Writable]]"in m&&m["[[Writable]]"])return!1;if("[[Value]]"in m&&!l(m["[[Value]]"],h["[[Value]]"]))return!1}}return"Undefined"===b||(p(h)&&c(m)?(y=("[[Configurable]]"in m?m:h)["[[Configurable]]"],g=("[[Enumerable]]"in m?m:h)["[[Enumerable]]"],r(p,l,a,e,t,{"[[Configurable]]":!!y,"[[Enumerable]]":!!g,"[[Get]]":("[[Get]]"in m?m:h)["[[Get]]"],"[[Set]]":("[[Set]]"in m?m:h)["[[Set]]"]})):c(h)&&p(m)?(y=("[[Configurable]]"in m?m:h)["[[Configurable]]"],g=("[[Enumerable]]"in m?m:h)["[[Enumerable]]"],r(p,l,a,e,t,{"[[Configurable]]":!!y,"[[Enumerable]]":!!g,"[[Value]]":("[[Value]]"in m?m:h)["[[Value]]"],"[[Writable]]":!!("[[Writable]]"in m?m:h)["[[Writable]]"]})):r(p,l,a,e,t,m))}},61216:e=>{"use strict";e.exports=function(e){return null===e?"Null":void 0===e?"Undefined":"function"==typeof e||"object"==typeof e?"Object":"number"==typeof e?"Number":"boolean"==typeof e?"Boolean":"string"==typeof e?"String":void 0}},20700:(e,t,i)=>{"use strict";var n=i(17239),r=i(64940),s=n.hasArrayLengthDefineBug(),o=s&&i(66009),a=i(79818)("Object.prototype.propertyIsEnumerable");e.exports=function(e,t,i,n,c,p){if(!r){if(!e(p))return!1;if(!p["[[Configurable]]"]||!p["[[Writable]]"])return!1;if(c in n&&a(n,c)!==!!p["[[Enumerable]]"])return!1;var d=p["[[Value]]"];return n[c]=d,t(n[c],d)}return s&&"length"===c&&"[[Value]]"in p&&o(n)&&n.length!==p["[[Value]]"]?(n.length=p["[[Value]]"],n.length===p["[[Value]]"]):(r(n,c,i(p)),!0)}},66009:(e,t,i)=>{"use strict";var n=i(528)("%Array%"),r=!n.isArray&&i(79818)("Object.prototype.toString");e.exports=n.isArray||function(e){return"[object Array]"===r(e)}},90626:e=>{"use strict";e.exports=function(e,t){for(var i=0;i{"use strict";e.exports=function(e){if(void 0===e)return e;var t={};return"[[Value]]"in e&&(t.value=e["[[Value]]"]),"[[Writable]]"in e&&(t.writable=!!e["[[Writable]]"]),"[[Get]]"in e&&(t.get=e["[[Get]]"]),"[[Set]]"in e&&(t.set=e["[[Set]]"]),"[[Enumerable]]"in e&&(t.enumerable=!!e["[[Enumerable]]"]),"[[Configurable]]"in e&&(t.configurable=!!e["[[Configurable]]"]),t}},76959:(e,t,i)=>{"use strict";var n=i(53558)(),r=i(528),s=i(79818),o=i(8120),a=r("%Symbol.iterator%",!0),c=s("String.prototype.slice"),p=r("%String%");e.exports=function(e,t){var i;return n?i=e.GetMethod(t,a):e.IsArray(t)?i=function(){var e=-1,t=this;return{next:function(){return{done:(e+=1)>=t.length,value:t[e]}}}}:o(t)&&(i=function(){var i=0;return{next:function(){var n=e.AdvanceStringIndex(p(t),i,!0),r=c(t,i,n);return i=n,{done:n>t.length,value:r}}}}),i}},49944:(e,t,i)=>{"use strict";var n=i(528)("%Object.getPrototypeOf%",!0),r=i(66869)();e.exports=n||(r?function(e){return e.__proto__}:null)},27185:(e,t,i)=>{"use strict";var n=i(41445);e.exports=function(e){return("number"==typeof e||"bigint"==typeof e)&&!n(e)&&e!==1/0&&e!==-1/0}},49040:(e,t,i)=>{"use strict";var n=i(47604);e.exports=function(e,t){return n(t)&&"object"==typeof t&&"[[Enumerable]]"in t&&"[[Configurable]]"in t&&(e.IsAccessorDescriptor(t)||e.IsDataDescriptor(t))}},76982:(e,t,i)=>{"use strict";var n=i(528),r=n("%Math.abs%"),s=n("%Math.floor%"),o=i(41445),a=i(27185);e.exports=function(e){if("number"!=typeof e||o(e)||!a(e))return!1;var t=r(e);return s(t)===t}},91318:e=>{"use strict";e.exports=function(e){return"number"==typeof e&&e>=55296&&e<=56319}},41445:e=>{"use strict";e.exports=Number.isNaN||function(e){return e!=e}},8809:e=>{"use strict";e.exports=function(e){return null===e||"function"!=typeof e&&"object"!=typeof e}},86186:e=>{"use strict";e.exports=function(e){return"number"==typeof e&&e>=56320&&e<=57343}},2625:e=>{"use strict";e.exports=Number.MAX_SAFE_INTEGER||9007199254740991},66381:(e,t,i)=>{"use strict";var n=i(78554);e.exports=function(e){return!!e&&"object"==typeof e&&n(e,"[[Iterator]]")&&n(e,"[[NextMethod]]")&&"function"==typeof e["[[NextMethod]]"]&&n(e,"[[Done]]")&&"boolean"==typeof e["[[Done]]"]}},47604:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s={__proto__:null,"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};e.exports=function(e){if(!e||"object"!=typeof e)return!1;for(var t in e)if(r(e,t)&&!s[t])return!1;var i=r(e,"[[Value]]")||r(e,"[[Writable]]"),o=r(e,"[[Get]]")||r(e,"[[Set]]");if(i&&o)throw new n("Property Descriptors may not be both accessor and data descriptors");return!0}},64116:(e,t,i)=>{"use strict";var n=i(528)("%Object.setPrototypeOf%",!0),r=i(66869)();e.exports=n||(r?function(e,t){return e.__proto__=t,e}:null)},17547:e=>{"use strict";class t{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+t.version}static addUnaryOp(e){return t.max_unop_len=Math.max(e.length,t.max_unop_len),t.unary_ops[e]=1,t}static addBinaryOp(e,i,n){return t.max_binop_len=Math.max(e.length,t.max_binop_len),t.binary_ops[e]=i,n?t.right_associative.add(e):t.right_associative.delete(e),t}static addIdentifierChar(e){return t.additional_identifier_chars.add(e),t}static addLiteral(e,i){return t.literals[e]=i,t}static removeUnaryOp(e){return delete t.unary_ops[e],e.length===t.max_unop_len&&(t.max_unop_len=t.getMaxKeyLen(t.unary_ops)),t}static removeAllUnaryOps(){return t.unary_ops={},t.max_unop_len=0,t}static removeIdentifierChar(e){return t.additional_identifier_chars.delete(e),t}static removeBinaryOp(e){return delete t.binary_ops[e],e.length===t.max_binop_len&&(t.max_binop_len=t.getMaxKeyLen(t.binary_ops)),t.right_associative.delete(e),t}static removeAllBinaryOps(){return t.binary_ops={},t.max_binop_len=0,t}static removeLiteral(e){return delete t.literals[e],t}static removeAllLiterals(){return t.literals={},t}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new t(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map((e=>e.length)))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return t.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!t.binary_ops[String.fromCharCode(e)]||t.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return t.isIdentifierStart(e)||t.isDecimalDigit(e)}throwError(e){const t=new Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,i){if(t.hooks[e]){const n={context:this,node:i};return t.hooks.run(e,n),n.node}return i}searchHook(e){if(t.hooks[e]){const i={context:this};return t.hooks[e].find((function(e){return e.call(i.context,i),i.node})),i.node}}gobbleSpaces(){let e=this.code;for(;e===t.SPACE_CODE||e===t.TAB_CODE||e===t.LF_CODE||e===t.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const e=this.gobbleExpressions(),i=1===e.length?e[0]:{type:t.COMPOUND,body:e};return this.runHook("after-all",i)}gobbleExpressions(e){let i,n,r=[];for(;this.index0;){if(t.binary_ops.hasOwnProperty(e)&&(!t.isIdentifierStart(this.code)||this.index+e.lengths.right_a&&e.right_a?n>e.prec:n<=e.prec;for(;r.length>2&&c(r[r.length-2]);)a=r.pop(),i=r.pop().value,o=r.pop(),e={type:t.BINARY_EXP,operator:i,left:o,right:a},r.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+p),r.push(s,e)}for(c=r.length-1,e=r[c];c>1;)e={type:t.BINARY_EXP,operator:r[c-1].value,left:r[c-2],right:e},c-=2;return e}gobbleToken(){let e,i,n,r;if(this.gobbleSpaces(),r=this.searchHook("gobble-token"),r)return this.runHook("after-token",r);if(e=this.code,t.isDecimalDigit(e)||e===t.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===t.SQUOTE_CODE||e===t.DQUOTE_CODE)r=this.gobbleStringLiteral();else if(e===t.OBRACK_CODE)r=this.gobbleArray();else{for(i=this.expr.substr(this.index,t.max_unop_len),n=i.length;n>0;){if(t.unary_ops.hasOwnProperty(i)&&(!t.isIdentifierStart(this.code)||this.index+i.length=i.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(s===t.COMMA_CODE){if(this.index++,r++,r!==i.length)if(e===t.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===t.CBRACK_CODE)for(let e=i.length;e{if("object"!=typeof e||!e.name||!e.init)throw new Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)}))}}(t),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),t.max_unop_len=t.getMaxKeyLen(t.unary_ops),t.max_binop_len=t.getMaxKeyLen(t.binary_ops);const n=e=>new t(e).parse();Object.getOwnPropertyNames(t).forEach((e=>{void 0===n[e]&&"prototype"!==e&&(n[e]=t[e])})),n.Jsep=t;var r={name:"ternary",init(e){e.hooks.add("after-expression",(function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;const i=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;const r=this.gobbleExpression();if(r||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:i,consequent:n,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let n=i;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=i}}else this.throwError("Expected :")}}))}};n.plugins.register(r),e.exports=n},25568:(e,t)=>{"use strict";function i(e){return{type:"StringLiteral",value:e}}function n(e){return{type:"BooleanLiteral",value:e}}function r(e){return{type:"NumericLiteral",value:e}}function s(e){return{type:"Identifier",name:e}}function o(e,t){return{type:"CallExpression",callee:e,arguments:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.arrayExpression=function(e){return{type:"ArrayExpression",elements:e}},t.arrowFunctionExpression=function(e,t,i=!1){return{type:"ArrowFunctionExpression",params:e,body:t,async:i}},t.assignmentExpression=function(e,t,i){return{type:"AssignmentExpression",operator:e,left:t,right:i}},t.binaryExpression=function(e,t,i){return{type:"BinaryExpression",operator:e,left:t,right:i}},t.blockStatement=function(e,t){return{type:"BlockStatement",body:e,directives:t}},t.booleanLiteral=n,t.callExpression=o,t.conditionalExpression=function(e,t,i){return{type:"ConditionalExpression",test:e,consequent:t,alternate:i}},t.exportDefaultDeclaration=function(e){return{type:"ExportDefaultDeclaration",declaration:e}},t.expressionStatement=function(e){return{type:"ExpressionStatement",expression:e}},t.forOfStatement=function(e,t,i,n){return{type:"ForOfStatement",left:e,right:t,body:i,await:n}},t.functionDeclaration=function(e,t,i){return{type:"FunctionDeclaration",id:e,params:t,body:i}},t.identifier=s,t.ifStatement=function(e,t,i){return{type:"IfStatement",test:e,consequent:t,alternate:i}},t.importDeclaration=function(e,t){return{type:"ImportDeclaration",specifiers:e,source:t}},t.importSpecifier=function(e,t){return{type:"ImportSpecifier",local:e,imported:t}},t.literal=function(e){switch(typeof e){case"number":return r(e);case"string":return i(e);case"boolean":return n(e)}},t.logicalExpression=function(e,t,i){return{type:"LogicalExpression",operator:e,left:t,right:i}},t.memberExpression=function(e,t,i=!1,n=null){return{type:"MemberExpression",object:e,property:t,computed:i,optional:n}},t.newExpression=function(e,t){return{type:"NewExpression",callee:e,arguments:t}},t.nullLiteral=function(){return{type:"NullLiteral",value:null}},t.numericLiteral=r,t.objectExpression=function(e){return{type:"ObjectExpression",properties:e}},t.objectMethod=function(e,t,i,n,r=!1,s=!1,o=!1){return{type:"ObjectMethod",kind:e,key:t,params:i,body:n,computed:r,generator:s,async:o}},t.objectProperty=function(e,t,i=!1,n=!1,r=null){return{type:"ObjectProperty",key:e,value:t,computed:i,shorthand:n,decorators:r}},t.program=function(e){return{type:"Program",body:e}},t.regExpLiteral=function(e,t=""){return{type:"RegExpLiteral",pattern:e,flags:t}},t.returnStatement=function(e){return{type:"ReturnStatement",argument:e}},t.safeBinaryExpression=function(e,t,n){let r=n;return("NumericLiteral"===n.type||"StringLiteral"===n.type&&Number.isSafeInteger(Number(n.value)))&&(r=i(String(n.value))),{type:"BinaryExpression",operator:e,left:r===n?t:o(s("String"),[t]),right:r}},t.sequenceExpression=function(e){return{type:"SequenceExpression",expressions:e}},t.stringLiteral=i,t.templateElement=function(e,t=!1){return{type:"TemplateElement",value:e,tail:t}},t.templateLiteral=function(e,t){return{type:"TemplateLiteral",quasis:e,expressions:t}},t.tryStatement=function(e,t=null,i=null){return{type:"TryStatement",block:e,handler:t,finalizer:i}},t.unaryExpression=function(e,t,i=!0){return{type:"UnaryExpression",operator:e,argument:t,prefix:i}},t.variableDeclaration=function(e,t){return{type:"VariableDeclaration",kind:e,declarations:t}},t.variableDeclarator=function(e,t){return{type:"VariableDeclarator",id:e,init:t}}},30687:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(25568);function r(e){return`nimma_${e}`}function s(e){return n.identifier(r(e))}t.default=class{#e=new Set;#t=new Map;#i;#n="";runtimeDeps=new Map;constructor(e,t){this.#i=t;for(const[t,i]of Object.entries(e)){const e=[];for(const{imported:o,local:a,value:c}of i)this.#t.set(a,c),this.runtimeDeps.set(r(a),c),e.push(n.importSpecifier(s(a),n.identifier(o))),this.#e.add(n.importDeclaration(e,n.stringLiteral(t)))}}get extraCode(){return this.#n||(this.#n=function(e){const t=Reflect.apply(Function.toString,e,[]),i=t.indexOf(")")+1,n=t.slice(i).replace(/^\s*(=>\s*)?/,"");return`${t.slice(t.indexOf("("),i).split(/[,\s]+/).splice(0,3).join(", ")} => ${n}`}(this.#i)),this.#n}attach(e){for(const t of this.#e)e.push(t,"program");const t=n.identifier("fallback"),i=Array.from(this.#t.keys());return e.push(n.variableDeclaration("const",[n.variableDeclarator(t,n.callExpression(n.memberExpression(n.callExpression(n.identifier("Function"),[n.templateLiteral([n.templateElement({raw:`return ${this.extraCode}`})],[])]),n.identifier("call")),[n.objectExpression(i.map((e=>n.objectProperty(n.stringLiteral(e),s(e)))))]))]),"program"),t}}},1847:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(36575);t.jsonPathPlus=n.default},36575:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(34321),r=i(86981),s=i(30687);function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=o(r),c=new s.default({"jsonpath-plus":[{imported:"JSONPath",local:"JSONPath",value:n.JSONPath}],"lodash.topath":[{imported:"default",local:"toPath",value:a.default}]},(function(e,t,i){this.JSONPath({callback:e=>{i({path:this.toPath(e.path.slice(1)),value:e.value})},json:e,path:t,resultType:"all"})}));t.default=c},9679:(e,t)=>{"use strict";function i(e,t,i){if(!t.has(e))throw new TypeError("attempted to "+i+" private field on non-instance");return t.get(e)}function n(e,t){return t.get?t.get.call(e):t.value}function r(e,t,i){if(t.set)t.set.call(e,i);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=i}}Object.defineProperty(t,"__esModule",{value:!0}),t.classApplyDescriptorGet=n,t.classApplyDescriptorSet=r,t.classExtractFieldDescriptor=i,t.classPrivateFieldGet=function(e,t){return n(e,i(e,t,"get"))},t.classPrivateFieldSet=function(e,t,n){return r(e,i(e,t,"set"),n),n},t.defineProperty=function(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}},63658:(e,t)=>{"use strict";function i(e){return{type:"StringLiteral",value:e}}function n(e){return{type:"BooleanLiteral",value:e}}function r(e){return{type:"NumericLiteral",value:e}}function s(e){return{type:"Identifier",name:e}}function o(e,t){return{type:"CallExpression",callee:e,arguments:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.arrayExpression=function(e){return{type:"ArrayExpression",elements:e}},t.arrowFunctionExpression=function(e,t,i=!1){return{type:"ArrowFunctionExpression",params:e,body:t,async:i}},t.assignmentExpression=function(e,t,i){return{type:"AssignmentExpression",operator:e,left:t,right:i}},t.binaryExpression=function(e,t,i){return{type:"BinaryExpression",operator:e,left:t,right:i}},t.blockStatement=function(e,t){return{type:"BlockStatement",body:e,directives:t}},t.booleanLiteral=n,t.callExpression=o,t.conditionalExpression=function(e,t,i){return{type:"ConditionalExpression",test:e,consequent:t,alternate:i}},t.exportDefaultDeclaration=function(e){return{type:"ExportDefaultDeclaration",declaration:e}},t.expressionStatement=function(e){return{type:"ExpressionStatement",expression:e}},t.forOfStatement=function(e,t,i,n){return{type:"ForOfStatement",left:e,right:t,body:i,await:n}},t.functionDeclaration=function(e,t,i){return{type:"FunctionDeclaration",id:e,params:t,body:i}},t.identifier=s,t.ifStatement=function(e,t,i){return{type:"IfStatement",test:e,consequent:t,alternate:i}},t.importDeclaration=function(e,t){return{type:"ImportDeclaration",specifiers:e,source:t}},t.importSpecifier=function(e,t){return{type:"ImportSpecifier",local:e,imported:t}},t.literal=function(e){switch(typeof e){case"number":return r(e);case"string":return i(e);case"boolean":return n(e)}},t.logicalExpression=function(e,t,i){return{type:"LogicalExpression",operator:e,left:t,right:i}},t.memberExpression=function(e,t,i=!1,n=null){return{type:"MemberExpression",object:e,property:t,computed:i,optional:n}},t.newExpression=function(e,t){return{type:"NewExpression",callee:e,arguments:t}},t.nullLiteral=function(){return{type:"NullLiteral",value:null}},t.numericLiteral=r,t.objectExpression=function(e){return{type:"ObjectExpression",properties:e}},t.objectMethod=function(e,t,i,n,r=!1,s=!1,o=!1){return{type:"ObjectMethod",kind:e,key:t,params:i,body:n,computed:r,generator:s,async:o}},t.objectProperty=function(e,t,i=!1,n=!1,r=null){return{type:"ObjectProperty",key:e,value:t,computed:i,shorthand:n,decorators:r}},t.program=function(e){return{type:"Program",body:e}},t.regExpLiteral=function(e,t=""){return{type:"RegExpLiteral",pattern:e,flags:t}},t.returnStatement=function(e){return{type:"ReturnStatement",argument:e}},t.safeBinaryExpression=function(e,t,n){let r=n;return("NumericLiteral"===n.type||"StringLiteral"===n.type&&Number.isSafeInteger(Number(n.value)))&&(r=i(String(n.value))),{type:"BinaryExpression",operator:e,left:r===n?t:o(s("String"),[t]),right:r}},t.sequenceExpression=function(e){return{type:"SequenceExpression",expressions:e}},t.stringLiteral=i,t.templateElement=function(e,t=!1){return{type:"TemplateElement",value:e,tail:t}},t.templateLiteral=function(e,t){return{type:"TemplateLiteral",quasis:e,expressions:t}},t.tryStatement=function(e,t=null,i=null){return{type:"TryStatement",block:e,handler:t,finalizer:i}},t.unaryExpression=function(e,t,i=!0){return{type:"UnaryExpression",operator:e,argument:t,prefix:i}},t.variableDeclaration=function(e,t){return{type:"VariableDeclaration",kind:e,declarations:t}},t.variableDeclarator=function(e,t){return{type:"VariableDeclarator",id:e,init:t}}},20737:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(96711),r=i(63658),s=i(46079),o=i(66284),a=i(1027);function c(e,{deep:t,value:i}){if(e.feedback.bailed)return r.safeBinaryExpression("!==",a.default.property,r.literal(i));if(e.state.inverted)return r.safeBinaryExpression("!==",0===e.state.pos?a.default.property:r.memberExpression(a.default.path,r.binaryExpression("-",a.default.depth,r.numericLiteral(Math.abs(e.state.pos))),!0),r.literal(i));if(t){var n;const t=null===e.nextNode||"KeyExpression"===e.nextNode;(n=e.feedback).mutatesPos||(n.mutatesPos=!t);const o=r.sequenceExpression([r.assignmentExpression("=",s.default.pos,t?r.conditionalExpression(r.safeBinaryExpression("!==",a.default.property,r.literal(i)),r.numericLiteral(-1),a.default.depth):r.callExpression(r.memberExpression(a.default.path,r.identifier("indexOf")),[r.literal(i),0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(1))])),r.binaryExpression("===",s.default.pos,r.numericLiteral(-1))]);return t?r.logicalExpression("||",r.binaryExpression("<",a.default.depth,0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos))),o):o}let o;e.feedback.fixed||0===e.state.absolutePos||(o=r.binaryExpression("<",a.default.depth,0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos))));const c=r.safeBinaryExpression("!==",r.memberExpression(a.default.path,0===e.state.pos?r.numericLiteral(0):e.feedback.fixed?r.numericLiteral(e.state.pos):r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos)),!0),r.literal(i));return void 0!==o?r.logicalExpression("||",o,c):c}const p=r.identifier("inBounds");function d(e,t,i){switch(t.type){case"LogicalExpression":case"BinaryExpression":if("in"===t.operator)t.operator="===",t.left=r.callExpression(r.memberExpression(t.right,r.identifier("includes")),[d(e,t.left,i)]),t.right=r.booleanLiteral(!0);else if("~="===t.operator){if(t.operator="===","Literal"!==t.right.type)throw SyntaxError("Expected string");t.left=r.callExpression(r.memberExpression(r.regExpLiteral(t.right.value,""),r.identifier("test")),[d(e,t.left,i)]),t.right=r.booleanLiteral(!0)}else t.left=d(e,t.left,i),t.right=d(e,t.right,i),u(t.left),u(t.right);break;case"UnaryExpression":return t.argument=d(e,t.argument,i),u(t.argument),t;case"MemberExpression":t.object=d(e,t.object,i),u(t.object),t.property=d(e,t.property,i),t.computed&&u(t.property);break;case"CallExpression":if("Identifier"===t.callee.type&&t.callee.name.startsWith("@"))return f(e,t.callee.name,i);t.callee=d(e,t.callee,i),t.arguments=t.arguments.map((t=>d(e,t,i))),"MemberExpression"===t.callee.type&&t.callee.object===o.default.property&&t.callee.property.name in String.prototype&&(t.callee.object=r.callExpression(r.identifier("String"),[t.callee.object])),u(t.callee);break;case"Identifier":if(t.name.startsWith("@"))return f(e,t.name,i);if("undefined"===t.name)return r.unaryExpression("void",r.numericLiteral(0));if("index"===t.name)return o.default.index}return t}function f(e,t,i){switch(t){case"@":return m(o.default.value,i);case"@root":return m(o.default.root,i);case"@path":return m(o.default.path,i);case"@property":return m(o.default.property,i);case"@parent":return m(o.default.parentValue,i);case"@parentProperty":return m(o.default.parentProperty,i);case"@string":case"@number":case"@boolean":return r.binaryExpression("===",r.unaryExpression("typeof",m(o.default.value,i)),r.stringLiteral(t.slice(1)));case"@scalar":return r.logicalExpression("||",r.binaryExpression("===",m(o.default.value,i),r.nullLiteral()),r.binaryExpression("!==",r.unaryExpression("typeof",m(o.default.value,i)),r.stringLiteral("object")));case"@array":return r.callExpression(r.memberExpression(r.identifier("Array"),r.identifier("isArray")),[m(o.default.value,i)]);case"@null":return r.binaryExpression("===",m(o.default.value,i),r.nullLiteral());case"@object":return r.logicalExpression("&&",r.binaryExpression("!==",m(o.default.value,i),r.nullLiteral()),r.binaryExpression("===",r.unaryExpression("typeof",m(o.default.value,i)),r.stringLiteral("object")));case"@integer":return r.callExpression(r.memberExpression(r.identifier("Number"),r.identifier("isInteger")),[m(o.default.value,i)]);default:if(t.startsWith("@@")){const i=t.slice(2);return e.attachCustomShorthand(i),r.callExpression(r.memberExpression(s.default.shorthands,r.identifier(i)),[a.default._])}throw new SyntaxError(`Unsupported shorthand '${t}'`)}}const l=[a.default._.name,"index"];function u(e){if("Identifier"===e.type&&!l.includes(e.name))throw ReferenceError(`'${e.name}' is not defined`)}function m(e,t){return"MemberExpression"===e.type&&0!==t?{...e,object:r.callExpression(o.default.at,[r.numericLiteral(t)])}:e}t.generateFilterScriptExpression=function(e,{deep:t,value:i},o){var c;const p=n.default(i);u(p);const f=r.unaryExpression("!",d(o,p,e.state.fixed&&e.state.pos>0&&null!==e.nextNode?e.state.pos+1:e.state.inverted&&0!==e.state.pos?e.state.pos-1:0));if(e.feedback.bailed||!t||e.state.inverted)return f;(c=e.feedback).mutatesPos||(c.mutatesPos=null!==e.nextNode&&"KeyExpression"!==e.nextNode);const l=r.sequenceExpression([r.assignmentExpression("=",s.default.pos,r.conditionalExpression(f,r.numericLiteral(-1),a.default.depth)),r.binaryExpression("===",s.default.pos,r.numericLiteral(-1))]);return 0===e.state.pos?l:r.logicalExpression("||",r.binaryExpression("<",a.default.depth,0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos))),l)},t.generateMemberExpression=c,t.generateMultipleMemberExpression=function(e,t){return t.value.slice(1).reduce(((i,n)=>r.logicalExpression("&&",i,c(e,{type:"MemberExpression",value:n,deep:t.deep}))),c(e,{type:"MemberExpression",value:t.value[0],deep:t.deep}))},t.generateSliceExpression=function(e,t,i){const n=e.state.inverted?r.binaryExpression("-",a.default.depth,r.numericLiteral(e.state.pos)):0===e.state.pos?r.numericLiteral(0):e.feedback.fixed?r.numericLiteral(e.state.pos):r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos)),c=e.feedback.bailed?a.default.property:r.memberExpression(a.default.path,n,!0),d=r.binaryExpression("!==",r.unaryExpression("typeof",c),r.stringLiteral("number"));return t.value.some((e=>Number.isFinite(e)&&e<0))?(i.addRuntimeDependency(p.name),r.binaryExpression("||",d,r.unaryExpression("!",r.callExpression(p,[0===e.state.absolutePos?m(o.default.value,e.state.absolutePos-2):m(o.default.value,e.state.absolutePos),r.memberExpression(a.default.path,e.feedback.bailed?r.binaryExpression("-",r.memberExpression(a.default.path,r.identifier("length")),r.numericLiteral(1)):n,!0),...t.value.map((e=>r.numericLiteral(e)))])))):t.value.reduce(((e,i,n)=>{if(0===n&&0===i)return e;if(1===n&&!Number.isFinite(i))return e;if(2===n&&1===i)return e;const s=0===n?"<":1===n?">=":"%",o=r.binaryExpression(s,c,r.numericLiteral(Number(i)));return r.logicalExpression("||",e,"%"===s?r.logicalExpression("&&",r.binaryExpression("!==",c,r.numericLiteral(t.value[0])),r.binaryExpression("!==",o,r.numericLiteral(t.value[0]))):o)}),d)},t.generateWildcardExpression=function(e){return e.feedback.bailed?r.booleanLiteral(!1):null!==e.nextNode||e.feedback.fixed?null:r.sequenceExpression([r.assignmentExpression("=",s.default.pos,r.conditionalExpression(r.binaryExpression("<",a.default.depth,r.numericLiteral(e.state.pos)),r.numericLiteral(-1),a.default.depth)),r.binaryExpression("===",s.default.pos,r.numericLiteral(-1))])},t.rewriteESTree=d},9047:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(779),s=i(11009),o=i(70953),a=i(29207),c=i(61753),p=i(56370),d=i(46079),f=i(1027),l=i(5522),u=i(20737);const m=n.variableDeclaration("let",[n.variableDeclarator(d.default.pos,n.numericLiteral(0))]);t.default=function(e,t){const i=new l.default(t),h=new Map,y=new Map;e:for(const[t,l]of e){const e=new o.default(l);if(-1===e.length)continue;const v=JSON.stringify(e.nodes),$=h.get(v);if(void 0!==$){var g,b;null!==(g=null===(b=y.get($))||void 0===b?void 0:b.push(t))&&void 0!==g||y.set($,[t]);let n=i.getMethodByHash($).body.body;e.feedback.bailed&&(n=n[0].expression.arguments[1].body.body),n.push(c.default(t,e.modifiers));continue}h.set(v,t),(e.feedback.bailed||l.length>0&&s.isDeep(l[0]))&&i.traversalZones.destroy();const j={id:t,iterator:e};i.ctx=j;for(const e of r.default)if(e(l,i,j))continue e;const _=e.feedback.bailed?[]:[n.ifStatement(n.binaryExpression(e.feedback.fixed?"!==":"<",f.default.depth,n.numericLiteral(e.length-1)),n.returnStatement())].concat(e.feedback.fixed?[]:m),w=e.feedback.bailed?null:i.traversalZones.create(),x=e.feedback.inverseAt;for(const t of e){let r;switch((s.isDeep(t)||x===e.state.absolutePos)&&(null==w||w.allIn()),t.type){case"MemberExpression":r=u.generateMemberExpression(e,t),null==w||w.expand(t.value);break;case"MultipleMemberExpression":r=u.generateMultipleMemberExpression(e,t),null==w||w.expandMultiple(t.value);break;case"SliceExpression":r=u.generateSliceExpression(e,t,i),null==w||w.resize();break;case"ScriptFilterExpression":r=u.generateFilterScriptExpression(e,t,i),null==w||w.resize();break;case"WildcardExpression":if(r=u.generateWildcardExpression(e),null==w||w.resize(),null===r)continue}e.feedback.bailed?_.push(n.objectExpression([n.objectProperty(n.identifier("fn"),n.arrowFunctionExpression([f.default._],r)),n.objectProperty(n.identifier("deep"),n.booleanLiteral(t.deep))])):_.push(n.ifStatement(r,n.returnStatement()))}e.feedback.fixed||e.feedback.bailed||e.state.inverted||_.push(n.ifStatement(n.binaryExpression("!==",f.default.depth,0===e.state.pos?d.default.pos:n.binaryExpression("+",d.default.pos,n.numericLiteral(e.state.pos))),n.returnStatement()));const P=e.feedback.bailed?"body":"traverse";e.feedback.bailed?_.splice(0,_.length,n.expressionStatement(n.callExpression(f.default.bail,[n.stringLiteral(t),n.arrowFunctionExpression([f.default._],n.blockStatement([n.expressionStatement(c.default(j.id,e.modifiers).expression)])),n.arrayExpression([..._])]))):_.push(c.default(j.id,e.modifiers)),"body"===P?i.push(n.expressionStatement(n.callExpression(n.memberExpression(d.default.tree,n.stringLiteral(t),!0),p.default)),P):i.push(n.stringLiteral(t),P),a.default(_,e),i.push(n.blockStatement(_),"tree-method"),null==w||w.attach()}return i}},31037:(e,t,i)=>{"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(t,"__esModule",{value:!0});var r=n(i(14891));const s={...r.baseGenerator,BooleanLiteral(e,t){t.write(`${e.value}`,e)},NullLiteral(e,t){t.write("null",e)},NumericLiteral(e,t){t.write(e.value,e)},ObjectMethod(e,t){const{key:i,type:n,...r}=e;return this.ObjectProperty({key:e.key,value:{type:"FunctionExpression",...r}},t)},ObjectProperty(e,t){return this.Property({...e,kind:"init"},t)},RegExpLiteral(e,t){t.write(`/${e.pattern}/${e.flags}`,e)},StringLiteral(e,t){t.write(JSON.stringify(e.value),e)}};t.default=function(e){return r.generate(e,{generator:s})}},89784:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(61753),s=i(66284);const o=n.identifier("isObject"),a=n.ifStatement(n.unaryExpression("!",n.callExpression(o,[s.default.value])),n.returnStatement()),c=r.default("$..",{keyed:!1,parents:0});t.default=(e,t,i)=>1===e.length&&"AllParentExpression"===e[0].type&&(t.addRuntimeDependency(o.name),t.push(n.blockStatement([a,r.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),t.push(c,"body"),!0)},64469:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753),o=i(1027);t.default=(e,t,i)=>!(1!==e.length||!r.isDeep(e[0])||!r.isMemberExpression(e[0])||(t.push(n.blockStatement([n.ifStatement(n.safeBinaryExpression("!==",o.default.property,n.stringLiteral(e[0].value)),n.returnStatement()),s.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),0))},18872:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753);t.default=(e,t,i)=>!(1!==e.length||!r.isWildcardExpression(e[0])||!r.isDeep(e[0])||(t.push(n.blockStatement([s.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),0))},73093:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753),o=i(66284),a=i(1027),c=i(5302);const p=n.identifier("value"),d=n.identifier("isObject"),f=n.identifier("get"),l=n.ifStatement(n.unaryExpression("!",n.callExpression(d,[p])),n.returnStatement()),u=n.ifStatement(n.binaryExpression("===",a.default._,n.nullLiteral()),n.returnStatement());function m(e){return n.literal(e.value)}t.default=(e,t,i)=>{if(!e.every(r.isMemberExpression)||e.some(r.isDeep))return!1;const h=n.variableDeclaration("const",[n.variableDeclarator(p,e.slice(0,-1).reduce(((e,i)=>"ES2018"===t.format?(e.arguments[1].elements.push(n.literal(i.value)),e):n.memberExpression(e,n.literal(i.value),!0,!0)),"ES2018"===t.format&&e.length>0?n.callExpression(n.identifier("get"),[o.default.root,n.arrayExpression([])]):o.default.root))]);return t.addRuntimeDependency(d.name),"ES2018"===t.format&&t.addRuntimeDependency(f.name),t.pushAll([[n.blockStatement([h,l,n.expressionStatement(n.assignmentExpression("=",a.default._,n.callExpression(a.default.fork,[n.arrayExpression(e.map(m))]))),u,s.default(i.id,i.iterator.modifiers)]),"tree-method"],[c.default(i.id),"body"]]),!0}},779:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(89784),r=i(64469),s=i(18872),o=i(73093),a=i(59749),c=i(25367),p=i(35574),d=[c.default,a.default,r.default,s.default,p.default,o.default,n.default];t.default=d},59749:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(96711),r=i(63658),s=i(20737),o=i(11009),a=i(61753),c=i(1027);const p=r.ifStatement(r.binaryExpression("!==",c.default.depth,r.numericLiteral(0)),r.returnStatement());t.default=(e,t,i)=>{if(1!==e.length||!o.isScriptFilterExpression(e[0]))return!1;const c=r.unaryExpression("!",s.rewriteESTree(t,n.default(e[0].value),0),!0);var d;return t.pushAll([[r.blockStatement([...o.isDeep(e[0])?[]:[p],r.ifStatement(c,r.returnStatement()),a.default(i.id,i.iterator.modifiers)]),"tree-method"],[r.stringLiteral(i.id),"traverse"]]),o.isDeep(e[0])||null===(d=t.traversalZones.create())||void 0===d||d.resize().attach(),!0}},25367:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(61753).default("$",{keyed:!1,parents:0});t.default=(e,t)=>!(e.length>0||(t.push(n,"body"),0))},35574:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753),o=i(1027);const a=n.ifStatement(n.binaryExpression("!==",o.default.depth,n.numericLiteral(0)),n.returnStatement());t.default=(e,t,i)=>{var o;return!(1!==e.length||!r.isWildcardExpression(e[0])||r.isDeep(e[0])||(t.push(n.blockStatement([a,s.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),null===(o=t.traversalZones.create())||void 0===o||o.resize().attach(),0))}},11009:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDeep=function(e){return e.deep},t.isMemberExpression=function(e){return"MemberExpression"===e.type},t.isModifierExpression=function(e){return"KeyExpression"===e.type||"ParentExpression"===e.type},t.isScriptFilterExpression=function(e){return"ScriptFilterExpression"===e.type},t.isWildcardExpression=function(e){return"WildcardExpression"===e.type}},70953:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(11009);let s;function o(e){let t=!1;for(let i=0;i1}t=!0}}return!1}var a=new WeakMap;s=Symbol.iterator;class c{constructor(e){n.defineProperty(this,"nodes",void 0),a.set(this,{writable:!0,value:void 0}),this.modifiers=c.trim(e),this.nodes=c.compact(e),n.classPrivateFieldSet(this,a,-1),this.feedback=c.analyze(this.nodes,this.modifiers.keyed||this.modifiers.parents>0),this.length=this.nodes.length,this.state={absolutePos:-1,fixed:!0,inverted:!1,pos:-1},this.feedback.fixed&&this.modifiers.parents>this.length&&(this.length=-1)}get nextNode(){return n.classPrivateFieldGet(this,a)+10&&r.isModifierExpression(e[e.length-1]);)switch(e.pop().type){case"KeyExpression":t.keyed=!0,t.parents=0;break;case"ParentExpression":t.parents++}return t}static analyze(e){const t={bailed:o(e),fixed:!0,inverseAt:-1};if(t.bailed)return t.fixed=!1,t;let i=-1;for(let n=0;n1&&-1!==i&&i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(46079),r=i(1027);function s(e,t){return e.splice(t,1),t-1}function o(e,t,i){return null===t?i:null===i?t:(e.left=t,e.right=i,e)}function a(e){switch(e.type){case"AssignmentExpression":return e.left!==n.default.pos?e:a(e.right);case"ConditionalExpression":return"NumericLiteral"===e.consequent.type&&-1===e.consequent.value?a(e.test):e;case"SequenceExpression":return a(e.expressions[0]);case"LogicalExpression":return o(e,a(e.left),a(e.right));case"BinaryExpression":return function(e){return"<"===e.operator&&e.left===r.default.depth?null:o(e,a(e.left),a(e.right))}(e);case"IfStatement":return a(e.test);case"Identifier":return e===n.default.pos?null:e;case"MemberExpression":return e.property=a(e.property),e;default:return e}}t.default=function(e,t){if(t.feedback.mutatesPos)return;let i=Math.max(0,Math.min(1,t.length));for(;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658);t.default=function e(t){switch(typeof t){case"boolean":return n.booleanLiteral(t);case"string":return n.stringLiteral(t);case"number":return n.numericLiteral(t);case"object":return null===t?n.nullLiteral():Array.isArray(t)?n.arrayExpression(t.map(e)):n.objectExpression(Object.keys(t).map((i=>n.objectProperty(n.stringLiteral(i),e(t[i])))))}}},61753:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(1027);t.default=function(e,{parents:t,keyed:i}){return n.expressionStatement(n.callExpression(r.default.emit,[n.stringLiteral(e),n.numericLiteral(t),n.booleanLiteral(i)]))}},93395:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(1027);t.default=function(e,t){const i=n.identifier("path");return n.forOfStatement(n.variableDeclaration("const",[n.variableDeclarator(i)]),n.arrayExpression(t.map(n.stringLiteral)),n.blockStatement([n.callExpression(e,[n.identifier("input"),i,n.memberExpression(r.default.callbacks,i,!0)])]))}},56370:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[i(1027).default._];t.default=n},46079:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r={pos:n.identifier("pos"),shorthands:n.identifier("shorthands"),tree:n.identifier("tree")};t.default=r},66284:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(1027),s={at:n.memberExpression(r.default.sandbox,n.identifier("at")),index:n.memberExpression(r.default.sandbox,n.identifier("index")),parent:n.memberExpression(r.default.sandbox,n.identifier("parent")),parentProperty:n.memberExpression(r.default.sandbox,n.identifier("parentProperty")),parentValue:n.memberExpression(r.default.sandbox,n.identifier("parentValue")),path:n.memberExpression(r.default.sandbox,n.identifier("path")),property:n.memberExpression(r.default.sandbox,n.identifier("property")),root:n.memberExpression(r.default.sandbox,n.identifier("root")),value:n.memberExpression(r.default.sandbox,n.identifier("value"))};t.default=s},1027:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658);const r=n.identifier("scope");var s={_:r,bail:n.memberExpression(r,n.identifier("bail")),callbacks:n.memberExpression(r,n.identifier("callbacks")),depth:n.memberExpression(r,n.identifier("depth")),destroy:n.memberExpression(r,n.identifier("destroy")),emit:n.memberExpression(r,n.identifier("emit")),fork:n.memberExpression(r,n.identifier("fork")),path:n.memberExpression(r,n.identifier("path")),property:n.memberExpression(r,n.identifier("property")),sandbox:n.memberExpression(r,n.identifier("sandbox")),traverse:n.memberExpression(r,n.identifier("traverse")),value:n.memberExpression(r,n.identifier("value"))};t.default=s},5302:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(56370),s=i(46079);t.default=function(e){const t=n.stringLiteral(e);return n.expressionStatement(n.callExpression(n.memberExpression(s.default.tree,t,!0),r.default))}},49124:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(29148);i(32512);var s=i(63658),o=i(28198),a=new WeakMap,c=new WeakMap,p=new WeakMap,d=new WeakMap,f=new WeakMap;class l{constructor(e){p.set(this,{writable:!0,value:void 0}),d.set(this,{writable:!0,value:void 0}),f.set(this,{writable:!0,value:void 0}),n.classPrivateFieldSet(this,p,e),this.root={},n.classPrivateFieldSet(this,d,[this.root]),n.classPrivateFieldSet(this,f,new Map)}attach(){n.classPrivateFieldGet(this,p).attach(this.root),n.classPrivateFieldGet(this,f).clear()}expand(e){let t=0;for(const i of n.classPrivateFieldGet(this,d))if(null!==i){if("**"===e){const t=n.classPrivateFieldGet(this,f).get(i);if(void 0!==t&&"*"in t){delete t["*"],t["**"]=null;continue}i[e]=null}else i[e]={},n.classPrivateFieldGet(this,f).set(i[e],i);n.classPrivateFieldGet(this,d)[t++]=i[e]}return this}expandMultiple(e){const t=n.classPrivateFieldGet(this,d)[0];if(null===t)return this;let i=0;for(const r of e)t[r]="**"===r?null:{},n.classPrivateFieldGet(this,d).lengthObject.assign(t,e[i])),{})}function m(e,t){if("*"in t){const i=u(e);m(i,u(t)),e["*"]="*"in i?{"*":i["*"]}:i}else for(const i of Object.keys(t))i in e?r.default(t[i])&&m(e[i],t[i]):e[i]=t[i]}function h(e){const t=e[0];for(let i=1;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(96711),s=i(63658),o=i(31037),a=i(93395),c=i(56370),p=i(46079),d=i(1027),f=i(5302),l=i(49124);const u=[s.identifier("input"),s.identifier("callbacks")],m=s.variableDeclaration("const",[s.variableDeclarator(d.default._,s.newExpression(s.identifier("Scope"),u))]);var h=new WeakMap,y=new WeakMap,g=new WeakMap,b=new WeakMap,v=new WeakMap,$=new WeakMap,j=new WeakMap;t.default=class{constructor({customShorthands:e,format:t,npmProvider:i}){h.set(this,{writable:!0,value:s.objectExpression([])}),y.set(this,{writable:!0,value:s.objectExpression([])}),g.set(this,{writable:!0,value:new Set(["Scope"])}),b.set(this,{writable:!0,value:new Set}),v.set(this,{writable:!0,value:new Set}),$.set(this,{writable:!0,value:new Set}),j.set(this,{writable:!0,value:void 0}),this.format=t,this.npmProvider=i,this.ctx=null,this.traversalZones=new l.default,n.classPrivateFieldSet(this,j,e)}addRuntimeDependency(e){n.classPrivateFieldGet(this,g).has(e)||n.classPrivateFieldGet(this,g).add(e)}attachFallbackExpressions(e,t){this.push(a.default(e.attach(this),t),"body")}attachCustomShorthand(e){if(null===n.classPrivateFieldGet(this,j)||!(e in n.classPrivateFieldGet(this,j)))throw new ReferenceError(`Shorthand '${e}' is not defined`);n.classPrivateFieldGet(this,y).properties.push(s.objectMethod("method",s.identifier(e),c.default,s.blockStatement([s.returnStatement(r.default(n.classPrivateFieldGet(this,j)[e]))])))}getMethodByHash(e){return n.classPrivateFieldGet(this,h).properties.find((t=>t.key.value===e))}push(e,t){switch(t){case"tree-method":n.classPrivateFieldGet(this,h).properties.push(s.objectMethod("method",s.stringLiteral(this.ctx.id),c.default,e));break;case"program":n.classPrivateFieldGet(this,b).has(e)||n.classPrivateFieldGet(this,b).add(e);break;case"body":n.classPrivateFieldGet(this,v).has(e)||n.classPrivateFieldGet(this,v).add(e);break;case"traverse":n.classPrivateFieldGet(this,$).add(f.default(e.value))}}pushAll(e){for(const t of e)this.push(...t)}toString(){var e;const t=this.traversalZones.root;return o.default(s.program([s.importDeclaration([...n.classPrivateFieldGet(this,g)].map((e=>s.importSpecifier(s.identifier(e),s.identifier(e)))),s.stringLiteral(`${null!==(e=this.npmProvider)&&void 0!==e?e:""}nimma/legacy/runtime`)),...n.classPrivateFieldGet(this,b),t,0===n.classPrivateFieldGet(this,h).properties.length?null:s.variableDeclaration("const",[s.variableDeclarator(p.default.tree,n.classPrivateFieldGet(this,h))]),0===n.classPrivateFieldGet(this,y).properties.length?null:s.variableDeclaration("const",[s.variableDeclarator(p.default.shorthands,n.classPrivateFieldGet(this,y))]),s.exportDefaultDeclaration(s.functionDeclaration(null,u,s.blockStatement([m,s.tryStatement(s.blockStatement([...n.classPrivateFieldGet(this,v),0===n.classPrivateFieldGet(this,$).size?null:s.expressionStatement(s.callExpression(d.default.traverse,[s.arrowFunctionExpression([],s.blockStatement(Array.from(n.classPrivateFieldGet(this,$)))),null===t?s.nullLiteral():t.declarations[0].id]))].filter(Boolean)),null,s.blockStatement([s.expressionStatement(s.callExpression(d.default.destroy,[]))]))].filter(Boolean))))].filter(Boolean)))}}},65717:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(9047),s=i(57190),o=i(51404),a=i(16922);const c=/import\s*({[^}]+})\s*from\s*['"][^'"]+['"];?/;var p=new WeakMap,d=new WeakMap;t.default=class{constructor(e,{fallback:t=null,unsafe:i=!0,output:s="auto",npmProvider:c=null,customShorthands:f=null}={}){p.set(this,{writable:!0,value:void 0}),d.set(this,{writable:!0,value:void 0}),n.classPrivateFieldSet(this,p,t),n.classPrivateFieldSet(this,d,null);const{erroredExpressions:l,mappedExpressions:u}=a.default(e,i,null!==t);this.tree=r.default(u,{customShorthands:f,format:"auto"===s?o.default():s,npmProvider:c}),l.length>0&&this.tree.attachFallbackExpressions(t,l),this.sourceCode=String(this.tree)}query(e,t){if(null!==n.classPrivateFieldGet(this,d))return void n.classPrivateFieldGet(this,d).call(this,e,t);const i="__nimma_globals__",r=this.sourceCode.replace("export default function","return function").replace(c,`const $1 = ${i};`).replace(RegExp(c.source,"g"),"");n.classPrivateFieldSet(this,d,Function(i,...null===n.classPrivateFieldGet(this,p)?[]:Array.from(n.classPrivateFieldGet(this,p).runtimeDeps.keys()),r)(s,...null===n.classPrivateFieldGet(this,p)?[]:Array.from(n.classPrivateFieldGet(this,p).runtimeDeps.values()))),n.classPrivateFieldGet(this,d).call(this,e,t)}}},51404:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){try{return Function("a","a?.b")({}),"ES2021"}catch{return"ES2018"}}},16922:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(70953),r=i(15613),s=i(32512);function o([,e]){return e}function a([e]){return e}t.default=function(e,t,i){const c=[],p=[];for(const i of new Set(e))try{const e=r.default(i);if(!1===t&&n.default.analyze(e).bailed)throw SyntaxError("Unsafe expressions are ignored, but no fallback was specified");c.push([i,e])}catch(e){p.push([i,e])}if(!i&&p.length>0)throw new s.default(p.map(o),`Error parsing ${p.map(a).join(", ")}`);return{erroredExpressions:p.map(a),mappedExpressions:c}}},22001:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(65717);t.default=n.default},15613:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(19422),r=i(91218);const{parse:s}=r;t.default=function(e){try{return s(e)}catch(t){throw new n.default(t.message,e,{cause:t})}}},96711:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(4910),r=i(6270),s=i(17547);function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=o(n),c=o(r),p=o(s);p.default.addIdentifierChar("@"),p.default.addUnaryOp("void"),p.default.addBinaryOp("in",12),p.default.addBinaryOp("~=",20),p.default.plugins.register(a.default,c.default),t.default=e=>p.default.parse(e)},91218:(e,t)=>{"use strict";function i(e,t,n,r){var s=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(s,i.prototype),s.expected=t,s.found=n,s.location=r,s.name="SyntaxError",s}function n(e,t,i){return i=i||" ",e.length>t?e:(t-=e.length,e+(i+=i.repeat(t)).slice(0,t))}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i}(i,Error),i.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var i,r=null;for(i=0;i0){for(t=1,i=1;t!|&+~%\^*\/;\-[\]]/,N=Ve("$",!1),D=Ve("[",!1),F=Ve("]",!1),U=Ve(",",!1),V=Ve("..",!1),L=Ve("(",!1),z=Ve(")",!1),B=Ve("?(",!1),K=Ve(":",!1),G=Ve("@",!1),H=Le([["a","z"]],!1,!1),J=Ve("()",!1),W=Ve("~",!1),Q=Ve("^",!1),Z=Ve(".",!1),Y=Le(["@","["],!1,!1),X=Le(["$","_","-"],!1,!1),ee=Ve('"',!1),te=Le(['"'],!0,!1),ie=Ve("'",!1),ne=Le(["'"],!0,!1),re=Ve("-",!1),se=Ve("*",!1),oe=Le([["A","Z"],["a","z"]],!1,!1),ae=Le([["0","9"]],!1,!1),ce=Le([" ","\t"],!1,!1),pe=Le(['"'],!1,!1),de=Le(["'"],!1,!1),fe=Le([" ","$","@",".",",","_","=","<",">","!","|","&","+","~","%","^","*","/",";","-","[","]"],!1,!1),le=Ve(".length",!1),ue=function(e,t){return{...t,deep:e}},me=function(e,t){return e.concat(Array.isArray(t)?t:null===t?[]:t)},he=function(){return{type:"WildcardExpression"}},ye=function(e){return e},ge=function(e){return e},be=function(e){return{type:"MultipleMemberExpression",value:[...new Set(e)]}},ve=function(){return/^\$\.{2}[~^]*$/.test(e)},$e=function(){return{type:"AllParentExpression"}},je=function(e){return{type:"MemberExpression",value:e}},_e=function(e){return{type:"ScriptFilterExpression",value:e}},we=function(e){return{type:"SliceExpression",value:e.split(":").reduce(((e,t,i)=>(""!==t&&(e[i]=Number(t)),e)),[0,1/0,1])}},xe=function(e){return{type:"ScriptFilterExpression",value:e}},Pe=function(e){return e.value},Se=function(){return{type:"KeyExpression"}},Oe=function(){return{type:"ParentExpression"}},Ee=function(){return!0},Ae=function(){return!1},Te=function(e){return e.length>0&&Number.isSafeInteger(Number(e))?Number(e):e},Ie=function(){return Ue().slice(1,-1)},ke=function(){return Number(Ue())},Re=function(e){return{type:"SliceExpression",value:[-e,1/0,1]}},Me=0,qe=0,Ce=[{line:1,column:1}],Ne=0,De=[],Fe=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=o[t.startRule]}function Ue(){return e.substring(qe,Me)}function Ve(e,t){return{type:"literal",text:e,ignoreCase:t}}function Le(e,t,i){return{type:"class",parts:e,inverted:t,ignoreCase:i}}function ze(t){var i,n=Ce[t];if(n)return n;for(i=t-1;!Ce[i];)i--;for(n={line:(n=Ce[i]).line,column:n.column};iNe&&(Ne=Me,De=[]),De.push(e))}function Ge(){var t,i,n,s,o,a;if(t=Me,i=function(){var t;return 36===e.charCodeAt(Me)?(t=c,Me++):(t=r,0===Fe&&Ke(N)),t}(),i!==r){for(n=[],(s=Je())===r&&(s=Me,(o=Ze())!==r&&(a=He())!==r?(qe=s,s=ue(o,a)):(Me=s,s=r));s!==r;)n.push(s),(s=Je())===r&&(s=Me,(o=Ze())!==r&&(a=He())!==r?(qe=s,s=ue(o,a)):(Me=s,s=r));if(s=[],(o=Qe())!==r)for(;o!==r;)s.push(o),o=Qe();else s=r;s===r&&(s=null),qe=t,t=me(n,s)}else Me=t,t=r;return t}function He(){var t,i,n,s,o;if(t=function(){var t,i,n,s,o;return t=Me,(i=Ye())===r&&(i=Me,91===e.charCodeAt(Me)?(n=p,Me++):(n=r,0===Fe&&Ke(D)),n!==r&&(s=Xe())!==r?(93===e.charCodeAt(Me)?(o=d,Me++):(o=r,0===Fe&&Ke(F)),o!==r?(qe=i,i=ge(s)):(Me=i,i=r)):(Me=i,i=r)),i!==r&&(qe=t,i=je(i)),t=i}(),t===r&&(t=Me,(i=tt())===r&&(i=Me,91===e.charCodeAt(Me)?(n=p,Me++):(n=r,0===Fe&&Ke(D)),n!==r&&(s=tt())!==r?(93===e.charCodeAt(Me)?(o=d,Me++):(o=r,0===Fe&&Ke(F)),o!==r?i=n=[n,s,o]:(Me=i,i=r)):(Me=i,i=r)),i!==r&&(qe=t,i=he()),(t=i)===r&&(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r?(n=function(){var t,i,n,s;return t=Me,40===e.charCodeAt(Me)?(i=l,Me++):(i=r,0===Fe&&Ke(L)),i!==r?(n=function(){var t,i,n;return t=Me,64===e.charCodeAt(Me)?(i=y,Me++):(i=r,0===Fe&&Ke(G)),i!==r?(n=function(){var t,i,n,s,o,a,c,p;if(t=Me,e.substr(Me,7)===P?(i=P,Me+=7):(i=r,0===Fe&&Ke(le)),i!==r){for(n=[],s=rt();s!==r;)n.push(s),s=rt();if(45===e.charCodeAt(Me)?(s=w,Me++):(s=r,0===Fe&&Ke(re)),s!==r){for(o=[],a=rt();a!==r;)o.push(a),a=rt();if(a=Me,c=[],(p=nt())!==r)for(;p!==r;)c.push(p),p=nt();else c=r;(a=c!==r?e.substring(a,Me):c)!==r?(qe=t,t=Re(a)):(Me=t,t=r)}else Me=t,t=r}else Me=t,t=r;return t}(),n!==r?(qe=t,t=ge(n)):(Me=t,t=r)):(Me=t,t=r),t}(),n!==r?(41===e.charCodeAt(Me)?(s=u,Me++):(s=r,0===Fe&&Ke(z)),s!==r?(qe=t,t=ge(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t}(),n!==r?(93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=ye(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t===r&&(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r?(n=function(){var t,i,n,s;return t=Me,e.substr(Me,2)===m?(i=m,Me+=2):(i=r,0===Fe&&Ke(B)),i!==r?(n=function(){var t,i,n;if(t=Me,i=[],(n=it())===r&&(n=nt())===r&&(n=rt())===r&&(n=at())===r&&(n=ot())===r&&(n=st())===r&&(n=ct()),n!==r)for(;n!==r;)i.push(n),(n=it())===r&&(n=nt())===r&&(n=rt())===r&&(n=at())===r&&(n=ot())===r&&(n=st())===r&&(n=ct());else i=r;return t=i!==r?e.substring(t,Me):i}(),n!==r?(41===e.charCodeAt(Me)?(s=u,Me++):(s=r,0===Fe&&Ke(z)),s!==r?(qe=t,t=_e(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t}(),n!==r?(93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=ye(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t===r&&(t=Me,(i=We())===r&&(i=function(){var t,i,n,s,o;return t=Me,i=Me,n=Me,64===e.charCodeAt(Me)?(s=y,Me++):(s=r,0===Fe&&Ke(G)),s!==r&&(o=We())!==r?(qe=n,n=Pe(o)):(Me=n,n=r),(i=n!==r?e.substring(i,Me):n)!==r&&(qe=t,i=xe(i)),t=i}()),i!==r&&(qe=t,i=ye(i)),(t=i)===r))))){if(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r){for(n=[],s=Me,(o=Xe())!==r?(44===e.charCodeAt(Me)?Me++:0===Fe&&Ke(U),qe=s,s=ge(o)):(Me=s,s=r);s!==r;)n.push(s),s=Me,(o=Xe())!==r?(44===e.charCodeAt(Me)?Me++:0===Fe&&Ke(U),qe=s,s=ge(o)):(Me=s,s=r);93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=be(n)):(Me=t,t=r)}else Me=t,t=r;t===r&&(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r?(n=function(){var t,i,n,s,o,a,c;return t=Me,i=Me,n=Me,s=Me,(o=et())!==r?(58===e.charCodeAt(Me)?(a=h,Me++):(a=r,0===Fe&&Ke(K)),a!==r?((c=et())===r&&(c=null),s=o=[o,a,c]):(Me=s,s=r)):(Me=s,s=r),s===r&&(s=Me,58===e.charCodeAt(Me)?(o=h,Me++):(o=r,0===Fe&&Ke(K)),o!==r?((a=et())===r&&(a=null),s=o=[o,a]):(Me=s,s=r),s===r&&(s=et())),s!==r?(o=Me,58===e.charCodeAt(Me)?(a=h,Me++):(a=r,0===Fe&&Ke(K)),a!==r&&(c=et())!==r?o=a=[a,c]:(Me=o,o=r),o===r&&(o=null),n=s=[s,o]):(Me=n,n=r),(i=n!==r?e.substring(i,Me):n)!==r&&(qe=t,i=we(i)),t=i}(),n!==r?(93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=ye(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r))}return t}function Je(){var t,i;return t=Me,qe=Me,(ve()?void 0:r)!==r?(e.substr(Me,2)===f?(i=f,Me+=2):(i=r,0===Fe&&Ke(V)),i!==r?(qe=t,t=$e()):(Me=t,t=r)):(Me=t,t=r),t}function We(){var t,i,n,s,o,a;if(t=Me,i=Me,n=Me,64===e.charCodeAt(Me)?(s=y,Me++):(s=r,0===Fe&&Ke(G)),s!==r){if(o=[],S.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(H)),a!==r)for(;a!==r;)o.push(a),S.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(H));else o=r;o!==r?(e.substr(Me,2)===g?(a=g,Me+=2):(a=r,0===Fe&&Ke(J)),a!==r?n=s=[s,o,a]:(Me=n,n=r)):(Me=n,n=r)}else Me=n,n=r;return(i=n!==r?e.substring(i,Me):n)!==r&&(qe=t,i=xe(i)),i}function Qe(){var t;return(t=function(){var t,i;return t=Me,126===e.charCodeAt(Me)?(i=b,Me++):(i=r,0===Fe&&Ke(W)),i!==r&&(qe=t,i=Se()),i}())===r&&(t=function(){var t,i;return t=Me,94===e.charCodeAt(Me)?(i=v,Me++):(i=r,0===Fe&&Ke(Q)),i!==r&&(qe=t,i=Oe()),i}()),t}function Ze(){var t,i,n,s;return t=Me,e.substr(Me,2)===f?(i=f,Me+=2):(i=r,0===Fe&&Ke(V)),i!==r&&(qe=t,i=Ee()),(t=i)===r&&(t=Me,46===e.charCodeAt(Me)?(i=$,Me++):(i=r,0===Fe&&Ke(Z)),i!==r?(n=Me,Fe++,91===e.charCodeAt(Me)?(s=p,Me++):(s=r,0===Fe&&Ke(D)),Fe--,s!==r?(Me=n,n=void 0):n=r,n!==r?(qe=t,t=Ee()):(Me=t,t=r)):(Me=t,t=r),t===r&&(t=Me,46===e.charCodeAt(Me)?(i=$,Me++):(i=r,0===Fe&&Ke(Z)),i!==r&&(qe=t,i=Ae()),(t=i)===r&&(t=Me,i=Me,Fe++,O.test(e.charAt(Me))?(n=e.charAt(Me),Me++):(n=r,0===Fe&&Ke(Y)),Fe--,n!==r?(Me=i,i=void 0):i=r,i!==r&&(qe=t,i=Ae()),t=i))),t}function Ye(){var t,i,n;if(t=Me,i=[],E.test(e.charAt(Me))?(n=e.charAt(Me),Me++):(n=r,0===Fe&&Ke(X)),n===r&&(n=it())===r&&(n=nt()),n!==r)for(;n!==r;)i.push(n),E.test(e.charAt(Me))?(n=e.charAt(Me),Me++):(n=r,0===Fe&&Ke(X)),n===r&&(n=it())===r&&(n=nt());else i=r;return i!==r?e.substring(t,Me):i}function Xe(){var t,i,n,s,o,a;if(t=Me,(i=Ye())!==r&&(qe=t,i=Te(i)),(t=i)===r){if(t=Me,i=Me,34===e.charCodeAt(Me)?(n=j,Me++):(n=r,0===Fe&&Ke(ee)),n!==r){for(s=Me,o=[],A.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(te));a!==r;)o.push(a),A.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(te));s=e.substring(s,Me),34===e.charCodeAt(Me)?(o=j,Me++):(o=r,0===Fe&&Ke(ee)),o!==r?i=n=[n,s,o]:(Me=i,i=r)}else Me=i,i=r;if(i===r)if(i=Me,39===e.charCodeAt(Me)?(n=_,Me++):(n=r,0===Fe&&Ke(ie)),n!==r){for(s=Me,o=[],T.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(ne));a!==r;)o.push(a),T.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(ne));s=e.substring(s,Me),39===e.charCodeAt(Me)?(o=_,Me++):(o=r,0===Fe&&Ke(ie)),o!==r?i=n=[n,s,o]:(Me=i,i=r)}else Me=i,i=r;i!==r&&(qe=t,i=Ie()),t=i}return t}function et(){var t,i,n;if(t=Me,45===e.charCodeAt(Me)?Me++:0===Fe&&Ke(re),i=[],(n=nt())!==r)for(;n!==r;)i.push(n),n=nt();else i=r;return i!==r?(qe=t,t=ke()):(Me=t,t=r),t}function tt(){var t;return 42===e.charCodeAt(Me)?(t=x,Me++):(t=r,0===Fe&&Ke(se)),t}function it(){var t;return I.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(oe)),t}function nt(){var t;return k.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(ae)),t}function rt(){var t;return R.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(ce)),t}function st(){var t,i,n,s;if(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r){for(n=[],(s=nt())===r&&(s=it())===r&&(s=ot())===r&&(s=ct());s!==r;)n.push(s),(s=nt())===r&&(s=it())===r&&(s=ot())===r&&(s=ct());93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;return t}function ot(){var t,i,n,s;if(t=Me,M.test(e.charAt(Me))?(i=e.charAt(Me),Me++):(i=r,0===Fe&&Ke(pe)),i!==r){for(n=[],A.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(te));s!==r;)n.push(s),A.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(te));M.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(pe)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;if(t===r)if(t=Me,q.test(e.charAt(Me))?(i=e.charAt(Me),Me++):(i=r,0===Fe&&Ke(de)),i!==r){for(n=[],T.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(ne));s!==r;)n.push(s),T.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(ne));q.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(de)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;return t}function at(){var t;return C.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(fe)),t}function ct(){var t,i,n,s;if(t=Me,40===e.charCodeAt(Me)?(i=l,Me++):(i=r,0===Fe&&Ke(L)),i!==r){for(n=[],(s=ot())===r&&(s=it())===r&&(s=nt())===r&&(s=st())===r&&(s=at())===r&&(s=rt())===r&&(s=ct());s!==r;)n.push(s),(s=ot())===r&&(s=it())===r&&(s=nt())===r&&(s=st())===r&&(s=at())===r&&(s=rt())===r&&(s=ct());41===e.charCodeAt(Me)?(s=u,Me++):(s=r,0===Fe&&Ke(z)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;return t}if((n=a())!==r&&Me===e.length)return n;throw n!==r&&Me{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(29148);t.default=function(e,t){if(0===t.length||!n.default(e))return e;let i=e;for(const e of t.slice(0,t.length-1))if(i=i[e],!n.default(i))return;return i[t[t.length-1]]}},99331:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,i,n,r){const s=i<0?Math.max(0,i+e.length):Math.min(e.length,i),o=n<0?Math.max(0,n+e.length):Math.min(e.length,n);return t>=s&&t0&&(t+i)%r==0)}},29148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"object"==typeof e&&null!==e}},32512:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,r=i(29148),s=null!==(n=globalThis.AggregateError)&&void 0!==n?n:class extends Error{constructor(e,t=""){if(super(t),!Array.isArray(e)&&(i=e,!r.default(i)||"function"!=typeof i[Symbol.iterator]))throw new TypeError(`${e} is not an iterable`);var i;this.errors=[...e]}};t.default=s},32152:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e,t){super(e),void 0!==t&&"cause"in t&&(this.cause=t.cause)}}t.default=i},19422:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(32152);class r extends n.default{constructor(e,t,i){super(e,i),this.input=t}}t.default=r},32639:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(32152);class r extends n.default{}t.default=r},57190:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(64684),r=i(99331),s=i(29148),o=i(78342);t.get=n.default,t.inBounds=r.default,t.isObject=s.default,t.Scope=o.default},20491:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(32639);function r(e){return"string"==typeof e||"number"==typeof e?JSON.stringify(e):"unknown"}function s(e){return e instanceof Error?`${e.constructor.name}(${r(e.message)})`:r(e)}t.default=function(e,t){const i={};for(const r of Object.keys(e)){const o=e[r];i[r]=(...e)=>{try{o(...e)}catch(e){const i=`${o.name||r} threw: ${s(e)}`;t.push(new n.default(i,{cause:e}))}}}return i}},51717:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(29148);function s(e,t){return e+`[${"string"==typeof t?`'${t}'`:t}]`}var o=new WeakMap,a=new WeakMap,c=new WeakMap,p=new WeakMap;class d{constructor(e,t,i=null){p.set(this,{get:f,set:void 0}),o.set(this,{writable:!0,value:void 0}),a.set(this,{writable:!0,value:void 0}),c.set(this,{writable:!0,value:void 0}),this.root=t,n.classPrivateFieldSet(this,a,e),n.classPrivateFieldSet(this,o,null!=i?i:[[0,t]]),n.classPrivateFieldSet(this,c,void 0)}get path(){return`$${n.classPrivateFieldGet(this,a).reduce(s,"")}`}get depth(){return n.classPrivateFieldGet(this,a).length-1}get value(){var e;return void 0!==n.classPrivateFieldGet(this,c)?n.classPrivateFieldGet(this,c):null!==(e=n.classPrivateFieldGet(this,c))&&void 0!==e?e:n.classPrivateFieldSet(this,c,n.classPrivateFieldGet(this,o)[n.classPrivateFieldGet(this,o).length-1][1])}get property(){return e=n.classPrivateFieldGet(this,a),(t=this.depth)>=0&&e.length>t?e[t]:null;var e,t}get parentValue(){var e;return null===(e=n.classPrivateFieldGet(this,p))||void 0===e?void 0:e[1]}get parentProperty(){var e;return n.classPrivateFieldGet(this,a)[null===(e=n.classPrivateFieldGet(this,p))||void 0===e?void 0:e[0]]}destroy(){n.classPrivateFieldGet(this,o).length=0}push(){const e=null!==this.property&&r.default(this.value)?this.value[this.property]:null;return n.classPrivateFieldGet(this,o).push([n.classPrivateFieldGet(this,a).length,e]),n.classPrivateFieldSet(this,c,e),this}pop(){const e=Math.max(0,n.classPrivateFieldGet(this,a).length+1);for(;n.classPrivateFieldGet(this,o).length>e;)n.classPrivateFieldGet(this,o).pop();return n.classPrivateFieldSet(this,c,void 0),this}at(e){if(Math.abs(e)>n.classPrivateFieldGet(this,o).length)return null;const t=(e<0?n.classPrivateFieldGet(this,o).length:0)+e,i=n.classPrivateFieldGet(this,o).slice(0,t+1);return new d(n.classPrivateFieldGet(this,a).slice(0,i[i.length-1][0]),i[i.length-1][1],i)}}function f(){if(!(n.classPrivateFieldGet(this,o).length<3))return n.classPrivateFieldGet(this,o)[n.classPrivateFieldGet(this,o).length-3]}t.Sandbox=d},78342:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(32512),s=i(20491),o=i(51717),a=i(95214),c=new WeakMap,p=new WeakMap;class d{constructor(e,t,i=null){c.set(this,{writable:!0,value:void 0}),p.set(this,{writable:!0,value:void 0}),this.root=e,n.classPrivateFieldSet(this,c,i),this.path=[],this.errors=[],this.sandbox=new o.Sandbox(this.path,e,null),this.callbacks=s.default(t,this.errors);const r=this;n.classPrivateFieldSet(this,p,{path:this.path,get value(){return r.value}})}get depth(){return this.path.length-1}get property(){return this.sandbox.property}get value(){return this.sandbox.value}enter(e){return this.path.push(e),this.sandbox=this.sandbox.push(),this.path.length}exit(e){const t=Math.max(0,e-1);for(;this.path.length>t;)this.path.pop();return this.sandbox=this.sandbox.pop(),this.path.length}fork(e){const t=new d(this.root,this.callbacks,this);for(const i of e)if(t.enter(i),void 0===t.value)return null;return t}traverse(e,t){null!==t?a.zonedTraverse.call(this,e,t):a.traverse.call(this,e)}bail(e,t,i){const n=this.fork(this.path);a.bailedTraverse.call(n,t,i)}emit(e,t,i){var r;const s=this.callbacks[e];if(0===t&&!i)return void s(n.classPrivateFieldGet(this,p));if(0!==t&&t>this.depth+1)return;const o=0===t?n.classPrivateFieldGet(this,p):{path:n.classPrivateFieldGet(this,p).path.slice(0,Math.max(0,n.classPrivateFieldGet(this,p).path.length-t)),value:(null!==(r=this.sandbox.at(-t-1))&&void 0!==r?r:this.sandbox.at(0)).value};s(i?{path:o.path,value:0===o.path.length?void 0:o.path[o.path.length-1]}:o)}destroy(){if(this.path.length=0,this.sandbox.destroy(),this.sandbox=null,this.errors.length>0)throw new r.default(this.errors,"Error running Nimma")}}t.default=d},95214:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(29148);function r(e,t,i,r,o){const a=t[e],c=i.enter(e),p=null!==o&&o.length>0&&!o[0].fn(i);(null===o||1===o.length&&p)&&r(i),n.default(a)&&(null===o?s(a,i,r,o):o.length>0&&(p&&s(a,i,r,o.slice(1)),o[0].deep&&(i.exit(c),i.enter(e),s(a,i,r,o)))),i.exit(c)}function s(e,t,i,n){if(Array.isArray(e))for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(17547),r=i(56135);function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(n);t.default=(e,t)=>{const i="object"==typeof e?e:function(e){try{return o.default(e)}catch(e){throw SyntaxError(e.message)}}(e);return r.default(i,Object.freeze(t))}},56135:(e,t)=>{"use strict";function i(e,t){switch(e.type){case"Program":return function(e,t){if(1!==e.body.length)throw SyntaxError("Too complex expression");return i(e.body[0],t)}(e,t);case"ExpressionStatement":return i(e.expression,t);case"MemberExpression":return function(e,t){const n=i(e.object,t),r="Identifier"===e.property.type?e.property.name:i(e.property,t);return"function"==typeof n[r]?n[r].bind(n):n[r]}(e,t);case"LogicalExpression":case"BinaryExpression":return function(e,t){return function(e,t){return Function("lhs, rhs",`return lhs ${e.operator} rhs`)(i(e.left,t),i(e.right,t))}(e,t)}(e,t);case"ConditionalExpression":return function(e,t){return Function("t, c, a","return t ? c : a")(i(e.test,t),i(e.consequent,t),i(e.alternate,t))}(e,t);case"UnaryExpression":return function(e,t){if(!e.prefix||"UnaryExpression"===e.argument.type)throw SyntaxError("Unexpected operator");return Function("v",`return ${e.operator}v`)(i(e.argument,t))}(e,t);case"CallExpression":return function(e,t){return Reflect.apply(i(e.callee,t),null,e.arguments.map((e=>i(e,t))))}(e,t);case"NewExpression":return function(e,t){return Reflect.construct(i(e.callee,t),e.arguments.map((e=>i(e,t))))}(e,t);case"ArrayExpression":return function(e,t){return e.elements.map((e=>i(e,t)))}(e,t);case"ThisExpression":return t;case"Identifier":return function(e,t){if(void 0===t||!(e in t))throw ReferenceError(`${e} is not defined`);return Reflect.get(t,e,t)}(e.name,t);case"Literal":return e.value;default:throw SyntaxError("Unexpected node")}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i},4910:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>n});var n={name:"regex",init(e){e.hooks.add("gobble-token",(function(t){if(47===this.code){const i=++this.index;let n=!1;for(;this.index=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57))break;s+=this.char}try{r=new RegExp(n,s)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:r,raw:this.expr.slice(i-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}}))}}},6270:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>n});var n={name:"ternary",init(e){e.hooks.add("after-expression",(function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;const i=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;const r=this.gobbleExpression();if(r||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:i,consequent:n,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let n=i;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=i}}else this.throwError("Expected :")}}))}}},73522:(e,t,i)=>{"use strict";function n(e){return n="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},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,n=new Array(t);ib});var m=Object.prototype.hasOwnProperty;function h(e,t){return(e=e.slice()).push(t),e}function y(e,t){return(t=t.slice()).unshift(e),t}var g=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(s,e);var t,i,n=(t=s,i=p(),function(){var e,n=a(t);if(i){var r=a(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function s(e){var t;return r(this,s),(t=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)')).avoidNew=!0,t.value=e,t.name="NewError",t}return o(s)}(f(Error));function b(e,t,i,r,s){if(!(this instanceof b))try{return new b(e,t,i,r,s)}catch(e){if(!e.avoidNew)throw e;return e.value}"string"==typeof e&&(s=r,r=i,i=t,t=e,e=null);var o=e&&"object"===n(e);if(e=e||{},this.json=e.json||i,this.path=e.path||t,this.resultType=e.resultType||"value",this.flatten=e.flatten||!1,this.wrap=!m.call(e,"wrap")||e.wrap,this.sandbox=e.sandbox||{},this.preventEval=e.preventEval||!1,this.parent=e.parent||null,this.parentProperty=e.parentProperty||null,this.callback=e.callback||r||null,this.otherTypeCallback=e.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},!1!==e.autostart){var a={path:o?e.path:t};o?"json"in e&&(a.json=e.json):a.json=i;var c=this.evaluate(a);if(!c||"object"!==n(c))throw new g(c);return c}}b.prototype.evaluate=function(e,t,i,r){var s=this,o=this.parent,a=this.parentProperty,c=this.flatten,p=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,i=i||this.callback,this.currOtherTypeCallback=r||this.otherTypeCallback,t=t||this.json,(e=e||this.path)&&"object"===n(e)&&!Array.isArray(e)){if(!e.path&&""!==e.path)throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!m.call(e,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');t=e.json,c=m.call(e,"flatten")?e.flatten:c,this.currResultType=m.call(e,"resultType")?e.resultType:this.currResultType,this.currSandbox=m.call(e,"sandbox")?e.sandbox:this.currSandbox,p=m.call(e,"wrap")?e.wrap:p,this.currPreventEval=m.call(e,"preventEval")?e.preventEval:this.currPreventEval,i=m.call(e,"callback")?e.callback:i,this.currOtherTypeCallback=m.call(e,"otherTypeCallback")?e.otherTypeCallback:this.currOtherTypeCallback,o=m.call(e,"parent")?e.parent:o,a=m.call(e,"parentProperty")?e.parentProperty:a,e=e.path}if(o=o||null,a=a||null,Array.isArray(e)&&(e=b.toPathString(e)),(e||""===e)&&t){var d=b.toPathArray(e);"$"===d[0]&&d.length>1&&d.shift(),this._hasParentSelector=null;var f=this._trace(d,t,["$"],o,a,i).filter((function(e){return e&&!e.isParentSelector}));return f.length?p||1!==f.length||f[0].hasArrExpr?f.reduce((function(e,t){var i=s._getPreferredOutput(t);return c&&Array.isArray(i)?e=e.concat(i):e.push(i),e}),[]):this._getPreferredOutput(f[0]):p?[]:void 0}},b.prototype._getPreferredOutput=function(e){var t=this.currResultType;switch(t){case"all":var i=Array.isArray(e.path)?e.path:b.toPathArray(e.path);return e.pointer=b.toPointer(i),e.path="string"==typeof e.path?e.path:b.toPathString(e.path),e;case"value":case"parent":case"parentProperty":return e[t];case"path":return b.toPathString(e[t]);case"pointer":return b.toPointer(e.path);default:throw new TypeError("Unknown result type")}},b.prototype._handleCallback=function(e,t,i){if(t){var n=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:b.toPathString(e.path),t(n,i,e)}},b.prototype._trace=function(e,t,i,r,s,o,a,c){var p,d=this;if(!e.length)return p={path:i,value:t,parent:r,parentProperty:s,hasArrExpr:a},this._handleCallback(p,o,"value"),p;var f=e[0],u=e.slice(1),g=[];function b(e){Array.isArray(e)?e.forEach((function(e){g.push(e)})):g.push(e)}if(("string"!=typeof f||c)&&t&&m.call(t,f))b(this._trace(u,t[f],h(i,f),t,f,o,a));else if("*"===f)this._walk(f,u,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){b(d._trace(y(e,i),n,r,s,o,a,!0,!0))}));else if(".."===f)b(this._trace(u,t,i,r,s,o,a)),this._walk(f,u,t,i,r,s,o,(function(e,t,i,r,s,o,a,c){"object"===n(r[e])&&b(d._trace(y(t,i),r[e],h(s,e),r,e,c,!0))}));else{if("^"===f)return this._hasParentSelector=!0,{path:i.slice(0,-1),expr:u,isParentSelector:!0};if("~"===f)return p={path:h(i,f),value:s,parent:r,parentProperty:null},this._handleCallback(p,o,"property"),p;if("$"===f)b(this._trace(u,t,i,null,null,o,a));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(f))b(this._slice(f,u,t,i,r,s,o));else if(0===f.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");this._walk(f,u,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){d._eval(t.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1"),n[e],e,r,s,o)&&b(d._trace(y(e,i),n,r,s,o,a,!0))}))}else if("("===f[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");b(this._trace(y(this._eval(f,t,i[i.length-1],i.slice(0,-1),r,s),u),t,i,r,s,o,a))}else if("@"===f[0]){var v=!1,$=f.slice(1,-2);switch($){case"scalar":t&&["object","function"].includes(n(t))||(v=!0);break;case"boolean":case"string":case"undefined":case"function":n(t)===$&&(v=!0);break;case"integer":!Number.isFinite(t)||t%1||(v=!0);break;case"number":Number.isFinite(t)&&(v=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(v=!0);break;case"object":t&&n(t)===$&&(v=!0);break;case"array":Array.isArray(t)&&(v=!0);break;case"other":v=this.currOtherTypeCallback(t,i,r,s);break;case"null":null===t&&(v=!0);break;default:throw new TypeError("Unknown value type "+$)}if(v)return p={path:i,value:t,parent:r,parentProperty:s},this._handleCallback(p,o,"value"),p}else if("`"===f[0]&&t&&m.call(t,f.slice(1))){var j=f.slice(1);b(this._trace(u,t[j],h(i,j),t,j,o,a,!0))}else if(f.includes(",")){var _,w=function(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=l(e))){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 s,o=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw s}}}}(f.split(","));try{for(w.s();!(_=w.n()).done;){var x=_.value;b(this._trace(y(x,u),t,i,r,s,o,!0))}}catch(e){w.e(e)}finally{w.f()}}else!c&&t&&m.call(t,f)&&b(this._trace(u,t[f],h(i,f),t,f,o,a,!0))}if(this._hasParentSelector)for(var P=0;P-1?t.slice(0,a+1)+" return "+t.slice(a+1):" return "+t;return d(Function,i.concat([c])).apply(void 0,function(e){if(Array.isArray(e))return u(e)}(o=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||l(o)||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.")}())}}]),e}();b.prototype.vm={Script:v}},94169:(e,t,i)=>{"use strict";var n,r,s,o,a;i.d(t,{h_:()=>s}),function(e){e.None="none",e.Declared="declared",e.InheritedFromService="inheritedFromService"}(n||(n={})),function(e){e.Unspecified="unspecified",e.Simple="simple",e.Matrix="matrix",e.Label="label",e.Form="form",e.CommaDelimited="commaDelimited",e.SpaceDelimited="spaceDelimited",e.PipeDelimited="pipeDelimited",e.DeepObject="deepObject",e.TabDelimited="tabDelimited"}(r||(r={})),function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Information=2]="Information",e[e.Hint=3]="Hint"}(s||(s={})),function(e){e.Article="article",e.HttpService="http_service",e.HttpServer="http_server",e.HttpOperation="http_operation",e.HttpCallback="http_callback",e.Model="model",e.Generic="generic",e.Unknown="unknown",e.TableOfContents="table_of_contents",e.SpectralRuleset="spectral_ruleset",e.Styleguide="styleguide",e.Image="image",e.StoplightResolutions="stoplight_resolutions",e.StoplightOverride="stoplight_override"}(o||(o={})),function(e){e.Json="json",e.Markdown="markdown",e.Yaml="yaml",e.Javascript="javascript",e.Apng="apng",e.Avif="avif",e.Bmp="bmp",e.Gif="gif",e.Jpeg="jpeg",e.Png="png",e.Svg="svg",e.Webp="webp"}(a||(a={}))},34321:(e,t,i)=>{"use strict";function n(e){return n="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},n(e)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function o(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function a(e,t,i){return a=o()?Reflect.construct:function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&s(r,i.prototype),r},a.apply(null,arguments)}function c(e){var t="function"==typeof Map?new Map:void 0;return c=function(e){if(null===e||(i=e,-1===Function.toString.call(i).indexOf("[native code]")))return e;var i;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 a(e,arguments,r(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),s(n,e)},c(e)}function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(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 d(e,t){if(e){if("string"==typeof e)return f(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);iy});var l=Object.prototype.hasOwnProperty;function u(e,t){return(e=e.slice()).push(t),e}function m(e,t){return(t=t.slice()).unshift(e),t}var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(a,e);var t,i,n=(t=a,i=o(),function(){var e,n=r(t);if(i){var s=r(this).constructor;e=Reflect.construct(n,arguments,s)}else e=n.apply(this,arguments);return function(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,e)});function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)')).avoidNew=!0,t.value=e,t.name="NewError",t}return a}(c(Error));function y(e,t,i,r,s){if(!(this instanceof y))try{return new y(e,t,i,r,s)}catch(e){if(!e.avoidNew)throw e;return e.value}"string"==typeof e&&(s=r,r=i,i=t,t=e,e=null);var o=e&&"object"===n(e);if(e=e||{},this.json=e.json||i,this.path=e.path||t,this.resultType=e.resultType||"value",this.flatten=e.flatten||!1,this.wrap=!l.call(e,"wrap")||e.wrap,this.sandbox=e.sandbox||{},this.preventEval=e.preventEval||!1,this.parent=e.parent||null,this.parentProperty=e.parentProperty||null,this.callback=e.callback||r||null,this.otherTypeCallback=e.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},!1!==e.autostart){var a={path:o?e.path:t};o?"json"in e&&(a.json=e.json):a.json=i;var c=this.evaluate(a);if(!c||"object"!==n(c))throw new h(c);return c}}y.prototype.evaluate=function(e,t,i,r){var s=this,o=this.parent,a=this.parentProperty,c=this.flatten,p=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,i=i||this.callback,this.currOtherTypeCallback=r||this.otherTypeCallback,t=t||this.json,(e=e||this.path)&&"object"===n(e)&&!Array.isArray(e)){if(!e.path&&""!==e.path)throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!l.call(e,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');t=e.json,c=l.call(e,"flatten")?e.flatten:c,this.currResultType=l.call(e,"resultType")?e.resultType:this.currResultType,this.currSandbox=l.call(e,"sandbox")?e.sandbox:this.currSandbox,p=l.call(e,"wrap")?e.wrap:p,this.currPreventEval=l.call(e,"preventEval")?e.preventEval:this.currPreventEval,i=l.call(e,"callback")?e.callback:i,this.currOtherTypeCallback=l.call(e,"otherTypeCallback")?e.otherTypeCallback:this.currOtherTypeCallback,o=l.call(e,"parent")?e.parent:o,a=l.call(e,"parentProperty")?e.parentProperty:a,e=e.path}if(o=o||null,a=a||null,Array.isArray(e)&&(e=y.toPathString(e)),(e||""===e)&&t){var d=y.toPathArray(e);"$"===d[0]&&d.length>1&&d.shift(),this._hasParentSelector=null;var f=this._trace(d,t,["$"],o,a,i).filter((function(e){return e&&!e.isParentSelector}));return f.length?p||1!==f.length||f[0].hasArrExpr?f.reduce((function(e,t){var i=s._getPreferredOutput(t);return c&&Array.isArray(i)?e=e.concat(i):e.push(i),e}),[]):this._getPreferredOutput(f[0]):p?[]:void 0}},y.prototype._getPreferredOutput=function(e){var t=this.currResultType;switch(t){case"all":var i=Array.isArray(e.path)?e.path:y.toPathArray(e.path);return e.pointer=y.toPointer(i),e.path="string"==typeof e.path?e.path:y.toPathString(e.path),e;case"value":case"parent":case"parentProperty":return e[t];case"path":return y.toPathString(e[t]);case"pointer":return y.toPointer(e.path);default:throw new TypeError("Unknown result type")}},y.prototype._handleCallback=function(e,t,i){if(t){var n=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:y.toPathString(e.path),t(n,i,e)}},y.prototype._trace=function(e,t,i,r,s,o,a,c){var p,f=this;if(!e.length)return p={path:i,value:t,parent:r,parentProperty:s,hasArrExpr:a},this._handleCallback(p,o,"value"),p;var h=e[0],y=e.slice(1),g=[];function b(e){Array.isArray(e)?e.forEach((function(e){g.push(e)})):g.push(e)}if(("string"!=typeof h||c)&&t&&l.call(t,h))b(this._trace(y,t[h],u(i,h),t,h,o,a));else if("*"===h)this._walk(h,y,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){b(f._trace(m(e,i),n,r,s,o,a,!0,!0))}));else if(".."===h)b(this._trace(y,t,i,r,s,o,a)),this._walk(h,y,t,i,r,s,o,(function(e,t,i,r,s,o,a,c){"object"===n(r[e])&&b(f._trace(m(t,i),r[e],u(s,e),r,e,c,!0))}));else{if("^"===h)return this._hasParentSelector=!0,{path:i.slice(0,-1),expr:y,isParentSelector:!0};if("~"===h)return p={path:u(i,h),value:s,parent:r,parentProperty:null},this._handleCallback(p,o,"property"),p;if("$"===h)b(this._trace(y,t,i,null,null,o,a));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(h))b(this._slice(h,y,t,i,r,s,o));else if(0===h.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");this._walk(h,y,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){f._eval(t.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1"),n[e],e,r,s,o)&&b(f._trace(m(e,i),n,r,s,o,a,!0))}))}else if("("===h[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");b(this._trace(m(this._eval(h,t,i[i.length-1],i.slice(0,-1),r,s),y),t,i,r,s,o,a))}else if("@"===h[0]){var v=!1,$=h.slice(1,-2);switch($){case"scalar":t&&["object","function"].includes(n(t))||(v=!0);break;case"boolean":case"string":case"undefined":case"function":n(t)===$&&(v=!0);break;case"integer":!Number.isFinite(t)||t%1||(v=!0);break;case"number":Number.isFinite(t)&&(v=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(v=!0);break;case"object":t&&n(t)===$&&(v=!0);break;case"array":Array.isArray(t)&&(v=!0);break;case"other":v=this.currOtherTypeCallback(t,i,r,s);break;case"null":null===t&&(v=!0);break;default:throw new TypeError("Unknown value type "+$)}if(v)return p={path:i,value:t,parent:r,parentProperty:s},this._handleCallback(p,o,"value"),p}else if("`"===h[0]&&t&&l.call(t,h.slice(1))){var j=h.slice(1);b(this._trace(y,t[j],u(i,j),t,j,o,a,!0))}else if(h.includes(",")){var _,w=function(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=d(e))){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 s,o=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw s}}}}(h.split(","));try{for(w.s();!(_=w.n()).done;){var x=_.value;b(this._trace(m(x,y),t,i,r,s,o,!0))}}catch(e){w.e(e)}finally{w.f()}}else!c&&t&&l.call(t,h)&&b(this._trace(y,t[h],u(i,h),t,h,o,a,!0))}if(this._hasParentSelector)for(var P=0;P-1?e.slice(0,o+1)+" return "+e.slice(o+1):" return "+e;return a(Function,p(i).concat([c])).apply(void 0,p(r))}}},85608:(e,t,i)=>{"use strict";i.r(t),i.d(t,{__addDisposableResource:()=>M,__assign:()=>s,__asyncDelegator:()=>P,__asyncGenerator:()=>x,__asyncValues:()=>S,__await:()=>w,__awaiter:()=>m,__classPrivateFieldGet:()=>I,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>k,__createBinding:()=>y,__decorate:()=>a,__disposeResources:()=>C,__esDecorate:()=>p,__exportStar:()=>g,__extends:()=>r,__generator:()=>h,__importDefault:()=>T,__importStar:()=>A,__makeTemplateObject:()=>O,__metadata:()=>u,__param:()=>c,__propKey:()=>f,__read:()=>v,__rest:()=>o,__runInitializers:()=>d,__setFunctionName:()=>l,__spread:()=>$,__spreadArray:()=>_,__spreadArrays:()=>j,__values:()=>b,default:()=>N});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)};function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var s=function(){return s=Object.assign||function(e){for(var t,i=1,n=arguments.length;i=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}function c(e,t){return function(i,n){t(i,n,e)}}function p(e,t,i,n,r,s){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,c=n.kind,p="getter"===c?"get":"setter"===c?"set":"value",d=!t&&e?n.static?e:e.prototype:null,f=t||(d?Object.getOwnPropertyDescriptor(d,n.name):{}),l=!1,u=i.length-1;u>=0;u--){var m={};for(var h in n)m[h]="access"===h?{}:n[h];for(var h in n.access)m.access[h]=n.access[h];m.addInitializer=function(e){if(l)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(e||null))};var y=(0,i[u])("accessor"===c?{get:f.get,set:f.set}:f[p],m);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(a=o(y.get))&&(f.get=a),(a=o(y.set))&&(f.set=a),(a=o(y.init))&&r.unshift(a)}else(a=o(y))&&("field"===c?r.unshift(a):f[p]=a)}d&&Object.defineProperty(d,n.name,f),l=!0}function d(e,t,i){for(var n=arguments.length>2,r=0;r0&&r[r.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,s=i.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o}function $(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(i=r[e](t)).value instanceof w?Promise.resolve(i.value.v).then(c,p):d(s[0][2],i)}catch(e){d(s[0][3],e)}var i}function c(e){a("next",e)}function p(e){a("throw",e)}function d(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function P(e){var t,i;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:w(e[n](t)),done:!1}:r?r(t):t}:r}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,r){!function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)}(n,r,(t=e[i](t)).done,t.value)}))}}}function O(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var E=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function A(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&y(t,e,i);return E(t,e),t}function T(e){return e&&e.__esModule?e:{default:e}}function I(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)}function k(e,t,i,n,r){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?r.call(e,i):r?r.value=i:t.set(e,i),i}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function M(e,t,i){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var n;if(i){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose]}if("function"!=typeof n)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:n,async:i})}else i&&e.stack.push({async:!0});return t}var q="function"==typeof SuppressedError?SuppressedError:function(e,t,i){var n=new Error(i);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function C(e){function t(t){e.error=e.hasError?new q(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function i(){for(;e.stack.length;){var n=e.stack.pop();try{var r=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(r).then(i,(function(e){return t(e),i()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}const N={__extends:r,__assign:s,__rest:o,__decorate:a,__param:c,__metadata:u,__awaiter:m,__generator:h,__createBinding:y,__exportStar:g,__values:b,__read:v,__spread:$,__spreadArrays:j,__spreadArray:_,__await:w,__asyncGenerator:x,__asyncDelegator:P,__asyncValues:S,__makeTemplateObject:O,__importStar:A,__importDefault:T,__classPrivateFieldGet:I,__classPrivateFieldSet:k,__classPrivateFieldIn:R,__addDisposableResource:M,__disposeResources:C}},63837:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},72079:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},69486:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.0.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.0.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"type":"object","additionalProperties":{"$ref":"#/definitions/server"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},4023:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.0.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.0.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.0.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.0.0/info.json"},"servers":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/server.json"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.0.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.0.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.0.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.0.0/info.json":{"$id":"http://asyncapi.com/definitions/2.0.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.0.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.0.0/license.json"}}},"http://asyncapi.com/definitions/2.0.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.0.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/license.json":{"$id":"http://asyncapi.com/definitions/2.0.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/server.json":{"$id":"http://asyncapi.com/definitions/2.0.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.0.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.0.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.0.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.0.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.0.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.0.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.0.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{}}},"http://asyncapi.com/definitions/2.0.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.0.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/channelItem.json"}},"http://asyncapi.com/definitions/2.0.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.0.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.0.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"http://asyncapi.com/definitions/2.0.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.0.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.0.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.0.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.0.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.0.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.0.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.0.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.0.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.0.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.0.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.0.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.0.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.0.0/message.json"}}},"http://asyncapi.com/definitions/2.0.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.0.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.0.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/message.json":{"$id":"http://asyncapi.com/definitions/2.0.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.0.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.0.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.0.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.0.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.0.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.0.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.0.0/components.json":{"$id":"http://asyncapi.com/definitions/2.0.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.0.0/schemas.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.0.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.0.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.0.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.0.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.0.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.0.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.0.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/openIdConnect.json"}]},"http://asyncapi.com/definitions/2.0.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.0.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.0.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.0.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.0.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.0.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.0.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.0.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.0.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.0.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.0.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},61401:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.1.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.1.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"type":"object","additionalProperties":{"$ref":"#/definitions/server"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},88520:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.1.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.1.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.1.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.1.0/info.json"},"servers":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/server.json"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.1.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.1.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.1.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.1.0/info.json":{"$id":"http://asyncapi.com/definitions/2.1.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.1.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.1.0/license.json"}}},"http://asyncapi.com/definitions/2.1.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.1.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/license.json":{"$id":"http://asyncapi.com/definitions/2.1.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/server.json":{"$id":"http://asyncapi.com/definitions/2.1.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.1.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.1.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.1.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.1.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.1.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.1.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"http://asyncapi.com/definitions/2.1.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.1.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/channelItem.json"}},"http://asyncapi.com/definitions/2.1.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.1.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.1.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"http://asyncapi.com/definitions/2.1.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.1.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.1.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.1.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.1.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.1.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.1.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.1.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.1.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.1.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.1.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.1.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.1.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.1.0/message.json"}}},"http://asyncapi.com/definitions/2.1.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.1.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.1.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/message.json":{"$id":"http://asyncapi.com/definitions/2.1.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.1.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.1.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.1.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.1.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.1.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.1.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.1.0/components.json":{"$id":"http://asyncapi.com/definitions/2.1.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.1.0/schemas.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.1.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.1.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.1.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.1.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.1.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.1.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.1.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.1.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.1.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.1.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.1.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.1.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.1.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.1.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.1.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.1.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.1.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.1.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.1.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},30192:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.2.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.2.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"type":"object","additionalProperties":{"$ref":"#/definitions/server"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},83105:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.2.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.2.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.2.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.2.0/info.json"},"servers":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/server.json"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.2.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.2.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.2.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.2.0/info.json":{"$id":"http://asyncapi.com/definitions/2.2.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.2.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.2.0/license.json"}}},"http://asyncapi.com/definitions/2.2.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.2.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/license.json":{"$id":"http://asyncapi.com/definitions/2.2.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/server.json":{"$id":"http://asyncapi.com/definitions/2.2.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.2.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.2.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.2.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.2.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.2.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.2.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"http://asyncapi.com/definitions/2.2.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.2.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/channelItem.json"}},"http://asyncapi.com/definitions/2.2.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.2.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.2.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.2.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.2.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.2.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.2.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.2.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.2.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.2.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.2.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.2.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.2.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.2.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.2.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.2.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.2.0/message.json"}}},"http://asyncapi.com/definitions/2.2.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.2.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.2.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/message.json":{"$id":"http://asyncapi.com/definitions/2.2.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.2.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.2.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.2.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.2.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.2.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.2.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.2.0/components.json":{"$id":"http://asyncapi.com/definitions/2.2.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.2.0/schemas.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.2.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.2.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.2.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.2.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.2.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.2.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.2.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.2.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.2.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.2.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.2.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.2.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.2.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.2.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.2.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.2.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.2.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.2.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.2.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},85323:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.3.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.3.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},11306:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.3.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.3.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.3.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.3.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.3.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.3.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.3.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.3.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.3.0/info.json":{"$id":"http://asyncapi.com/definitions/2.3.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.3.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.3.0/license.json"}}},"http://asyncapi.com/definitions/2.3.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.3.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/license.json":{"$id":"http://asyncapi.com/definitions/2.3.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.3.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/server.json"}]}},"http://asyncapi.com/definitions/2.3.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.3.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.3.0/server.json":{"$id":"http://asyncapi.com/definitions/2.3.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.3.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.3.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.3.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.3.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.3.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.3.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"http://asyncapi.com/definitions/2.3.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.3.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/channelItem.json"}},"http://asyncapi.com/definitions/2.3.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.3.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.3.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.3.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.3.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.3.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.3.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.3.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.3.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.3.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.3.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.3.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.3.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.3.0/message.json"}}},"http://asyncapi.com/definitions/2.3.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.3.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.3.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/message.json":{"$id":"http://asyncapi.com/definitions/2.3.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.3.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.3.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.3.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.3.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.3.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.3.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.3.0/components.json":{"$id":"http://asyncapi.com/definitions/2.3.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.3.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.3.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.3.0/channels.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.3.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.3.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.3.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.3.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.3.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.3.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.3.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.3.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.3.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.3.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.3.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.3.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.3.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.3.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.3.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.3.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.3.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.3.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.3.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},45002:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.4.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.4.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"serverVariables":{"$ref":"#/definitions/serverVariables"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},64939:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.4.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.4.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.4.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.4.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.4.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.4.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.4.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.4.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.4.0/info.json":{"$id":"http://asyncapi.com/definitions/2.4.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.4.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.4.0/license.json"}}},"http://asyncapi.com/definitions/2.4.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.4.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/license.json":{"$id":"http://asyncapi.com/definitions/2.4.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.4.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/server.json"}]}},"http://asyncapi.com/definitions/2.4.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.4.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.4.0/server.json":{"$id":"http://asyncapi.com/definitions/2.4.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.4.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.4.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.4.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.4.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.4.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"http://asyncapi.com/definitions/2.4.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.4.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/channelItem.json"}},"http://asyncapi.com/definitions/2.4.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.4.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.4.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.4.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.4.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.4.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.4.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.4.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.4.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.4.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.4.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.4.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.4.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json"}},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.4.0/message.json"}}},"http://asyncapi.com/definitions/2.4.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.4.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.4.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/message.json":{"$id":"http://asyncapi.com/definitions/2.4.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.4.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.4.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.4.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.4.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.4.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.4.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.4.0/components.json":{"$id":"http://asyncapi.com/definitions/2.4.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.4.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.4.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.4.0/channels.json"},"serverVariables":{"$ref":"http://asyncapi.com/definitions/2.4.0/serverVariables.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.4.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.4.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.4.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.4.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.4.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.4.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.4.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.4.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.4.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.4.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.4.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.4.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.4.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.4.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.4.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.4.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.4.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.4.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.4.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},85765:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.5.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.5.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true}}},"serverVariables":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"serverVariables":{"$ref":"#/definitions/serverVariables"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},55708:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.5.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.5.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.5.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.5.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.5.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.5.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.5.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.5.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.5.0/info.json":{"$id":"http://asyncapi.com/definitions/2.5.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.5.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.5.0/license.json"}}},"http://asyncapi.com/definitions/2.5.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.5.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/license.json":{"$id":"http://asyncapi.com/definitions/2.5.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.5.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/server.json"}]}},"http://asyncapi.com/definitions/2.5.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.5.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.5.0/server.json":{"$id":"http://asyncapi.com/definitions/2.5.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.5.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true}}},"http://asyncapi.com/definitions/2.5.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.5.0/serverVariables.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/serverVariable.json"}]}},"http://asyncapi.com/definitions/2.5.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.5.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.5.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"http://asyncapi.com/definitions/2.5.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.5.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.5.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.5.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/channelItem.json"}},"http://asyncapi.com/definitions/2.5.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.5.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.5.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.5.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.5.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.5.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.5.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.5.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.5.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.5.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.5.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.5.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.5.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json"}},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.5.0/message.json"}}},"http://asyncapi.com/definitions/2.5.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.5.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.5.0/message.json":{"$id":"http://asyncapi.com/definitions/2.5.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.5.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.5.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.5.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.5.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.5.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.5.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.5.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.5.0/components.json":{"$id":"http://asyncapi.com/definitions/2.5.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.5.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.5.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.5.0/channels.json"},"serverVariables":{"$ref":"http://asyncapi.com/definitions/2.5.0/serverVariables.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.5.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.5.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.5.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.5.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.5.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.5.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.5.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.5.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.5.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.5.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.5.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.5.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.5.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.5.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.5.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.5.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.5.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.5.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.5.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},94220:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.6.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.6.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}},"examples":[{"title":"AsyncAPI Sample App","description":"This is a sample server.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}}]},"contact":{"type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"license":{"type":"object","required":["name"],"description":"License information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"servers":{"description":"The Servers Object is a map of Server Objects.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]},"examples":[{"development":{"url":"development.gigantic-server.com","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests"}]},"staging":{"url":"staging.gigantic-server.com","description":"Staging server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment"}]},"production":{"url":"api.gigantic-server.com","description":"Production server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users"}]}}]},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","description":"A simple object to allow referencing other components in the specification, internally and externally.","format":"uri-reference","examples":[{"$ref":"#/components/schemas/Pet"}]},"server":{"type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string","description":"A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served."},"description":{"type":"string","description":"An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation."},"protocol":{"type":"string","description":"The protocol this URL supports for connection. Supported protocol include, but are not limited to: amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub."},"protocolVersion":{"type":"string","description":"The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc."},"variables":{"description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","$ref":"#/definitions/serverVariables"},"security":{"type":"array","description":"A declaration of which security mechanisms can be used with this server. The list of values includes alternative security requirement objects that can be used. ","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the server.","$ref":"#/definitions/bindingsObject"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of servers.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true}},"examples":[{"url":"development.gigantic-server.com","description":"Development server","protocol":"kafka","protocolVersion":"1.0.0"}]},"serverVariables":{"type":"object","description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. "},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","description":"Lists of the required security schemes that can be used to execute an operation","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true},"examples":[{"petstore_auth":["write:pets","read:pets"]}]},"bindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{},"googlepubsub":{},"pulsar":{}}},"tag":{"type":"object","description":"Allows adding meta data to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag."},"externalDocs":{"description":"Additional external documentation for this tag.","$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"user","description":"User-related messages"}]},"externalDocs":{"type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation."},"url":{"type":"string","format":"uri","description":"The URL for the target documentation. This MUST be in the form of an absolute URL."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"channels":{"type":"object","description":"Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers.","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"channelItem":{"type":"object","description":"Describes the operations available on a single channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}},"examples":[{"description":"This channel is used to exchange messages about users signing up","subscribe":{"summary":"A user signed up.","message":{"description":"A longer description of the message","payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/user"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}}},{"subscribe":{"message":{"oneOf":[{"$ref":"#/components/messages/signup"},{"$ref":"#/components/messages/login"}]}}},{"description":"This application publishes WebUICommand messages to an AMQP queue on RabbitMQ brokers in the Staging and Production environments.","servers":["rabbitmqBrokerInProd","rabbitmqBrokerInStaging"],"subscribe":{"message":{"$ref":"#/components/messages/WebUICommand"}},"bindings":{"amqp":{"is":"queue"}}}]},"parameters":{"type":"object","description":"JSON objects describing reusable channel parameters.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"parameter":{"description":"Describes a parameter included in a channel name.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"},"location":"$message.payload#/user/id"}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"schema":{"description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays.","allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. "},"externalDocs":{"description":"Additional external documentation for this schema.","$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false,"description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage"}}}],"examples":[{"type":"string","format":"email"},{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"address":{"$ref":"#/components/schemas/Address"},"age":{"type":"integer","format":"int32","minimum":0}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"operation":{"type":"object","description":"Describes a publish or a subscribe operation. This provides a place to document how and why messages are sent and received.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","description":"A list of traits to apply to the operation object.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation.","items":{"$ref":"#/definitions/SecurityRequirement"}},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"operationTrait":{"type":"object","description":"Describes a trait that MAY be applied to an Operation Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string","description":"Unique string used to identify the operation. The id MUST be unique among all operations described in the API."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation. ","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"message":{"description":"Describes a message received on a given channel and operation.","oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}],"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]},{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","payload":{"$ref":"path/to/user-create.avsc#/UserCreate"}}]},"correlationId":{"type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"messageTrait":{"type":"object","description":"Describes a trait that MAY be applied to a Message Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string","description":"A string containing the name of the schema format/language used to define the message payload."},"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload."},"headers":{"description":"Schema definition of the application headers.","allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string","description":"Unique string used to identify the message. The id MUST be unique among all messages described in the API."},"correlationId":{"description":"Definition of the correlation ID used for message tracing or matching.","oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of messages.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"#/definitions/bindingsObject"}},"examples":[{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","contentType":"application/json"}]},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"Holds a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"serverVariables":{"$ref":"#/definitions/serverVariables"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}},"servers":{"development":{"url":"{stage}.gigantic-server.com:{port}","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `gigantic-server.com`"},"port":{"enum":["8883","8884"],"default":"8883"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}],"examples":[{"type":"userPassword"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["userPassword"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["apiKey"]},"in":{"type":"string","description":"The location of the API key. ","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"],"description":"The type of the security scheme."},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["symmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key. ","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"oauth2Flows":{"type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"A short description for security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"scopes":{"description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it.","$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://example.com/api/oauth/dialog","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}},"authorizationCode":{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}}}]},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},11669:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.6.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.6.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.6.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.6.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.6.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.6.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.6.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.6.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.6.0/info.json":{"$id":"http://asyncapi.com/definitions/2.6.0/info.json","type":"object","description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.6.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.6.0/license.json"}},"examples":[{"title":"AsyncAPI Sample App","description":"This is a sample server.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}}]},"http://asyncapi.com/definitions/2.6.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.6.0/contact.json","type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"http://asyncapi.com/definitions/2.6.0/license.json":{"$id":"http://asyncapi.com/definitions/2.6.0/license.json","type":"object","required":["name"],"description":"License information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"http://asyncapi.com/definitions/2.6.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.6.0/servers.json","description":"The Servers Object is a map of Server Objects.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/server.json"}]},"examples":[{"development":{"url":"development.gigantic-server.com","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests"}]},"staging":{"url":"staging.gigantic-server.com","description":"Staging server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment"}]},"production":{"url":"api.gigantic-server.com","description":"Production server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users"}]}}]},"http://asyncapi.com/definitions/2.6.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.6.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json","type":"string","description":"A simple object to allow referencing other components in the specification, internally and externally.","format":"uri-reference","examples":[{"$ref":"#/components/schemas/Pet"}]},"http://asyncapi.com/definitions/2.6.0/server.json":{"$id":"http://asyncapi.com/definitions/2.6.0/server.json","type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"url":{"type":"string","description":"A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served."},"description":{"type":"string","description":"An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation."},"protocol":{"type":"string","description":"The protocol this URL supports for connection. Supported protocol include, but are not limited to: amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub."},"protocolVersion":{"type":"string","description":"The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc."},"variables":{"description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","$ref":"http://asyncapi.com/definitions/2.6.0/serverVariables.json"},"security":{"type":"array","description":"A declaration of which security mechanisms can be used with this server. The list of values includes alternative security requirement objects that can be used. ","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"}},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the server.","$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of servers.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true}},"examples":[{"url":"development.gigantic-server.com","description":"Development server","protocol":"kafka","protocolVersion":"1.0.0"}]},"http://asyncapi.com/definitions/2.6.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.6.0/serverVariables.json","type":"object","description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/serverVariable.json"}]}},"http://asyncapi.com/definitions/2.6.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.6.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. "},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json","type":"object","description":"Lists of the required security schemes that can be used to execute an operation","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true},"examples":[{"petstore_auth":["write:pets","read:pets"]}]},"http://asyncapi.com/definitions/2.6.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{},"googlepubsub":{},"pulsar":{}}},"http://asyncapi.com/definitions/2.6.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.6.0/tag.json","type":"object","description":"Allows adding meta data to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag."},"externalDocs":{"description":"Additional external documentation for this tag.","$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"name":"user","description":"User-related messages"}]},"http://asyncapi.com/definitions/2.6.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.6.0/externalDocs.json","type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation."},"url":{"type":"string","format":"uri","description":"The URL for the target documentation. This MUST be in the form of an absolute URL."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"http://asyncapi.com/definitions/2.6.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.6.0/channels.json","type":"object","description":"Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers.","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/channelItem.json"},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.6.0/channelItem.json","type":"object","description":"Describes the operations available on a single channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.6.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.6.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.6.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"examples":[{"description":"This channel is used to exchange messages about users signing up","subscribe":{"summary":"A user signed up.","message":{"description":"A longer description of the message","payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/user"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}}},{"subscribe":{"message":{"oneOf":[{"$ref":"#/components/messages/signup"},{"$ref":"#/components/messages/login"}]}}},{"description":"This application publishes WebUICommand messages to an AMQP queue on RabbitMQ brokers in the Staging and Production environments.","servers":["rabbitmqBrokerInProd","rabbitmqBrokerInStaging"],"subscribe":{"message":{"$ref":"#/components/messages/WebUICommand"}},"bindings":{"amqp":{"is":"queue"}}}]},"http://asyncapi.com/definitions/2.6.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.6.0/parameters.json","type":"object","description":"JSON objects describing reusable channel parameters.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/parameter.json"}]},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.6.0/parameter.json","description":"Describes a parameter included in a channel name.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"},"location":"$message.payload#/user/id"}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.6.0/schema.json","description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays.","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. "},"externalDocs":{"description":"Additional external documentation for this schema.","$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false,"description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage"}}}],"examples":[{"type":"string","format":"email"},{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"address":{"$ref":"#/components/schemas/Address"},"age":{"type":"integer","format":"int32","minimum":0}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.6.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.6.0/operation.json","type":"object","description":"Describes a publish or a subscribe operation. This provides a place to document how and why messages are sent and received.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","description":"A list of traits to apply to the operation object.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/operationTrait.json"}]}},"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"}},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.6.0/message.json"}},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.6.0/operationTrait.json","type":"object","description":"Describes a trait that MAY be applied to an Operation Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"operationId":{"type":"string","description":"Unique string used to identify the operation. The id MUST be unique among all operations described in the API."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation. ","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"http://asyncapi.com/definitions/2.6.0/message.json":{"$id":"http://asyncapi.com/definitions/2.6.0/message.json","description":"Describes a message received on a given channel and operation.","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/avroSchema_v1.json"}}}}]}]}],"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]},{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","payload":{"$ref":"path/to/user-create.avsc#/UserCreate"}}]},"http://asyncapi.com/definitions/2.6.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.6.0/correlationId.json","type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"http://asyncapi.com/definitions/2.6.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.6.0/messageTrait.json","type":"object","description":"Describes a trait that MAY be applied to a Message Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string","description":"A string containing the name of the schema format/language used to define the message payload."},"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload."},"headers":{"description":"Schema definition of the application headers.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string","description":"Unique string used to identify the message. The id MUST be unique among all messages described in the API."},"correlationId":{"description":"Definition of the correlation ID used for message tracing or matching.","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/correlationId.json"}]},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of messages.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"examples":[{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","contentType":"application/json"}]},"http://asyncapi.com/definitions/2.6.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.6.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.6.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.6.0/components.json":{"$id":"http://asyncapi.com/definitions/2.6.0/components.json","type":"object","description":"Holds a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.6.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.6.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.6.0/channels.json"},"serverVariables":{"$ref":"http://asyncapi.com/definitions/2.6.0/serverVariables.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.6.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.6.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}},"servers":{"development":{"url":"{stage}.gigantic-server.com:{port}","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `gigantic-server.com`"},"port":{"enum":["8883","8884"],"default":"8883"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]},"http://asyncapi.com/definitions/2.6.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.6.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.6.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.6.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.6.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SecurityScheme.json","description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json"}],"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/2.6.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.6.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["userPassword"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/2.6.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.6.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["apiKey"]},"in":{"type":"string","description":"The location of the API key. ","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"http://asyncapi.com/definitions/2.6.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.6.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"],"description":"The type of the security scheme."},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["symmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key. ","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"http://asyncapi.com/definitions/2.6.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.6.0/oauth2Flows.json","type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"A short description for security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json","type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"scopes":{"description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it.","$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://example.com/api/oauth/dialog","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}},"authorizationCode":{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}}}]},"http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.6.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.6.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},95309:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 3.0.0 schema.","type":"object","required":["asyncapi","info"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","const":"3.0.0","description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string","description":"Default content type to use when encoding/decoding a message\'s payload."},"channels":{"$ref":"#/definitions/channels"},"operations":{"$ref":"#/definitions/operations"},"components":{"$ref":"#/definitions/components"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","allOf":[{"type":"object","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"},"tags":{"type":"array","description":"A list of tags for application API documentation control. Tags can be used for logical grouping of applications.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]}}},{"$ref":"#/definitions/infoExtensions"}],"examples":[{"title":"AsyncAPI Sample App","version":"1.0.1","description":"This is a sample app.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.asyncapi.org/support","email":"support@asyncapi.org"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"},"externalDocs":{"description":"Find more info here","url":"https://www.asyncapi.org"},"tags":[{"name":"e-commerce"}]}]},"contact":{"type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"Reference":{"type":"object","description":"A simple object to allow referencing other components in the specification, internally and externally.","required":["$ref"],"properties":{"$ref":{"description":"The reference string.","$ref":"#/definitions/ReferenceObject"}},"examples":[{"$ref":"#/components/schemas/Pet"}]},"ReferenceObject":{"type":"string","format":"uri-reference"},"tag":{"type":"object","description":"Allows adding metadata to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag. CommonMark syntax can be used for rich text representation."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"user","description":"User-related messages"}]},"externalDocs":{"type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation. CommonMark syntax can be used for rich text representation."},"url":{"type":"string","description":"The URL for the target documentation. This MUST be in the form of an absolute URL.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"infoExtensions":{"type":"object","description":"The object that lists all the extensions of Info","properties":{"x-x":{"$ref":"#/definitions/extensions-x-0.1.0-schema"}}},"extensions-x-0.1.0-schema":{"type":"string","description":"This extension allows you to provide the Twitter username of the account representing the team/company of the API.","example":["sambhavgupta75","AsyncAPISpec"]},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]},"examples":[{"development":{"host":"localhost:5672","description":"Development AMQP broker.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests."}]},"staging":{"host":"rabbitmq-staging.in.mycompany.com:5672","description":"RabbitMQ broker for the staging environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment."}]},"production":{"host":"rabbitmq.in.mycompany.com:5672","description":"RabbitMQ broker for the production environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users."}]}}]},"server":{"type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data.","required":["host","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"host":{"type":"string","description":"The server host name. It MAY include the port. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"pathname":{"type":"string","description":"The path to a resource in the host. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"title":{"type":"string","description":"A human-friendly title for the server."},"summary":{"type":"string","description":"A brief summary of the server."},"description":{"type":"string","description":"A longer description of the server. CommonMark is allowed."},"protocol":{"type":"string","description":"The protocol this server supports for connection."},"protocolVersion":{"type":"string","description":"An optional string describing the server. CommonMark syntax MAY be used for rich text representation."},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"$ref":"#/definitions/securityRequirements"},"tags":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverBindingsObject"}]}},"examples":[{"host":"kafka.in.mycompany.com:9092","description":"Production Kafka broker.","protocol":"kafka","protocolVersion":"3.2"},{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/production","protocol":"amqp","description":"Production RabbitMQ broker (uses the `production` vhost)."}]},"serverVariables":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. CommonMark syntax MAY be used for rich text representation."},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}},"examples":[{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/{env}","protocol":"amqp","description":"RabbitMQ broker. Use the `env` variable to point to either `production` or `staging`.","variables":{"env":{"description":"Environment to connect to. It can be either `production` or `staging`.","enum":["production","staging"]}}}]},"securityRequirements":{"description":"An array representing security requirements.","type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}},"SecurityScheme":{"description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}],"examples":[{"type":"userPassword"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme","enum":["apiKey"]},"in":{"type":"string","description":" The location of the API key.","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"oauth2Flows":{"type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","availableScopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","availableScopes"]}]}},"additionalProperties":false},"scopes":{"type":"array","description":"List of the needed scope names.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"availableScopes":{"$ref":"#/definitions/oauth2Scopes","description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","availableScopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}]},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["openIdConnect"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."},"openIdConnectUrl":{"type":"string","format":"uri","description":"OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of an absolute URL."},"scopes":{"type":"array","description":"List of the needed scope names. An empty array means no scopes are needed.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"serverBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-server"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-server"}}]},"anypointmq":{},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-server"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-server"}}]},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.3.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.2.0-server"}}]},"googlepubsub":{},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-server"}}]}}},"bindings-mqtt-0.2.0-server":{"title":"Server Schema","description":"This object contains information about the server representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"clientId":{"type":"string","description":"The client identifier."},"cleanSession":{"type":"boolean","description":"Whether to create a persistent connection or not. When \'false\', the connection will be persistent. This is called clean start in MQTTv5."},"lastWill":{"type":"object","description":"Last Will and Testament configuration.","properties":{"topic":{"type":"string","description":"The topic where the Last Will and Testament message will be sent."},"qos":{"type":"integer","enum":[0,1,2],"description":"Defines how hard the broker/client will try to ensure that the Last Will and Testament message is received. Its value MUST be either 0, 1 or 2."},"message":{"type":"string","description":"Last Will message."},"retain":{"type":"boolean","description":"Whether the broker should retain the Last Will and Testament message or not."}}},"keepAlive":{"type":"integer","description":"Interval in seconds of the longest period of time the broker and the client can endure without sending a message."},"sessionExpiryInterval":{"oneOf":[{"type":"integer","minimum":0},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Interval time in seconds or a Schema Object containing the definition of the interval. The broker maintains a session for a disconnected client until this interval expires."},"maximumPacketSize":{"oneOf":[{"type":"integer","minimum":1,"maximum":4294967295},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Number of bytes or a Schema Object representing the Maximum Packet Size the Client is willing to accept."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"clientId":"guest","cleanSession":true,"lastWill":{"topic":"/last-wills","qos":2,"message":"Guest gone offline.","retain":false},"keepAlive":60,"sessionExpiryInterval":120,"maximumPacketSize":1024,"bindingVersion":"0.2.0"}]},"schema":{"description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. This object is a superset of the JSON Schema Specification Draft 07. The empty schema (which allows any instance to validate) MAY be represented by the boolean value true and a schema which allows no instance to validate MAY be represented by the boolean value false.","allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. The property name used MUST be defined at this schema and it MUST be in the required property list. When used, the value MUST be the name of this schema or any schema that inherits it. See Composition and Inheritance for more details."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"deprecated":{"type":"boolean","description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is false.","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"bindings-kafka-0.5.0-server":{"title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-server":{"title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-server":{"title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.3.0"}]},"bindings-jms-0.0.1-server":{"title":"Server Schema","description":"This object contains configuration for describing a JMS broker as an AsyncAPI server. This objects only contains configuration that can not be provided in the AsyncAPI standard server object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["jmsConnectionFactory"],"properties":{"jmsConnectionFactory":{"type":"string","description":"The classname of the ConnectionFactory implementation for the JMS Provider."},"properties":{"type":"array","items":{"$ref":"#/definitions/bindings-jms-0.0.1-server/definitions/property"},"description":"Additional properties to set on the JMS ConnectionFactory implementation for the JMS Provider."},"clientID":{"type":"string","description":"A client identifier for applications that use this JMS connection factory. If the Client ID Policy is set to \'Restricted\' (the default), then configuring a Client ID on the ConnectionFactory prevents more than one JMS client from using a connection from this factory."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"definitions":{"property":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string","description":"The name of a property"},"value":{"type":["string","boolean","number","null"],"description":"The name of a property"}}}},"examples":[{"jmsConnectionFactory":"org.apache.activemq.ActiveMQConnectionFactory","properties":[{"name":"disableTimeStampsByDefault","value":false}],"clientID":"my-application-1","bindingVersion":"0.0.1"}]},"bindings-ibmmq-0.1.0-server":{"title":"IBM MQ server bindings object","description":"This object contains server connection information about the IBM MQ server, referred to as an IBM MQ queue manager. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"type":"string","description":"Defines a logical group of IBM MQ server objects. This is necessary to specify multi-endpoint configurations used in high availability deployments. If omitted, the server object is not part of a group."},"ccdtQueueManagerName":{"type":"string","default":"*","description":"The name of the IBM MQ queue manager to bind to in the CCDT file."},"cipherSpec":{"type":"string","description":"The recommended cipher specification used to establish a TLS connection between the client and the IBM MQ queue manager. More information on SSL/TLS cipher specifications supported by IBM MQ can be found on this page in the IBM MQ Knowledge Center."},"multiEndpointServer":{"type":"boolean","default":false,"description":"If \'multiEndpointServer\' is \'true\' then multiple connections can be workload balanced and applications should not make assumptions as to where messages are processed. Where message ordering, or affinity to specific message resources is necessary, a single endpoint (\'multiEndpointServer\' = \'false\') may be required."},"heartBeatInterval":{"type":"integer","minimum":0,"maximum":999999,"default":300,"description":"The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. A value of zero means that no heart beats are sent. A value of 1 means that the client will use the value defined by the queue manager. More information on heart beat interval can be found on this page in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"examples":[{"groupId":"PRODCLSTR1","cipherSpec":"ANY_TLS12_OR_HIGHER","bindingVersion":"0.1.0"},{"groupId":"PRODCLSTR1","bindingVersion":"0.1.0"}]},"bindings-solace-0.4.0-server":{"title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"clientName":{"type":"string","minLength":1,"maxLength":160,"description":"A unique client name to use to register to the appliance. If specified, it must be a valid Topic name, and a maximum of 160 bytes in length when encoded as UTF-8."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.4.0"}]},"bindings-solace-0.3.0-server":{"title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.3.0"}]},"bindings-solace-0.2.0-server":{"title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"msvVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.2.0"}]},"bindings-pulsar-0.1.0-server":{"title":"Server Schema","description":"This object contains server information of Pulsar broker, which covers cluster and tenant admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"tenant":{"type":"string","description":"The pulsar tenant. If omitted, \'public\' MUST be assumed."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"tenant":"contoso","bindingVersion":"0.1.0"}]},"channels":{"type":"object","description":"An object containing all the Channel Object definitions the Application MUST use during runtime.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channel"}]},"examples":[{"userSignedUp":{"address":"user.signedup","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"}}}}]},"channel":{"type":"object","description":"Describes a shared communication channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"address":{"type":["string","null"],"description":"An optional string representation of this channel\'s address. The address is typically the \\"topic name\\", \\"routing key\\", \\"event type\\", or \\"path\\". When `null` or absent, it MUST be interpreted as unknown. This is useful when the address is generated dynamically at runtime or can\'t be known upfront. It MAY contain Channel Address Expressions."},"messages":{"$ref":"#/definitions/channelMessages"},"parameters":{"$ref":"#/definitions/parameters"},"title":{"type":"string","description":"A human-friendly title for the channel."},"summary":{"type":"string","description":"A brief summary of the channel."},"description":{"type":"string","description":"A longer description of the channel. CommonMark is allowed."},"servers":{"type":"array","description":"The references of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"$ref":"#/definitions/Reference"},"uniqueItems":true},"tags":{"type":"array","description":"A list of tags for logical grouping of channels.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channelBindingsObject"}]}},"examples":[{"address":"users.{userId}","title":"Users channel","description":"This channel is used to exchange messages about user events.","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"},"userCompletedOrder":{"$ref":"#/components/messages/userCompletedOrder"}},"parameters":{"userId":{"$ref":"#/components/parameters/userId"}},"servers":[{"$ref":"#/servers/rabbitmqInProd"},{"$ref":"#/servers/rabbitmqInStaging"}],"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}},"tags":[{"name":"user","description":"User-related messages"}],"externalDocs":{"description":"Find more info here","url":"https://example.com"}}]},"channelMessages":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageObject"}]},"description":"A map of the messages that will be sent to this channel by any application at any time. **Every message sent to this channel MUST be valid against one, and only one, of the message objects defined in this map.**"},"messageObject":{"type":"object","description":"Describes a message received on a given channel and operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"#/definitions/anySchema"},"payload":{"$ref":"#/definitions/anySchema"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Example of the application headers. It can be of any type."},"payload":{"description":"Example of the message payload. It can be of any type."}}}},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageBindingsObject"}]},"traits":{"type":"array","description":"A list of traits to apply to the message object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Message Object.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"},{"type":"array","items":[{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]},{"type":"object","additionalItems":true}]}]}}},"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]}]},"anySchema":{"if":{"required":["schema"]},"then":{"$ref":"#/definitions/multiFormatSchema"},"else":{"$ref":"#/definitions/schema"},"description":"An object representing either a schema or a multiFormatSchema based on the existence of the \'schema\' property. If the property \'schema\' is present, use the multi-format schema. Use the default AsyncAPI Schema otherwise."},"multiFormatSchema":{"description":"The Multi Format Schema Object represents a schema definition. It differs from the Schema Object in that it supports multiple schema formats or languages (e.g., JSON Schema, Avro, etc.).","type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"if":{"not":{"type":"object"}},"then":{"$ref":"#/definitions/schema"},"else":{"properties":{"schemaFormat":{"description":"A string containing the name of the schema format that is used to define the information. If schemaFormat is missing, it MUST default to application/vnd.aai.asyncapi+json;version={{asyncapi}} where {{asyncapi}} matches the AsyncAPI Version String. In such a case, this would make the Multi Format Schema Object equivalent to the Schema Object. When using Reference Object within the schema, the schemaFormat of the resource being referenced MUST match the schemaFormat of the schema that contains the initial reference. For example, if you reference Avro schema, then schemaFormat of referencing resource and the resource being reference MUST match.","anyOf":[{"type":"string"},{"description":"All the schema formats tooling MUST support","enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]},{"description":"All the schema formats tools are RECOMMENDED to support","enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0","application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0","application/raml+yaml;version=1.0"]}]}},"allOf":[{"if":{"not":{"description":"If no schemaFormat has been defined, default to schema or reference","required":["schemaFormat"]}},"then":{"properties":{"schema":{"$ref":"#/definitions/schema"}}}},{"if":{"description":"If schemaFormat has been defined check if it\'s one of the AsyncAPI Schema Object formats","required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"schema":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/openapiSchema_3_0"}]}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/avroSchema_v1"}]}}}}]}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"correlationId":{"type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"messageBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.2.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-message"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-message"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-message"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-message"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-message"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-message"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-message"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-message"}}]}}},"bindings-http-0.3.0-message":{"title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"$ref":"#/definitions/schema","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"statusCode":{"type":"number","description":"The HTTP response status code according to [RFC 9110](https://httpwg.org/specs/rfc9110.html#overview.of.status.codes). `statusCode` is only relevant for messages referenced by the [Operation Reply Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#operationReplyObject), as it defines the status code for the response. In all other cases, this value can be safely ignored."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.3.0"}]},"bindings-http-0.2.0-message":{"title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"$ref":"#/definitions/schema","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.2.0"}]},"bindings-amqp-0.3.0-message":{"title":"AMQP message bindings object","description":"This object contains information about the message representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"contentEncoding":{"type":"string","description":"A MIME encoding for the message content."},"messageType":{"type":"string","description":"Application-specific message type."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"contentEncoding":"gzip","messageType":"user.signup","bindingVersion":"0.3.0"}]},"bindings-mqtt-0.2.0-message":{"title":"MQTT message bindings object","description":"This object contains information about the message representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"payloadFormatIndicator":{"type":"integer","enum":[0,1],"description":"1 indicates that the payload is UTF-8 encoded character data. 0 indicates that the payload format is unspecified.","default":0},"correlationData":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Correlation Data is used by the sender of the request message to identify which request the response message is for when it is received."},"contentType":{"type":"string","description":"String describing the content type of the message payload. This should not conflict with the contentType field of the associated AsyncAPI Message object."},"responseTopic":{"oneOf":[{"type":"string","format":"uri-template","minLength":1},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"The topic (channel URI) to be used for a response message."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0"},{"contentType":"application/json","correlationData":{"type":"string","format":"uuid"},"responseTopic":"application/responses","bindingVersion":"0.2.0"}]},"bindings-kafka-0.5.0-message":{"title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"key":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/schema"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.5.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-message":{"title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"key":{"anyOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/avroSchema_v1"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.4.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-message":{"title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"key":{"$ref":"#/definitions/schema","description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.3.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.3.0"}]},"bindings-anypointmq-0.0.1-message":{"title":"Anypoint MQ message bindings object","description":"This object contains configuration for describing an Anypoint MQ message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"A Schema object containing the definitions for Anypoint MQ-specific headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of Anypoint MQ protocol headers are \'messageId\' and \'messageGroupId\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"messageId":{"type":"string"}}},"bindingVersion":"0.0.1"}]},"bindings-jms-0.0.1-message":{"title":"Message Schema","description":"This object contains configuration for describing a JMS message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"$ref":"#/definitions/schema","description":"A Schema object containing the definitions for JMS headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of JMS protocol headers are \'JMSMessageID\', \'JMSTimestamp\', and \'JMSCorrelationID\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","required":["JMSMessageID"],"properties":{"JMSMessageID":{"type":["string","null"],"description":"A unique message identifier. This may be set by your JMS Provider on your behalf."},"JMSTimestamp":{"type":"integer","description":"The time the message was sent. This may be set by your JMS Provider on your behalf. The time the message was sent. The value of the timestamp is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC."},"JMSDeliveryMode":{"type":"string","enum":["PERSISTENT","NON_PERSISTENT"],"default":"PERSISTENT","description":"Denotes the delivery mode for the message. This may be set by your JMS Provider on your behalf."},"JMSPriority":{"type":"integer","default":4,"description":"The priority of the message. This may be set by your JMS Provider on your behalf."},"JMSExpires":{"type":"integer","description":"The time at which the message expires. This may be set by your JMS Provider on your behalf. A value of zero means that the message does not expire. Any non-zero value is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC, at which the message will expire."},"JMSType":{"type":["string","null"],"description":"The type of message. Some JMS providers use a message repository that contains the definitions of messages sent by applications. The \'JMSType\' header field may reference a message\'s definition in the provider\'s repository. The JMS API does not define a standard message definition repository, nor does it define a naming policy for the definitions it contains. Some messaging systems require that a message type definition for each application message be created and that each message specify its type. In order to work with such JMS providers, JMS clients should assign a value to \'JMSType\', whether the application makes use of it or not. This ensures that the field is properly set for those providers that require it."},"JMSCorrelationID":{"type":["string","null"],"description":"The correlation identifier of the message. A client can use the \'JMSCorrelationID\' header field to link one message with another. A typical use is to link a response message with its request message. Since each message sent by a JMS provider is assigned a message ID value, it is convenient to link messages via message ID, such message ID values must start with the \'ID:\' prefix. Conversely, application-specified values must not start with the \'ID:\' prefix; this is reserved for provider-generated message ID values."},"JMSReplyTo":{"type":"string","description":"The queue or topic that the message sender expects replies to."}}},"bindingVersion":"0.0.1"}]},"bindings-ibmmq-0.1.0-message":{"title":"IBM MQ message bindings object","description":"This object contains information about the message representation in IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"type":{"type":"string","enum":["string","jms","binary"],"default":"string","description":"The type of the message."},"headers":{"type":"string","description":"Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma separated list. Supporting information on IBM MQ message formats can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-format-mqchar8) in the IBM MQ Knowledge Center."},"description":{"type":"string","description":"Provides additional information for application developers: describes the message type or format."},"expiry":{"type":"integer","minimum":0,"default":0,"description":"The recommended setting the client should use for the TTL (Time-To-Live) of the message. This is a period of time expressed in milliseconds and set by the application that puts the message. \'expiry\' values are API dependant e.g., MQI and JMS use different units of time and default values for \'unlimited\'. General information on IBM MQ message expiry can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-expiry-mqlong) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"type":{"const":"binary"}}},{"properties":{"type":{"const":"jms"}},"not":{"required":["headers"]}},{"properties":{"type":{"const":"string"}},"not":{"required":["headers"]}}],"examples":[{"type":"string","bindingVersion":"0.1.0"},{"type":"jms","description":"JMS stream message","bindingVersion":"0.1.0"}]},"bindings-googlepubsub-0.2.0-message":{"title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the message representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"attributes":{"type":"object"},"orderingKey":{"type":"string"},"schema":{"type":"object","additionalItems":false,"properties":{"name":{"type":"string"}},"required":["name"]}},"examples":[{"schema":{"name":"projects/your-project-id/schemas/your-avro-schema-id"}},{"schema":{"name":"projects/your-project-id/schemas/your-protobuf-schema-id"}}]},"messageTrait":{"type":"object","description":"Describes a trait that MAY be applied to a Message Object. This object MAY contain any property from the Message Object, except payload and traits.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"#/definitions/anySchema"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object"}},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageBindingsObject"}]}},"examples":[{"contentType":"application/json"}]},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters.","examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user."}}}]},"parameter":{"description":"Describes a parameter included in a channel address.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"enum":{"description":"An enumeration of string values to be used if the substitution options are from a limited set.","type":"array","items":{"type":"string"}},"default":{"description":"The default value to use for substitution, and to send, if an alternate value is not supplied.","type":"string"},"examples":{"description":"An array of examples of the parameter value.","type":"array","items":{"type":"string"}},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user.","location":"$message.payload#/user/id"}}}]},"channelBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{},"ws":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-websockets-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-websockets-0.1.0-channel"}}]},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-channel"}}]},"amqp1":{},"mqtt":{},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-channel"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-channel"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-channel"}}]},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-channel"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel"}}]},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-channel"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-channel"}}]},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-channel"}}]}}},"bindings-websockets-0.1.0-channel":{"title":"WebSockets channel bindings object","description":"When using WebSockets, the channel represents the connection. Unlike other protocols that support multiple virtual channels (topics, routing keys, etc.) per connection, WebSockets doesn\'t support virtual channels or, put it another way, there\'s only one channel and its characteristics are strongly related to the protocol used for the handshake, i.e., HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"method":{"type":"string","enum":["GET","POST"],"description":"The HTTP method to use when establishing the connection. Its value MUST be either \'GET\' or \'POST\'."},"query":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a \'properties\' key."},"headers":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"A Schema object containing the definitions of the HTTP headers to use when establishing the connection. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"method":"POST","bindingVersion":"0.1.0"}]},"bindings-amqp-0.3.0-channel":{"title":"AMQP channel bindings object","description":"This object contains information about the channel representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"is":{"type":"string","enum":["queue","routingKey"],"description":"Defines what type of channel is it. Can be either \'queue\' or \'routingKey\' (default)."},"exchange":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the exchange. It MUST NOT exceed 255 characters long."},"type":{"type":"string","enum":["topic","direct","fanout","default","headers"],"description":"The type of the exchange. Can be either \'topic\', \'direct\', \'fanout\', \'default\' or \'headers\'."},"durable":{"type":"boolean","description":"Whether the exchange should survive broker restarts or not."},"autoDelete":{"type":"boolean","description":"Whether the exchange should be deleted when the last queue is unbound from it."},"vhost":{"type":"string","default":"/","description":"The virtual host of the exchange. Defaults to \'/\'."}},"description":"When is=routingKey, this object defines the exchange properties."},"queue":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the queue. It MUST NOT exceed 255 characters long."},"durable":{"type":"boolean","description":"Whether the queue should survive broker restarts or not."},"exclusive":{"type":"boolean","description":"Whether the queue should be used only by one connection or not."},"autoDelete":{"type":"boolean","description":"Whether the queue should be deleted when the last consumer unsubscribes."},"vhost":{"type":"string","default":"/","description":"The virtual host of the queue. Defaults to \'/\'."}},"description":"When is=queue, this object defines the queue properties."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"oneOf":[{"properties":{"is":{"const":"routingKey"}},"required":["exchange"],"not":{"required":["queue"]}},{"properties":{"is":{"const":"queue"}},"required":["queue"],"not":{"required":["exchange"]}}],"examples":[{"is":"routingKey","exchange":{"name":"myExchange","type":"topic","durable":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"},{"is":"queue","queue":{"name":"my-queue-name","durable":true,"exclusive":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"}]},"bindings-kafka-0.5.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":true,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0},"confluent.key.schema.validation":{"description":"It shows whether the schema validation for the message key is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-schema-validation)","type":"boolean"},"confluent.key.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message key. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-subject-name-strategy)","type":"string"},"confluent.value.schema.validation":{"description":"It shows whether the schema validation for the message value is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-schema-validation)","type":"boolean"},"confluent.value.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message value. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-subject-name-strategy)","type":"string"}}},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":false,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0}}},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.3.0"}]},"bindings-anypointmq-0.0.1-channel":{"title":"Anypoint MQ channel bindings object","description":"This object contains configuration for describing an Anypoint MQ exchange, queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"destination":{"type":"string","description":"The destination (queue or exchange) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ. Defaults to the channel name."},"destinationType":{"type":"string","enum":["exchange","queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signup-exchg","destinationType":"exchange","bindingVersion":"0.0.1"}]},"bindings-jms-0.0.1-channel":{"title":"Channel Schema","description":"This object contains configuration for describing a JMS queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"destination":{"type":"string","description":"The destination (queue) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name according to the JMS Provider. Defaults to the channel name."},"destinationType":{"type":"string","enum":["queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (point-to-point, or strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signed-up","destinationType":"fifo-queue","bindingVersion":"0.0.1"}]},"bindings-sns-0.1.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"name":{"type":"string","description":"The name of the topic. Can be different from the channel name to allow flexibility around AWS resource naming limitations."},"ordering":{"$ref":"#/definitions/bindings-sns-0.1.0-channel/definitions/ordering"},"policy":{"$ref":"#/definitions/bindings-sns-0.1.0-channel/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the topic."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["name"],"definitions":{"ordering":{"type":"object","description":"By default, we assume an unordered SNS topic. This field allows configuration of a FIFO SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"type":{"type":"string","description":"Defines the type of SNS Topic.","enum":["standard","FIFO"]},"contentBasedDeduplication":{"type":"boolean","description":"True to turn on de-duplication of messages for a channel."}},"required":["type"]},"policy":{"type":"object","description":"The security policy for the SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this topic","items":{"$ref":"#/definitions/bindings-sns-0.1.0-channel/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SNS permission being allowed or denied e.g. sns:Publish","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"name":"my-sns-topic","policy":{"statements":[{"effect":"Allow","principal":"*","action":"SNS:Publish"}]}}]},"bindings-sqs-0.2.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"queue":{"description":"A definition of the queue that will be used as the channel.","$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/queue"},"deadLetterQueue":{"description":"A definition of the queue that will be used for un-processable messages.","$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/queue"},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queue"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/redrivePolicy"},"policy":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name","fifoQueue"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"deadLetterQueue":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queue":{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":15,"visibilityTimeout":60,"receiveMessageWaitTime":0,"messageRetentionPeriod":86400,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]},"tags":{"owner":"AsyncAPI.NET","platform":"AsyncAPIOrg"}},"deadLetterQueue":{"name":"myQueue_error","deliveryDelay":0,"visibilityTimeout":0,"receiveMessageWaitTime":0,"messageRetentionPeriod":604800}}]},"bindings-ibmmq-0.1.0-channel":{"title":"IBM MQ channel bindings object","description":"This object contains information about the channel representation in IBM MQ. Each channel corresponds to a Queue or Topic within IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"destinationType":{"type":"string","enum":["topic","queue"],"default":"topic","description":"Defines the type of AsyncAPI channel."},"queue":{"type":"object","description":"Defines the properties of a queue.","properties":{"objectName":{"type":"string","maxLength":48,"description":"Defines the name of the IBM MQ queue associated with the channel."},"isPartitioned":{"type":"boolean","default":false,"description":"Defines if the queue is a cluster queue and therefore partitioned. If \'true\', a binding option MAY be specified when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center."},"exclusive":{"type":"boolean","default":false,"description":"Specifies if it is recommended to open the queue exclusively."}},"required":["objectName"]},"topic":{"type":"object","description":"Defines the properties of a topic.","properties":{"string":{"type":"string","maxLength":10240,"description":"The value of the IBM MQ topic string to be used."},"objectName":{"type":"string","maxLength":48,"description":"The name of the IBM MQ topic object."},"durablePermitted":{"type":"boolean","default":true,"description":"Defines if the subscription may be durable."},"lastMsgRetained":{"type":"boolean","default":false,"description":"Defines if the last message published will be made available to new subscriptions."}}},"maxMsgLength":{"type":"integer","minimum":0,"maximum":104857600,"description":"The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are greater in size than this value may fail to be delivered. More information on the maximum message length can be found on this [page](https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q097520_.html) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"destinationType":{"const":"topic"}},"not":{"required":["queue"]}},{"properties":{"destinationType":{"const":"queue"}},"required":["queue"],"not":{"required":["topic"]}}],"examples":[{"destinationType":"topic","topic":{"objectName":"myTopicName"},"bindingVersion":"0.1.0"},{"destinationType":"queue","queue":{"objectName":"myQueueName","exclusive":true},"bindingVersion":"0.1.0"}]},"bindings-googlepubsub-0.2.0-channel":{"title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the channel representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"labels":{"type":"object"},"messageRetentionDuration":{"type":"string"},"messageStoragePolicy":{"type":"object","additionalProperties":false,"properties":{"allowedPersistenceRegions":{"type":"array","items":{"type":"string"}}}},"schemaSettings":{"type":"object","additionalItems":false,"properties":{"encoding":{"type":"string"},"firstRevisionId":{"type":"string"},"lastRevisionId":{"type":"string"},"name":{"type":"string"}},"required":["encoding","name"]}},"required":["schemaSettings"],"examples":[{"labels":{"label1":"value1","label2":"value2"},"messageRetentionDuration":"86400s","messageStoragePolicy":{"allowedPersistenceRegions":["us-central1","us-east1"]},"schemaSettings":{"encoding":"json","name":"projects/your-project-id/schemas/your-schema"}}]},"bindings-pulsar-0.1.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Pulsar, which covers namespace and topic level admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["namespace","persistence"],"properties":{"namespace":{"type":"string","description":"The namespace, the channel is associated with."},"persistence":{"type":"string","enum":["persistent","non-persistent"],"description":"persistence of the topic in Pulsar."},"compaction":{"type":"integer","minimum":0,"description":"Topic compaction threshold given in MB"},"geo-replication":{"type":"array","description":"A list of clusters the topic is replicated to.","items":{"type":"string"}},"retention":{"type":"object","additionalProperties":false,"properties":{"time":{"type":"integer","minimum":0,"description":"Time given in Minutes. `0` = Disable message retention."},"size":{"type":"integer","minimum":0,"description":"Size given in MegaBytes. `0` = Disable message retention."}}},"ttl":{"type":"integer","description":"TTL in seconds for the specified topic"},"deduplication":{"type":"boolean","description":"Whether deduplication of events is enabled or not."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"namespace":"ns1","persistence":"persistent","compaction":1000,"retention":{"time":15,"size":1000},"ttl":360,"geo-replication":["us-west","us-east"],"deduplication":true,"bindingVersion":"0.1.0"}]},"operations":{"type":"object","description":"Holds a dictionary with all the operations this application MUST implement.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operation"}]},"examples":[{"onUserSignUp":{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}]}}]},"operation":{"type":"object","description":"Describes a specific operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["action","channel"],"properties":{"action":{"type":"string","description":"Allowed values are send and receive. Use send when it\'s expected that the application will send a message to the given channel, and receive when the application should expect receiving messages from the given channel.","enum":["send","receive"]},"channel":{"$ref":"#/definitions/Reference"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. It MUST contain a subset of the messages defined in the channel referenced in this operation. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"#/definitions/Reference"}},"reply":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReply"}]},"traits":{"type":"array","description":"A list of traits to apply to the operation object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Operation Object.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"title":{"type":"string","description":"A human-friendly title for the operation."},"summary":{"type":"string","description":"A brief summary of the operation."},"description":{"type":"string","description":"A longer description of the operation. CommonMark is allowed."},"security":{"$ref":"#/definitions/securityRequirements"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationBindingsObject"}]}},"examples":[{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","security":[{"petstore_auth":["write:pets","read:pets"]}],"tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}],"messages":[{"$ref":"/components/messages/userSignedUp"}],"reply":{"address":{"location":"$message.header#/replyTo"},"channel":{"$ref":"#/channels/userSignupReply"},"messages":[{"$ref":"/components/messages/userSignedUpReply"}]}}]},"operationReply":{"type":"object","description":"Describes the reply part that MAY be applied to an Operation Object. If an operation implements the request/reply pattern, the reply object represents the response message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"address":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReplyAddress"}]},"channel":{"$ref":"#/definitions/Reference"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation as reply. It MUST contain a subset of the messages defined in the channel referenced in this operation reply. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"#/definitions/Reference"}}}},"operationReplyAddress":{"type":"object","description":"An object that specifies where an operation has to send the reply","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["location"],"properties":{"location":{"type":"string","description":"A runtime expression that specifies the location of the reply address.","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"description":{"type":"string","description":"An optional description of the address. CommonMark is allowed."}},"examples":[{"description":"Consumer inbox","location":"$message.header#/replyTo"}]},"operationTrait":{"type":"object","description":"Describes a trait that MAY be applied to an Operation Object. This object MAY contain any property from the Operation Object, except the action, channel and traits ones.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"description":"A human-friendly title for the operation.","$ref":"#/definitions/operation/properties/title"},"summary":{"description":"A short summary of what the operation is about.","$ref":"#/definitions/operation/properties/summary"},"description":{"description":"A verbose explanation of the operation. CommonMark syntax can be used for rich text representation.","$ref":"#/definitions/operation/properties/description"},"security":{"description":"A declaration of which security schemes are associated with this operation. Only one of the security scheme objects MUST be satisfied to authorize an operation. In cases where Server Security also applies, it MUST also be satisfied.","$ref":"#/definitions/operation/properties/security"},"tags":{"description":"A list of tags for logical grouping and categorization of operations.","$ref":"#/definitions/operation/properties/tags"},"externalDocs":{"description":"Additional external documentation for this operation.","$ref":"#/definitions/operation/properties/externalDocs"},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation.","oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationBindingsObject"}]}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"operationBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for an operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.2.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-operation"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-operation"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-operation"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-operation"}}]},"anypointmq":{},"nats":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-nats-0.1.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-nats-0.1.0-operation"}}]},"jms":{},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-operation"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation"}}]},"stomp":{},"redis":{},"ibmmq":{},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.3.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.2.0-operation"}}]},"googlepubsub":{}}},"bindings-http-0.3.0-operation":{"title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"#/definitions/schema","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"}]},"bindings-http-0.2.0-operation":{"title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"#/definitions/schema","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"}]},"bindings-amqp-0.3.0-operation":{"title":"AMQP operation bindings object","description":"This object contains information about the operation representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"expiration":{"type":"integer","minimum":0,"description":"TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero."},"userId":{"type":"string","description":"Identifies the user who has sent the message."},"cc":{"type":"array","items":{"type":"string"},"description":"The routing keys the message should be routed to at the time of publishing."},"priority":{"type":"integer","description":"A priority for the message."},"deliveryMode":{"type":"integer","enum":[1,2],"description":"Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent)."},"mandatory":{"type":"boolean","description":"Whether the message is mandatory or not."},"bcc":{"type":"array","items":{"type":"string"},"description":"Like cc but consumers will not receive this information."},"timestamp":{"type":"boolean","description":"Whether the message should include a timestamp or not."},"ack":{"type":"boolean","description":"Whether the consumer should ack the message or not."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"expiration":100000,"userId":"guest","cc":["user.logs"],"priority":10,"deliveryMode":2,"mandatory":false,"bcc":["external.audit"],"timestamp":true,"ack":false,"bindingVersion":"0.3.0"}]},"bindings-mqtt-0.2.0-operation":{"title":"MQTT operation bindings object","description":"This object contains information about the operation representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"qos":{"type":"integer","enum":[0,1,2],"description":"Defines the Quality of Service (QoS) levels for the message flow between client and server. Its value MUST be either 0 (At most once delivery), 1 (At least once delivery), or 2 (Exactly once delivery)."},"retain":{"type":"boolean","description":"Whether the broker should retain the message or not."},"messageExpiryInterval":{"oneOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Lifetime of the message in seconds"},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"qos":2,"retain":true,"messageExpiryInterval":60,"bindingVersion":"0.2.0"}]},"bindings-kafka-0.5.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"$ref":"#/definitions/schema","description":"Id of the consumer group."},"clientId":{"$ref":"#/definitions/schema","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"$ref":"#/definitions/schema","description":"Id of the consumer group."},"clientId":{"$ref":"#/definitions/schema","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"$ref":"#/definitions/schema","description":"Id of the consumer group."},"clientId":{"$ref":"#/definitions/schema","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.3.0"}]},"bindings-nats-0.1.0-operation":{"title":"NATS operation bindings object","description":"This object contains information about the operation representation in NATS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"queue":{"type":"string","description":"Defines the name of the queue to use. It MUST NOT exceed 255 characters.","maxLength":255},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"queue":"MyCustomQueue","bindingVersion":"0.1.0"}]},"bindings-sns-0.1.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/identifier","description":"Often we can assume that the SNS Topic is the channel name-we provide this field in case the you need to supply the ARN, or the Topic name is not the channel name in the AsyncAPI document."},"consumers":{"type":"array","description":"The protocols that listen to this topic and their endpoints.","items":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/consumer"},"minItems":1},"deliveryPolicy":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The field is the default for HTTP receivers of the SNS Topic which may be overridden by a specific consumer."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["consumers"],"definitions":{"identifier":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string","description":"The endpoint is a URL."},"email":{"type":"string","description":"The endpoint is an email address."},"phone":{"type":"string","description":"The endpoint is a phone number."},"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding. We don\'t use $ref because we are referring, not including."}}},"consumer":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"protocol":{"description":"The protocol that this endpoint receives messages by.","type":"string","enum":["http","https","email","email-json","sms","sqs","application","lambda","firehose"]},"endpoint":{"description":"The endpoint messages are delivered to.","$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/identifier"},"filterPolicy":{"type":"object","description":"Only receive a subset of messages from the channel, determined by this policy. Depending on the FilterPolicyScope, a map of either a message attribute or message body to an array of possible matches. The match may be a simple string for an exact match, but it may also be an object that represents a constraint and values for that constraint.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"object"}]}},"filterPolicyScope":{"type":"string","description":"Determines whether the FilterPolicy applies to MessageAttributes or MessageBody.","enum":["MessageAttributes","MessageBody"],"default":"MessageAttributes"},"rawMessageDelivery":{"type":"boolean","description":"If true AWS SNS attributes are removed from the body, and for SQS, SNS message attributes are copied to SQS message attributes. If false the SNS attributes are included in the body."},"redrivePolicy":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/redrivePolicy"},"deliveryPolicy":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The parameter is for that SNS Subscription and overrides any policy on the SNS Topic."},"displayName":{"type":"string","description":"The display name to use with an SNS subscription"}},"required":["protocol","endpoint","rawMessageDelivery"]},"deliveryPolicy":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"minDelayTarget":{"type":"integer","description":"The minimum delay for a retry in seconds."},"maxDelayTarget":{"type":"integer","description":"The maximum delay for a retry in seconds."},"numRetries":{"type":"integer","description":"The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries."},"numNoDelayRetries":{"type":"integer","description":"The number of immediate retries (with no delay)."},"numMinDelayRetries":{"type":"integer","description":"The number of immediate retries (with delay)."},"numMaxDelayRetries":{"type":"integer","description":"The number of post-backoff phase retries, with the maximum delay between retries."},"backoffFunction":{"type":"string","description":"The algorithm for backoff between retries.","enum":["arithmetic","exponential","geometric","linear"]},"maxReceivesPerSecond":{"type":"integer","description":"The maximum number of deliveries per second, per subscription."}}},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"deadLetterQueue":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/identifier","description":"The SQS queue to use as a dead letter queue (DLQ)."},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]}},"examples":[{"topic":{"name":"someTopic"},"consumers":[{"protocol":"sqs","endpoint":{"name":"someQueue"},"filterPolicy":{"store":["asyncapi_corp"],"event":[{"anything-but":"order_cancelled"}],"customer_interests":["rugby","football","baseball"]},"filterPolicyScope":"MessageAttributes","rawMessageDelivery":false,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":25},"deliveryPolicy":{"minDelayTarget":10,"maxDelayTarget":100,"numRetries":5,"numNoDelayRetries":2,"numMinDelayRetries":3,"numMaxDelayRetries":5,"backoffFunction":"linear","maxReceivesPerSecond":2}}]}]},"bindings-sqs-0.2.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"queues":{"type":"array","description":"Queue objects that are either the endpoint for an SNS Operation Binding Object, or the deadLetterQueue of the SQS Operation Binding Object.","items":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/queue"}},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queues"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"type":"string","description":"Allows for an external definition of a queue. The referenced structure MUST be in the format of a Queue. If there are conflicts between the referenced definition and this Queue\'s definition, the behavior is undefined."},"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. Used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/redrivePolicy"},"policy":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"deadLetterQueue":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queues":[{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":10,"redrivePolicy":{"deadLetterQueue":{"name":"myQueue_error"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]}},{"name":"myQueue_error","deliveryDelay":10}]}]},"bindings-solace-0.4.0-operation":{"title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."},"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"timeToLive":{"type":"integer","description":"Interval in milliseconds or a Schema Object containing the definition of the lifetime of the message."},"priority":{"type":"integer","minimum":0,"maximum":255,"description":"The valid priority value range is 0-255 with 0 as the lowest priority and 255 as the highest or a Schema Object containing the definition of the priority."},"dmqEligible":{"type":"boolean","description":"Set the message to be eligible to be moved to a Dead Message Queue. The default value is false."}},"examples":[{"bindingVersion":"0.4.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"bindings-solace-0.3.0-operation":{"title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.3.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"bindings-solace-0.2.0-operation":{"title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"type":"object","description":"An object to hold reusable Schema Object. If this is a Schema Object, then the schemaFormat will be assumed to be \'application/vnd.aai.asyncapi+json;version=asyncapi\' where the version is equal to the AsyncAPI Version String.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"$ref":"#/definitions/anySchema"}}},"servers":{"type":"object","description":"An object to hold reusable Server Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}}},"channels":{"type":"object","description":"An object to hold reusable Channel Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channel"}]}}},"serverVariables":{"type":"object","description":"An object to hold reusable Server Variable Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}}},"operations":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operation"}]}}},"messages":{"type":"object","description":"An object to hold reusable Message Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageObject"}]}}},"securitySchemes":{"type":"object","description":"An object to hold reusable Security Scheme Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"type":"object","description":"An object to hold reusable Parameter Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]}}},"correlationIds":{"type":"object","description":"An object to hold reusable Correlation ID Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","description":"An object to hold reusable Operation Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}}},"messageTraits":{"type":"object","description":"An object to hold reusable Message Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"replies":{"type":"object","description":"An object to hold reusable Operation Reply Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReply"}]}}},"replyAddresses":{"type":"object","description":"An object to hold reusable Operation Reply Address Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReplyAddress"}]}}},"serverBindings":{"type":"object","description":"An object to hold reusable Server Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverBindingsObject"}]}}},"channelBindings":{"type":"object","description":"An object to hold reusable Channel Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channelBindingsObject"}]}}},"operationBindings":{"type":"object","description":"An object to hold reusable Operation Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationBindingsObject"}]}}},"messageBindings":{"type":"object","description":"An object to hold reusable Message Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageBindingsObject"}]}}},"tags":{"type":"object","description":"An object to hold reusable Tag Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]}}},"externalDocs":{"type":"object","description":"An object to hold reusable External Documentation Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]}}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"AvroExample":{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","schema":{"$ref":"path/to/user-create.avsc#/UserCreate"}}},"servers":{"development":{"host":"{stage}.in.mycompany.com:{port}","description":"RabbitMQ broker","protocol":"amqp","protocolVersion":"0-9-1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `mycompany.com`"},"port":{"enum":["5671","5672"],"default":"5672"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user."}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},64292:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/3.0.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 3.0.0 schema.","type":"object","required":["asyncapi","info"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","const":"3.0.0","description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/3.0.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/3.0.0/servers.json"},"defaultContentType":{"type":"string","description":"Default content type to use when encoding/decoding a message\'s payload."},"channels":{"$ref":"http://asyncapi.com/definitions/3.0.0/channels.json"},"operations":{"$ref":"http://asyncapi.com/definitions/3.0.0/operations.json"},"components":{"$ref":"http://asyncapi.com/definitions/3.0.0/components.json"}},"definitions":{"http://asyncapi.com/definitions/3.0.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/3.0.0/info.json":{"$id":"http://asyncapi.com/definitions/3.0.0/info.json","description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","allOf":[{"type":"object","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/3.0.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/3.0.0/license.json"},"tags":{"type":"array","description":"A list of tags for application API documentation control. Tags can be used for logical grouping of applications.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]}}},{"$ref":"http://asyncapi.com/definitions/3.0.0/infoExtensions.json"}],"examples":[{"title":"AsyncAPI Sample App","version":"1.0.1","description":"This is a sample app.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.asyncapi.org/support","email":"support@asyncapi.org"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"},"externalDocs":{"description":"Find more info here","url":"https://www.asyncapi.org"},"tags":[{"name":"e-commerce"}]}]},"http://asyncapi.com/definitions/3.0.0/contact.json":{"$id":"http://asyncapi.com/definitions/3.0.0/contact.json","type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"http://asyncapi.com/definitions/3.0.0/license.json":{"$id":"http://asyncapi.com/definitions/3.0.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"http://asyncapi.com/definitions/3.0.0/Reference.json":{"$id":"http://asyncapi.com/definitions/3.0.0/Reference.json","type":"object","description":"A simple object to allow referencing other components in the specification, internally and externally.","required":["$ref"],"properties":{"$ref":{"description":"The reference string.","$ref":"http://asyncapi.com/definitions/3.0.0/ReferenceObject.json"}},"examples":[{"$ref":"#/components/schemas/Pet"}]},"http://asyncapi.com/definitions/3.0.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/3.0.0/tag.json":{"$id":"http://asyncapi.com/definitions/3.0.0/tag.json","type":"object","description":"Allows adding metadata to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag. CommonMark syntax can be used for rich text representation."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"name":"user","description":"User-related messages"}]},"http://asyncapi.com/definitions/3.0.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/3.0.0/externalDocs.json","type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation. CommonMark syntax can be used for rich text representation."},"url":{"type":"string","description":"The URL for the target documentation. This MUST be in the form of an absolute URL.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"http://asyncapi.com/definitions/3.0.0/infoExtensions.json":{"$id":"http://asyncapi.com/definitions/3.0.0/infoExtensions.json","type":"object","description":"The object that lists all the extensions of Info","properties":{"x-x":{"$ref":"http://asyncapi.com/extensions/x/0.1.0/schema.json"}}},"http://asyncapi.com/extensions/x/0.1.0/schema.json":{"$id":"http://asyncapi.com/extensions/x/0.1.0/schema.json","type":"string","description":"This extension allows you to provide the Twitter username of the account representing the team/company of the API.","example":["sambhavgupta75","AsyncAPISpec"]},"http://asyncapi.com/definitions/3.0.0/servers.json":{"$id":"http://asyncapi.com/definitions/3.0.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/server.json"}]},"examples":[{"development":{"host":"localhost:5672","description":"Development AMQP broker.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests."}]},"staging":{"host":"rabbitmq-staging.in.mycompany.com:5672","description":"RabbitMQ broker for the staging environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment."}]},"production":{"host":"rabbitmq.in.mycompany.com:5672","description":"RabbitMQ broker for the production environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users."}]}}]},"http://asyncapi.com/definitions/3.0.0/server.json":{"$id":"http://asyncapi.com/definitions/3.0.0/server.json","type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data.","required":["host","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"host":{"type":"string","description":"The server host name. It MAY include the port. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"pathname":{"type":"string","description":"The path to a resource in the host. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"title":{"type":"string","description":"A human-friendly title for the server."},"summary":{"type":"string","description":"A brief summary of the server."},"description":{"type":"string","description":"A longer description of the server. CommonMark is allowed."},"protocol":{"type":"string","description":"The protocol this server supports for connection."},"protocolVersion":{"type":"string","description":"An optional string describing the server. CommonMark syntax MAY be used for rich text representation."},"variables":{"$ref":"http://asyncapi.com/definitions/3.0.0/serverVariables.json"},"security":{"$ref":"http://asyncapi.com/definitions/3.0.0/securityRequirements.json"},"tags":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json"}]}},"examples":[{"host":"kafka.in.mycompany.com:9092","description":"Production Kafka broker.","protocol":"kafka","protocolVersion":"3.2"},{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/production","protocol":"amqp","description":"Production RabbitMQ broker (uses the `production` vhost)."}]},"http://asyncapi.com/definitions/3.0.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/3.0.0/serverVariables.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverVariable.json"}]}},"http://asyncapi.com/definitions/3.0.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/3.0.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. CommonMark syntax MAY be used for rich text representation."},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}},"examples":[{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/{env}","protocol":"amqp","description":"RabbitMQ broker. Use the `env` variable to point to either `production` or `staging`.","variables":{"env":{"description":"Environment to connect to. It can be either `production` or `staging`.","enum":["production","staging"]}}}]},"http://asyncapi.com/definitions/3.0.0/securityRequirements.json":{"$id":"http://asyncapi.com/definitions/3.0.0/securityRequirements.json","description":"An array representing security requirements.","type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json"}]}},"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json","description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslSecurityScheme.json"}],"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/3.0.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/3.0.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/3.0.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/3.0.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme","enum":["apiKey"]},"in":{"type":"string","description":" The location of the API key.","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"http://asyncapi.com/definitions/3.0.0/X509.json":{"$id":"http://asyncapi.com/definitions/3.0.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"http://asyncapi.com/definitions/3.0.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/3.0.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"http://asyncapi.com/definitions/3.0.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/3.0.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/3.0.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"http://asyncapi.com/definitions/3.0.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/3.0.0/oauth2Flows.json","type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["authorizationUrl","availableScopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","availableScopes"]}]}},"additionalProperties":false},"scopes":{"type":"array","description":"List of the needed scope names.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json","type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"availableScopes":{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Scopes.json","description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","availableScopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}]},"http://asyncapi.com/definitions/3.0.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/3.0.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/3.0.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/3.0.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["openIdConnect"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."},"openIdConnectUrl":{"type":"string","format":"uri","description":"OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of an absolute URL."},"scopes":{"type":"array","description":"List of the needed scope names. An empty array means no scopes are needed.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/3.0.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/3.0.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/3.0.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/server.json"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/server.json"}}]},"anypointmq":{},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/server.json"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json"}}]},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.3.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.2.0/server.json"}}]},"googlepubsub":{},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/server.json"}}]}}},"http://asyncapi.com/bindings/mqtt/0.2.0/server.json":{"$id":"http://asyncapi.com/bindings/mqtt/0.2.0/server.json","title":"Server Schema","description":"This object contains information about the server representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"clientId":{"type":"string","description":"The client identifier."},"cleanSession":{"type":"boolean","description":"Whether to create a persistent connection or not. When \'false\', the connection will be persistent. This is called clean start in MQTTv5."},"lastWill":{"type":"object","description":"Last Will and Testament configuration.","properties":{"topic":{"type":"string","description":"The topic where the Last Will and Testament message will be sent."},"qos":{"type":"integer","enum":[0,1,2],"description":"Defines how hard the broker/client will try to ensure that the Last Will and Testament message is received. Its value MUST be either 0, 1 or 2."},"message":{"type":"string","description":"Last Will message."},"retain":{"type":"boolean","description":"Whether the broker should retain the Last Will and Testament message or not."}}},"keepAlive":{"type":"integer","description":"Interval in seconds of the longest period of time the broker and the client can endure without sending a message."},"sessionExpiryInterval":{"oneOf":[{"type":"integer","minimum":0},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Interval time in seconds or a Schema Object containing the definition of the interval. The broker maintains a session for a disconnected client until this interval expires."},"maximumPacketSize":{"oneOf":[{"type":"integer","minimum":1,"maximum":4294967295},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Number of bytes or a Schema Object representing the Maximum Packet Size the Client is willing to accept."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"clientId":"guest","cleanSession":true,"lastWill":{"topic":"/last-wills","qos":2,"message":"Guest gone offline.","retain":false},"keepAlive":60,"sessionExpiryInterval":120,"maximumPacketSize":1024,"bindingVersion":"0.2.0"}]},"http://asyncapi.com/definitions/3.0.0/schema.json":{"$id":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. This object is a superset of the JSON Schema Specification Draft 07. The empty schema (which allows any instance to validate) MAY be represented by the boolean value true and a schema which allows no instance to validate MAY be represented by the boolean value false.","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. The property name used MUST be defined at this schema and it MUST be in the required property list. When used, the value MUST be the name of this schema or any schema that inherits it. See Composition and Inheritance for more details."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"deprecated":{"type":"boolean","description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is false.","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/bindings/kafka/0.5.0/server.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/server.json","title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/server.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/server.json","title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/server.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/server.json","title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/jms/0.0.1/server.json":{"$id":"http://asyncapi.com/bindings/jms/0.0.1/server.json","title":"Server Schema","description":"This object contains configuration for describing a JMS broker as an AsyncAPI server. This objects only contains configuration that can not be provided in the AsyncAPI standard server object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["jmsConnectionFactory"],"properties":{"jmsConnectionFactory":{"type":"string","description":"The classname of the ConnectionFactory implementation for the JMS Provider."},"properties":{"type":"array","items":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/server.json#/definitions/property"},"description":"Additional properties to set on the JMS ConnectionFactory implementation for the JMS Provider."},"clientID":{"type":"string","description":"A client identifier for applications that use this JMS connection factory. If the Client ID Policy is set to \'Restricted\' (the default), then configuring a Client ID on the ConnectionFactory prevents more than one JMS client from using a connection from this factory."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"definitions":{"property":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string","description":"The name of a property"},"value":{"type":["string","boolean","number","null"],"description":"The name of a property"}}}},"examples":[{"jmsConnectionFactory":"org.apache.activemq.ActiveMQConnectionFactory","properties":[{"name":"disableTimeStampsByDefault","value":false}],"clientID":"my-application-1","bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json":{"$id":"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json","title":"IBM MQ server bindings object","description":"This object contains server connection information about the IBM MQ server, referred to as an IBM MQ queue manager. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"type":"string","description":"Defines a logical group of IBM MQ server objects. This is necessary to specify multi-endpoint configurations used in high availability deployments. If omitted, the server object is not part of a group."},"ccdtQueueManagerName":{"type":"string","default":"*","description":"The name of the IBM MQ queue manager to bind to in the CCDT file."},"cipherSpec":{"type":"string","description":"The recommended cipher specification used to establish a TLS connection between the client and the IBM MQ queue manager. More information on SSL/TLS cipher specifications supported by IBM MQ can be found on this page in the IBM MQ Knowledge Center."},"multiEndpointServer":{"type":"boolean","default":false,"description":"If \'multiEndpointServer\' is \'true\' then multiple connections can be workload balanced and applications should not make assumptions as to where messages are processed. Where message ordering, or affinity to specific message resources is necessary, a single endpoint (\'multiEndpointServer\' = \'false\') may be required."},"heartBeatInterval":{"type":"integer","minimum":0,"maximum":999999,"default":300,"description":"The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. A value of zero means that no heart beats are sent. A value of 1 means that the client will use the value defined by the queue manager. More information on heart beat interval can be found on this page in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"examples":[{"groupId":"PRODCLSTR1","cipherSpec":"ANY_TLS12_OR_HIGHER","bindingVersion":"0.1.0"},{"groupId":"PRODCLSTR1","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/solace/0.4.0/server.json":{"$id":"http://asyncapi.com/bindings/solace/0.4.0/server.json","title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"clientName":{"type":"string","minLength":1,"maxLength":160,"description":"A unique client name to use to register to the appliance. If specified, it must be a valid Topic name, and a maximum of 160 bytes in length when encoded as UTF-8."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/solace/0.3.0/server.json":{"$id":"http://asyncapi.com/bindings/solace/0.3.0/server.json","title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/solace/0.2.0/server.json":{"$id":"http://asyncapi.com/bindings/solace/0.2.0/server.json","title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"msvVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/pulsar/0.1.0/server.json":{"$id":"http://asyncapi.com/bindings/pulsar/0.1.0/server.json","title":"Server Schema","description":"This object contains server information of Pulsar broker, which covers cluster and tenant admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"tenant":{"type":"string","description":"The pulsar tenant. If omitted, \'public\' MUST be assumed."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"tenant":"contoso","bindingVersion":"0.1.0"}]},"http://asyncapi.com/definitions/3.0.0/channels.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channels.json","type":"object","description":"An object containing all the Channel Object definitions the Application MUST use during runtime.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channel.json"}]},"examples":[{"userSignedUp":{"address":"user.signedup","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/3.0.0/channel.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channel.json","type":"object","description":"Describes a shared communication channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"address":{"type":["string","null"],"description":"An optional string representation of this channel\'s address. The address is typically the \\"topic name\\", \\"routing key\\", \\"event type\\", or \\"path\\". When `null` or absent, it MUST be interpreted as unknown. This is useful when the address is generated dynamically at runtime or can\'t be known upfront. It MAY contain Channel Address Expressions."},"messages":{"$ref":"http://asyncapi.com/definitions/3.0.0/channelMessages.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/3.0.0/parameters.json"},"title":{"type":"string","description":"A human-friendly title for the channel."},"summary":{"type":"string","description":"A brief summary of the channel."},"description":{"type":"string","description":"A longer description of the channel. CommonMark is allowed."},"servers":{"type":"array","description":"The references of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},"uniqueItems":true},"tags":{"type":"array","description":"A list of tags for logical grouping of channels.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json"}]}},"examples":[{"address":"users.{userId}","title":"Users channel","description":"This channel is used to exchange messages about user events.","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"},"userCompletedOrder":{"$ref":"#/components/messages/userCompletedOrder"}},"parameters":{"userId":{"$ref":"#/components/parameters/userId"}},"servers":[{"$ref":"#/servers/rabbitmqInProd"},{"$ref":"#/servers/rabbitmqInStaging"}],"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}},"tags":[{"name":"user","description":"User-related messages"}],"externalDocs":{"description":"Find more info here","url":"https://example.com"}}]},"http://asyncapi.com/definitions/3.0.0/channelMessages.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channelMessages.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageObject.json"}]},"description":"A map of the messages that will be sent to this channel by any application at any time. **Every message sent to this channel MUST be valid against one, and only one, of the message objects defined in this map.**"},"http://asyncapi.com/definitions/3.0.0/messageObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/messageObject.json","type":"object","description":"Describes a message received on a given channel and operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"},"payload":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Example of the application headers. It can be of any type."},"payload":{"description":"Example of the message payload. It can be of any type."}}}},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json"}]},"traits":{"type":"array","description":"A list of traits to apply to the message object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Message Object.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageTrait.json"},{"type":"array","items":[{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageTrait.json"}]},{"type":"object","additionalItems":true}]}]}}},"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]}]},"http://asyncapi.com/definitions/3.0.0/anySchema.json":{"$id":"http://asyncapi.com/definitions/3.0.0/anySchema.json","if":{"required":["schema"]},"then":{"$ref":"http://asyncapi.com/definitions/3.0.0/multiFormatSchema.json"},"else":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"description":"An object representing either a schema or a multiFormatSchema based on the existence of the \'schema\' property. If the property \'schema\' is present, use the multi-format schema. Use the default AsyncAPI Schema otherwise."},"http://asyncapi.com/definitions/3.0.0/multiFormatSchema.json":{"$id":"http://asyncapi.com/definitions/3.0.0/multiFormatSchema.json","description":"The Multi Format Schema Object represents a schema definition. It differs from the Schema Object in that it supports multiple schema formats or languages (e.g., JSON Schema, Avro, etc.).","type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"if":{"not":{"type":"object"}},"then":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"else":{"properties":{"schemaFormat":{"description":"A string containing the name of the schema format that is used to define the information. If schemaFormat is missing, it MUST default to application/vnd.aai.asyncapi+json;version={{asyncapi}} where {{asyncapi}} matches the AsyncAPI Version String. In such a case, this would make the Multi Format Schema Object equivalent to the Schema Object. When using Reference Object within the schema, the schemaFormat of the resource being referenced MUST match the schemaFormat of the schema that contains the initial reference. For example, if you reference Avro schema, then schemaFormat of referencing resource and the resource being reference MUST match.","anyOf":[{"type":"string"},{"description":"All the schema formats tooling MUST support","enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]},{"description":"All the schema formats tools are RECOMMENDED to support","enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0","application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0","application/raml+yaml;version=1.0"]}]}},"allOf":[{"if":{"not":{"description":"If no schemaFormat has been defined, default to schema or reference","required":["schemaFormat"]}},"then":{"properties":{"schema":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}}}},{"if":{"description":"If schemaFormat has been defined check if it\'s one of the AsyncAPI Schema Object formats","required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"schema":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/openapiSchema_3_0.json"}]}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json"}]}}}}]}},"http://asyncapi.com/definitions/3.0.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/3.0.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/3.0.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/3.0.0/correlationId.json","type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.2.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/message.json"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/message.json"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/message.json"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/message.json"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/message.json"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json"}}]}}},"http://asyncapi.com/bindings/http/0.3.0/message.json":{"$id":"http://asyncapi.com/bindings/http/0.3.0/message.json","title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"statusCode":{"type":"number","description":"The HTTP response status code according to [RFC 9110](https://httpwg.org/specs/rfc9110.html#overview.of.status.codes). `statusCode` is only relevant for messages referenced by the [Operation Reply Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#operationReplyObject), as it defines the status code for the response. In all other cases, this value can be safely ignored."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/http/0.2.0/message.json":{"$id":"http://asyncapi.com/bindings/http/0.2.0/message.json","title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/amqp/0.3.0/message.json":{"$id":"http://asyncapi.com/bindings/amqp/0.3.0/message.json","title":"AMQP message bindings object","description":"This object contains information about the message representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"contentEncoding":{"type":"string","description":"A MIME encoding for the message content."},"messageType":{"type":"string","description":"Application-specific message type."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"contentEncoding":"gzip","messageType":"user.signup","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/mqtt/0.2.0/message.json":{"$id":"http://asyncapi.com/bindings/mqtt/0.2.0/message.json","title":"MQTT message bindings object","description":"This object contains information about the message representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"payloadFormatIndicator":{"type":"integer","enum":[0,1],"description":"1 indicates that the payload is UTF-8 encoded character data. 0 indicates that the payload format is unspecified.","default":0},"correlationData":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Correlation Data is used by the sender of the request message to identify which request the response message is for when it is received."},"contentType":{"type":"string","description":"String describing the content type of the message payload. This should not conflict with the contentType field of the associated AsyncAPI Message object."},"responseTopic":{"oneOf":[{"type":"string","format":"uri-template","minLength":1},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"The topic (channel URI) to be used for a response message."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0"},{"contentType":"application/json","correlationData":{"type":"string","format":"uuid"},"responseTopic":"application/responses","bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/kafka/0.5.0/message.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/message.json","title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"key":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.5.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/message.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/message.json","title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"key":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.4.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/message.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/message.json","title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"key":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.3.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json":{"$id":"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json","title":"Anypoint MQ message bindings object","description":"This object contains configuration for describing an Anypoint MQ message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"A Schema object containing the definitions for Anypoint MQ-specific headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of Anypoint MQ protocol headers are \'messageId\' and \'messageGroupId\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"messageId":{"type":"string"}}},"bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/jms/0.0.1/message.json":{"$id":"http://asyncapi.com/bindings/jms/0.0.1/message.json","title":"Message Schema","description":"This object contains configuration for describing a JMS message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"A Schema object containing the definitions for JMS headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of JMS protocol headers are \'JMSMessageID\', \'JMSTimestamp\', and \'JMSCorrelationID\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","required":["JMSMessageID"],"properties":{"JMSMessageID":{"type":["string","null"],"description":"A unique message identifier. This may be set by your JMS Provider on your behalf."},"JMSTimestamp":{"type":"integer","description":"The time the message was sent. This may be set by your JMS Provider on your behalf. The time the message was sent. The value of the timestamp is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC."},"JMSDeliveryMode":{"type":"string","enum":["PERSISTENT","NON_PERSISTENT"],"default":"PERSISTENT","description":"Denotes the delivery mode for the message. This may be set by your JMS Provider on your behalf."},"JMSPriority":{"type":"integer","default":4,"description":"The priority of the message. This may be set by your JMS Provider on your behalf."},"JMSExpires":{"type":"integer","description":"The time at which the message expires. This may be set by your JMS Provider on your behalf. A value of zero means that the message does not expire. Any non-zero value is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC, at which the message will expire."},"JMSType":{"type":["string","null"],"description":"The type of message. Some JMS providers use a message repository that contains the definitions of messages sent by applications. The \'JMSType\' header field may reference a message\'s definition in the provider\'s repository. The JMS API does not define a standard message definition repository, nor does it define a naming policy for the definitions it contains. Some messaging systems require that a message type definition for each application message be created and that each message specify its type. In order to work with such JMS providers, JMS clients should assign a value to \'JMSType\', whether the application makes use of it or not. This ensures that the field is properly set for those providers that require it."},"JMSCorrelationID":{"type":["string","null"],"description":"The correlation identifier of the message. A client can use the \'JMSCorrelationID\' header field to link one message with another. A typical use is to link a response message with its request message. Since each message sent by a JMS provider is assigned a message ID value, it is convenient to link messages via message ID, such message ID values must start with the \'ID:\' prefix. Conversely, application-specified values must not start with the \'ID:\' prefix; this is reserved for provider-generated message ID values."},"JMSReplyTo":{"type":"string","description":"The queue or topic that the message sender expects replies to."}}},"bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json":{"$id":"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json","title":"IBM MQ message bindings object","description":"This object contains information about the message representation in IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"type":{"type":"string","enum":["string","jms","binary"],"default":"string","description":"The type of the message."},"headers":{"type":"string","description":"Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma separated list. Supporting information on IBM MQ message formats can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-format-mqchar8) in the IBM MQ Knowledge Center."},"description":{"type":"string","description":"Provides additional information for application developers: describes the message type or format."},"expiry":{"type":"integer","minimum":0,"default":0,"description":"The recommended setting the client should use for the TTL (Time-To-Live) of the message. This is a period of time expressed in milliseconds and set by the application that puts the message. \'expiry\' values are API dependant e.g., MQI and JMS use different units of time and default values for \'unlimited\'. General information on IBM MQ message expiry can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-expiry-mqlong) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"type":{"const":"binary"}}},{"properties":{"type":{"const":"jms"}},"not":{"required":["headers"]}},{"properties":{"type":{"const":"string"}},"not":{"required":["headers"]}}],"examples":[{"type":"string","bindingVersion":"0.1.0"},{"type":"jms","description":"JMS stream message","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json":{"$id":"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json","title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the message representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"attributes":{"type":"object"},"orderingKey":{"type":"string"},"schema":{"type":"object","additionalItems":false,"properties":{"name":{"type":"string"}},"required":["name"]}},"examples":[{"schema":{"name":"projects/your-project-id/schemas/your-avro-schema-id"}},{"schema":{"name":"projects/your-project-id/schemas/your-protobuf-schema-id"}}]},"http://asyncapi.com/definitions/3.0.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/3.0.0/messageTrait.json","type":"object","description":"Describes a trait that MAY be applied to a Message Object. This object MAY contain any property from the Message Object, except payload and traits.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object"}},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json"}]}},"examples":[{"contentType":"application/json"}]},"http://asyncapi.com/definitions/3.0.0/parameters.json":{"$id":"http://asyncapi.com/definitions/3.0.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters.","examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user."}}}]},"http://asyncapi.com/definitions/3.0.0/parameter.json":{"$id":"http://asyncapi.com/definitions/3.0.0/parameter.json","description":"Describes a parameter included in a channel address.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"enum":{"description":"An enumeration of string values to be used if the substitution options are from a limited set.","type":"array","items":{"type":"string"}},"default":{"description":"The default value to use for substitution, and to send, if an alternate value is not supplied.","type":"string"},"examples":{"description":"An array of examples of the parameter value.","type":"array","items":{"type":"string"}},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user.","location":"$message.payload#/user/id"}}}]},"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{},"ws":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/websockets/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/websockets/0.1.0/channel.json"}}]},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/channel.json"}}]},"amqp1":{},"mqtt":{},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/channel.json"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/channel.json"}}]},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json"}}]},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json"}}]},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json"}}]}}},"http://asyncapi.com/bindings/websockets/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/websockets/0.1.0/channel.json","title":"WebSockets channel bindings object","description":"When using WebSockets, the channel represents the connection. Unlike other protocols that support multiple virtual channels (topics, routing keys, etc.) per connection, WebSockets doesn\'t support virtual channels or, put it another way, there\'s only one channel and its characteristics are strongly related to the protocol used for the handshake, i.e., HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"method":{"type":"string","enum":["GET","POST"],"description":"The HTTP method to use when establishing the connection. Its value MUST be either \'GET\' or \'POST\'."},"query":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a \'properties\' key."},"headers":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"A Schema object containing the definitions of the HTTP headers to use when establishing the connection. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"method":"POST","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/amqp/0.3.0/channel.json":{"$id":"http://asyncapi.com/bindings/amqp/0.3.0/channel.json","title":"AMQP channel bindings object","description":"This object contains information about the channel representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"is":{"type":"string","enum":["queue","routingKey"],"description":"Defines what type of channel is it. Can be either \'queue\' or \'routingKey\' (default)."},"exchange":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the exchange. It MUST NOT exceed 255 characters long."},"type":{"type":"string","enum":["topic","direct","fanout","default","headers"],"description":"The type of the exchange. Can be either \'topic\', \'direct\', \'fanout\', \'default\' or \'headers\'."},"durable":{"type":"boolean","description":"Whether the exchange should survive broker restarts or not."},"autoDelete":{"type":"boolean","description":"Whether the exchange should be deleted when the last queue is unbound from it."},"vhost":{"type":"string","default":"/","description":"The virtual host of the exchange. Defaults to \'/\'."}},"description":"When is=routingKey, this object defines the exchange properties."},"queue":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the queue. It MUST NOT exceed 255 characters long."},"durable":{"type":"boolean","description":"Whether the queue should survive broker restarts or not."},"exclusive":{"type":"boolean","description":"Whether the queue should be used only by one connection or not."},"autoDelete":{"type":"boolean","description":"Whether the queue should be deleted when the last consumer unsubscribes."},"vhost":{"type":"string","default":"/","description":"The virtual host of the queue. Defaults to \'/\'."}},"description":"When is=queue, this object defines the queue properties."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"oneOf":[{"properties":{"is":{"const":"routingKey"}},"required":["exchange"],"not":{"required":["queue"]}},{"properties":{"is":{"const":"queue"}},"required":["queue"],"not":{"required":["exchange"]}}],"examples":[{"is":"routingKey","exchange":{"name":"myExchange","type":"topic","durable":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"},{"is":"queue","queue":{"name":"my-queue-name","durable":true,"exclusive":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/kafka/0.5.0/channel.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":true,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0},"confluent.key.schema.validation":{"description":"It shows whether the schema validation for the message key is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-schema-validation)","type":"boolean"},"confluent.key.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message key. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-subject-name-strategy)","type":"string"},"confluent.value.schema.validation":{"description":"It shows whether the schema validation for the message value is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-schema-validation)","type":"boolean"},"confluent.value.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message value. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-subject-name-strategy)","type":"string"}}},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/channel.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":false,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0}}},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/channel.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json":{"$id":"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json","title":"Anypoint MQ channel bindings object","description":"This object contains configuration for describing an Anypoint MQ exchange, queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"destination":{"type":"string","description":"The destination (queue or exchange) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ. Defaults to the channel name."},"destinationType":{"type":"string","enum":["exchange","queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signup-exchg","destinationType":"exchange","bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/jms/0.0.1/channel.json":{"$id":"http://asyncapi.com/bindings/jms/0.0.1/channel.json","title":"Channel Schema","description":"This object contains configuration for describing a JMS queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"destination":{"type":"string","description":"The destination (queue) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name according to the JMS Provider. Defaults to the channel name."},"destinationType":{"type":"string","enum":["queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (point-to-point, or strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signed-up","destinationType":"fifo-queue","bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/sns/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/sns/0.1.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"name":{"type":"string","description":"The name of the topic. Can be different from the channel name to allow flexibility around AWS resource naming limitations."},"ordering":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json#/definitions/ordering"},"policy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json#/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the topic."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["name"],"definitions":{"ordering":{"type":"object","description":"By default, we assume an unordered SNS topic. This field allows configuration of a FIFO SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"type":{"type":"string","description":"Defines the type of SNS Topic.","enum":["standard","FIFO"]},"contentBasedDeduplication":{"type":"boolean","description":"True to turn on de-duplication of messages for a channel."}},"required":["type"]},"policy":{"type":"object","description":"The security policy for the SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this topic","items":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json#/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SNS permission being allowed or denied e.g. sns:Publish","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"name":"my-sns-topic","policy":{"statements":[{"effect":"Allow","principal":"*","action":"SNS:Publish"}]}}]},"http://asyncapi.com/bindings/sqs/0.2.0/channel.json":{"$id":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"queue":{"description":"A definition of the queue that will be used as the channel.","$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/queue"},"deadLetterQueue":{"description":"A definition of the queue that will be used for un-processable messages.","$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/queue"},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queue"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/redrivePolicy"},"policy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name","fifoQueue"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"deadLetterQueue":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queue":{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":15,"visibilityTimeout":60,"receiveMessageWaitTime":0,"messageRetentionPeriod":86400,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]},"tags":{"owner":"AsyncAPI.NET","platform":"AsyncAPIOrg"}},"deadLetterQueue":{"name":"myQueue_error","deliveryDelay":0,"visibilityTimeout":0,"receiveMessageWaitTime":0,"messageRetentionPeriod":604800}}]},"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json","title":"IBM MQ channel bindings object","description":"This object contains information about the channel representation in IBM MQ. Each channel corresponds to a Queue or Topic within IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"destinationType":{"type":"string","enum":["topic","queue"],"default":"topic","description":"Defines the type of AsyncAPI channel."},"queue":{"type":"object","description":"Defines the properties of a queue.","properties":{"objectName":{"type":"string","maxLength":48,"description":"Defines the name of the IBM MQ queue associated with the channel."},"isPartitioned":{"type":"boolean","default":false,"description":"Defines if the queue is a cluster queue and therefore partitioned. If \'true\', a binding option MAY be specified when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center."},"exclusive":{"type":"boolean","default":false,"description":"Specifies if it is recommended to open the queue exclusively."}},"required":["objectName"]},"topic":{"type":"object","description":"Defines the properties of a topic.","properties":{"string":{"type":"string","maxLength":10240,"description":"The value of the IBM MQ topic string to be used."},"objectName":{"type":"string","maxLength":48,"description":"The name of the IBM MQ topic object."},"durablePermitted":{"type":"boolean","default":true,"description":"Defines if the subscription may be durable."},"lastMsgRetained":{"type":"boolean","default":false,"description":"Defines if the last message published will be made available to new subscriptions."}}},"maxMsgLength":{"type":"integer","minimum":0,"maximum":104857600,"description":"The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are greater in size than this value may fail to be delivered. More information on the maximum message length can be found on this [page](https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q097520_.html) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"destinationType":{"const":"topic"}},"not":{"required":["queue"]}},{"properties":{"destinationType":{"const":"queue"}},"required":["queue"],"not":{"required":["topic"]}}],"examples":[{"destinationType":"topic","topic":{"objectName":"myTopicName"},"bindingVersion":"0.1.0"},{"destinationType":"queue","queue":{"objectName":"myQueueName","exclusive":true},"bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json":{"$id":"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json","title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the channel representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"labels":{"type":"object"},"messageRetentionDuration":{"type":"string"},"messageStoragePolicy":{"type":"object","additionalProperties":false,"properties":{"allowedPersistenceRegions":{"type":"array","items":{"type":"string"}}}},"schemaSettings":{"type":"object","additionalItems":false,"properties":{"encoding":{"type":"string"},"firstRevisionId":{"type":"string"},"lastRevisionId":{"type":"string"},"name":{"type":"string"}},"required":["encoding","name"]}},"required":["schemaSettings"],"examples":[{"labels":{"label1":"value1","label2":"value2"},"messageRetentionDuration":"86400s","messageStoragePolicy":{"allowedPersistenceRegions":["us-central1","us-east1"]},"schemaSettings":{"encoding":"json","name":"projects/your-project-id/schemas/your-schema"}}]},"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Pulsar, which covers namespace and topic level admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["namespace","persistence"],"properties":{"namespace":{"type":"string","description":"The namespace, the channel is associated with."},"persistence":{"type":"string","enum":["persistent","non-persistent"],"description":"persistence of the topic in Pulsar."},"compaction":{"type":"integer","minimum":0,"description":"Topic compaction threshold given in MB"},"geo-replication":{"type":"array","description":"A list of clusters the topic is replicated to.","items":{"type":"string"}},"retention":{"type":"object","additionalProperties":false,"properties":{"time":{"type":"integer","minimum":0,"description":"Time given in Minutes. `0` = Disable message retention."},"size":{"type":"integer","minimum":0,"description":"Size given in MegaBytes. `0` = Disable message retention."}}},"ttl":{"type":"integer","description":"TTL in seconds for the specified topic"},"deduplication":{"type":"boolean","description":"Whether deduplication of events is enabled or not."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"namespace":"ns1","persistence":"persistent","compaction":1000,"retention":{"time":15,"size":1000},"ttl":360,"geo-replication":["us-west","us-east"],"deduplication":true,"bindingVersion":"0.1.0"}]},"http://asyncapi.com/definitions/3.0.0/operations.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operations.json","type":"object","description":"Holds a dictionary with all the operations this application MUST implement.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operation.json"}]},"examples":[{"onUserSignUp":{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}]}}]},"http://asyncapi.com/definitions/3.0.0/operation.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operation.json","type":"object","description":"Describes a specific operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["action","channel"],"properties":{"action":{"type":"string","description":"Allowed values are send and receive. Use send when it\'s expected that the application will send a message to the given channel, and receive when the application should expect receiving messages from the given channel.","enum":["send","receive"]},"channel":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. It MUST contain a subset of the messages defined in the channel referenced in this operation. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}},"reply":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReply.json"}]},"traits":{"type":"array","description":"A list of traits to apply to the operation object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Operation Object.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationTrait.json"}]}},"title":{"type":"string","description":"A human-friendly title for the operation."},"summary":{"type":"string","description":"A brief summary of the operation."},"description":{"type":"string","description":"A longer description of the operation. CommonMark is allowed."},"security":{"$ref":"http://asyncapi.com/definitions/3.0.0/securityRequirements.json"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json"}]}},"examples":[{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","security":[{"petstore_auth":["write:pets","read:pets"]}],"tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}],"messages":[{"$ref":"/components/messages/userSignedUp"}],"reply":{"address":{"location":"$message.header#/replyTo"},"channel":{"$ref":"#/channels/userSignupReply"},"messages":[{"$ref":"/components/messages/userSignedUpReply"}]}}]},"http://asyncapi.com/definitions/3.0.0/operationReply.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationReply.json","type":"object","description":"Describes the reply part that MAY be applied to an Operation Object. If an operation implements the request/reply pattern, the reply object represents the response message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"address":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json"}]},"channel":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation as reply. It MUST contain a subset of the messages defined in the channel referenced in this operation reply. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}}}},"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json","type":"object","description":"An object that specifies where an operation has to send the reply","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["location"],"properties":{"location":{"type":"string","description":"A runtime expression that specifies the location of the reply address.","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"description":{"type":"string","description":"An optional description of the address. CommonMark is allowed."}},"examples":[{"description":"Consumer inbox","location":"$message.header#/replyTo"}]},"http://asyncapi.com/definitions/3.0.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationTrait.json","type":"object","description":"Describes a trait that MAY be applied to an Operation Object. This object MAY contain any property from the Operation Object, except the action, channel and traits ones.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"title":{"description":"A human-friendly title for the operation.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/title"},"summary":{"description":"A short summary of what the operation is about.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/summary"},"description":{"description":"A verbose explanation of the operation. CommonMark syntax can be used for rich text representation.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/description"},"security":{"description":"A declaration of which security schemes are associated with this operation. Only one of the security scheme objects MUST be satisfied to authorize an operation. In cases where Server Security also applies, it MUST also be satisfied.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/security"},"tags":{"description":"A list of tags for logical grouping and categorization of operations.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/tags"},"externalDocs":{"description":"Additional external documentation for this operation.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/externalDocs"},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation.","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json"}]}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for an operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.2.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/operation.json"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/operation.json"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/operation.json"}}]},"anypointmq":{},"nats":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/nats/0.1.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/nats/0.1.0/operation.json"}}]},"jms":{},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json"}}]},"stomp":{},"redis":{},"ibmmq":{},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.3.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.2.0/operation.json"}}]},"googlepubsub":{}}},"http://asyncapi.com/bindings/http/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/http/0.3.0/operation.json","title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/http/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/http/0.2.0/operation.json","title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/amqp/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/amqp/0.3.0/operation.json","title":"AMQP operation bindings object","description":"This object contains information about the operation representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"expiration":{"type":"integer","minimum":0,"description":"TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero."},"userId":{"type":"string","description":"Identifies the user who has sent the message."},"cc":{"type":"array","items":{"type":"string"},"description":"The routing keys the message should be routed to at the time of publishing."},"priority":{"type":"integer","description":"A priority for the message."},"deliveryMode":{"type":"integer","enum":[1,2],"description":"Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent)."},"mandatory":{"type":"boolean","description":"Whether the message is mandatory or not."},"bcc":{"type":"array","items":{"type":"string"},"description":"Like cc but consumers will not receive this information."},"timestamp":{"type":"boolean","description":"Whether the message should include a timestamp or not."},"ack":{"type":"boolean","description":"Whether the consumer should ack the message or not."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"expiration":100000,"userId":"guest","cc":["user.logs"],"priority":10,"deliveryMode":2,"mandatory":false,"bcc":["external.audit"],"timestamp":true,"ack":false,"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json","title":"MQTT operation bindings object","description":"This object contains information about the operation representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"qos":{"type":"integer","enum":[0,1,2],"description":"Defines the Quality of Service (QoS) levels for the message flow between client and server. Its value MUST be either 0 (At most once delivery), 1 (At least once delivery), or 2 (Exactly once delivery)."},"retain":{"type":"boolean","description":"Whether the broker should retain the message or not."},"messageExpiryInterval":{"oneOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Lifetime of the message in seconds"},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"qos":2,"retain":true,"messageExpiryInterval":60,"bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/kafka/0.5.0/operation.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer group."},"clientId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/operation.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer group."},"clientId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer group."},"clientId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/nats/0.1.0/operation.json":{"$id":"http://asyncapi.com/bindings/nats/0.1.0/operation.json","title":"NATS operation bindings object","description":"This object contains information about the operation representation in NATS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"queue":{"type":"string","description":"Defines the name of the queue to use. It MUST NOT exceed 255 characters.","maxLength":255},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"queue":"MyCustomQueue","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/sns/0.1.0/operation.json":{"$id":"http://asyncapi.com/bindings/sns/0.1.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/identifier","description":"Often we can assume that the SNS Topic is the channel name-we provide this field in case the you need to supply the ARN, or the Topic name is not the channel name in the AsyncAPI document."},"consumers":{"type":"array","description":"The protocols that listen to this topic and their endpoints.","items":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/consumer"},"minItems":1},"deliveryPolicy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The field is the default for HTTP receivers of the SNS Topic which may be overridden by a specific consumer."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["consumers"],"definitions":{"identifier":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"url":{"type":"string","description":"The endpoint is a URL."},"email":{"type":"string","description":"The endpoint is an email address."},"phone":{"type":"string","description":"The endpoint is a phone number."},"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding. We don\'t use $ref because we are referring, not including."}}},"consumer":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"protocol":{"description":"The protocol that this endpoint receives messages by.","type":"string","enum":["http","https","email","email-json","sms","sqs","application","lambda","firehose"]},"endpoint":{"description":"The endpoint messages are delivered to.","$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/identifier"},"filterPolicy":{"type":"object","description":"Only receive a subset of messages from the channel, determined by this policy. Depending on the FilterPolicyScope, a map of either a message attribute or message body to an array of possible matches. The match may be a simple string for an exact match, but it may also be an object that represents a constraint and values for that constraint.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"object"}]}},"filterPolicyScope":{"type":"string","description":"Determines whether the FilterPolicy applies to MessageAttributes or MessageBody.","enum":["MessageAttributes","MessageBody"],"default":"MessageAttributes"},"rawMessageDelivery":{"type":"boolean","description":"If true AWS SNS attributes are removed from the body, and for SQS, SNS message attributes are copied to SQS message attributes. If false the SNS attributes are included in the body."},"redrivePolicy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/redrivePolicy"},"deliveryPolicy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The parameter is for that SNS Subscription and overrides any policy on the SNS Topic."},"displayName":{"type":"string","description":"The display name to use with an SNS subscription"}},"required":["protocol","endpoint","rawMessageDelivery"]},"deliveryPolicy":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"minDelayTarget":{"type":"integer","description":"The minimum delay for a retry in seconds."},"maxDelayTarget":{"type":"integer","description":"The maximum delay for a retry in seconds."},"numRetries":{"type":"integer","description":"The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries."},"numNoDelayRetries":{"type":"integer","description":"The number of immediate retries (with no delay)."},"numMinDelayRetries":{"type":"integer","description":"The number of immediate retries (with delay)."},"numMaxDelayRetries":{"type":"integer","description":"The number of post-backoff phase retries, with the maximum delay between retries."},"backoffFunction":{"type":"string","description":"The algorithm for backoff between retries.","enum":["arithmetic","exponential","geometric","linear"]},"maxReceivesPerSecond":{"type":"integer","description":"The maximum number of deliveries per second, per subscription."}}},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"deadLetterQueue":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/identifier","description":"The SQS queue to use as a dead letter queue (DLQ)."},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]}},"examples":[{"topic":{"name":"someTopic"},"consumers":[{"protocol":"sqs","endpoint":{"name":"someQueue"},"filterPolicy":{"store":["asyncapi_corp"],"event":[{"anything-but":"order_cancelled"}],"customer_interests":["rugby","football","baseball"]},"filterPolicyScope":"MessageAttributes","rawMessageDelivery":false,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":25},"deliveryPolicy":{"minDelayTarget":10,"maxDelayTarget":100,"numRetries":5,"numNoDelayRetries":2,"numMinDelayRetries":3,"numMaxDelayRetries":5,"backoffFunction":"linear","maxReceivesPerSecond":2}}]}]},"http://asyncapi.com/bindings/sqs/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"queues":{"type":"array","description":"Queue objects that are either the endpoint for an SNS Operation Binding Object, or the deadLetterQueue of the SQS Operation Binding Object.","items":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/queue"}},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queues"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"$ref":{"type":"string","description":"Allows for an external definition of a queue. The referenced structure MUST be in the format of a Queue. If there are conflicts between the referenced definition and this Queue\'s definition, the behavior is undefined."},"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. Used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/redrivePolicy"},"policy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"deadLetterQueue":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queues":[{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":10,"redrivePolicy":{"deadLetterQueue":{"name":"myQueue_error"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]}},{"name":"myQueue_error","deliveryDelay":10}]}]},"http://asyncapi.com/bindings/solace/0.4.0/operation.json":{"$id":"http://asyncapi.com/bindings/solace/0.4.0/operation.json","title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."},"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"timeToLive":{"type":"integer","description":"Interval in milliseconds or a Schema Object containing the definition of the lifetime of the message."},"priority":{"type":"integer","minimum":0,"maximum":255,"description":"The valid priority value range is 0-255 with 0 as the lowest priority and 255 as the highest or a Schema Object containing the definition of the priority."},"dmqEligible":{"type":"boolean","description":"Set the message to be eligible to be moved to a Dead Message Queue. The default value is false."}},"examples":[{"bindingVersion":"0.4.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"http://asyncapi.com/bindings/solace/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/solace/0.3.0/operation.json","title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.3.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"http://asyncapi.com/bindings/solace/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/solace/0.2.0/operation.json","title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"http://asyncapi.com/definitions/3.0.0/components.json":{"$id":"http://asyncapi.com/definitions/3.0.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemas":{"type":"object","description":"An object to hold reusable Schema Object. If this is a Schema Object, then the schemaFormat will be assumed to be \'application/vnd.aai.asyncapi+json;version=asyncapi\' where the version is equal to the AsyncAPI Version String.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"}}},"servers":{"type":"object","description":"An object to hold reusable Server Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/server.json"}]}}},"channels":{"type":"object","description":"An object to hold reusable Channel Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channel.json"}]}}},"serverVariables":{"type":"object","description":"An object to hold reusable Server Variable Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverVariable.json"}]}}},"operations":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operation.json"}]}}},"messages":{"type":"object","description":"An object to hold reusable Message Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageObject.json"}]}}},"securitySchemes":{"type":"object","description":"An object to hold reusable Security Scheme Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json"}]}}},"parameters":{"type":"object","description":"An object to hold reusable Parameter Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/parameter.json"}]}}},"correlationIds":{"type":"object","description":"An object to hold reusable Correlation ID Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/correlationId.json"}]}}},"operationTraits":{"type":"object","description":"An object to hold reusable Operation Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationTrait.json"}]}}},"messageTraits":{"type":"object","description":"An object to hold reusable Message Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageTrait.json"}]}}},"replies":{"type":"object","description":"An object to hold reusable Operation Reply Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReply.json"}]}}},"replyAddresses":{"type":"object","description":"An object to hold reusable Operation Reply Address Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json"}]}}},"serverBindings":{"type":"object","description":"An object to hold reusable Server Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json"}]}}},"channelBindings":{"type":"object","description":"An object to hold reusable Channel Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json"}]}}},"operationBindings":{"type":"object","description":"An object to hold reusable Operation Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json"}]}}},"messageBindings":{"type":"object","description":"An object to hold reusable Message Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json"}]}}},"tags":{"type":"object","description":"An object to hold reusable Tag Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]}}},"externalDocs":{"type":"object","description":"An object to hold reusable External Documentation Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]}}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"AvroExample":{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","schema":{"$ref":"path/to/user-create.avsc#/UserCreate"}}},"servers":{"development":{"host":"{stage}.in.mycompany.com:{port}","description":"RabbitMQ broker","protocol":"amqp","protocolVersion":"0-9-1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `mycompany.com`"},"port":{"enum":["5671","5672"],"default":"5672"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user."}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},3054:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/extensions","$defs":{"Extends":{"$anchor":"extends","oneOf":[{"$id":"ruleset","$ref":"ruleset.schema#","errorMessage":"must be a valid ruleset"},{"type":"array","items":{"anyOf":[{"$ref":"ruleset"},{"type":"array","minItems":2,"additionalItems":false,"items":[{"$ref":"ruleset"},{"type":"string","enum":["off","recommended","all"],"errorMessage":"allowed types are \\"off\\", \\"recommended\\" and \\"all\\""}]}]}}],"errorMessage":"must be a valid ruleset"},"Format":{"$anchor":"format","x-spectral-runtime":"format","errorMessage":"must be a valid format"},"Function":{"$anchor":"function","x-spectral-runtime":"ruleset-function","type":"object","properties":{"function":true},"required":["function"]},"Functions":{"$anchor":"functions","not":{}},"FunctionsDir":{"$anchor":"functionsDir","not":{}}}}')},50421:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/extensions","$defs":{"Extends":{"$anchor":"extends","oneOf":[{"type":"string"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"array","minItems":2,"additionalItems":false,"items":[{"type":"string"},{"enum":["all","recommended","off"],"errorMessage":"allowed types are \\"off\\", \\"recommended\\" and \\"all\\""}]}]}}]},"Format":{"$anchor":"format","type":"string","errorMessage":"must be a valid format"},"Functions":{"$anchor":"functions","type":"array","items":{"type":"string"}},"FunctionsDir":{"$anchor":"functionsDir","type":"string"},"Function":{"$anchor":"function","type":"object","properties":{"function":{"type":"string"}},"required":["function"]}}}')},91361:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/rule.schema","$defs":{"Then":{"type":"object","allOf":[{"properties":{"field":{"type":"string"}}},{"$ref":"extensions#function"}]},"Severity":{"$ref":"shared#severity"}},"if":{"type":"object"},"then":{"type":"object","properties":{"description":{"type":"string"},"documentationUrl":{"type":"string","format":"url","errorMessage":"must be a valid URL"},"recommended":{"type":"boolean"},"given":{"$ref":"shared#given"},"resolved":{"type":"boolean"},"severity":{"$ref":"#/$defs/Severity"},"message":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"formats":{"$ref":"shared#formats"},"then":{"if":{"type":"array"},"then":{"type":"array","items":{"$ref":"#/$defs/Then"}},"else":{"$ref":"#/$defs/Then"}},"type":{"enum":["style","validation"],"type":"string","errorMessage":"allowed types are \\"style\\" and \\"validation\\""},"extensions":{"type":"object"}},"required":["given","then"],"additionalProperties":false,"patternProperties":{"^x-":true},"errorMessage":{"required":"the rule must have at least \\"given\\" and \\"then\\" properties"}},"else":{"oneOf":[{"$ref":"shared#/$defs/HumanReadableSeverity"},{"type":"boolean"}]}}')},84185:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/ruleset.schema","type":"object","additionalProperties":false,"properties":{"documentationUrl":{"type":"string","format":"url","errorMessage":"must be a valid URL"},"description":{"type":"string"},"rules":{"type":"object","additionalProperties":{"$ref":"rule.schema#"}},"functions":{"$ref":"extensions#functions"},"functionsDir":{"$ref":"extensions#functionsDir"},"formats":{"$ref":"shared#formats"},"extends":{"$ref":"extensions#extends"},"parserOptions":{"type":"object","properties":{"duplicateKeys":{"$ref":"shared#severity"},"incompatibleValues":{"$ref":"shared#severity"}},"additionalProperties":false},"overrides":{"type":"array","minItems":1,"items":{"if":{"type":"object","properties":{"files":{"type":"array","minItems":1,"items":{"type":"string","minLength":1,"pattern":"^[^#]+#"},"errorMessage":"must be an non-empty array of glob patterns"}},"required":["files"]},"then":{"type":"object","properties":{"files":true,"rules":{"type":"object","additionalProperties":{"$ref":"shared#severity"},"errorMessage":{"enum":"must be a valid severity level"}}},"required":["rules"],"additionalProperties":false,"errorMessage":{"required":"must contain rules when JSON Pointers are defined","additionalProperties":"must not override any other property than rules when JSON Pointers are defined"}},"else":{"allOf":[{"type":"object","properties":{"files":{"type":"array","minItems":1,"items":{"type":"string","pattern":"[^#]","minLength":1},"errorMessage":"must be an non-empty array of glob patterns"}},"required":["files"],"errorMessage":{"type":"must be an override, i.e. { \\"files\\": [\\"v2/**/*.json\\"], \\"rules\\": {} }"}},{"type":"object","properties":{"formats":{"$ref":"shared#formats"},"extends":{"$ref":"#/properties/extends"},"rules":{"$ref":"#/properties/rules"},"parserOptions":{"$ref":"#/properties/parserOptions"},"aliases":{"$ref":"#/properties/aliases"}},"anyOf":[{"required":["extends"]},{"required":["rules"]}]}]}},"errorMessage":{"minItems":"must not be empty"}},"aliases":{"type":"object","propertyNames":{"pattern":"^[A-Za-z][A-Za-z0-9_-]*$","errorMessage":{"pattern":"to avoid confusion the name must match /^[A-Za-z][A-Za-z0-9_-]*$/ regular expression","minLength":"the name of an alias must not be empty"}},"additionalProperties":{"if":{"type":"object"},"then":{"type":"object","properties":{"description":{"type":"string"},"targets":{"type":"array","minItems":1,"items":{"type":"object","properties":{"formats":{"$ref":"shared#formats"},"given":{"$ref":"shared#arrayish-given"}},"required":["formats","given"],"errorMessage":"a valid target must contain given and non-empty formats"},"errorMessage":{"minItems":"targets must have at least a single alias definition"}}},"required":["targets"],"errorMessage":{"required":"targets must be present and have at least a single alias definition"}},"else":{"$ref":"shared#arrayish-given"}}}},"patternProperties":{"^x-":true},"anyOf":[{"required":["extends"]},{"required":["rules"]},{"required":["overrides"]}]}')},82691:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/shared","$defs":{"Formats":{"$anchor":"formats","type":"array","items":{"$ref":"extensions#format"},"errorMessage":"must be an array of formats"},"DiagnosticSeverity":{"enum":[-1,0,1,2,3]},"HumanReadableSeverity":{"enum":["error","warn","info","hint","off"]},"Severity":{"$anchor":"severity","oneOf":[{"$ref":"#/$defs/DiagnosticSeverity"},{"$ref":"#/$defs/HumanReadableSeverity"}],"errorMessage":"the value has to be one of: 0, 1, 2, 3 or \\"error\\", \\"warn\\", \\"info\\", \\"hint\\", \\"off\\""},"Given":{"$anchor":"given","if":{"type":"array"},"then":{"$anchor":"arrayish-given","type":"array","items":{"$ref":"path-expression"},"minItems":1,"errorMessage":{"minItems":"must be a non-empty array of expressions"}},"else":{"$ref":"path-expression"}},"PathExpression":{"$id":"path-expression","if":{"type":"string"},"then":{"type":"string","if":{"pattern":"^#"},"then":{"x-spectral-runtime":"alias"},"else":{"pattern":"^\\\\$","errorMessage":"must be a valid JSON Path expression or a reference to the existing Alias optionally paired with a JSON Path expression subset"}},"else":{"not":{},"errorMessage":"must be a valid JSON Path expression or a reference to the existing Alias optionally paired with a JSON Path expression subset"}}}}')},66077:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},46063:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},33978:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-07/schema#","description":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"positiveInteger":{"type":"integer","minimum":0},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true}},"type":"object","properties":{"id":{"type":"string","format":"uri"},"$schema":{"type":"string","format":"uri"},"title":{"type":"string"},"description":{"type":"string"},"deprecationMessage":{"type":"string","description":"Non-standard: deprecation message for a property, if it is deprecated"},"default":{},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"$ref":"#/definitions/positiveInteger"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/positiveInteger"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},74411:e=>{"use strict";e.exports=JSON.parse('{"id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-04/schema#","description":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"positiveInteger":{"type":"integer","minimum":0},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true}},"type":"object","properties":{"id":{"type":"string","format":"uri"},"$schema":{"type":"string","format":"uri"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"multipleOf":{"type":"number","minimum":0,"exclusiveMinimum":true},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"$ref":"#/definitions/positiveInteger"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/positiveInteger"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]},"default":{}}')},96499:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},29574:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/applicator":true},"$recursiveAnchor":true,"title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"additionalItems":{"$recursiveRef":"#"},"unevaluatedItems":{"$recursiveRef":"#"},"items":{"anyOf":[{"$recursiveRef":"#"},{"$ref":"#/$defs/schemaArray"}]},"contains":{"$recursiveRef":"#"},"additionalProperties":{"$recursiveRef":"#"},"unevaluatedProperties":{"$recursiveRef":"#"},"properties":{"type":"object","additionalProperties":{"$recursiveRef":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$recursiveRef":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$recursiveRef":"#"}},"propertyNames":{"$recursiveRef":"#"},"if":{"$recursiveRef":"#"},"then":{"$recursiveRef":"#"},"else":{"$recursiveRef":"#"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$recursiveRef":"#"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$recursiveRef":"#"}}}}')},85240:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/content","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/content":true},"$recursiveAnchor":true,"title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"contentSchema":{"$recursiveRef":"#"}}}')},21604:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/core","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/core":true},"$recursiveAnchor":true,"title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"type":"string","format":"uri"},"$anchor":{"type":"string","pattern":"^[A-Za-z][-A-Za-z0-9.:_]*$"},"$ref":{"type":"string","format":"uri-reference"},"$recursiveRef":{"type":"string","format":"uri-reference"},"$recursiveAnchor":{"type":"boolean","default":false},"$vocabulary":{"type":"object","propertyNames":{"type":"string","format":"uri"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$recursiveRef":"#"},"default":{}}}}')},90048:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/format","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/format":true},"$recursiveAnchor":true,"title":"Format vocabulary meta-schema","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},3785:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/meta-data":true},"$recursiveAnchor":true,"title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},84312:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/validation","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/validation":true},"$recursiveAnchor":true,"title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}},"const":true,"enum":{"type":"array","items":true},"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},99976:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/schema","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/core":true,"https://json-schema.org/draft/2019-09/vocab/applicator":true,"https://json-schema.org/draft/2019-09/vocab/validation":true,"https://json-schema.org/draft/2019-09/vocab/meta-data":true,"https://json-schema.org/draft/2019-09/vocab/format":false,"https://json-schema.org/draft/2019-09/vocab/content":true},"$recursiveAnchor":true,"title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format"},{"$ref":"meta/content"}],"type":["object","boolean"],"properties":{"definitions":{"$comment":"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.","type":"object","additionalProperties":{"$recursiveRef":"#"},"default":{}},"dependencies":{"$comment":"\\"dependencies\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\"dependentSchemas\\" and \\"dependentRequired\\"","type":"object","additionalProperties":{"anyOf":[{"$recursiveRef":"#"},{"$ref":"meta/validation#/$defs/stringArray"}]}}}}')},94826:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},98204:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},88896:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},97446:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},23501:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},86133:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},9412:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},1900:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},71678:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-06/schema#","$id":"http://json-schema.org/draft-06/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"examples":{"type":"array","items":{}},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":{},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},59513:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},74364:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},79510:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};return(()=>{"use strict";i.d(n,{default:()=>vo});class e{constructor(e,t={}){this._json=e,this._meta=t}json(e){return void 0===e||null===this._json||void 0===this._json?this._json:this._json[e]}meta(e){return void 0===e?this._meta:this._meta?this._meta[e]:void 0}jsonPath(e){return"string"!=typeof e?this._meta.pointer:`${this._meta.pointer}/${e}`}createModel(e,t,i){return new e(t,Object.assign(Object.assign({},i),{asyncapi:this._meta.asyncapi}))}}class t extends Array{constructor(e,t={}){super(...e),this.collections=e,this._meta=t}has(e){return void 0!==this.get(e)}all(){return this.collections}isEmpty(){return 0===this.collections.length}filterBy(e){return this.collections.filter(e)}meta(e){return void 0===e?this._meta:this._meta?this._meta[String(e)]:void 0}}class r extends t{get(e){return e=e.startsWith("x-")?e:`x-${e}`,this.collections.find((t=>t.id()===e))}}class s extends e{id(){return this._meta.id}value(){return this._json}}var o,a;function c(e,t,i=[]){0===i.length&&(i=Object.values(a));const n={callback:t,schemaTypesToIterate:i,seenSchemas:new Set};if(e.channels().isEmpty()||e.channels().all().forEach((e=>{!function(e,t){if(!e)return;const{schemaTypesToIterate:i}=t;i.includes(a.Parameters)&&Object.values(e.parameters().filterBy((e=>e.hasSchema()))||{}).forEach((e=>{p(e.schema(),null,t)})),e.messages().all().forEach((e=>{d(e,t)}))}(e,n)})),i.includes(a.Components)&&!e.components().isEmpty()){const t=e.components();Object.values(t.messages().all()||{}).forEach((e=>{d(e,n)})),Object.values(t.schemas().all()||{}).forEach((e=>{p(e,null,n)})),i.includes(a.Parameters)&&Object.values(t.channelParameters().filterBy((e=>e.hasSchema()))).forEach((e=>{p(e.schema(),null,n)})),Object.values(t.messageTraits().all()||{}).forEach((e=>{!function(e,t){if(!e)return;const{schemaTypesToIterate:i}=t;i.includes(a.Headers)&&e.hasHeaders()&&p(e.headers(),null,t)}(e,n)}))}}function p(e,t,i){if(!e)return;const{schemaTypesToIterate:n,callback:r,seenSchemas:s}=i,c=e.json();if(s.has(c))return;s.add(c);let d=e.type()||[];Array.isArray(d)||(d=[d]),!n.includes(a.Objects)&&d.includes("object")||!n.includes(a.Arrays)&&d.includes("array")||!1!==r(e,t,o.NEW_SCHEMA)&&(n.includes(a.Objects)&&d.includes("object")&&function(e,t){Object.entries(e.properties()||{}).forEach((([e,i])=>{p(i,e,t)}));const i=e.additionalProperties();"object"==typeof i&&p(i,null,t);const n=t.schemaTypesToIterate;n.includes(a.PropertyNames)&&e.propertyNames()&&p(e.propertyNames(),null,t),n.includes(a.PatternProperties)&&Object.entries(e.patternProperties()||{}).forEach((([e,i])=>{p(i,e,t)}))}(e,i),n.includes(a.Arrays)&&d.includes("array")&&function(e,t){const i=e.items();i&&(Array.isArray(i)?i.forEach(((e,i)=>{p(e,i,t)})):p(i,null,t));const n=e.additionalItems();"object"==typeof n&&p(n,null,t),t.schemaTypesToIterate.includes("contains")&&e.contains()&&p(e.contains(),null,t)}(e,i),n.includes(a.OneOfs)&&(e.oneOf()||[]).forEach(((e,t)=>{p(e,t,i)})),n.includes(a.AnyOfs)&&(e.anyOf()||[]).forEach(((e,t)=>{p(e,t,i)})),n.includes(a.AllOfs)&&(e.allOf()||[]).forEach(((e,t)=>{p(e,t,i)})),n.includes(a.Nots)&&e.not()&&p(e.not(),null,i),n.includes(a.Ifs)&&e.if()&&p(e.if(),null,i),n.includes(a.Thenes)&&e.then()&&p(e.then(),null,i),n.includes(a.Elses)&&e.else()&&p(e.else(),null,i),n.includes(a.Dependencies)&&Object.entries(e.dependencies()||{}).forEach((([e,t])=>{t&&!Array.isArray(t)&&p(t,e,i)})),n.includes(a.Definitions)&&Object.entries(e.definitions()||{}).forEach((([e,t])=>{p(t,e,i)})),r(e,t,o.END_SCHEMA),s.delete(c))}function d(e,t){if(!e)return;const{schemaTypesToIterate:i}=t;i.includes(a.Headers)&&e.hasHeaders()&&p(e.headers(),null,t),i.includes(a.Payloads)&&e.hasPayload()&&p(e.payload(),null,t)}function f(e,t,i,n){return new e(t,Object.assign(Object.assign({},i),{asyncapi:i.asyncapi||(null==n?void 0:n.meta().asyncapi)}))}function l(e,t,i){const n=new Set,r=new Set;let s=Object.values(a);return i||(s=s.filter((e=>e!==a.Components))),c(e,(function(e){n.has(e.json())||(n.add(e.json()),r.add(e))}),s),new t(Array.from(r))}!function(e){e.NEW_SCHEMA="NEW_SCHEMA",e.END_SCHEMA="END_SCHEMA"}(o||(o={})),function(e){e.Parameters="parameters",e.Payloads="payloads",e.Headers="headers",e.Components="components",e.Objects="objects",e.Arrays="arrays",e.OneOfs="oneOfs",e.AllOfs="allOfs",e.AnyOfs="anyOfs",e.Nots="nots",e.PropertyNames="propertyNames",e.PatternProperties="patternProperties",e.Contains="contains",e.Ifs="ifs",e.Thenes="thenes",e.Elses="elses",e.Dependencies="dependencies",e.Definitions="definitions"}(a||(a={}));var u=i(37233),m=i.n(u);const h="x-parser-spec-parsed",y="x-parser-spec-stringified",g="x-parser-api-version",b="x-parser-message-name",v="x-parser-schema-id",$="x-parser-original-payload",j="x-parser-circular",_="x-parser-unique-object-id",w=/^x-[\w\d.\-_]+$/,x=Object.keys(m().schemas),P=x[x.length-1];class S extends t{get(e){return this.collections.find((t=>t.protocol()===e))}extensions(){const e=[];return Object.entries(this._meta.originalData||{}).forEach((([t,i])=>{w.test(t)&&e.push(f(s,i,{id:t,pointer:`${this._meta.pointer}/${t}`,asyncapi:this._meta.asyncapi}))})),new r(e)}}class O extends e{protocol(){return this._meta.protocol}version(){return this._json.bindingVersion||"latest"}value(){const e=Object.assign({},this._json);return delete e.bindingVersion,e}extensions(){return M(this)}}class E extends e{url(){return this._json.url}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}}class A extends t{get(e){return this.collections.find((t=>t.name()===e))}}class T extends e{name(){return this._json.name}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}}function I(e){const t=e.json("bindings")||{};return new S(Object.entries(t||{}).map((([t,i])=>f(O,i,{protocol:t,pointer:e.jsonPath(`bindings/${t}`)},e))),{originalData:t,asyncapi:e.meta("asyncapi"),pointer:e.jsonPath("bindings")})}function k(e){return Boolean(R(e))}function R(e){return e.json("description")}function M(e){const t=[];return Object.entries(e.json()).forEach((([i,n])=>{w.test(i)&&t.push(f(s,n,{id:i,pointer:e.jsonPath(i)},e))})),new r(t)}function q(e){return Object.keys(e.json("externalDocs")||{}).length>0}function C(e){if(q(e))return new E(e.json("externalDocs"))}function N(e){return new A((e.json("tags")||[]).map(((t,i)=>f(T,t,{pointer:e.jsonPath(`tags/${i}`)},e))))}class D extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}hasEmail(){return!!this._json.email}email(){return this._json.email}extensions(){return M(this)}}class F extends e{name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}extensions(){return M(this)}}class U extends e{title(){return this._json.title}version(){return this._json.version}hasId(){return!!this._meta.asyncapi.parsed.id}id(){return this._meta.asyncapi.parsed.id}hasDescription(){return k(this)}description(){return R(this)}hasTermsOfService(){return!!this._json.termsOfService}termsOfService(){return this._json.termsOfService}hasContact(){return Object.keys(this._json.contact||{}).length>0}contact(){const e=this._json.contact;return e&&this.createModel(D,e,{pointer:"/info/contact"})}hasLicense(){return Object.keys(this._json.license||{}).length>0}license(){const e=this._json.license;return e&&this.createModel(F,e,{pointer:"/info/license"})}hasExternalDocs(){const e=this._meta.asyncapi.parsed;return Object.keys(e.externalDocs||{}).length>0}externalDocs(){if(this.hasExternalDocs()){const e=this._meta.asyncapi.parsed;return this.createModel(E,e.externalDocs,{pointer:"/externalDocs"})}}tags(){const e=this._meta.asyncapi.parsed.tags||[];return new A(e.map(((e,t)=>this.createModel(T,e,{pointer:`/tags/${t}`}))))}extensions(){return M(this)}}class V extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class L extends t{get(e){return this.collections.find((t=>t.id()===e))}}var z=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function B(e,t){return z(this,void 0,void 0,(function*(){const i=e.parserRegistry.get(t.schemaFormat);if(void 0===i)throw new Error("Unknown schema format");return i.parse(t)}))}function K(e,t){return"string"==typeof e?e:G(t)}function G(e){return`application/vnd.aai.asyncapi;version=${e}`}class H extends e{id(){return this.$id()||this._meta.id||this.json(v)}$comment(){if("boolean"!=typeof this._json)return this._json.$comment}$id(){if("boolean"!=typeof this._json)return this._json.$id}$schema(){return"boolean"==typeof this._json?"http://json-schema.org/draft-07/schema#":this._json.$schema||"http://json-schema.org/draft-07/schema#"}additionalItems(){return"boolean"==typeof this._json?this._json:"boolean"==typeof this._json.additionalItems?this._json.additionalItems:void 0===this._json.additionalItems||null!==this._json.additionalItems&&this.createModel(H,this._json.additionalItems,{pointer:`${this._meta.pointer}/additionalItems`,parent:this})}additionalProperties(){return"boolean"==typeof this._json?this._json:"boolean"==typeof this._json.additionalProperties?this._json.additionalProperties:void 0===this._json.additionalProperties||null!==this._json.additionalProperties&&this.createModel(H,this._json.additionalProperties,{pointer:`${this._meta.pointer}/additionalProperties`,parent:this})}allOf(){if("boolean"!=typeof this._json&&Array.isArray(this._json.allOf))return this._json.allOf.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/allOf/${t}`,parent:this})))}anyOf(){if("boolean"!=typeof this._json&&Array.isArray(this._json.anyOf))return this._json.anyOf.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/anyOf/${t}`,parent:this})))}const(){if("boolean"!=typeof this._json)return this._json.const}contains(){if("boolean"!=typeof this._json&&"object"==typeof this._json.contains)return this.createModel(H,this._json.contains,{pointer:`${this._meta.pointer}/contains`,parent:this})}contentEncoding(){if("boolean"!=typeof this._json)return this._json.contentEncoding}contentMediaType(){if("boolean"!=typeof this._json)return this._json.contentMediaType}default(){if("boolean"!=typeof this._json)return this._json.default}definitions(){if("boolean"!=typeof this._json&&"object"==typeof this._json.definitions)return Object.entries(this._json.definitions).reduce(((e,[t,i])=>(e[t]=this.createModel(H,i,{pointer:`${this._meta.pointer}/definitions/${t}`,parent:this}),e)),{})}description(){if("boolean"!=typeof this._json)return this._json.description}dependencies(){if("boolean"!=typeof this._json&&"object"==typeof this._json.dependencies)return Object.entries(this._json.dependencies).reduce(((e,[t,i])=>(e[t]=Array.isArray(i)?i:this.createModel(H,i,{pointer:`${this._meta.pointer}/dependencies/${t}`,parent:this}),e)),{})}deprecated(){return"boolean"!=typeof this._json&&(this._json.deprecated||!1)}discriminator(){if("boolean"!=typeof this._json)return this._json.discriminator}else(){if("boolean"!=typeof this._json&&"object"==typeof this._json.else)return this.createModel(H,this._json.else,{pointer:`${this._meta.pointer}/else`,parent:this})}enum(){if("boolean"!=typeof this._json)return this._json.enum}examples(){if("boolean"!=typeof this._json)return this._json.examples}exclusiveMaximum(){if("boolean"!=typeof this._json)return this._json.exclusiveMaximum}exclusiveMinimum(){if("boolean"!=typeof this._json)return this._json.exclusiveMinimum}format(){if("boolean"!=typeof this._json)return this._json.format}isBooleanSchema(){return"boolean"==typeof this._json}if(){if("boolean"!=typeof this._json&&"object"==typeof this._json.if)return this.createModel(H,this._json.if,{pointer:`${this._meta.pointer}/if`,parent:this})}isCircular(){let e=this._meta.parent;for(;e;){if(e._json===this._json)return!0;e=e._meta.parent}return!1}items(){if("boolean"!=typeof this._json&&"object"==typeof this._json.items)return Array.isArray(this._json.items)?this._json.items.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/items/${t}`,parent:this}))):this.createModel(H,this._json.items,{pointer:`${this._meta.pointer}/items`,parent:this})}maximum(){if("boolean"!=typeof this._json)return this._json.maximum}maxItems(){if("boolean"!=typeof this._json)return this._json.maxItems}maxLength(){if("boolean"!=typeof this._json)return this._json.maxLength}maxProperties(){if("boolean"!=typeof this._json)return this._json.maxProperties}minimum(){if("boolean"!=typeof this._json)return this._json.minimum}minItems(){if("boolean"!=typeof this._json)return this._json.minItems}minLength(){if("boolean"!=typeof this._json)return this._json.minLength}minProperties(){if("boolean"!=typeof this._json)return this._json.minProperties}multipleOf(){if("boolean"!=typeof this._json)return this._json.multipleOf}not(){if("boolean"!=typeof this._json&&"object"==typeof this._json.not)return this.createModel(H,this._json.not,{pointer:`${this._meta.pointer}/not`,parent:this})}oneOf(){if("boolean"!=typeof this._json&&Array.isArray(this._json.oneOf))return this._json.oneOf.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/oneOf/${t}`,parent:this})))}pattern(){if("boolean"!=typeof this._json)return this._json.pattern}patternProperties(){if("boolean"!=typeof this._json&&"object"==typeof this._json.patternProperties)return Object.entries(this._json.patternProperties).reduce(((e,[t,i])=>(e[t]=this.createModel(H,i,{pointer:`${this._meta.pointer}/patternProperties/${t}`,parent:this}),e)),{})}properties(){if("boolean"!=typeof this._json&&"object"==typeof this._json.properties)return Object.entries(this._json.properties).reduce(((e,[t,i])=>(e[t]=this.createModel(H,i,{pointer:`${this._meta.pointer}/properties/${t}`,parent:this}),e)),{})}property(e){if("boolean"!=typeof this._json&&"object"==typeof this._json.properties&&"object"==typeof this._json.properties[e])return this.createModel(H,this._json.properties[e],{pointer:`${this._meta.pointer}/properties/${e}`,parent:this})}propertyNames(){if("boolean"!=typeof this._json&&"object"==typeof this._json.propertyNames)return this.createModel(H,this._json.propertyNames,{pointer:`${this._meta.pointer}/propertyNames`,parent:this})}readOnly(){return"boolean"!=typeof this._json&&(this._json.readOnly||!1)}required(){if("boolean"!=typeof this._json)return this._json.required}schemaFormat(){return this._meta.schemaFormat||G(this._meta.asyncapi.semver.version)}then(){if("boolean"!=typeof this._json&&"object"==typeof this._json.then)return this.createModel(H,this._json.then,{pointer:`${this._meta.pointer}/then`,parent:this})}title(){if("boolean"!=typeof this._json)return this._json.title}type(){if("boolean"!=typeof this._json)return this._json.type}uniqueItems(){return"boolean"!=typeof this._json&&(this._json.uniqueItems||!1)}writeOnly(){return"boolean"!=typeof this._json&&(this._json.writeOnly||!1)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}extensions(){return M(this)}}class J extends e{id(){return this._meta.id}hasSchema(){return!!this._json.schema}schema(){if(this._json.schema)return this.createModel(H,this._json.schema,{pointer:`${this._meta.pointer}/schema`})}hasLocation(){return!!this._json.location}location(){return this._json.location}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}}class W extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class Q extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.isSend()))}filterByReceive(){return this.filterBy((e=>e.isReceive()))}}class Z extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Y extends e{location(){return this._json.location}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}}class X extends t{get(e){return this.collections.find((t=>t.name()===e))}}class ee extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasHeaders(){return!!this._json.headers}headers(){return this._json.headers}hasPayload(){return!!this._json.payload}payload(){return this._json.payload}extensions(){return M(this)}}class te extends e{id(){return this._json.messageId||this._meta.id||this.json(b)}hasSchemaFormat(){return void 0!==this.schemaFormat()}schemaFormat(){return this._json.schemaFormat||G(this._meta.asyncapi.semver.version)}hasMessageId(){return!!this._json.messageId}hasCorrelationId(){return!!this._json.correlationId}correlationId(){if(this._json.correlationId)return this.createModel(Y,this._json.correlationId,{pointer:`${this._meta.pointer}/correlationId`})}hasContentType(){return!!this._json.contentType}contentType(){var e;return this._json.contentType||(null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.defaultContentType)}hasHeaders(){return!!this._json.headers}headers(){if(this._json.headers)return this.createModel(H,this._json.headers,{pointer:`${this._meta.pointer}/headers`})}hasName(){return!!this._json.name}name(){return this._json.name}hasTitle(){return!!this._json.title}title(){return this._json.title}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasDescription(){return k(this)}description(){return R(this)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}examples(){return new X((this._json.examples||[]).map(((e,t)=>this.createModel(ee,e,{pointer:`${this._meta.pointer}/examples/${t}`}))))}tags(){return N(this)}bindings(){return I(this)}extensions(){return M(this)}}class ie extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}var ne=i(23859),re=i(94169);function se(e,t,i){return{source:i,input:t,parsed:e,semver:oe(e.asyncapi)}}function oe(e){const[t,i,n]=e.split("."),[r,s]=n.split("-rc");return{version:e,major:Number(t),minor:Number(i),patch:Number(r),rc:s&&Number(s)}}function ae(e,t,i){ce(e,t,i.json())}function ce(e,t,i){"object"==typeof i&&i&&(e=e.startsWith("x-")?e:`x-${e}`,i[String(e)]=t)}function pe(e,t){if(!de(t))return t;const i=de(e)?Object.assign({},e):{};return Object.keys(t).forEach((e=>{const n=t[e];null===n?delete i[e]:i[e]=pe(i[e],n)})),i}function de(e){return Boolean(e)&&"object"==typeof e&&!1===Array.isArray(e)}function fe(e,t,i){if(!(e instanceof Error))return[];const n=i?i.getRangeForJsonPath([]):ne.Document.DEFAULT_RANGE;return[{code:"uncaught-error",message:`${t}. Name: ${e.name}, message: ${e.message}, stack: ${e.stack}`,path:[],severity:re.h_.Error,range:n}]}function le(e){return e.replace(/[~/]{1}/g,(e=>{switch(e){case"/":return"~1";case"~":return"~0"}return e}))}function ue(e){return e.includes("~")?e.replace(/~[01]/g,(e=>{switch(e){case"~1":return"/";case"~0":return"~"}return e})):e}function me(e,t){let i=0;const n=t.length;for(;"object"==typeof e&&e&&i{i.servers().forEach((i=>{t.includes(i.json())||(t.push(i.json()),e.push(i))}))})),new ie(e)}channels(){const e=[],t=[];return this.operations().all().forEach((i=>{i.channels().forEach((i=>{t.includes(i.json())||(t.push(i.json()),e.push(i))}))})),new V(e)}operations(){var e;const t=[];return Object.entries((null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.channels)||{}).forEach((([e,i])=>{["subscribe","publish"].forEach((n=>{const r=i[n];r&&(r.message===this._json||(r.message.oneOf||[]).includes(this._json))&&t.push(this.createModel(we,r,{id:"",pointer:`/channels/${le(e)}/${n}`,action:n}))}))})),new Q(t)}traits(){return new Z((this._json.traits||[]).map(((e,t)=>this.createModel(te,e,{id:"",pointer:`${this._meta.pointer}/traits/${t}`}))))}}class ye extends t{get(e){return this.collections.find((t=>t.id()===e))}}class ge extends e{hasAuthorizationUrl(){return!!this.json().authorizationUrl}authorizationUrl(){return this.json().authorizationUrl}hasTokenUrl(){return!!this.json().tokenUrl}tokenUrl(){return this.json().tokenUrl}hasRefreshUrl(){return!!this._json.refreshUrl}refreshUrl(){return this._json.refreshUrl}scopes(){return this._json.scopes}extensions(){return M(this)}}class be extends e{hasAuthorizationCode(){return!!this._json.authorizationCode}authorizationCode(){if(this._json.authorizationCode)return new ge(this._json.authorizationCode)}hasClientCredentials(){return!!this._json.clientCredentials}clientCredentials(){if(this._json.clientCredentials)return new ge(this._json.clientCredentials)}hasImplicit(){return!!this._json.implicit}implicit(){if(this._json.implicit)return new ge(this._json.implicit)}hasPassword(){return!!this._json.password}password(){if(this._json.password)return new ge(this._json.password)}extensions(){return M(this)}}class ve extends e{id(){return this._meta.id}type(){return this._json.type}hasDescription(){return k(this)}description(){return R(this)}hasName(){return!!this._json.name}name(){return this._json.name}hasIn(){return!!this._json.in}in(){return this._json.in}hasScheme(){return!!this._json.scheme}scheme(){return this._json.scheme}hasBearerFormat(){return!!this._json.bearerFormat}bearerFormat(){return this._json.bearerFormat}hasFlows(){return!!this._json.flows}flows(){if(this._json.flows)return new be(this._json.flows)}hasOpenIdConnectUrl(){return!!this._json.openIdConnectUrl}openIdConnectUrl(){return this._json.openIdConnectUrl}extensions(){return M(this)}}class $e extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class je extends e{scheme(){return this._json.scheme}scopes(){return this._json.scopes||[]}}class _e extends e{id(){return this.operationId()||this._meta.id}hasOperationId(){return!!this._json.operationId}operationId(){return this._json.operationId}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasDescription(){return k(this)}description(){return R(this)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}security(){var e,t,i,n;const r=(null===(n=null===(i=null===(t=null===(e=this._meta)||void 0===e?void 0:e.asyncapi)||void 0===t?void 0:t.parsed)||void 0===i?void 0:i.components)||void 0===n?void 0:n.securitySchemes)||{};return(this._json.security||[]).map(((e,t)=>{const i=[];return Object.entries(e).forEach((([e,n])=>{const s=this.createModel(ve,r[e],{id:e,pointer:`/components/securitySchemes/${e}`});i.push(this.createModel(je,{scheme:s,scopes:n},{id:e,pointer:`${this.meta().pointer}/security/${t}/${e}`}))})),new $e(i)}))}tags(){return N(this)}bindings(){return I(this)}extensions(){return M(this)}}class we extends _e{action(){return this._meta.action}isSend(){return"subscribe"===this.action()}isReceive(){return"publish"===this.action()}servers(){const e=[],t=[];return this.channels().forEach((i=>{i.servers().forEach((i=>{t.includes(i.json())||(t.push(i.json()),e.push(i))}))})),new ie(e)}channels(){const e=[];return Object.entries(this._meta.asyncapi.parsed.channels||{}).forEach((([t,i])=>{i.subscribe!==this._json&&i.publish!==this._json||e.push(this.createModel(Oe,i,{id:t,address:t,pointer:`/channels/${le(t)}`}))})),new V(e)}messages(){let e=!1,t=[];return this._json.message&&(Array.isArray(this._json.message.oneOf)?(t=this._json.message.oneOf,e=!0):t=[this._json.message]),new W(t.map(((t,i)=>this.createModel(he,t,{id:"",pointer:`${this._meta.pointer}/message${e?`/oneOf/${i}`:""}`}))))}reply(){}traits(){return new ye((this._json.traits||[]).map(((e,t)=>this.createModel(_e,e,{id:"",pointer:`${this._meta.pointer}/traits/${t}`,action:""}))))}}class xe extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Pe extends e{id(){return this._meta.id}hasDescription(){return k(this)}description(){return R(this)}hasDefaultValue(){return!!this._json.default}defaultValue(){return this._json.default}hasAllowedValues(){return!!this._json.enum}allowedValues(){return this._json.enum||[]}examples(){return this._json.examples||[]}extensions(){return M(this)}}class Se extends e{id(){return this._meta.id}url(){return this._json.url}host(){return new URL(this.url()).host}hasPathname(){return!!this.pathname()}pathname(){return new URL(this.url()).pathname}protocol(){return this._json.protocol}hasProtocolVersion(){return!!this._json.protocolVersion}protocolVersion(){return this._json.protocolVersion}hasDescription(){return k(this)}description(){return R(this)}channels(){var e;const t=[];return Object.entries((null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.channels)||{}).forEach((([e,i])=>{const n=i.servers||[];(0===n.length||n.includes(this._meta.id))&&t.push(this.createModel(Oe,i,{id:e,address:e,pointer:`/channels/${le(e)}`}))})),new V(t)}operations(){const e=[];return this.channels().forEach((t=>{e.push(...t.operations().all())})),new Q(e)}messages(){const e=[];return this.operations().forEach((t=>e.push(...t.messages().all()))),new W(e)}variables(){return new xe(Object.entries(this._json.variables||{}).map((([e,t])=>this.createModel(Pe,t,{id:e,pointer:`${this._meta.pointer}/variables/${e}`}))))}security(){var e,t,i,n;const r=(null===(n=null===(i=null===(t=null===(e=this._meta)||void 0===e?void 0:e.asyncapi)||void 0===t?void 0:t.parsed)||void 0===i?void 0:i.components)||void 0===n?void 0:n.securitySchemes)||{};return(this._json.security||[]).map(((e,t)=>{const i=[];return Object.entries(e).forEach((([e,n])=>{const s=this.createModel(ve,r[e],{id:e,pointer:`/components/securitySchemes/${e}`});i.push(this.createModel(je,{scheme:s,scopes:n},{id:e,pointer:`${this.meta().pointer}/security/${t}/${e}`}))})),new $e(i)}))}tags(){return N(this)}bindings(){return I(this)}extensions(){return M(this)}}class Oe extends e{id(){return this._meta.id}address(){return this._meta.address}hasDescription(){return k(this)}description(){return R(this)}servers(){var e;const t=[],i=this._json.servers||[];return Object.entries((null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.servers)||{}).forEach((([e,n])=>{(0===i.length||i.includes(e))&&t.push(this.createModel(Se,n,{id:e,pointer:`/servers/${e}`}))})),new ie(t)}operations(){const e=[];return["publish","subscribe"].forEach((t=>{const i=this._json[t],n=i&&i.operationId||t;i&&e.push(this.createModel(we,i,{id:n,action:t,pointer:`${this._meta.pointer}/${t}`}))})),new Q(e)}messages(){const e=[];return this.operations().forEach((t=>e.push(...t.messages().all()))),new W(e)}parameters(){return new L(Object.entries(this._json.parameters||{}).map((([e,t])=>this.createModel(J,t,{id:e,pointer:`${this._meta.pointer}/parameters/${e}`}))))}bindings(){return I(this)}extensions(){return M(this)}}class Ee extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Ae extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Te extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class Ie extends e{servers(){return this.createCollection("servers",ie,Se)}channels(){return new V(Object.entries(this._json.channels||{}).map((([e,t])=>this.createModel(Oe,t,{id:e,address:"",pointer:`/components/channels/${le(e)}`}))))}operations(){return new Q([])}messages(){return this.createCollection("messages",W,he)}schemas(){return this.createCollection("schemas",Ee,H)}channelParameters(){return this.createCollection("parameters",L,J)}serverVariables(){return this.createCollection("serverVariables",xe,Pe)}operationTraits(){return this.createCollection("operationTraits",ye,_e)}messageTraits(){return this.createCollection("messageTraits",Z,te)}correlationIds(){return this.createCollection("correlationIds",Te,Y)}securitySchemes(){return this.createCollection("securitySchemes",Ae,ve)}serverBindings(){return this.createBindings("serverBindings")}channelBindings(){return this.createBindings("channelBindings")}operationBindings(){return this.createBindings("operationBindings")}messageBindings(){return this.createBindings("messageBindings")}extensions(){return M(this)}isEmpty(){return 0===Object.keys(this._json).length}createCollection(e,t,i){const n=[];return Object.entries(this._json[e]||{}).forEach((([t,r])=>{n.push(this.createModel(i,r,{id:t,pointer:`/components/${e}/${t}`}))})),new t(n)}createBindings(e){return Object.entries(this._json[e]||{}).reduce(((t,[i,n])=>{const r=n||{},s=this.meta("asyncapi"),o=`components/${e}/${i}`;return t[i]=new S(Object.entries(r).map((([e,t])=>this.createModel(O,t,{protocol:e,pointer:`${o}/${e}`}))),{originalData:r,asyncapi:s,pointer:o}),t}),{})}}class ke extends e{version(){return this._json.asyncapi}defaultContentType(){return this._json.defaultContentType}hasDefaultContentType(){return!!this._json.defaultContentType}info(){return this.createModel(U,this._json.info,{pointer:"/info"})}servers(){return new ie(Object.entries(this._json.servers||{}).map((([e,t])=>this.createModel(Se,t,{id:e,pointer:`/servers/${e}`}))))}channels(){return new V(Object.entries(this._json.channels||{}).map((([e,t])=>this.createModel(Oe,t,{id:e,address:e,pointer:`/channels/${le(e)}`}))))}operations(){const e=[];return this.channels().forEach((t=>e.push(...t.operations()))),new Q(e)}messages(){const e=[];return this.operations().forEach((t=>t.messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))))),new W(e)}schemas(){return l(this,Ee,!1)}securitySchemes(){var e;return new Ae(Object.entries((null===(e=this._json.components)||void 0===e?void 0:e.securitySchemes)||{}).map((([e,t])=>this.createModel(ve,t,{id:e,pointer:`/components/securitySchemes/${e}`}))))}components(){return this.createModel(Ie,this._json.components||{},{pointer:"/components"})}allServers(){const e=this.servers().all();return this.components().servers().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new ie(e)}allChannels(){const e=this.channels().all();return this.components().channels().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new V(e)}allOperations(){const e=[];return this.allChannels().forEach((t=>e.push(...t.operations()))),new Q(e)}allMessages(){const e=[];return this.allOperations().forEach((t=>t.messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))))),this.components().messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new W(e)}allSchemas(){return l(this,Ee,!0)}extensions(){return M(this)}}class Re extends t{get(e){return e=e.startsWith("x-")?e:`x-${e}`,this.collections.find((t=>t.id()===e))}}class Me extends e{id(){return this._meta.id}version(){return"to implement"}value(){return this._json}}class qe extends t{get(e){return this.collections.find((t=>t.protocol()===e))}extensions(){const e=[];return Object.entries(this._meta.originalData||{}).forEach((([t,i])=>{w.test(t)&&e.push(f(Me,i,{id:t,pointer:`${this._meta.pointer}/${t}`,asyncapi:this._meta.asyncapi}))})),new Re(e)}}class Ce extends e{protocol(){return this._meta.protocol}version(){return this._json.bindingVersion||"latest"}value(){const e=Object.assign({},this._json);return delete e.bindingVersion,e}extensions(){return ze(this)}}class Ne extends e{id(){return this._meta.id}url(){return this._json.url}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}}class De extends t{get(e){return this.collections.find((t=>t.name()===e))}}class Fe extends e{id(){return this._meta.id}name(){return this._json.name}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}}class Ue extends e{hasTitle(){return!!this._json.title}title(){return this._json.title}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasDescription(){return Ve(this)}description(){return Le(this)}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}tags(){return Ge(this)}bindings(){return function(e){const t=e.json("bindings")||{};return new qe(Object.entries(t||{}).map((([t,i])=>f(Ce,i,{protocol:t,pointer:e.jsonPath(`bindings/${t}`)},e))),{originalData:t,asyncapi:e.meta("asyncapi"),pointer:e.jsonPath("bindings")})}(this)}extensions(){return ze(this)}}function Ve(e){return Boolean(Le(e))}function Le(e){return e.json("description")}function ze(e){const t=[];return Object.entries(e.json()).forEach((([i,n])=>{w.test(i)&&t.push(f(Me,n,{id:i,pointer:e.jsonPath(i)},e))})),new Re(t)}function Be(e){return Object.keys(e.json("externalDocs")||{}).length>0}function Ke(e){if(Be(e))return new Ne(e.json("externalDocs"))}function Ge(e){return new De((e.json("tags")||[]).map(((t,i)=>f(Fe,t,{pointer:e.jsonPath(`tags/${i}`)},e))))}class He extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}hasEmail(){return!!this._json.email}email(){return this._json.email}extensions(){return ze(this)}}class Je extends e{name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}extensions(){return ze(this)}}class We extends e{title(){return this._json.title}version(){return this._json.version}hasId(){return!!this._meta.asyncapi.parsed.id}id(){return this._meta.asyncapi.parsed.id}hasDescription(){return Ve(this)}description(){return Le(this)}hasTermsOfService(){return!!this._json.termsOfService}termsOfService(){return this._json.termsOfService}hasContact(){return Object.keys(this._json.contact||{}).length>0}contact(){const e=this._json.contact;return e&&this.createModel(He,e,{pointer:this.jsonPath("contact")})}hasLicense(){return Object.keys(this._json.license||{}).length>0}license(){const e=this._json.license;return e&&this.createModel(Je,e,{pointer:this.jsonPath("license")})}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}tags(){return Ge(this)}extensions(){return ze(this)}}class Qe extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class Ze extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class Ye extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Xe extends e{constructor(e,t={}){var i,n;super(e,t),this._json=e,this._meta=t,"object"==typeof e&&"object"==typeof e.schema?(this._schemaObject=e.schema,this._schemaFormat=e.schemaFormat):(this._schemaObject=e,this._schemaFormat=G(null===(n=null===(i=t.asyncapi)||void 0===i?void 0:i.semver)||void 0===n?void 0:n.version))}id(){return this.$id()||this._meta.id||this._schemaObject[v]}$comment(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.$comment}$id(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.$id}$schema(){var e;return"boolean"==typeof this._schemaObject?"http://json-schema.org/draft-07/schema#":null!==(e=this._schemaObject.$schema)&&void 0!==e?e:"http://json-schema.org/draft-07/schema#"}additionalItems(){return"boolean"==typeof this._schemaObject?this._schemaObject:void 0===this._schemaObject.additionalItems||("boolean"==typeof this._schemaObject.additionalItems?this._schemaObject.additionalItems:this.createModel(Xe,this._schemaObject.additionalItems,{pointer:`${this._meta.pointer}/additionalItems`,parent:this}))}additionalProperties(){return"boolean"==typeof this._schemaObject?this._schemaObject:void 0===this._schemaObject.additionalProperties||("boolean"==typeof this._schemaObject.additionalProperties?this._schemaObject.additionalProperties:this.createModel(Xe,this._schemaObject.additionalProperties,{pointer:`${this._meta.pointer}/additionalProperties`,parent:this}))}allOf(){if("boolean"!=typeof this._schemaObject&&Array.isArray(this._schemaObject.allOf))return this._schemaObject.allOf.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/allOf/${t}`,parent:this})))}anyOf(){if("boolean"!=typeof this._schemaObject&&Array.isArray(this._schemaObject.anyOf))return this._schemaObject.anyOf.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/anyOf/${t}`,parent:this})))}const(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.const}contains(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.contains)return this.createModel(Xe,this._schemaObject.contains,{pointer:`${this._meta.pointer}/contains`,parent:this})}contentEncoding(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.contentEncoding}contentMediaType(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.contentMediaType}default(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.default}definitions(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.definitions)return Object.entries(this._schemaObject.definitions).reduce(((e,[t,i])=>(e[t]=this.createModel(Xe,i,{pointer:`${this._meta.pointer}/definitions/${t}`,parent:this}),e)),{})}description(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.description}dependencies(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.dependencies)return Object.entries(this._schemaObject.dependencies).reduce(((e,[t,i])=>(e[t]=Array.isArray(i)?i:this.createModel(Xe,i,{pointer:`${this._meta.pointer}/dependencies/${t}`,parent:this}),e)),{})}deprecated(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.deprecated||!1)}discriminator(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.discriminator}else(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.else)return this.createModel(Xe,this._schemaObject.else,{pointer:`${this._meta.pointer}/else`,parent:this})}enum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.enum}examples(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.examples}exclusiveMaximum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.exclusiveMaximum}exclusiveMinimum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.exclusiveMinimum}format(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.format}isBooleanSchema(){return"boolean"==typeof this._schemaObject}if(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.if)return this.createModel(Xe,this._schemaObject.if,{pointer:`${this._meta.pointer}/if`,parent:this})}isCircular(){let e=this._meta.parent;for(;e;){if(e._json===this._schemaObject)return!0;e=e._meta.parent}return!1}items(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.items)return Array.isArray(this._schemaObject.items)?this._schemaObject.items.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/items/${t}`,parent:this}))):this.createModel(Xe,this._schemaObject.items,{pointer:`${this._meta.pointer}/items`,parent:this})}maximum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maximum}maxItems(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maxItems}maxLength(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maxLength}maxProperties(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maxProperties}minimum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minimum}minItems(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minItems}minLength(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minLength}minProperties(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minProperties}multipleOf(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.multipleOf}not(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.not)return this.createModel(Xe,this._schemaObject.not,{pointer:`${this._meta.pointer}/not`,parent:this})}oneOf(){if("boolean"!=typeof this._schemaObject&&Array.isArray(this._schemaObject.oneOf))return this._schemaObject.oneOf.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/oneOf/${t}`,parent:this})))}pattern(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.pattern}patternProperties(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.patternProperties)return Object.entries(this._schemaObject.patternProperties).reduce(((e,[t,i])=>(e[t]=this.createModel(Xe,i,{pointer:`${this._meta.pointer}/patternProperties/${t}`,parent:this}),e)),{})}properties(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.properties)return Object.entries(this._schemaObject.properties).reduce(((e,[t,i])=>(e[t]=this.createModel(Xe,i,{pointer:`${this._meta.pointer}/properties/${t}`,parent:this}),e)),{})}property(e){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.properties&&"object"==typeof this._schemaObject.properties[e])return this.createModel(Xe,this._schemaObject.properties[e],{pointer:`${this._meta.pointer}/properties/${e}`,parent:this})}propertyNames(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.propertyNames)return this.createModel(Xe,this._schemaObject.propertyNames,{pointer:`${this._meta.pointer}/propertyNames`,parent:this})}readOnly(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.readOnly||!1)}required(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.required}schemaFormat(){return this._schemaFormat}then(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.then)return this.createModel(Xe,this._schemaObject.then,{pointer:`${this._meta.pointer}/then`,parent:this})}title(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.title}type(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.type}uniqueItems(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.uniqueItems||!1)}writeOnly(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.writeOnly||!1)}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}extensions(){return ze(this)}}class et extends e{id(){return this._meta.id}hasSchema(){return!0}schema(){return this.createModel(Xe,{type:"string",description:this._json.description,enum:this._json.enum,default:this._json.default,examples:this._json.examples},{pointer:`${this._meta.pointer}`})}hasLocation(){return!!this._json.location}location(){return this._json.location}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}}class tt extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class it extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.isSend()))}filterByReceive(){return this.filterBy((e=>e.isReceive()))}}class nt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class rt extends e{hasAuthorizationUrl(){return!!this.json().authorizationUrl}authorizationUrl(){return this.json().authorizationUrl}hasRefreshUrl(){return!!this._json.refreshUrl}refreshUrl(){return this._json.refreshUrl}scopes(){return this._json.availableScopes}hasTokenUrl(){return!!this.json().tokenUrl}tokenUrl(){return this.json().tokenUrl}extensions(){return ze(this)}}class st extends e{hasAuthorizationCode(){return!!this._json.authorizationCode}authorizationCode(){if(this._json.authorizationCode)return new rt(this._json.authorizationCode)}hasClientCredentials(){return!!this._json.clientCredentials}clientCredentials(){if(this._json.clientCredentials)return new rt(this._json.clientCredentials)}hasImplicit(){return!!this._json.implicit}implicit(){if(this._json.implicit)return new rt(this._json.implicit)}hasPassword(){return!!this._json.password}password(){if(this._json.password)return new rt(this._json.password)}extensions(){return ze(this)}}class ot extends e{id(){return this._meta.id}type(){return this._json.type}hasDescription(){return Ve(this)}description(){return Le(this)}hasName(){return!!this._json.name}name(){return this._json.name}hasIn(){return!!this._json.in}in(){return this._json.in}hasScheme(){return!!this._json.scheme}scheme(){return this._json.scheme}hasBearerFormat(){return!!this._json.bearerFormat}bearerFormat(){return this._json.bearerFormat}hasFlows(){return!!this._json.flows}flows(){if(this._json.flows)return new st(this._json.flows)}hasOpenIdConnectUrl(){return!!this._json.openIdConnectUrl}openIdConnectUrl(){return this._json.openIdConnectUrl}extensions(){return ze(this)}}class at extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class ct extends e{scheme(){return this._json.scheme}scopes(){return this._json.scopes||[]}}class pt extends Ue{id(){return this.operationId()||this._meta.id}hasOperationId(){return!!this._meta.id}operationId(){return this._meta.id}security(){return(this._json.security||[]).map(((e,t)=>{const i=this.createModel(ot,e,{id:"",pointer:this.jsonPath(`security/${t}`)}),n=this.createModel(ct,{scheme:i,scopes:e.scopes},{id:"",pointer:this.jsonPath(`security/${t}`)});return new at([n])}))}}class dt extends e{id(){return this._meta.id}location(){return this._json.location}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}}class ft extends e{id(){return this._meta.id}hasAddress(){return!!this._json.address}address(){if(this._json.address)return this.createModel(dt,this._json.address,{pointer:this.jsonPath("address")})}hasChannel(){return!!this._json.channel}channel(){if(this._json.channel){const e=this._json.channel[_];return this.createModel(vt,this._json.channel,{id:e,pointer:this.jsonPath("channel")})}return this._json.channel}messages(){var e;return new tt(Object.values(null!==(e=this._json.messages)&&void 0!==e?e:{}).map((e=>{const t=e[_];return this.createModel(bt,e,{id:t,pointer:this.jsonPath(`messages/${t}`)})})))}extensions(){return ze(this)}}class lt extends pt{action(){return this._json.action}isSend(){return"send"===this.action()}isReceive(){return"receive"===this.action()}servers(){const e=[],t=[];return this.channels().forEach((i=>{i.servers().forEach((i=>{const n=i.json();t.includes(n)||(t.push(n),e.push(i))}))})),new Qe(e)}channels(){if(this._json.channel){const e=this._json.channel[_];return new Ze([this.createModel(vt,this._json.channel,{id:e,pointer:`/channels/${e}`})])}return new Ze([])}messages(){const e=[];return Array.isArray(this._json.messages)?(this._json.messages.forEach(((t,i)=>{const n=t[_];e.push(this.createModel(bt,t,{id:n,pointer:this.jsonPath(`messages/${i}`)}))})),new tt(e)):(this.channels().forEach((t=>{e.push(...t.messages())})),new tt(e))}hasReply(){return!!this._json.reply}reply(){if(this._json.reply)return this.createModel(ft,this._json.reply,{pointer:this.jsonPath("reply")})}traits(){return new nt((this._json.traits||[]).map(((e,t)=>this.createModel(pt,e,{id:"",pointer:this.jsonPath(`traits/${t}`)}))))}}class ut extends t{get(e){return this.collections.find((t=>t.id()===e))}}class mt extends e{hasDescription(){return Ve(this)}description(){return Le(this)}hasLocation(){return!!this._json.location}location(){return this._json.location}extensions(){return ze(this)}}class ht extends t{get(e){return this.collections.find((t=>t.name()===e))}}class yt extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasHeaders(){return!!this._json.headers}headers(){return this._json.headers}hasPayload(){return!!this._json.payload}payload(){return this._json.payload}extensions(){return ze(this)}}class gt extends Ue{id(){var e;return this._meta.id||(null===(e=this.extensions().get(b))||void 0===e?void 0:e.value())}hasMessageId(){return!1}hasSchemaFormat(){return!1}schemaFormat(){}hasCorrelationId(){return!!this._json.correlationId}correlationId(){if(this._json.correlationId)return this.createModel(mt,this._json.correlationId,{pointer:this.jsonPath("correlationId")})}hasContentType(){return!!this._json.contentType}contentType(){var e,t;return this._json.contentType||(null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.defaultContentType)}hasHeaders(){return!!this._json.headers}headers(){if(this._json.headers)return this.createModel(Xe,this._json.headers,{pointer:this.jsonPath("headers")})}hasName(){return!!this._json.name}name(){return this._json.name}examples(){return new ht((this._json.examples||[]).map(((e,t)=>this.createModel(yt,e,{pointer:this.jsonPath(`examples/${t}`)}))))}}class bt extends gt{hasPayload(){return!!this._json.payload}payload(){if(this._json.payload)return this.createModel(Xe,this._json.payload,{pointer:this.jsonPath("payload")})}hasSchemaFormat(){return this.hasPayload()}schemaFormat(){var e;if(this.hasSchemaFormat())return null===(e=this.payload())||void 0===e?void 0:e.schemaFormat()}servers(){const e=[],t=[];return this.channels().forEach((i=>{i.servers().forEach((i=>{const n=i.json();t.includes(n)||(t.push(n),e.push(i))}))})),new Qe(e)}channels(){var e,t;const i=this._json[_],n=[],r=[];return this.operations().forEach((e=>{e.channels().forEach((e=>{const t=e.json();r.includes(t)||(r.push(t),n.push(e))}))})),Object.entries((null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.channels)||{}).forEach((([e,t])=>{const s=this.createModel(vt,t,{id:e,pointer:`/channels/${e}`});!r.includes(t)&&s.messages().some((e=>e[_]===i))&&(r.push(t),n.push(s))})),new Ze(n)}operations(){var e,t;const i=this._json[_],n=[];return Object.entries((null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.operations)||{}).forEach((([e,t])=>{const r=this.createModel(lt,t,{id:e,pointer:`/operations/${e}`});r.messages().some((e=>e[_]===i))&&n.push(r)})),new it(n)}traits(){return new ut((this._json.traits||[]).map(((e,t)=>this.createModel(gt,e,{id:"",pointer:this.jsonPath(`traits/${t}`)}))))}}class vt extends Ue{id(){return this._meta.id}address(){return this._json.address}servers(){var e,t,i;const n=[],r=null!==(e=this._json.servers)&&void 0!==e?e:[];return Object.entries(null!==(i=null===(t=this._meta.asyncapi)||void 0===t?void 0:t.parsed.servers)&&void 0!==i?i:{}).forEach((([e,t])=>{(0===r.length||r.includes(t))&&n.push(this.createModel(_t,t,{id:e,pointer:`/servers/${e}`}))})),new Qe(n)}operations(){var e,t,i;const n=[];return Object.entries(null!==(i=null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.operations)&&void 0!==i?i:{}).forEach((([e,t])=>{t.channel[_]===this._json[_]&&n.push(this.createModel(lt,t,{id:e,pointer:`/operations/${e}`}))})),new it(n)}messages(){var e;return new tt(Object.entries(null!==(e=this._json.messages)&&void 0!==e?e:{}).map((([e,t])=>this.createModel(bt,t,{id:e,pointer:this.jsonPath(`messages/${e}`)}))))}parameters(){var e;return new Ye(Object.entries(null!==(e=this._json.parameters)&&void 0!==e?e:{}).map((([e,t])=>this.createModel(et,t,{id:e,pointer:this.jsonPath(`parameters/${e}`)}))))}}class $t extends t{get(e){return this.collections.find((t=>t.id()===e))}}class jt extends e{id(){return this._meta.id}hasDescription(){return Ve(this)}description(){return Le(this)}hasDefaultValue(){return!!this._json.default}defaultValue(){return this._json.default}hasAllowedValues(){return!!this._json.enum}allowedValues(){return this._json.enum||[]}examples(){return this._json.examples||[]}extensions(){return ze(this)}}class _t extends Ue{id(){return this._meta.id}url(){let e=this.host();e.endsWith("/")||(e=`${e}/`);let t=this.pathname()||"";return t.startsWith("/")&&(t=t.substring(1)),`${this.protocol()}://${e}${t}`}host(){return this._json.host}protocol(){return this._json.protocol}hasPathname(){return!!this._json.pathname}pathname(){return this._json.pathname}hasProtocolVersion(){return!!this._json.protocolVersion}protocolVersion(){return this._json.protocolVersion}channels(){var e,t;const i=[];return Object.entries((null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.channels)||{}).forEach((([e,t])=>{const n=t.servers||[];(0===n.length||n.includes(this._json))&&i.push(this.createModel(vt,t,{id:e,pointer:`/channels/${le(e)}`}))})),new Ze(i)}operations(){const e=[],t=[];return this.channels().forEach((i=>{i.operations().forEach((i=>{const n=i.json();t.includes(n)||(e.push(i),t.push(n))}))})),new it(e)}messages(){const e=[],t=[];return this.channels().forEach((i=>{i.messages().forEach((i=>{const n=i.json();t.includes(n)||(e.push(i),t.push(n))}))})),new tt(e)}variables(){return new $t(Object.entries(this._json.variables||{}).map((([e,t])=>this.createModel(jt,t,{id:e,pointer:this.jsonPath(`variables/${e}`)}))))}security(){return(this._json.security||[]).map(((e,t)=>{const i=this.createModel(ot,e,{id:"",pointer:this.jsonPath(`security/${t}`)}),n=this.createModel(ct,{scheme:i,scopes:e.scopes},{id:"",pointer:this.jsonPath(`security/${t}`)});return new at([n])}))}}class wt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class xt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Pt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class St extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Ot extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class Et extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class At extends e{servers(){return this.createCollection("servers",Qe,_t)}channels(){return this.createCollection("channels",Ze,vt)}operations(){return this.createCollection("operations",it,lt)}messages(){return this.createCollection("messages",tt,bt)}schemas(){return this.createCollection("schemas",xt,Xe)}channelParameters(){return this.createCollection("parameters",Ye,et)}serverVariables(){return this.createCollection("serverVariables",$t,jt)}operationTraits(){return this.createCollection("operationTraits",nt,pt)}messageTraits(){return this.createCollection("messageTraits",ut,gt)}replies(){return this.createCollection("replies",Pt,ft)}replyAddresses(){return this.createCollection("replyAddresses",St,dt)}correlationIds(){return this.createCollection("correlationIds",Ot,mt)}securitySchemes(){return this.createCollection("securitySchemes",wt,ot)}tags(){return this.createCollection("tags",De,Fe)}externalDocs(){return this.createCollection("externalDocs",Et,Ne)}serverBindings(){return this.createBindings("serverBindings")}channelBindings(){return this.createBindings("channelBindings")}operationBindings(){return this.createBindings("operationBindings")}messageBindings(){return this.createBindings("messageBindings")}extensions(){return ze(this)}isEmpty(){return 0===Object.keys(this._json).length}createCollection(e,t,i){const n=[];return Object.entries(this._json[e]||{}).forEach((([t,r])=>{n.push(this.createModel(i,r,{id:t,pointer:`/components/${e}/${le(t)}`}))})),new t(n)}createBindings(e){return Object.entries(this._json[e]||{}).reduce(((t,[i,n])=>{const r=n||{},s=this.meta("asyncapi"),o=`components/${e}/${i}`;return t[i]=new qe(Object.entries(r).map((([e,t])=>this.createModel(Ce,t,{protocol:e,pointer:`${o}/${e}`}))),{originalData:r,asyncapi:s,pointer:o}),t}),{})}}class Tt extends e{version(){return this._json.asyncapi}defaultContentType(){return this._json.defaultContentType}hasDefaultContentType(){return!!this._json.defaultContentType}info(){return this.createModel(We,this._json.info,{pointer:"/info"})}servers(){return new Qe(Object.entries(this._json.servers||{}).map((([e,t])=>this.createModel(_t,t,{id:e,pointer:`/servers/${le(e)}`}))))}channels(){return new Ze(Object.entries(this._json.channels||{}).map((([e,t])=>this.createModel(vt,t,{id:e,pointer:`/channels/${le(e)}`}))))}operations(){return new it(Object.entries(this._json.operations||{}).map((([e,t])=>this.createModel(lt,t,{id:e,pointer:`/operations/${le(e)}`}))))}messages(){const e=[],t=[];return this.channels().forEach((i=>{i.messages().forEach((i=>{const n=i.json();t.includes(n)||(t.push(n),e.push(i))}))})),new tt(e)}schemas(){return l(this,xt,!1)}securitySchemes(){var e;return new wt(Object.entries((null===(e=this._json.components)||void 0===e?void 0:e.securitySchemes)||{}).map((([e,t])=>this.createModel(ot,t,{id:e,pointer:`/components/securitySchemes/${e}`}))))}components(){return this.createModel(At,this._json.components||{},{pointer:"/components"})}allServers(){const e=this.servers().all();return this.components().servers().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new Qe(e)}allChannels(){const e=this.channels().all();return this.components().channels().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new Ze(e)}allOperations(){const e=this.operations().all();return this.components().operations().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new it(e)}allMessages(){const e=this.messages().all();return this.components().messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new tt(e)}allSchemas(){return l(this,xt,!0)}extensions(){return ze(this)}}const It="$ref:$";function kt(e,t,i,n,r){let s=e,o=It;if(void 0!==t){s=e[String(t)];const i=t?`.${t}`:"";o=n.get(e)+(Array.isArray(e)?`[${t}]`:i)}n.set(s,o),r.set(o,s);const a=r.get(s);if(a&&(e[String(t)]=a),s!==It&&a!==It||(e[String(t)]=i),s===Object(s))for(const e in s)kt(s,e,i,n,r)}function Rt(e){switch(e.semver.major){case 2:return new ke(e.parsed,{asyncapi:e,pointer:"/"});case 3:return new Tt(e.parsed,{asyncapi:e,pointer:"/"});default:throw new Error(`Unsupported AsyncAPI version: ${e.semver.version}`)}}function Mt(e){return function(e){return!!e&&(e instanceof ke||e instanceof Tt||!(!e||"function"!=typeof e.json)&&3===e.json()[g])}(e)?e:function(e){return"object"==typeof e&&null!==e&&Boolean(e[h])}(e)?Rt(se(e,e)):function(e){let t=e;if("string"==typeof e)try{t=JSON.parse(e)}catch(e){return}if(function(e){try{return"object"==typeof(e="string"==typeof e?JSON.parse(e):e)&&null!==e&&Boolean(e[h])&&Boolean(e[y])}catch(e){return!1}}(t))return t=Object.assign({},t),delete t[String(y)],kt(e,void 0,e,new Map,new Map),Rt(se(t,e))}(e)}function qt(e){for(const[t,i]of Object.entries(null!=e?e:{}))i[_]||(i[_]=t),Ct(i.messages)}function Ct(e){for(const[t,i]of Object.entries(null!=e?e:{}))i[_]||(i[_]=t)}function Nt(e){return Nt="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},Nt(e)}function Dt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ft(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,n=new Array(t);i1&&p.shift(),this._hasParentSelector=null;var d=this._trace(p,t,["$"],s,o,i).filter((function(e){return e&&!e.isParentSelector}));return d.length?c||1!==d.length||d[0].hasArrExpr?d.reduce((function(e,t){var i=r._getPreferredOutput(t);return a&&Array.isArray(i)?e=e.concat(i):e.push(i),e}),[]):this._getPreferredOutput(d[0]):c?[]:void 0}},Yt.prototype._getPreferredOutput=function(e){var t=this.currResultType;switch(t){case"all":var i=Array.isArray(e.path)?e.path:Yt.toPathArray(e.path);return e.pointer=Yt.toPointer(i),e.path="string"==typeof e.path?e.path:Yt.toPathString(e.path),e;case"value":case"parent":case"parentProperty":return e[t];case"path":return Yt.toPathString(e[t]);case"pointer":return Yt.toPointer(e.path);default:throw new TypeError("Unknown result type")}},Yt.prototype._handleCallback=function(e,t,i){if(t){var n=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:Yt.toPathString(e.path),t(n,i,e)}},Yt.prototype._trace=function(e,t,i,n,r,s,o,a){var c,p=this;if(!e.length)return c={path:i,value:t,parent:n,parentProperty:r,hasArrExpr:o},this._handleCallback(c,s,"value"),c;var d=e[0],f=e.slice(1),l=[];function u(e){Array.isArray(e)?e.forEach((function(e){l.push(e)})):l.push(e)}if(("string"!=typeof d||a)&&t&&Jt.call(t,d))u(this._trace(f,t[d],Wt(i,d),t,d,s,o));else if("*"===d)this._walk(t,(function(e){u(p._trace(f,t[e],Wt(i,e),t,e,s,!0,!0))}));else if(".."===d)u(this._trace(f,t,i,n,r,s,o)),this._walk(t,(function(n){"object"===Nt(t[n])&&u(p._trace(e.slice(),t[n],Wt(i,n),t,n,s,!0))}));else{if("^"===d)return this._hasParentSelector=!0,{path:i.slice(0,-1),expr:f,isParentSelector:!0};if("~"===d)return c={path:Wt(i,d),value:r,parent:n,parentProperty:null},this._handleCallback(c,s,"property"),c;if("$"===d)u(this._trace(f,t,i,null,null,s,o));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(d))u(this._slice(d,f,t,i,n,r,s));else if(0===d.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var m=d.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(t,(function(e){p._eval(m,t[e],e,i,n,r)&&u(p._trace(f,t[e],Wt(i,e),t,e,s,!0))}))}else if("("===d[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");u(this._trace(Qt(this._eval(d,t,i[i.length-1],i.slice(0,-1),n,r),f),t,i,n,r,s,o))}else if("@"===d[0]){var h=!1,y=d.slice(1,-2);switch(y){case"scalar":t&&["object","function"].includes(Nt(t))||(h=!0);break;case"boolean":case"string":case"undefined":case"function":Nt(t)===y&&(h=!0);break;case"integer":!Number.isFinite(t)||t%1||(h=!0);break;case"number":Number.isFinite(t)&&(h=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(h=!0);break;case"object":t&&Nt(t)===y&&(h=!0);break;case"array":Array.isArray(t)&&(h=!0);break;case"other":h=this.currOtherTypeCallback(t,i,n,r);break;case"null":null===t&&(h=!0);break;default:throw new TypeError("Unknown value type "+y)}if(h)return c={path:i,value:t,parent:n,parentProperty:r},this._handleCallback(c,s,"value"),c}else if("`"===d[0]&&t&&Jt.call(t,d.slice(1))){var g=d.slice(1);u(this._trace(f,t[g],Wt(i,g),t,g,s,o,!0))}else if(d.includes(",")){var b,v=function(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=Gt(e))){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 s,o=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw s}}}}(d.split(","));try{for(v.s();!(b=v.n()).done;){var $=b.value;u(this._trace(Qt($,f),t,i,n,r,s,!0))}}catch(e){v.e(e)}finally{v.f()}}else!a&&t&&Jt.call(t,d)&&u(this._trace(f,t[d],Wt(i,d),t,d,s,o,!0))}if(this._hasParentSelector)for(var j=0;j-1?t.slice(0,a+1)+" return "+t.slice(a+1):" return "+t;return Bt(Function,i.concat([c])).apply(void 0,function(e){if(Array.isArray(e))return Ht(e)}(o=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||Gt(o)||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.")}())}}]),e}();Yt.prototype.vm={Script:Xt};const ei=["$.channels.*.[publish,subscribe]","$.components.channels.*.[publish,subscribe]","$.channels.*.[publish,subscribe].message","$.channels.*.[publish,subscribe].message.oneOf.*","$.components.channels.*.[publish,subscribe].message","$.components.channels.*.[publish,subscribe].message.oneOf.*","$.components.messages.*"];const ti=["$.operations.*","$.operations.*.channel.*","$.operations.*.channel.messages.*","$.operations.*.messages.*","$.components.operations.*","$.components.operations.*.channel.*","$.components.operations.*.channel.messages.*","$.components.operations.*.messages.*","$.channels.*.messages.*","$.components.channels.*.messages.*","$.components.messages.*"];function ii(e,t){const i=e.json(),n={document:i,hasCircular:!1,inventory:t,visited:new Set};ni(i,[],null,"",n),n.hasCircular&&ae(j,!0,e)}function ni(e,t,i,n,r){if("object"==typeof e&&e&&!r.visited.has(e)){if(r.visited.add(e),Array.isArray(e)&&e.forEach(((i,n)=>ni(i,[...t,n],e,n,r))),"$ref"in e){r.hasCircular=!0;const s=function(e,t,i){const n=function(e){return function(e){return e.split("/").filter(Boolean).map(ue)}((t=e).startsWith("#")?t.substring(1):t);var t}(e.$ref),r=i.inventory.findAssociatedItemForPath(t,!0);if(null===r)return me(i.document,n);if(r){const e=function(e,t,i=0){let n,r,s;for(n=i;n{void 0===e.name()&&ae(b,e.id(),e)}))}(e),function(e){let t=0;e.messages().forEach((e=>{var i;void 0===e.name()&&void 0===(null===(i=e.extensions().get(b))||void 0===i?void 0:i.value())&&ae(b,e.id()||``,e)}))}(e),function(e){e.components().schemas().forEach((e=>{ae(v,e.id(),e)}))}(e),function(e){e.components().channelParameters().forEach((e=>{const t=e.schema();t&&!t.id()&&ae(v,e.id(),t)}))}(e),function(e){e.channels().forEach((e=>{e.parameters().forEach((e=>{const t=e.schema();t&&!t.id()&&ae(v,e.id(),t)}))}))}(e),function(e){let t=0;c(e,(function(e){const i=e.json(),n=void 0!==i.schema?i.schema:i;e.id()||ce(v,``,n)}))}(e)}function pi(e){di(e.json())&&ae(j,!0,e)}function di(e){if(e&&"object"==typeof e&&!Array.isArray(e)){if(Object.prototype.hasOwnProperty.call(e,"$ref"))return!0;for(const t in e)if(di(e[t]))return!0}return!1}var fi=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function li(e,t,i,n,r){return fi(this,void 0,void 0,(function*(){switch(i.semver.major){case 2:return function(e,t,i,n,r){return fi(this,void 0,void 0,(function*(){pi(t),r.applyTraits&&function(e,t){const i=new Set;t.forEach((t=>{Yt({path:t,json:e,resultType:"value",callback(e){i.has(e)||(i.add(e),function(e){if(Array.isArray(e.traits))for(const t of e.traits)for(const i in t)e[String(i)]=pe(e[String(i)],t[String(i)])}(e))}})}))}(i.parsed,ei),r.parseSchemas&&(yield function(e,t){return ri(this,void 0,void 0,(function*(){const i=G(t.semver.version),n=[],r=new Set;return si.forEach((e=>{Yt({path:e,json:t.parsed,resultType:"all",callback(e){const s=e.value;if(r.has(s))return;r.add(s);const o=s.payload;if(!o)return;const a=K(s.schemaFormat,t.semver.version);n.push({input:{asyncapi:t,data:o,meta:{message:s},path:[...ai(e.path),"payload"],schemaFormat:a,defaultSchemaFormat:i},value:s})}})})),Promise.all(n.map((t=>function(e,t){return ri(this,void 0,void 0,(function*(){const i=t.input.data;i!==(t.value.payload=yield B(e,t.input))&&(t.value[$]=i)}))}(e,t))))}))}(e,i)),n&&ii(t,n),ci(t)}))}(e,t,i,n,r);case 3:return function(e,t,i,n,r){return fi(this,void 0,void 0,(function*(){pi(t),r.applyTraits&&function(e,t){const i=new Set;t.forEach((t=>{Yt({path:t,json:e,resultType:"value",callback(e){i.has(e)||(i.add(e),function(e){if(!Array.isArray(e.traits))return;const t=Object.assign({},e);for(const t in e)delete e[t];for(const i of[...t.traits,t])for(const t in i)e[String(t)]=pe(e[String(t)],i[String(t)])}(e))}})}))}(i.parsed,ti),r.parseSchemas&&(yield function(e,t){return ri(this,void 0,void 0,(function*(){const i=G(t.semver.version),n=[],r=new Set;return oi.forEach((e=>{Yt({path:e,json:t.parsed,resultType:"all",callback(e){const s=e.value;if(r.has(s))return;r.add(s);const o=s.schema;if(!o)return;let a=s.schemaFormat;a&&(a=K(s.schemaFormat,t.semver.version),n.push({input:{asyncapi:t,data:o,meta:{message:s},path:[...ai(e.path),"schema"],schemaFormat:a,defaultSchemaFormat:i},value:s}))}})})),Promise.all(n.map((t=>function(e,t){return ri(this,void 0,void 0,(function*(){var i;const n=t.input.data,r=yield B(e,t.input);void 0!==(null===(i=t.value)||void 0===i?void 0:i.schema)?t.value.schema=r:t.value=r,n!==r&&(t.value[$]=n)}))}(e,t))))}))}(e,i)),n&&ii(t,n),ci(t)}))}(e,t,i,n,r)}}))}var ui=i(63083),mi=i(69248);class hi extends Map{filterByMajorVersions(e){return new hi([...this.entries()].filter((t=>e.includes(t[0].split(".")[0]))))}excludeByVersions(e){return new hi([...this.entries()].filter((t=>!e.includes(t[0]))))}find(e){return this.get(bi(e))}formats(){return[...this.values()]}}const yi=new hi(Object.entries(u.schemas).reverse().map((([e])=>[e,gi(e)])));function gi(e){const t=t=>function(e,t){if(!t)return!1;const i=String(t.asyncapi);return de(t)&&"asyncapi"in t&&function(e){const t=oe(e);return new RegExp(`^(${t.major})\\.(${t.minor})\\.(0|[1-9][0-9]*)$`).test(e)}(i)&&e===bi(i)}(e,t),i=oe(e);return t.displayName=`AsyncAPI ${i.major}.${i.minor}.x`,t}const bi=function(e){const t=oe(e);return`${t.major}.${t.minor}.0`};function vi(e){return"oneOf"===e.keyword||"required"===e.keyword&&"$ref"===e.params.missingProperty}function $i(e){for(let t=0;t0&&vi(i)&&e[t-1].instancePath.startsWith(i.instancePath)&&(e.splice(t,1),t--)}}const ji=new Map;function _i(e,t){const i=t?`${e}-resolved`:`${e}-unresolved`,n=ji.get(i);if(n)return n;let r=function(e){return JSON.parse(JSON.stringify(m().schemas[e]))}(e);delete r.definitions["http://json-schema.org/draft-07/schema"],delete r.definitions["http://json-schema.org/draft-04/schema"],r.$id=r.$id.replace("asyncapi.json",`asyncapi-${t?"resolved":"unresolved"}.json`);const{major:s}=oe(e);return t&&3===s&&(r=function(e){e.definitions["http://asyncapi.com/definitions/3.0.0/channel.json"].properties.servers.items.$ref="http://asyncapi.com/definitions/3.0.0/server.json";const t=e.definitions["http://asyncapi.com/definitions/3.0.0/operation.json"];t.properties.channel.$ref="http://asyncapi.com/definitions/3.0.0/channel.json",t.properties.messages.items.$ref="http://asyncapi.com/definitions/3.0.0/messageObject.json";const i=e.definitions["http://asyncapi.com/definitions/3.0.0/operationReply.json"];return i.properties.channel.$ref="http://asyncapi.com/definitions/3.0.0/channel.json",i.properties.messages.items.$ref="http://asyncapi.com/definitions/3.0.0/messageObject.json",e}(r)),ji.set(i,r),r}const wi='Property "$ref" is not expected to be here',xi=(0,ne.createRulesetFunction)({input:null,options:{type:"object",properties:{resolved:{type:"boolean"}},required:["resolved"]}},((e,t,i)=>{var n;const r=null===(n=i.document)||void 0===n?void 0:n.formats;if(!r)return;const s=t.resolved,o=function(e,t){for(const[i,n]of yi)if(e.has(n))return _i(i,t)}(r,s);if(!o)return;const a=(0,mi.wQ)(e,{allErrors:!0,schema:o,prepareResults:s?$i:void 0},i);return Array.isArray(a)?function(e,t){return t?e.filter((e=>e.message!==wi)):e.filter((e=>e.message===wi)).map((e=>(e.message="Referencing in this place is not allowed",e)))}(a,s):void 0})),Pi=(0,ne.createRulesetFunction)({input:null,options:null},((e,t,{document:i,documentInventory:n})=>{i.__documentInventory=n})),Si=(0,ne.createRulesetFunction)({input:null,options:null},(e=>de(e)&&"string"==typeof e.asyncapi?x.includes(e.asyncapi)?void 0:[{message:`Version "${e.asyncapi}" is not supported. Please use "${P}" (latest) version of the specification.`,path:[]}]:[{message:'This is not an AsyncAPI document. The "asyncapi" field as string is missing.',path:[]}])),Oi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{components:{type:"object"}},required:["components"]},options:null},((e,t,i)=>{const n=e.components,r=[];return Object.keys(n).forEach((e=>{if("securitySchemes"===e)return;const t=n[e];if(!de(t))return;const s=(0,mi.fK)(t,{reusableObjectsLocation:`#/components/${e}`},i);s&&Array.isArray(s)&&r.push(...s)})),r})),Ei={description:"Core AsyncAPI x.x.x ruleset.",formats:yi.formats(),rules:{"asyncapi-is-asyncapi":{description:"The input must be a document with a supported version of AsyncAPI.",formats:[()=>!0],message:"{{error}}",severity:"error",recommended:!0,given:"$",then:{function:Si}},"asyncapi-latest-version":{description:"Checking if the AsyncAPI document is using the latest version.",message:`The latest version of AsyncAPi is not used. It is recommended update to the "${P}" version.`,recommended:!0,severity:"info",given:"$.asyncapi",then:{function:mi.wQ,functionOptions:{schema:{const:P}}}},"asyncapi-document-resolved":{description:"Checking if the AsyncAPI document has valid resolved structure.",message:"{{error}}",severity:"error",recommended:!0,given:"$",then:{function:xi,functionOptions:{resolved:!0}}},"asyncapi-document-unresolved":{description:"Checking if the AsyncAPI document has valid unresolved structure.",message:"{{error}}",severity:"error",recommended:!0,resolved:!1,given:"$",then:{function:xi,functionOptions:{resolved:!1}}},"asyncapi-internal":{description:"That rule is internal to extend Spectral functionality for Parser purposes.",recommended:!0,given:"$",then:{function:Pi}}}},Ai={description:"Recommended AsyncAPI x.x.x ruleset.",formats:yi.filterByMajorVersions(["2"]).formats(),rules:{"asyncapi-id":{description:'AsyncAPI document should have "id" field.',recommended:!0,given:"$",then:{field:"id",function:mi.vN}},"asyncapi-defaultContentType":{description:'AsyncAPI document should have "defaultContentType" field.',recommended:!0,given:"$",then:{field:"defaultContentType",function:mi.vN}},"asyncapi-info-description":{description:'Info "description" should be present and non-empty string.',recommended:!0,given:"$",then:{field:"info.description",function:mi.vN}},"asyncapi-info-contact":{description:'Info object should have "contact" object.',recommended:!0,given:"$",then:{field:"info.contact",function:mi.vN}},"asyncapi-info-contact-properties":{description:'Contact object should have "name", "url" and "email" fields.',recommended:!0,given:"$.info.contact",then:[{field:"name",function:mi.vN},{field:"url",function:mi.vN},{field:"email",function:mi.vN}]},"asyncapi-info-license":{description:'Info object should have "license" object.',recommended:!0,given:"$",then:{field:"info.license",function:mi.vN}},"asyncapi-info-license-url":{description:'License object should have "url" field.',recommended:!1,given:"$",then:{field:"info.license.url",function:mi.vN}},"asyncapi-servers":{description:'AsyncAPI document should have non-empty "servers" object.',recommended:!0,given:"$",then:{field:"servers",function:mi.wQ,functionOptions:{schema:{type:"object",minProperties:1},allErrors:!0}}},"asyncapi-unused-component":{description:"Potentially unused component has been detected in AsyncAPI document.",formats:yi.filterByMajorVersions(["2"]).formats(),recommended:!0,resolved:!1,severity:"info",given:"$",then:{function:Oi}}}};function Ti(e){if("string"!=typeof e)return[];const t=e.match(/{(.+?)}/g);return t&&0!==t.length?t.map((e=>e.slice(1,-1))):[]}function Ii(e=[],t={}){return Object.keys(t).length?e.filter((e=>!Object.prototype.hasOwnProperty.call(t,e))):e}function ki(e=[],t={}){return e.length?Object.keys(t).filter((t=>!e.includes(t))):Object.keys(t)}const Ri=(0,ne.createRulesetFunction)({input:{type:"object",properties:{parameters:{type:"object"}},required:["parameters"]},options:null},((e,t,i)=>{const n=i.path[i.path.length-1],r=[],s=Ti(n);if(0===s.length)return;const o=Ii(s,e.parameters);o.length&&r.push({message:`Not all channel's parameters are described with "parameters" object. Missed: ${o.join(", ")}.`,path:[...i.path,"parameters"]});const a=ki(s,e.parameters);return a.length&&a.forEach((e=>{r.push({message:`Channel's "parameters" object has redundant defined "${e}" parameter.`,path:[...i.path,"parameters",e]})})),r})),Mi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{servers:{type:"object"},channels:{type:"object",additionalProperties:{type:"object",properties:{servers:{type:"array",items:{type:"string"}}}}}}},options:null},(e=>{var t,i;const n=[];if(!e.channels)return n;const r=Object.keys(null!==(t=e.servers)&&void 0!==t?t:{});return Object.entries(null!==(i=e.channels)&&void 0!==i?i:{}).forEach((([e,t])=>{t.servers&&t.servers.forEach(((t,i)=>{r.includes(t)||n.push({message:'Channel contains server that are not defined on the "servers" object.',path:["channels",e,"servers",i]})}))})),n}));var qi=i(46734);function Ci(e,t){if(!(0,qi.isPlainObject)(t))return t;const i=(0,qi.isPlainObject)(e)?Object.assign({},e):{};return Object.keys(t).forEach((e=>{const n=t[e];null===n?delete i[e]:i[e]=Ci(i[e],n)})),i}const Ni=(0,ne.createRulesetFunction)({input:{type:"object",properties:{traits:{type:"array",items:{type:"object"}}}},options:{type:"object",properties:{idField:{type:"string",enum:["operationId","messageId"]}}}},((e,t,i)=>{const n=function(e){if(Array.isArray(e.traits)){e=Object.assign({},e);for(const t of e.traits)for(const i in t)e[i]=Ci(e[i],t[i])}return e}(e);return(0,mi.vN)(n[t.idField],null,i)}));function Di(e,t){return e||"boolean"==typeof e?"boolean"==typeof e&&(e=!0===e?{}:{not:{}}):e="headers"===t?{type:"object"}:{},e}function Fi(e){var t;return Array.isArray(e.examples)&&null!==(t=e.examples.map(((e,t)=>({path:["examples",t],value:e}))))&&void 0!==t?t:[]}function Ui(e,t,i,n,r){return(0,mi.wQ)(e,{allErrors:!0,schema:n},Object.assign(Object.assign({},r),{path:[...r.path,...t,i]}))}const Vi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{name:{type:"string"},summary:{type:"string"}}},options:null},((e,t,i)=>{if(!e.examples)return;const n=[],r=Di(e.payload,"payload"),s=Di(e.headers,"headers");for(const t of Fi(e)){const{path:e,value:o}=t;if(void 0!==o.payload){const t=Ui(o.payload,e,"payload",r,i);Array.isArray(t)&&n.push(...t)}if(void 0!==o.headers){const t=Ui(o.headers,e,"headers",s,i);Array.isArray(t)&&n.push(...t)}}return n}));var Li=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function zi(e){return{description:"Examples of message object should validate against a payload with an explicit schemaFormat.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels.*.[publish,subscribe][?(@property === 'message' && @.schemaFormat !== void 0)]","$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message[?(@property === 'message' && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]","$.components.messages[?(!@null && @.schemaFormat !== void 0)]","$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]","$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.messages.*.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.messageTraits[?(!@null && @.schemaFormat !== void 0)]"],then:{function:Bi(e)}}}function Bi(e){return(0,ne.createRulesetFunction)({input:{type:"object",properties:{name:{type:"string"},summary:{type:"string"}}},options:null},((t,i,n)=>Li(this,void 0,void 0,(function*(){if(!t.examples)return;if(!t.payload)return;const i=n.document,r=i.data,s=K(t.schemaFormat,r.asyncapi),o=G(r.asyncapi),a={asyncapi:se(r,i.__parserInput,i.source||void 0),rootPath:n.path,schemaFormat:s,defaultSchemaFormat:o},c=[],p=yield function(e,t,i){return Li(this,void 0,void 0,(function*(){const n=[...i.rootPath,"payload"];if(void 0===t)return{path:n,schema:void 0,errors:[]};try{const r={asyncapi:i.asyncapi,data:t,meta:{},path:n,schemaFormat:i.schemaFormat,defaultSchemaFormat:i.defaultSchemaFormat};return{path:n,schema:yield B(e,r),errors:[]}}catch(e){return{path:n,schema:void 0,errors:[{message:`Error thrown during schema validation. Name: ${e.name}, message: ${e.message}, stack: ${e.stack}`,path:n}]}}}))}(e,t.payload,a),d=p.schema;c.push(...p.errors);for(const e of Fi(t)){const{path:t,value:i}=e;if(void 0!==i.payload&&void 0!==d){const e=Ui(i.payload,t,"payload",d,n);Array.isArray(e)&&c.push(...e)}}return c}))))}function*Ki(e){const t=null==e?void 0:e.channels;if(!de(t))return{};for(const[e,i]of Object.entries(t))de(i)&&(de(i.subscribe)&&(yield{path:["channels",e,"subscribe"],kind:"subscribe",operation:i.subscribe}),de(i.publish)&&(yield{path:["channels",e,"publish"],kind:"publish",operation:i.publish}))}function Gi(e){if(Array.isArray(e.traits))for(let t=e.traits.length-1;t>=0;t--){const i=e.traits[t];if(de(i)&&"string"==typeof i.messageId)return{messageId:i.messageId,path:["traits",t,"messageId"]}}if("string"==typeof e.messageId)return{messageId:e.messageId,path:["messageId"]}}const Hi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{channels:{type:"object",properties:{subscribe:{type:"object",properties:{message:{oneOf:[{type:"object"},{type:"object",properties:{oneOf:{type:"array"}}}]}}},publish:{type:"object",properties:{message:{oneOf:[{type:"object"},{type:"object",properties:{oneOf:{type:"array"}}}]}}}}}}},options:null},(e=>{const t=[],i=function*(e){for(const{path:t,operation:i}of Ki(e)){if(!de(i))continue;const e=i.message;if(!de(e))continue;const n=e.oneOf;if(Array.isArray(n))for(const[e,i]of n.entries())de(i)&&(yield{path:[...t,"message","oneOf",e],message:i});else yield{path:[...t,"message"],message:e}}}(e),n=[];for(const{path:e,message:r}of i){const i=Gi(r);void 0!==i&&(n.includes(i.messageId)?t.push({message:'"messageId" must be unique across all the messages.',path:[...e,...i.path]}):n.push(i.messageId))}return t}));function Ji(e){if(Array.isArray(e.traits))for(let t=e.traits.length-1;t>=0;t--){const i=e.traits[t];if(de(i)&&"string"==typeof i.operationId)return{operationId:i.operationId,path:["traits",t,"operationId"]}}if("string"==typeof e.operationId)return{operationId:e.operationId,path:["operationId"]}}const Wi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{channels:{type:"object",properties:{subscribe:{type:"object"},publish:{type:"object"}}}}},options:null},(e=>{const t=[],i=Ki(e),n=[];for(const{path:e,operation:r}of i){const i=Ji(r);void 0!==i&&(n.includes(i.operationId)?t.push({message:'"operationId" must be unique across all the operations.',path:[...e,...i.path]}):n.push(i.operationId))}return t})),Qi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{default:{},examples:{type:"array"}},errorMessage:'#{{print("property")}must be an object containing "default" or an "examples" array'},errorOnInvalidInput:!0,options:{type:"object",properties:{type:{enum:["default","examples"]}},additionalProperties:!1,required:["type"]}},((e,t,i)=>{const n=e,r=[];for(const s of function(e,t){return"default"===t?[{path:["default"],value:e.default}]:Array.isArray(e.examples)?Array.from(e.examples.entries()).map((([e,t])=>({path:["examples",e],value:t}))):[]}(e,t.type)){const e=(0,mi.wQ)(s.value,{schema:n,allErrors:!0},Object.assign(Object.assign({},i),{path:[...i.path,...s.path]}));Array.isArray(e)&&r.push(...e)}return r})),Zi=["implicit","password","clientCredentials","authorizationCode"],Yi=(0,ne.createRulesetFunction)({input:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},options:{type:"object",properties:{objectType:{type:"string",enum:["Server","Operation"]}}}},((e={},{objectType:t},i)=>{var n,r;const s=[],o=i.document.data,a=null!==(r=null===(n=null==o?void 0:o.components)||void 0===n?void 0:n.securitySchemes)&&void 0!==r?r:{},c=Object.keys(a);return Object.keys(e).forEach((n=>{var r;c.includes(n)||s.push({message:`${t} must not reference an undefined security scheme.`,path:[...i.path,n]});const o=a[n];if("oauth2"===(null==o?void 0:o.type)){const t=function(e){const t=[];return Zi.forEach((i=>{const n=e[i];de(n)&&t.push(...Object.keys(n.scopes))})),Array.from(new Set(t))}(null!==(r=o.flows)&&void 0!==r?r:{});e[n].forEach(((e,r)=>{t.includes(e)||s.push({message:`Non-existing security scope for the specified security scheme. Available: [${t.join(", ")}]`,path:[...i.path,n,r]})}))}})),s})),Xi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{url:{type:"string"},variables:{type:"object"}},required:["url","variables"]},options:null},((e,t,i)=>{const n=[],r=Ti(e.url);if(0===r.length)return n;const s=Ii(r,e.variables);s.length&&n.push({message:`Not all server's variables are described with "variables" object. Missed: ${s.join(", ")}.`,path:[...i.path,"variables"]});const o=ki(r,e.variables);return o.length&&o.forEach((e=>{n.push({message:`Server's "variables" object has redundant defined "${e}" url variable.`,path:[...i.path,"variables",e]})})),n})),en=(0,ne.createRulesetFunction)({input:{type:"object",properties:{components:{type:"object"}},required:["components"]},options:null},(e=>{var t;const i=null===(t=e.components)||void 0===t?void 0:t.securitySchemes;if(!de(i))return;const n=[];de(e.servers)&&Object.values(e.servers).forEach((e=>{Array.isArray(e.security)&&e.security.forEach((e=>{n.push(...Object.keys(e))}))}));const r=Ki(e);for(const{operation:e}of r)Array.isArray(e.security)&&e.security.forEach((e=>{n.push(...Object.keys(e))}));const s=new Set(n),o=Object.keys(i),a=[];return o.forEach((e=>{s.has(e)||a.push({message:"Potentially unused security scheme has been detected in AsyncAPI document.",path:["components","securitySchemes",e]})})),a})),tn=(0,ne.createRulesetFunction)({input:{type:"array",items:{type:"object",properties:{name:{type:"string"}},required:["name"]}},options:null},((e,t,i)=>{const n=function(e){return e.map((e=>e.name)).reduce(((e,t,i,n)=>(n.indexOf(t)!==i&&e.push(i),e)),[])}(e);if(0===n.length)return[];const r=[];for(const t of n){const n=e[t].name;r.push({message:`"tags" object contains duplicate tag name "${n}".`,path:[...i.path,t,"name"]})}return r}));var nn=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function rn(e){return{description:"Custom schema must be correctly formatted from the point of view of the used format.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels.*.[publish,subscribe].message","$.channels.*.[publish,subscribe].message.oneOf.*","$.components.channels.*.[publish,subscribe].message","$.components.channels.*.[publish,subscribe].message.oneOf.*","$.components.messages.*"],then:{function:sn(e)}}}function sn(e){return(0,ne.createRulesetFunction)({input:{type:"object",properties:{schemaFormat:{type:"string"},payload:!0}},options:null},((...t)=>nn(this,[...t],void 0,(function*(t={},i,n){if(!t.payload)return[];const r=[...n.path,"payload"],s=n.document,o=s.data,a=K(t.schemaFormat,o.asyncapi),c=G(o.asyncapi),p={asyncapi:se(o,s.__parserInput,s.source||void 0),data:t.payload,meta:{},path:r,schemaFormat:a,defaultSchemaFormat:c};try{return yield function(e,t){return z(this,void 0,void 0,(function*(){const i=e.parserRegistry.get(t.schemaFormat);if(void 0===i){const{path:e,schemaFormat:i}=t;return e.pop(),[{message:`Unknown schema format: "${i}"`,path:[...e,"schemaFormat"]},{message:`Cannot validate and parse given schema due to unknown schema format: "${i}"`,path:[...e,"payload"]}]}return i.validate(t)}))}(e,p)}catch(e){return[{message:`Error thrown during schema validation. Name: ${e.name}, message: ${e.message}, stack: ${e.stack}`,path:r}]}}))))}const on={description:"Core AsyncAPI 2.x.x ruleset.",formats:yi.filterByMajorVersions(["2"]).formats(),rules:{"asyncapi2-server-security":{description:"Server have to reference a defined security schemes.",message:"{{error}}",severity:"error",recommended:!0,given:"$.servers.*.security.*",then:{function:Yi,functionOptions:{objectType:"Server"}}},"asyncapi2-server-variables":{description:"Server variables must be defined and there must be no redundant variables.",message:"{{error}}",severity:"error",recommended:!0,given:["$.servers.*","$.components.servers.*"],then:{function:Xi}},"asyncapi2-channel-no-query-nor-fragment":{description:'Channel address should not include query ("?") or fragment ("#") delimiter.',severity:"error",recommended:!0,given:"$.channels",then:{field:"@key",function:mi.T1,functionOptions:{notMatch:"[\\?#]"}}},"asyncapi2-channel-parameters":{description:"Channel parameters must be defined and there must be no redundant parameters.",message:"{{error}}",severity:"error",recommended:!0,given:"$.channels.*",then:{function:Ri}},"asyncapi2-channel-servers":{description:'Channel servers must be defined in the "servers" object.',message:"{{error}}",severity:"error",recommended:!0,given:"$",then:{function:Mi}},"asyncapi2-operation-operationId-uniqueness":{description:'"operationId" must be unique across all the operations.',severity:"error",recommended:!0,given:"$",then:{function:Wi}},"asyncapi2-operation-security":{description:"Operation have to reference a defined security schemes.",message:"{{error}}",severity:"error",recommended:!0,given:"$.channels[*][publish,subscribe].security.*",then:{function:Yi,functionOptions:{objectType:"Operation"}}},"asyncapi2-message-examples":{description:'Examples of message object should validate againt the "payload" and "headers" schemas.',message:"{{error}}",severity:"error",recommended:!0,given:["$.channels.*.[publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)]","$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]","$.components.messages[?(!@null && @.schemaFormat === void 0)]","$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]","$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]","$.components.messages.*.traits[?(!@null && @.schemaFormat === void 0)]","$.components.messageTraits[?(!@null && @.schemaFormat === void 0)]"],then:{function:Vi}},"asyncapi2-message-messageId-uniqueness":{description:'"messageId" must be unique across all the messages.',severity:"error",recommended:!0,given:"$",then:{function:Hi}},"asyncapi2-tags-uniqueness":{description:"Each tag must have a unique name.",message:"{{error}}",severity:"error",recommended:!0,given:["$.tags","$.channels.*.[publish,subscribe].tags","$.components.channels.*.[publish,subscribe].tags","$.channels.*.[publish,subscribe].traits.*.tags","$.components.channels.*.[publish,subscribe].traits.*.tags","$.components.operationTraits.*.tags","$.channels.*.[publish,subscribe].message.tags","$.channels.*.[publish,subscribe].message.oneOf.*.tags","$.components.channels.*.[publish,subscribe].message.tags","$.components.channels.*.[publish,subscribe].message.oneOf.*.tags","$.components.messages.*.tags","$.channels.*.[publish,subscribe].message.traits.*.tags","$.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags","$.components.channels.*.[publish,subscribe].message.traits.*.tags","$.components.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags","$.components.messages.*.traits.*.tags","$.components.messageTraits.*.tags"],then:{function:tn}}}},an=e=>({description:"Schemas AsyncAPI 2.x.x ruleset.",rules:{"asyncapi2-schemas":rn(e),"asyncapi2-schema-default":{description:"Default must be valid against its defined schema.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.default^","$.channels.*.parameters.*.schema.default^","$.components.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.default^","$.components.channels.*.parameters.*.schema.default^","$.components.schemas.*.default^","$.components.parameters.*.schema.default^","$.components.messages[?(@.schemaFormat === void 0)].payload.default^","$.components.messageTraits[?(@.schemaFormat === void 0)].payload.default^"],then:{function:Qi,functionOptions:{type:"default"}}},"asyncapi2-schema-examples":{description:"Examples must be valid against their defined schema.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.examples^","$.channels.*.parameters.*.schema.examples^","$.components.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.examples^","$.components.channels.*.parameters.*.schema.examples^","$.components.schemas.*.examples^","$.components.parameters.*.schema.examples^","$.components.messages[?(@.schemaFormat === void 0)].payload.examples^","$.components.messageTraits[?(@.schemaFormat === void 0)].payload.examples^"],then:{function:Qi,functionOptions:{type:"examples"}}},"asyncapi2-message-examples-custom-format":zi(e)}}),cn={description:"Recommended AsyncAPI 2.x.x ruleset.",formats:yi.filterByMajorVersions(["2"]).formats(),rules:{"asyncapi2-tags":{description:'AsyncAPI object should have non-empty "tags" array.',recommended:!0,given:"$",then:{field:"tags",function:mi.vN}},"asyncapi2-server-no-empty-variable":{description:"Server URL should not have empty variable substitution pattern.",recommended:!0,given:"$.servers[*].url",then:{function:mi.T1,functionOptions:{notMatch:"{}"}}},"asyncapi2-server-no-trailing-slash":{description:"Server URL should not end with slash.",recommended:!0,given:"$.servers[*].url",then:{function:mi.T1,functionOptions:{notMatch:"/$"}}},"asyncapi2-channel-no-empty-parameter":{description:"Channel address should not have empty parameter substitution pattern.",recommended:!0,given:"$.channels",then:{field:"@key",function:mi.T1,functionOptions:{notMatch:"{}"}}},"asyncapi2-channel-no-trailing-slash":{description:"Channel address should not end with slash.",recommended:!0,given:"$.channels",then:{field:"@key",function:mi.T1,functionOptions:{notMatch:".+\\/$"}}},"asyncapi2-operation-operationId":{description:'Operation should have an "operationId" field defined.',recommended:!0,given:["$.channels[*][publish,subscribe]","$.components.channels[*][publish,subscribe]"],then:{function:Ni,functionOptions:{idField:"operationId"}}},"asyncapi2-message-messageId":{description:'Message should have a "messageId" field defined.',recommended:!0,formats:yi.filterByMajorVersions(["2"]).excludeByVersions(["2.0.0","2.1.0","2.2.0","2.3.0"]).formats(),given:['$.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]',"$.channels.*.[publish,subscribe].message.oneOf.*",'$.components.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]',"$.components.channels.*.[publish,subscribe].message.oneOf.*","$.components.messages.*"],then:{function:Ni,functionOptions:{idField:"messageId"}}},"asyncapi2-unused-securityScheme":{description:"Potentially unused security scheme has been detected in AsyncAPI document.",recommended:!0,resolved:!1,severity:"info",given:"$",then:{function:en}}}},pn={type:"object",properties:{$ref:{type:"string",format:"uri-reference"}}},dn=(0,ne.createRulesetFunction)({input:{type:"object",properties:{channel:pn,messages:{type:"array",items:pn}}},options:null},((e,t,i)=>{var n,r;const s=[],o=null===(n=e.channel)||void 0===n?void 0:n.$ref;return null===(r=e.messages)||void 0===r||r.forEach(((e,t)=>{e.$ref.startsWith(`${o}/messages`)||s.push({message:"Operation message does not belong to the specified channel.",path:[...i.path,"messages",t]})})),s})),fn={description:"Core AsyncAPI 3.x.x ruleset.",formats:yi.filterByMajorVersions(["3"]).formats(),rules:{"asyncapi3-operation-messages-from-referred-channel":{description:'Operation "messages" must be a subset of the messages defined in the channel referenced in this operation.',message:"{{error}}",severity:"error",recommended:!0,resolved:!1,given:["$.operations.*","$.components.operations.*"],then:{function:dn}},"asyncapi3-required-operation-channel-unambiguity":{description:'The "channel" field of an operation under the root "operations" object must always reference a channel under the root "channels" object.',severity:"error",recommended:!0,resolved:!1,given:"$.operations.*",then:{field:"channel.$ref",function:mi.T1,functionOptions:{match:"#\\/channels\\/"}}},"asyncapi3-required-channel-servers-unambiguity":{description:'The "servers" field of a channel under the root "channels" object must always reference a subset of the servers under the root "servers" object.',severity:"error",recommended:!0,resolved:!1,given:"$.channels.*",then:{field:"$.servers.*.$ref",function:mi.T1,functionOptions:{match:"#\\/servers\\/"}}}}};var ln=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);rObject.assign(Object.assign({},e),{order:e.order||Number.MAX_SAFE_INTEGER,canRead:void 0===e.canRead||e.canRead}))),i=[...new Set(t.map((e=>e.schema)))].reduce(((e,i)=>(e[i]={resolve:bn(i,t)},e)),{}),n=!1!==e.cache;return new un.Resolver({uriCache:n?void 0:new mn.Cache({stdTTL:1}),resolvers:i})}function bn(e,t){const i=t.filter((t=>t.schema===e)).sort(((e,t)=>e.order-t.order));return(t,n)=>yn(this,void 0,void 0,(function*(){let r,s;for(const e of i)try{if(!vn(e,t,n))continue;if(r=yield e.read(t,n),"string"==typeof r)break}catch(e){s=e;continue}if("string"!=typeof r)throw s||new Error(`None of the available resolvers for "${e}" can resolve the given reference.`);return r}))}function vn(e,t,i){return"function"==typeof e.canRead?e.canRead(t,i):e.canRead}function $n(e,t={}){var i;const n=null===(i=t.__unstable)||void 0===i?void 0:i.resolver,r=new ne.Spectral({resolver:gn(n)}),s=function(e,t){var i;const n=t||{},{core:r=!0,recommended:s=!0}=n,o=ln(n,["core","recommended"]),a=[r&&Ei,s&&Ai,r&&on,r&&an(e),s&&cn,r&&fn,...(null===(i=t||{})||void 0===i?void 0:i.extends)||[]].filter(Boolean);return Object.assign(Object.assign({},o||{}),{extends:a})}(e,t.ruleset);return r.setRuleset(s),r}var jn=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};const _n={allowedSeverity:{error:!1,warning:!0,info:!0,hint:!0},__unstable:{}};function wn(e,t,i){return jn(this,arguments,void 0,(function*(e,t,i,n={}){var r;let s;try{const{allowedSeverity:o}=pe(_n,n),a=function(e){return"string"==typeof e?e:JSON.stringify(e,void 0,2)}(i);s=new ne.Document(a,ui.Yaml,n.source),s.__parserInput=i;const c=(null===(r=n.__unstable)||void 0===r?void 0:r.resolver)?$n(e,n):t;let{resolved:p,results:d}=yield c.runWithResolved(s,{});return(!(null==o?void 0:o.error)&&d.some((e=>e.severity===re.h_.Error))||!(null==o?void 0:o.warning)&&d.some((e=>e.severity===re.h_.Warning))||!(null==o?void 0:o.info)&&function(e){return e.some((e=>e.severity===re.h_.Information))}(d)||!(null==o?void 0:o.hint)&&function(e){return e.some((e=>e.severity===re.h_.Hint))}(d))&&(p=void 0),{validated:p,diagnostics:d,extras:{document:s}}}catch(e){return{validated:void 0,diagnostics:fe(e,"Error thrown during AsyncAPI document validation",s),extras:{document:s}}}}))}function xn(e){return null==e}var Pn={isNothing:xn,isObject:function(e){return"object"==typeof e&&null!==e},toArray:function(e){return Array.isArray(e)?e:xn(e)?[]:[e]},repeat:function(e,t){var i,n="";for(i=0;ia&&(t=n-a+(s=" ... ").length),i-n>a&&(i=n+a-(o=" ...").length),{str:s+e.slice(t,i).replace(/\t/g,"→")+o,pos:n-t+s.length}}function Tn(e,t){return Pn.repeat(" ",t-e.length)+e}var In=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var i,n=/\r?\n|\r|\0/g,r=[0],s=[],o=-1;i=n.exec(e.buffer);)s.push(i.index),r.push(i.index+i[0].length),e.position<=i.index&&o<0&&(o=r.length-2);o<0&&(o=r.length-1);var a,c,p="",d=Math.min(e.line+t.linesAfter,s.length).toString().length,f=t.maxLength-(t.indent+d+3);for(a=1;a<=t.linesBefore&&!(o-a<0);a++)c=An(e.buffer,r[o-a],s[o-a],e.position-(r[o]-r[o-a]),f),p=Pn.repeat(" ",t.indent)+Tn((e.line-a+1).toString(),d)+" | "+c.str+"\n"+p;for(c=An(e.buffer,r[o],s[o],e.position,f),p+=Pn.repeat(" ",t.indent)+Tn((e.line+1).toString(),d)+" | "+c.str+"\n",p+=Pn.repeat("-",t.indent+d+3+c.pos)+"^\n",a=1;a<=t.linesAfter&&!(o+a>=s.length);a++)c=An(e.buffer,r[o+a],s[o+a],e.position-(r[o]-r[o+a]),f),p+=Pn.repeat(" ",t.indent)+Tn((e.line+a+1).toString(),d)+" | "+c.str+"\n";return p.replace(/\n$/,"")},kn=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Rn=["scalar","sequence","mapping"],Mn=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===kn.indexOf(t))throw new En('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(i){e[i].forEach((function(e){t[String(e)]=i}))})),t}(t.styleAliases||null),-1===Rn.indexOf(this.kind))throw new En('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function qn(e,t){var i=[];return e[t].forEach((function(e){var t=i.length;i.forEach((function(i,n){i.tag===e.tag&&i.kind===e.kind&&i.multi===e.multi&&(t=n)})),i[t]=e})),i}function Cn(e){return this.extend(e)}Cn.prototype.extend=function(e){var t=[],i=[];if(e instanceof Mn)i.push(e);else if(Array.isArray(e))i=i.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new En("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(i=i.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Mn))throw new En("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new En("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new En("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),i.forEach((function(e){if(!(e instanceof Mn))throw new En("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var n=Object.create(Cn.prototype);return n.implicit=(this.implicit||[]).concat(t),n.explicit=(this.explicit||[]).concat(i),n.compiledImplicit=qn(n,"implicit"),n.compiledExplicit=qn(n,"explicit"),n.compiledTypeMap=function(){var e,t,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(e){e.multi?(i.multi[e.kind].push(e),i.multi.fallback.push(e)):i[e.kind][e.tag]=i.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Hn=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),Jn=/^[-+]?[0-9]+e/,Wn=new Mn("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!Hn.test(e)||"_"===e[e.length-1])},construct:function(e){var t,i;return i="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===i?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:i*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||Pn.isNegativeZero(e))},represent:function(e,t){var i;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Pn.isNegativeZero(e))return"-0.0";return i=e.toString(10),Jn.test(i)?i.replace("e",".e"):i},defaultStyle:"lowercase"}),Qn=Vn.extend({implicit:[Ln,zn,Gn,Wn]}),Zn=Qn,Yn=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Xn=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]))?))?$"),er=new Mn("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==Yn.exec(e)||null!==Xn.exec(e))},construct:function(e){var t,i,n,r,s,o,a,c,p=0,d=null;if(null===(t=Yn.exec(e))&&(t=Xn.exec(e)),null===t)throw new Error("Date resolve error");if(i=+t[1],n=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(i,n,r));if(s=+t[4],o=+t[5],a=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+="0";p=+p}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(i,n,r,s,o,a,p)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}}),tr=new Mn("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),ir="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",nr=new Mn("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,i,n=0,r=e.length,s=ir;for(i=0;i64)){if(t<0)return!1;n+=6}return n%8==0},construct:function(e){var t,i,n=e.replace(/[\r\n=]/g,""),r=n.length,s=ir,o=0,a=[];for(t=0;t>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|s.indexOf(n.charAt(t));return 0==(i=r%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===i?(a.push(o>>10&255),a.push(o>>2&255)):12===i&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,i,n="",r=0,s=e.length,o=ir;for(t=0;t>18&63],n+=o[r>>12&63],n+=o[r>>6&63],n+=o[63&r]),r=(r<<8)+e[t];return 0==(i=s%3)?(n+=o[r>>18&63],n+=o[r>>12&63],n+=o[r>>6&63],n+=o[63&r]):2===i?(n+=o[r>>10&63],n+=o[r>>4&63],n+=o[r<<2&63],n+=o[64]):1===i&&(n+=o[r>>2&63],n+=o[r<<4&63],n+=o[64],n+=o[64]),n}}),rr=Object.prototype.hasOwnProperty,sr=Object.prototype.toString,or=new Mn("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,i,n,r,s,o=[],a=e;for(t=0,i=a.length;t>10),56320+(e-65536&1023))}for(var Rr=new Array(256),Mr=new Array(256),qr=0;qr<256;qr++)Rr[qr]=Ir(qr)?1:0,Mr[qr]=Ir(qr);function Cr(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||fr,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Nr(e,t){var i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=In(i),new En(t,i)}function Dr(e,t){throw Nr(e,t)}function Fr(e,t){e.onWarning&&e.onWarning.call(null,Nr(e,t))}var Ur={YAML:function(e,t,i){var n,r,s;null!==e.version&&Dr(e,"duplication of %YAML directive"),1!==i.length&&Dr(e,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&Dr(e,"ill-formed argument of the YAML directive"),r=parseInt(n[1],10),s=parseInt(n[2],10),1!==r&&Dr(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=s<2,1!==s&&2!==s&&Fr(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,r;2!==i.length&&Dr(e,"TAG directive accepts exactly two arguments"),n=i[0],r=i[1],wr.test(n)||Dr(e,"ill-formed tag handle (first argument) of the TAG directive"),lr.call(e.tagMap,n)&&Dr(e,'there is a previously declared suffix for "'+n+'" tag handle'),xr.test(r)||Dr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r)}catch(t){Dr(e,"tag prefix is malformed: "+r)}e.tagMap[n]=r}};function Vr(e,t,i,n){var r,s,o,a;if(t1&&(e.result+=Pn.repeat("\n",t-1))}function Jr(e,t){var i,n,r=e.tag,s=e.anchor,o=[],a=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),n=e.input.charCodeAt(e.position);0!==n&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,Dr(e,"tab characters must not be used in indentation")),45===n)&&Er(e.input.charCodeAt(e.position+1));)if(a=!0,e.position++,Kr(e,!0,-1)&&e.lineIndent<=t)o.push(null),n=e.input.charCodeAt(e.position);else if(i=e.line,Zr(e,t,hr,!1,!0),o.push(e.result),Kr(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==n)Dr(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(g&&(o=e.line,a=e.lineStart,c=e.position),Zr(e,t,yr,!0,r)&&(g?h=e.result:y=e.result),g||(zr(e,l,u,m,h,y,o,a,c),m=h=y=null),Kr(e,!0,-1),p=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&0!==p)Dr(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===r?Dr(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?Dr(e,"repeat of an indentation width identifier"):(d=t+r-1,p=!0)}if(Or(s)){do{s=e.input.charCodeAt(++e.position)}while(Or(s));if(35===s)do{s=e.input.charCodeAt(++e.position)}while(!Sr(s)&&0!==s)}for(;0!==s;){for(Br(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!p||e.lineIndentd&&(d=e.lineIndent),Sr(s))f++;else{if(e.lineIndent0){for(r=o,s=0;r>0;r--)(o=Tr(a=e.input.charCodeAt(++e.position)))>=0?s=(s<<4)+o:Dr(e,"expected hexadecimal character");e.result+=kr(s),e.position++}else Dr(e,"unknown escape sequence");i=n=e.position}else Sr(a)?(Vr(e,i,n,!0),Hr(e,Kr(e,!1,t)),i=n=e.position):e.position===e.lineStart&&Gr(e)?Dr(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Dr(e,"unexpected end of the stream within a double quoted scalar")}(e,l)?y=!0:function(e){var t,i,n;if(42!==(n=e.input.charCodeAt(e.position)))return!1;for(n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!Er(n)&&!Ar(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&Dr(e,"name of an alias node must contain at least one character"),i=e.input.slice(t,e.position),lr.call(e.anchorMap,i)||Dr(e,'unidentified alias "'+i+'"'),e.result=e.anchorMap[i],Kr(e,!0,-1),!0}(e)?(y=!0,null===e.tag&&null===e.anchor||Dr(e,"alias node should not have any properties")):function(e,t,i){var n,r,s,o,a,c,p,d,f=e.kind,l=e.result;if(Er(d=e.input.charCodeAt(e.position))||Ar(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(Er(n=e.input.charCodeAt(e.position+1))||i&&Ar(n)))return!1;for(e.kind="scalar",e.result="",r=s=e.position,o=!1;0!==d;){if(58===d){if(Er(n=e.input.charCodeAt(e.position+1))||i&&Ar(n))break}else if(35===d){if(Er(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&Gr(e)||i&&Ar(d))break;if(Sr(d)){if(a=e.line,c=e.lineStart,p=e.lineIndent,Kr(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=s,e.line=a,e.lineStart=c,e.lineIndent=p;break}}o&&(Vr(e,r,s,!1),Hr(e,e.line-a),r=s=e.position,o=!1),Or(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return Vr(e,r,s,!1),!!e.result||(e.kind=f,e.result=l,!1)}(e,l,ur===i)&&(y=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(y=a&&Jr(e,u))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&Dr(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,p=e.implicitTypes.length;c"),null!==e.result&&f.kind!==e.kind&&Dr(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result,e.tag)?(e.result=f.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):Dr(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||y}function Yr(e){var t,i,n,r,s=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(r=e.input.charCodeAt(e.position))&&(Kr(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(o=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!Er(r);)r=e.input.charCodeAt(++e.position);for(n=[],(i=e.input.slice(t,e.position)).length<1&&Dr(e,"directive name must not be less than one character in length");0!==r;){for(;Or(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!Sr(r));break}if(Sr(r))break;for(t=e.position;0!==r&&!Er(r);)r=e.input.charCodeAt(++e.position);n.push(e.input.slice(t,e.position))}0!==r&&Br(e),lr.call(Ur,i)?Ur[i](e,i,n):Fr(e,'unknown document directive "'+i+'"')}Kr(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,Kr(e,!0,-1)):o&&Dr(e,"directives end mark is expected"),Zr(e,e.lineIndent-1,yr,!1,!0),Kr(e,!0,-1),e.checkLineBreaks&&jr.test(e.input.slice(s,e.position))&&Fr(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Gr(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,Kr(e,!0,-1)):e.position=55296&&n<=56319&&t+1=56320&&i<=57343?1024*(n-55296)+i-56320+65536:n}function Vs(e){return/^\n* /.test(e)}var Ls=1,zs=2,Bs=3,Ks=4,Gs=5;function Hs(e,t,i,n,r){e.dump=function(){if(0===t.length)return e.quotingType===ks?'""':"''";if(!e.noCompatMode&&(-1!==As.indexOf(t)||Ts.test(t)))return e.quotingType===ks?'"'+t+'"':"'"+t+"'";var s=e.indent*Math.max(1,i),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-s),a=n||e.flowLevel>-1&&i>=e.flowLevel;switch(function(e,t,i,n,r,s,o,a){var c,p,d=0,f=null,l=!1,u=!1,m=-1!==n,h=-1,y=Ns(p=Us(e,0))&&p!==ns&&!Cs(p)&&p!==ys&&p!==$s&&p!==gs&&p!==hs&&p!==_s&&p!==ws&&p!==Ps&&p!==Os&&p!==ds&&p!==ls&&p!==ms&&p!==cs&&p!==Ss&&p!==bs&&p!==vs&&p!==us&&p!==ps&&p!==fs&&p!==js&&p!==xs&&function(e){return!Cs(e)&&e!==gs}(Us(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!Ns(d=Us(e,c)))return Gs;y=y&&Fs(d,f,a),f=d}else{for(c=0;c=65536?c+=2:c++){if((d=Us(e,c))===ss)l=!0,m&&(u=u||c-h-1>n&&" "!==e[h+1],h=c);else if(!Ns(d))return Gs;y=y&&Fs(d,f,a),f=d}u=u||m&&c-h-1>n&&" "!==e[h+1]}return l||u?i>9&&Vs(e)?Gs:o?s===ks?Gs:zs:u?Ks:Bs:!y||o||r(e)?s===ks?Gs:zs:Ls}(t,a,e.indent,o,(function(t){return function(e,t){var i,n;for(i=0,n=e.implicitTypes.length;i"+Js(t,e.indent)+Ws(Ms(function(e,t){for(var i,n,r,s=/(\n+)([^\n]*)/g,o=(r=-1!==(r=e.indexOf("\n"))?r:e.length,s.lastIndex=r,Qs(e.slice(0,r),t)),a="\n"===e[0]||" "===e[0];n=s.exec(e);){var c=n[1],p=n[2];i=" "===p[0],o+=c+(a||i||""===p?"":"\n")+Qs(p,t),a=i}return o}(t,o),s));case Gs:return'"'+function(e){for(var t,i="",n=0,r=0;r=65536?r+=2:r++)n=Us(e,r),!(t=Es[n])&&Ns(n)?(i+=e[r],n>=65536&&(i+=e[r+1])):i+=t||Is(n);return i}(t)+'"';default:throw new En("impossible error: invalid scalar style")}}()}function Js(e,t){var i=Vs(e)?String(t):"",n="\n"===e[e.length-1];return i+(!n||"\n"!==e[e.length-2]&&"\n"!==e?n?"":"-":"+")+"\n"}function Ws(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Qs(e,t){if(""===e||" "===e[0])return e;for(var i,n,r=/ [^ ]/g,s=0,o=0,a=0,c="";i=r.exec(e);)(a=i.index)-s>t&&(n=o>s?o:a,c+="\n"+e.slice(s,n),s=n+1),o=a;return c+="\n",e.length-s>t&&o>s?c+=e.slice(s,o)+"\n"+e.slice(o+1):c+=e.slice(s),c.slice(1)}function Zs(e,t,i,n){var r,s,o,a="",c=e.tag;for(r=0,s=i.length;r tag resolver accepts not "'+c+'" style');n=a.represent[c](t,c)}e.dump=n}return!0}return!1}function Xs(e,t,i,n,r,s,o){e.tag=null,e.dump=i,Ys(e,i,!1)||Ys(e,i,!0);var a,c=ts.call(e.dump),p=n;n&&(n=e.flowLevel<0||e.flowLevel>t);var d,f,l="[object Object]"===c||"[object Array]"===c;if(l&&(f=-1!==(d=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||f||2!==e.indent&&t>0)&&(r=!1),f&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(l&&f&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)n&&0!==Object.keys(e.dump).length?(function(e,t,i,n){var r,s,o,a,c,p,d="",f=e.tag,l=Object.keys(i);if(!0===e.sortKeys)l.sort();else if("function"==typeof e.sortKeys)l.sort(e.sortKeys);else if(e.sortKeys)throw new En("sortKeys must be a boolean or a function");for(r=0,s=l.length;r1024)&&(e.dump&&ss===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,c&&(p+=qs(e,t)),Xs(e,t+1,a,!0,c)&&(e.dump&&ss===e.dump.charCodeAt(0)?p+=":":p+=": ",d+=p+=e.dump));e.tag=f,e.dump=d||"{}"}(e,t,e.dump,r),f&&(e.dump="&ref_"+d+e.dump)):(function(e,t,i){var n,r,s,o,a,c="",p=e.tag,d=Object.keys(i);for(n=0,r=d.length;n1024&&(a+="? "),a+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Xs(e,t,o,!1,!1)&&(c+=a+=e.dump));e.tag=p,e.dump="{"+c+"}"}(e,t,e.dump),f&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)n&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?Zs(e,t-1,e.dump,r):Zs(e,t,e.dump,r),f&&(e.dump="&ref_"+d+e.dump)):(function(e,t,i){var n,r,s,o="",a=e.tag;for(n=0,r=i.length;n",e.dump=a+" "+e.dump)}return!0}function eo(e,t){var i,n,r=[],s=[];for(to(e,r,s),i=0,n=s.length;i({message:e.message,path:[...n,...e.instancePath.replace(/^\//,"").split("/")]})))),i}))}function ho(e){return uo(this,void 0,void 0,(function*(){return e.data}))}function yo(){const e=["application/schema;version=draft-07","application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"];return x.forEach((t=>{e.push(`application/vnd.aai.asyncapi;version=${t}`,`application/vnd.aai.asyncapi+json;version=${t}`,`application/vnd.aai.asyncapi+yaml;version=${t}`)})),e}let go;var bo=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};const vo=class{constructor(e={}){var t;this.options=e,this.parserRegistry=new Map,this.spectral=$n(this,e),this.registerSchemaParser({validate:mo,parse:ho,getMimeTypes:yo}),null===(t=this.options.schemaParsers)||void 0===t||t.forEach((e=>this.registerSchemaParser(e)))}parse(e,t){return bo(this,void 0,void 0,(function*(){const i=Mt(e);return i?{document:i,diagnostics:[]}:so(this,this.spectral,e,t)}))}validate(e,t){return bo(this,void 0,void 0,(function*(){return Mt(e)?[]:(yield wn(this,this.spectral,e,t)).diagnostics}))}registerSchemaParser(e){return function(e,t){if("object"!=typeof t||"function"!=typeof t.validate||"function"!=typeof t.parse||"function"!=typeof t.getMimeTypes)throw new Error('Custom parser must have "parse()", "validate()" and "getMimeTypes()" functions.');t.getMimeTypes().forEach((i=>{e.parserRegistry.set(i,t)}))}(this,e)}}})(),n.default})())); \ No newline at end of file diff --git a/apps/parser/browser/index.js.LICENSE.txt b/apps/parser/browser/index.js.LICENSE.txt new file mode 100644 index 000000000..4cc839ffa --- /dev/null +++ b/apps/parser/browser/index.js.LICENSE.txt @@ -0,0 +1,79 @@ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +/*! + * URI.js - Mutating URLs + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */ + +/*! + * URI.js - Mutating URLs + * IPv6 Support + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */ + +/*! + * URI.js - Mutating URLs + * Second Level Domain (SLD) Support + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */ + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +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. +***************************************************************************** */ + +/*! https://mths.be/punycode v1.4.0 by @mathias */ + +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ + +/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ + +/** + * @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 + */ + +/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ diff --git a/apps/parser/cjs/constants.d.ts b/apps/parser/cjs/constants.d.ts new file mode 100644 index 000000000..ed323fa96 --- /dev/null +++ b/apps/parser/cjs/constants.d.ts @@ -0,0 +1,15 @@ +export declare const xParserSpecParsed = "x-parser-spec-parsed"; +export declare const xParserSpecStringified = "x-parser-spec-stringified"; +export declare const xParserApiVersion = "x-parser-api-version"; +export declare const xParserMessageName = "x-parser-message-name"; +export declare const xParserMessageParsed = "x-parser-message-parsed"; +export declare const xParserSchemaId = "x-parser-schema-id"; +export declare const xParserOriginalSchemaFormat = "x-parser-original-schema-format"; +export declare const xParserOriginalPayload = "x-parser-original-payload"; +export declare const xParserOriginalTraits = "x-parser-original-traits"; +export declare const xParserCircular = "x-parser-circular"; +export declare const xParserCircularProps = "x-parser-circular-props"; +export declare const xParserObjectUniqueId = "x-parser-unique-object-id"; +export declare const EXTENSION_REGEX: RegExp; +export declare const specVersions: string[]; +export declare const lastVersion: string; diff --git a/apps/parser/cjs/constants.js b/apps/parser/cjs/constants.js new file mode 100644 index 000000000..189092c1b --- /dev/null +++ b/apps/parser/cjs/constants.js @@ -0,0 +1,23 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.lastVersion = exports.specVersions = exports.EXTENSION_REGEX = exports.xParserObjectUniqueId = exports.xParserCircularProps = exports.xParserCircular = exports.xParserOriginalTraits = exports.xParserOriginalPayload = exports.xParserOriginalSchemaFormat = exports.xParserSchemaId = exports.xParserMessageParsed = exports.xParserMessageName = exports.xParserApiVersion = exports.xParserSpecStringified = exports.xParserSpecParsed = void 0; +const specs_1 = __importDefault(require("@asyncapi/specs")); +exports.xParserSpecParsed = 'x-parser-spec-parsed'; +exports.xParserSpecStringified = 'x-parser-spec-stringified'; +exports.xParserApiVersion = 'x-parser-api-version'; +exports.xParserMessageName = 'x-parser-message-name'; +exports.xParserMessageParsed = 'x-parser-message-parsed'; +exports.xParserSchemaId = 'x-parser-schema-id'; +exports.xParserOriginalSchemaFormat = 'x-parser-original-schema-format'; +exports.xParserOriginalPayload = 'x-parser-original-payload'; +exports.xParserOriginalTraits = 'x-parser-original-traits'; +exports.xParserCircular = 'x-parser-circular'; +exports.xParserCircularProps = 'x-parser-circular-props'; +exports.xParserObjectUniqueId = 'x-parser-unique-object-id'; +exports.EXTENSION_REGEX = /^x-[\w\d.\-_]+$/; +// Only >=2.0.0 versions are supported +exports.specVersions = Object.keys(specs_1.default.schemas); +exports.lastVersion = exports.specVersions[exports.specVersions.length - 1]; diff --git a/apps/parser/cjs/custom-operations/anonymous-naming.d.ts b/apps/parser/cjs/custom-operations/anonymous-naming.d.ts new file mode 100644 index 000000000..25722cee7 --- /dev/null +++ b/apps/parser/cjs/custom-operations/anonymous-naming.d.ts @@ -0,0 +1,2 @@ +import type { AsyncAPIDocumentInterface } from '../models'; +export declare function anonymousNaming(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/cjs/custom-operations/anonymous-naming.js b/apps/parser/cjs/custom-operations/anonymous-naming.js new file mode 100644 index 000000000..263845c4e --- /dev/null +++ b/apps/parser/cjs/custom-operations/anonymous-naming.js @@ -0,0 +1,66 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.anonymousNaming = void 0; +const constants_1 = require("../constants"); +const iterator_1 = require("../iterator"); +const utils_1 = require("../utils"); +function anonymousNaming(document) { + assignNameToComponentMessages(document); + assignNameToAnonymousMessages(document); + assignUidToComponentSchemas(document); + assignUidToComponentParameterSchemas(document); + assignUidToChannelParameterSchemas(document); + assignUidToAnonymousSchemas(document); +} +exports.anonymousNaming = anonymousNaming; +function assignNameToComponentMessages(document) { + document.components().messages().forEach(message => { + if (message.name() === undefined) { + (0, utils_1.setExtension)(constants_1.xParserMessageName, message.id(), message); + } + }); +} +function assignNameToAnonymousMessages(document) { + let anonymousMessageCounter = 0; + document.messages().forEach(message => { + var _a; + if (message.name() === undefined && ((_a = message.extensions().get(constants_1.xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()) === undefined) { + (0, utils_1.setExtension)(constants_1.xParserMessageName, message.id() || ``, message); + } + }); +} +function assignUidToComponentParameterSchemas(document) { + document.components().channelParameters().forEach(parameter => { + const schema = parameter.schema(); + if (schema && !schema.id()) { + (0, utils_1.setExtension)(constants_1.xParserSchemaId, parameter.id(), schema); + } + }); +} +function assignUidToChannelParameterSchemas(document) { + document.channels().forEach(channel => { + channel.parameters().forEach(parameter => { + const schema = parameter.schema(); + if (schema && !schema.id()) { + (0, utils_1.setExtension)(constants_1.xParserSchemaId, parameter.id(), schema); + } + }); + }); +} +function assignUidToComponentSchemas(document) { + document.components().schemas().forEach(schema => { + (0, utils_1.setExtension)(constants_1.xParserSchemaId, schema.id(), schema); + }); +} +function assignUidToAnonymousSchemas(doc) { + let anonymousSchemaCounter = 0; + function callback(schema) { + const json = schema.json(); + const isMultiFormatSchema = json.schema !== undefined; + const underlyingSchema = isMultiFormatSchema ? json.schema : json; + if (!schema.id()) { + (0, utils_1.setExtensionOnJson)(constants_1.xParserSchemaId, ``, underlyingSchema); + } + } + (0, iterator_1.traverseAsyncApiDocument)(doc, callback); +} diff --git a/apps/parser/cjs/custom-operations/apply-traits.d.ts b/apps/parser/cjs/custom-operations/apply-traits.d.ts new file mode 100644 index 000000000..1a7ff5ebe --- /dev/null +++ b/apps/parser/cjs/custom-operations/apply-traits.d.ts @@ -0,0 +1,3 @@ +import type { v2, v3 } from '../spec-types'; +export declare function applyTraitsV2(asyncapi: v2.AsyncAPIObject): void; +export declare function applyTraitsV3(asyncapi: v3.AsyncAPIObject): void; diff --git a/apps/parser/cjs/custom-operations/apply-traits.js b/apps/parser/cjs/custom-operations/apply-traits.js new file mode 100644 index 000000000..fdebb9b24 --- /dev/null +++ b/apps/parser/cjs/custom-operations/apply-traits.js @@ -0,0 +1,100 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.applyTraitsV3 = exports.applyTraitsV2 = void 0; +const jsonpath_plus_1 = require("jsonpath-plus"); +const utils_1 = require("../utils"); +const v2TraitPaths = [ + // operations + '$.channels.*.[publish,subscribe]', + '$.components.channels.*.[publish,subscribe]', + // messages + '$.channels.*.[publish,subscribe].message', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe].message', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.messages.*', +]; +function applyTraitsV2(asyncapi) { + applyAllTraitsV2(asyncapi, v2TraitPaths); +} +exports.applyTraitsV2 = applyTraitsV2; +function applyAllTraitsV2(asyncapi, paths) { + const visited = new Set(); + paths.forEach(path => { + (0, jsonpath_plus_1.JSONPath)({ + path, + json: asyncapi, + resultType: 'value', + callback(value) { + if (visited.has(value)) { + return; + } + visited.add(value); + applyTraitsToObjectV2(value); + }, + }); + }); +} +function applyTraitsToObjectV2(value) { + if (Array.isArray(value.traits)) { + for (const trait of value.traits) { + for (const key in trait) { + value[String(key)] = (0, utils_1.mergePatch)(value[String(key)], trait[String(key)]); + } + } + } +} +const v3TraitPaths = [ + // operations + '$.operations.*', + '$.operations.*.channel.*', + '$.operations.*.channel.messages.*', + '$.operations.*.messages.*', + '$.components.operations.*', + '$.components.operations.*.channel.*', + '$.components.operations.*.channel.messages.*', + '$.components.operations.*.messages.*', + // Channels + '$.channels.*.messages.*', + '$.components.channels.*.messages.*', + // messages + '$.components.messages.*', +]; +function applyTraitsV3(asyncapi) { + applyAllTraitsV3(asyncapi, v3TraitPaths); +} +exports.applyTraitsV3 = applyTraitsV3; +function applyAllTraitsV3(asyncapi, paths) { + const visited = new Set(); + paths.forEach(path => { + (0, jsonpath_plus_1.JSONPath)({ + path, + json: asyncapi, + resultType: 'value', + callback(value) { + if (visited.has(value)) { + return; + } + visited.add(value); + applyTraitsToObjectV3(value); + }, + }); + }); +} +function applyTraitsToObjectV3(value) { + if (!Array.isArray(value.traits)) { + return; + } + // shallow copy of object + const copy = Object.assign({}, value); + // reset the object but preserve the reference + for (const key in value) { + delete value[key]; + } + // merge root object at the end + for (const trait of [...copy.traits, copy]) { + for (const key in trait) { + value[String(key)] = (0, utils_1.mergePatch)(value[String(key)], trait[String(key)]); + } + } +} diff --git a/apps/parser/cjs/custom-operations/apply-unique-ids.d.ts b/apps/parser/cjs/custom-operations/apply-unique-ids.d.ts new file mode 100644 index 000000000..954f25248 --- /dev/null +++ b/apps/parser/cjs/custom-operations/apply-unique-ids.d.ts @@ -0,0 +1,6 @@ +/** + * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. + * + * For v3; Apply unique ids to all channel's, operations, and message's. + */ +export declare function applyUniqueIds(structure: any): void; diff --git a/apps/parser/cjs/custom-operations/apply-unique-ids.js b/apps/parser/cjs/custom-operations/apply-unique-ids.js new file mode 100644 index 000000000..0209a39a7 --- /dev/null +++ b/apps/parser/cjs/custom-operations/apply-unique-ids.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.applyUniqueIds = void 0; +const constants_1 = require("../constants"); +/** + * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. + * + * For v3; Apply unique ids to all channel's, operations, and message's. + */ +function applyUniqueIds(structure) { + const asyncapiVersion = structure.asyncapi.charAt(0); + switch (asyncapiVersion) { + case '3': + applyUniqueIdToChannels(structure.channels); + applyUniqueIdToObjects(structure.operations); + if (structure.components) { + applyUniqueIdToObjects(structure.components.messages); + applyUniqueIdToObjects(structure.components.operations); + applyUniqueIdToChannels(structure.components.channels); + } + break; + } +} +exports.applyUniqueIds = applyUniqueIds; +function applyUniqueIdToChannels(channels) { + for (const [channelId, channel] of Object.entries((channels !== null && channels !== void 0 ? channels : {}))) { + if (!channel[constants_1.xParserObjectUniqueId]) { + channel[constants_1.xParserObjectUniqueId] = channelId; + } + applyUniqueIdToObjects(channel.messages); + } +} +function applyUniqueIdToObjects(objects) { + for (const [objectKey, object] of Object.entries((objects !== null && objects !== void 0 ? objects : {}))) { + if (!object[constants_1.xParserObjectUniqueId]) { + object[constants_1.xParserObjectUniqueId] = objectKey; + } + } +} diff --git a/apps/parser/cjs/custom-operations/check-circular-refs.d.ts b/apps/parser/cjs/custom-operations/check-circular-refs.d.ts new file mode 100644 index 000000000..b1189cdac --- /dev/null +++ b/apps/parser/cjs/custom-operations/check-circular-refs.d.ts @@ -0,0 +1,2 @@ +import type { AsyncAPIDocumentInterface } from '../models'; +export declare function checkCircularRefs(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/cjs/custom-operations/check-circular-refs.js b/apps/parser/cjs/custom-operations/check-circular-refs.js new file mode 100644 index 000000000..b8f5ae282 --- /dev/null +++ b/apps/parser/cjs/custom-operations/check-circular-refs.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkCircularRefs = void 0; +const utils_1 = require("../utils"); +const constants_1 = require("../constants"); +function checkCircularRefs(document) { + if (hasInlineRef(document.json())) { + (0, utils_1.setExtension)(constants_1.xParserCircular, true, document); + } +} +exports.checkCircularRefs = checkCircularRefs; +function hasInlineRef(data) { + if (data && typeof data === 'object' && !Array.isArray(data)) { + if (Object.prototype.hasOwnProperty.call(data, '$ref')) { + return true; + } + for (const p in data) { + if (hasInlineRef(data[p])) { + return true; + } + } + } + return false; +} diff --git a/apps/parser/cjs/custom-operations/index.d.ts b/apps/parser/cjs/custom-operations/index.d.ts new file mode 100644 index 000000000..6767e00ce --- /dev/null +++ b/apps/parser/cjs/custom-operations/index.d.ts @@ -0,0 +1,7 @@ +import type { RulesetFunctionContext } from '@stoplight/spectral-core'; +import type { Parser } from '../parser'; +import type { ParseOptions } from '../parse'; +import type { AsyncAPIDocumentInterface } from '../models'; +import type { DetailedAsyncAPI } from '../types'; +export { applyUniqueIds } from './apply-unique-ids'; +export declare function customOperations(parser: Parser, document: AsyncAPIDocumentInterface, detailed: DetailedAsyncAPI, inventory: RulesetFunctionContext['documentInventory'], options: ParseOptions): Promise; diff --git a/apps/parser/cjs/custom-operations/index.js b/apps/parser/cjs/custom-operations/index.js new file mode 100644 index 000000000..f2928e446 --- /dev/null +++ b/apps/parser/cjs/custom-operations/index.js @@ -0,0 +1,60 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.customOperations = exports.applyUniqueIds = void 0; +const apply_traits_1 = require("./apply-traits"); +const resolve_circular_refs_1 = require("./resolve-circular-refs"); +const parse_schema_1 = require("./parse-schema"); +const anonymous_naming_1 = require("./anonymous-naming"); +const check_circular_refs_1 = require("./check-circular-refs"); +var apply_unique_ids_1 = require("./apply-unique-ids"); +Object.defineProperty(exports, "applyUniqueIds", { enumerable: true, get: function () { return apply_unique_ids_1.applyUniqueIds; } }); +function customOperations(parser, document, detailed, inventory, options) { + return __awaiter(this, void 0, void 0, function* () { + switch (detailed.semver.major) { + case 2: return operationsV2(parser, document, detailed, inventory, options); + case 3: return operationsV3(parser, document, detailed, inventory, options); + } + }); +} +exports.customOperations = customOperations; +function operationsV2(parser, document, detailed, inventory, options) { + return __awaiter(this, void 0, void 0, function* () { + (0, check_circular_refs_1.checkCircularRefs)(document); + if (options.applyTraits) { + (0, apply_traits_1.applyTraitsV2)(detailed.parsed); + } + if (options.parseSchemas) { + yield (0, parse_schema_1.parseSchemasV2)(parser, detailed); + } + // anonymous naming and resolving circular references should be done after custom schemas parsing + if (inventory) { + (0, resolve_circular_refs_1.resolveCircularRefs)(document, inventory); + } + (0, anonymous_naming_1.anonymousNaming)(document); + }); +} +function operationsV3(parser, document, detailed, inventory, options) { + return __awaiter(this, void 0, void 0, function* () { + (0, check_circular_refs_1.checkCircularRefs)(document); + if (options.applyTraits) { + (0, apply_traits_1.applyTraitsV3)(detailed.parsed); + } + if (options.parseSchemas) { + yield (0, parse_schema_1.parseSchemasV3)(parser, detailed); + } + // anonymous naming and resolving circular references should be done after custom schemas parsing + if (inventory) { + (0, resolve_circular_refs_1.resolveCircularRefs)(document, inventory); + } + (0, anonymous_naming_1.anonymousNaming)(document); + }); +} diff --git a/apps/parser/cjs/custom-operations/parse-schema.d.ts b/apps/parser/cjs/custom-operations/parse-schema.d.ts new file mode 100644 index 000000000..48c8eae6b --- /dev/null +++ b/apps/parser/cjs/custom-operations/parse-schema.d.ts @@ -0,0 +1,4 @@ +import type { Parser } from '../parser'; +import type { DetailedAsyncAPI } from '../types'; +export declare function parseSchemasV2(parser: Parser, detailed: DetailedAsyncAPI): Promise; +export declare function parseSchemasV3(parser: Parser, detailed: DetailedAsyncAPI): Promise; diff --git a/apps/parser/cjs/custom-operations/parse-schema.js b/apps/parser/cjs/custom-operations/parse-schema.js new file mode 100644 index 000000000..3e71810b7 --- /dev/null +++ b/apps/parser/cjs/custom-operations/parse-schema.js @@ -0,0 +1,158 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseSchemasV3 = exports.parseSchemasV2 = void 0; +const jsonpath_plus_1 = require("jsonpath-plus"); +const constants_1 = require("../constants"); +const schema_parser_1 = require("../schema-parser"); +const customSchemasPathsV2 = [ + // operations + '$.channels.*.[publish,subscribe].message', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe].message', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + // messages + '$.components.messages.*', +]; +const customSchemasPathsV3 = [ + // channels + '$.channels.*.messages.*.payload', + '$.channels.*.messages.*.headers', + '$.components.channels.*.messages.*.payload', + '$.components.channels.*.messages.*.headers', + // operations + '$.operations.*.messages.*.payload', + '$.operations.*.messages.*.headers', + '$.components.operations.*.messages.*.payload', + '$.components.operations.*.messages.*.headers', + // messages + '$.components.messages.*.payload', + '$.components.messages.*.headers.*', + // schemas + '$.components.schemas.*', +]; +function parseSchemasV2(parser, detailed) { + return __awaiter(this, void 0, void 0, function* () { + const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(detailed.semver.version); + const parseItems = []; + const visited = new Set(); + customSchemasPathsV2.forEach(path => { + (0, jsonpath_plus_1.JSONPath)({ + path, + json: detailed.parsed, + resultType: 'all', + callback(result) { + const value = result.value; + if (visited.has(value)) { + return; + } + visited.add(value); + const payload = value.payload; + if (!payload) { + return; + } + const schemaFormat = (0, schema_parser_1.getSchemaFormat)(value.schemaFormat, detailed.semver.version); + parseItems.push({ + input: { + asyncapi: detailed, + data: payload, + meta: { + message: value, + }, + path: [...splitPath(result.path), 'payload'], + schemaFormat, + defaultSchemaFormat, + }, + value, + }); + }, + }); + }); + return Promise.all(parseItems.map(item => parseSchemaV2(parser, item))); + }); +} +exports.parseSchemasV2 = parseSchemasV2; +function parseSchemasV3(parser, detailed) { + return __awaiter(this, void 0, void 0, function* () { + const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(detailed.semver.version); + const parseItems = []; + const visited = new Set(); + customSchemasPathsV3.forEach(path => { + (0, jsonpath_plus_1.JSONPath)({ + path, + json: detailed.parsed, + resultType: 'all', + callback(result) { + const value = result.value; + if (visited.has(value)) { + return; + } + visited.add(value); + const schema = value.schema; + if (!schema) { + return; + } + let schemaFormat = value.schemaFormat; + if (!schemaFormat) { + return; + } + schemaFormat = (0, schema_parser_1.getSchemaFormat)(value.schemaFormat, detailed.semver.version); + parseItems.push({ + input: { + asyncapi: detailed, + data: schema, + meta: { + message: value, + }, + path: [...splitPath(result.path), 'schema'], + schemaFormat, + defaultSchemaFormat, + }, + value, + }); + }, + }); + }); + return Promise.all(parseItems.map(item => parseSchemaV3(parser, item))); + }); +} +exports.parseSchemasV3 = parseSchemasV3; +function parseSchemaV3(parser, item) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const originalData = item.input.data; + const parsedData = yield (0, schema_parser_1.parseSchema)(parser, item.input); + if (((_a = item.value) === null || _a === void 0 ? void 0 : _a.schema) !== undefined) { + item.value.schema = parsedData; + } + else { + item.value = parsedData; + } + // save original payload only when data is different (returned by custom parsers) + if (originalData !== parsedData) { + item.value[constants_1.xParserOriginalPayload] = originalData; + } + }); +} +function parseSchemaV2(parser, item) { + return __awaiter(this, void 0, void 0, function* () { + const originalData = item.input.data; + const parsedData = item.value.payload = yield (0, schema_parser_1.parseSchema)(parser, item.input); + // save original payload only when data is different (returned by custom parsers) + if (originalData !== parsedData) { + item.value[constants_1.xParserOriginalPayload] = originalData; + } + }); +} +function splitPath(path) { + // remove $[' from beginning and '] at the end and split by '][' + return path.slice(3).slice(0, -2).split('\'][\''); +} diff --git a/apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts b/apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts new file mode 100644 index 000000000..f47f88291 --- /dev/null +++ b/apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts @@ -0,0 +1,3 @@ +import type { RulesetFunctionContext } from '@stoplight/spectral-core'; +import type { AsyncAPIDocumentInterface } from '../models'; +export declare function resolveCircularRefs(document: AsyncAPIDocumentInterface, inventory: RulesetFunctionContext['documentInventory']): void; diff --git a/apps/parser/cjs/custom-operations/resolve-circular-refs.js b/apps/parser/cjs/custom-operations/resolve-circular-refs.js new file mode 100644 index 000000000..4505f97a4 --- /dev/null +++ b/apps/parser/cjs/custom-operations/resolve-circular-refs.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resolveCircularRefs = void 0; +const utils_1 = require("../utils"); +const constants_1 = require("../constants"); +function resolveCircularRefs(document, inventory) { + const documentJson = document.json(); + const ctx = { document: documentJson, hasCircular: false, inventory, visited: new Set() }; + traverse(documentJson, [], null, '', ctx); + if (ctx.hasCircular) { + (0, utils_1.setExtension)(constants_1.xParserCircular, true, document); + } +} +exports.resolveCircularRefs = resolveCircularRefs; +function traverse(data, path, parent, property, ctx) { + if (typeof data !== 'object' || !data || ctx.visited.has(data)) { + return; + } + ctx.visited.add(data); + if (Array.isArray(data)) { + data.forEach((item, idx) => traverse(item, [...path, idx], data, idx, ctx)); + } + if ('$ref' in data) { + ctx.hasCircular = true; + const resolvedRef = retrieveCircularRef(data, path, ctx); + if (resolvedRef) { + parent[property] = resolvedRef; + } + } + else { + for (const p in data) { + traverse(data[p], [...path, p], data, p, ctx); + } + } + ctx.visited.delete(data); +} +function retrieveCircularRef(data, path, ctx) { + const $refPath = (0, utils_1.toJSONPathArray)(data.$ref); + const item = ctx.inventory.findAssociatedItemForPath(path, true); + // root document case + if (item === null) { + return (0, utils_1.retrieveDeepData)(ctx.document, $refPath); + } + // referenced document case + if (item) { + const subArrayIndex = (0, utils_1.findSubArrayIndex)(path, $refPath); + let dataPath; + if (subArrayIndex === -1) { // create subarray based on location of the assiociated document - use item.path + dataPath = [...path.slice(0, path.length - item.path.length), ...$refPath]; + } + else { // create subarray based on $refPath + dataPath = path.slice(0, subArrayIndex + $refPath.length); + } + return (0, utils_1.retrieveDeepData)(ctx.document, dataPath); + } +} diff --git a/apps/parser/cjs/document.d.ts b/apps/parser/cjs/document.d.ts new file mode 100644 index 000000000..482b4477d --- /dev/null +++ b/apps/parser/cjs/document.d.ts @@ -0,0 +1,9 @@ +import type { AsyncAPIDocumentInterface } from './models'; +import type { OldAsyncAPIDocument } from './old-api'; +import type { DetailedAsyncAPI, AsyncAPIObject } from './types'; +export declare function createAsyncAPIDocument(asyncapi: DetailedAsyncAPI): AsyncAPIDocumentInterface; +export declare function toAsyncAPIDocument(maybeDoc: unknown): AsyncAPIDocumentInterface | undefined; +export declare function isAsyncAPIDocument(maybeDoc: unknown): maybeDoc is AsyncAPIDocumentInterface; +export declare function isOldAsyncAPIDocument(maybeDoc: unknown): maybeDoc is OldAsyncAPIDocument; +export declare function isParsedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; +export declare function isStringifiedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; diff --git a/apps/parser/cjs/document.js b/apps/parser/cjs/document.js new file mode 100644 index 000000000..5ab3a6638 --- /dev/null +++ b/apps/parser/cjs/document.js @@ -0,0 +1,71 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isStringifiedDocument = exports.isParsedDocument = exports.isOldAsyncAPIDocument = exports.isAsyncAPIDocument = exports.toAsyncAPIDocument = exports.createAsyncAPIDocument = void 0; +const models_1 = require("./models"); +const stringify_1 = require("./stringify"); +const utils_1 = require("./utils"); +const constants_1 = require("./constants"); +function createAsyncAPIDocument(asyncapi) { + switch (asyncapi.semver.major) { + case 2: + return new models_1.AsyncAPIDocumentV2(asyncapi.parsed, { asyncapi, pointer: '/' }); + case 3: + return new models_1.AsyncAPIDocumentV3(asyncapi.parsed, { asyncapi, pointer: '/' }); + default: + throw new Error(`Unsupported AsyncAPI version: ${asyncapi.semver.version}`); + } +} +exports.createAsyncAPIDocument = createAsyncAPIDocument; +function toAsyncAPIDocument(maybeDoc) { + if (isAsyncAPIDocument(maybeDoc)) { + return maybeDoc; + } + if (!isParsedDocument(maybeDoc)) { + return (0, stringify_1.unstringify)(maybeDoc); + } + return createAsyncAPIDocument((0, utils_1.createDetailedAsyncAPI)(maybeDoc, maybeDoc)); +} +exports.toAsyncAPIDocument = toAsyncAPIDocument; +function isAsyncAPIDocument(maybeDoc) { + if (!maybeDoc) { + return false; + } + if (maybeDoc instanceof models_1.AsyncAPIDocumentV2 || maybeDoc instanceof models_1.AsyncAPIDocumentV3) { + return true; + } + if (maybeDoc && typeof maybeDoc.json === 'function') { + const versionOfParserAPI = maybeDoc.json()[constants_1.xParserApiVersion]; + return versionOfParserAPI === models_1.ParserAPIVersion; + } + return false; +} +exports.isAsyncAPIDocument = isAsyncAPIDocument; +function isOldAsyncAPIDocument(maybeDoc) { + if (maybeDoc && typeof maybeDoc.json === 'function') { + const versionOfParserAPI = maybeDoc.json()[constants_1.xParserApiVersion]; + return versionOfParserAPI === undefined || versionOfParserAPI === 0; + } + return false; +} +exports.isOldAsyncAPIDocument = isOldAsyncAPIDocument; +function isParsedDocument(maybeDoc) { + if (typeof maybeDoc !== 'object' || maybeDoc === null) { + return false; + } + return Boolean(maybeDoc[constants_1.xParserSpecParsed]); +} +exports.isParsedDocument = isParsedDocument; +function isStringifiedDocument(maybeDoc) { + try { + maybeDoc = typeof maybeDoc === 'string' ? JSON.parse(maybeDoc) : maybeDoc; + if (typeof maybeDoc !== 'object' || maybeDoc === null) { + return false; + } + return (Boolean(maybeDoc[constants_1.xParserSpecParsed]) && + Boolean(maybeDoc[constants_1.xParserSpecStringified])); + } + catch (_) { + return false; + } +} +exports.isStringifiedDocument = isStringifiedDocument; diff --git a/apps/parser/cjs/from.d.ts b/apps/parser/cjs/from.d.ts new file mode 100644 index 000000000..f7eb1b051 --- /dev/null +++ b/apps/parser/cjs/from.d.ts @@ -0,0 +1,13 @@ +import { readFile } from 'fs'; +import type { RequestInit } from 'node-fetch'; +import type { Parser } from './parser'; +import type { ParseOptions, ParseOutput } from './parse'; +import type { ValidateOptions } from './validate'; +import type { Diagnostic } from './types'; +interface FromResult { + parse: (options?: ParseOptions) => Promise; + validate: (options?: ValidateOptions) => Promise; +} +export declare function fromURL(parser: Parser, source: string, options?: RequestInit): FromResult; +export declare function fromFile(parser: Parser, source: string, options?: Parameters[1]): FromResult; +export {}; diff --git a/apps/parser/cjs/from.js b/apps/parser/cjs/from.js new file mode 100644 index 000000000..3bb288e13 --- /dev/null +++ b/apps/parser/cjs/from.js @@ -0,0 +1,94 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromFile = exports.fromURL = void 0; +const fs_1 = require("fs"); +const util_1 = require("util"); +function fromURL(parser, source, options) { + function fetchUrl() { + return __awaiter(this, void 0, void 0, function* () { + const fetchFn = yield getFetch(); + return (yield fetchFn(source, options)).text(); + }); + } + return { + parse(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield fetchUrl(); + return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); + }); + }, + validate(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield fetchUrl(); + return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); + }); + } + }; +} +exports.fromURL = fromURL; +function fromFile(parser, source, options) { + function readFileFn() { + return __awaiter(this, void 0, void 0, function* () { + return (yield (0, util_1.promisify)(fs_1.readFile)(source, options)).toString(); + }); + } + return { + parse(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield readFileFn(); + return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); + }); + }, + validate(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield readFileFn(); + return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); + }); + } + }; +} +exports.fromFile = fromFile; +let __fetchFn; +function getFetch() { + return __awaiter(this, void 0, void 0, function* () { + if (__fetchFn) { + return __fetchFn; + } + if (typeof fetch === 'undefined') { + return __fetchFn = (yield Promise.resolve().then(() => __importStar(require('node-fetch')))).default; + } + return (__fetchFn = fetch); + }); +} diff --git a/apps/parser/cjs/index.d.ts b/apps/parser/cjs/index.d.ts new file mode 100644 index 000000000..a53f0608a --- /dev/null +++ b/apps/parser/cjs/index.d.ts @@ -0,0 +1,16 @@ +import { DiagnosticSeverity } from '@stoplight/types'; +import { Parser } from './parser'; +export * from './models'; +export { Parser }; +export { stringify, unstringify } from './stringify'; +export { fromURL, fromFile } from './from'; +export { createAsyncAPIDocument, toAsyncAPIDocument, isAsyncAPIDocument, isOldAsyncAPIDocument } from './document'; +export { DiagnosticSeverity }; +export * from './old-api'; +export type { AsyncAPISemver, Input, Diagnostic, SchemaValidateResult, AsyncAPISchema } from './types'; +export type { ValidateOptions, ValidateOutput } from './validate'; +export type { ParseOptions, ParseOutput } from './parse'; +export type { StringifyOptions } from './stringify'; +export type { ValidateSchemaInput, ParseSchemaInput, SchemaParser } from './schema-parser'; +export type { v2 as SpecTypesV2 } from './spec-types'; +export default Parser; diff --git a/apps/parser/cjs/index.js b/apps/parser/cjs/index.js new file mode 100644 index 000000000..331af195a --- /dev/null +++ b/apps/parser/cjs/index.js @@ -0,0 +1,35 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DiagnosticSeverity = exports.isOldAsyncAPIDocument = exports.isAsyncAPIDocument = exports.toAsyncAPIDocument = exports.createAsyncAPIDocument = exports.fromFile = exports.fromURL = exports.unstringify = exports.stringify = exports.Parser = void 0; +const types_1 = require("@stoplight/types"); +Object.defineProperty(exports, "DiagnosticSeverity", { enumerable: true, get: function () { return types_1.DiagnosticSeverity; } }); +const parser_1 = require("./parser"); +Object.defineProperty(exports, "Parser", { enumerable: true, get: function () { return parser_1.Parser; } }); +__exportStar(require("./models"), exports); +var stringify_1 = require("./stringify"); +Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_1.stringify; } }); +Object.defineProperty(exports, "unstringify", { enumerable: true, get: function () { return stringify_1.unstringify; } }); +var from_1 = require("./from"); +Object.defineProperty(exports, "fromURL", { enumerable: true, get: function () { return from_1.fromURL; } }); +Object.defineProperty(exports, "fromFile", { enumerable: true, get: function () { return from_1.fromFile; } }); +var document_1 = require("./document"); +Object.defineProperty(exports, "createAsyncAPIDocument", { enumerable: true, get: function () { return document_1.createAsyncAPIDocument; } }); +Object.defineProperty(exports, "toAsyncAPIDocument", { enumerable: true, get: function () { return document_1.toAsyncAPIDocument; } }); +Object.defineProperty(exports, "isAsyncAPIDocument", { enumerable: true, get: function () { return document_1.isAsyncAPIDocument; } }); +Object.defineProperty(exports, "isOldAsyncAPIDocument", { enumerable: true, get: function () { return document_1.isOldAsyncAPIDocument; } }); +__exportStar(require("./old-api"), exports); +exports.default = parser_1.Parser; diff --git a/apps/parser/cjs/iterator.d.ts b/apps/parser/cjs/iterator.d.ts new file mode 100644 index 000000000..1d2c98ddd --- /dev/null +++ b/apps/parser/cjs/iterator.d.ts @@ -0,0 +1,42 @@ +import type { AsyncAPIDocumentInterface } from './models/asyncapi'; +import type { SchemaInterface } from './models/schema'; +/** + * The different kind of stages when crawling a schema. + */ +export declare enum SchemaIteratorCallbackType { + NEW_SCHEMA = "NEW_SCHEMA", + END_SCHEMA = "END_SCHEMA" +} +/** + * The different types of schemas you can iterate + */ +export declare enum SchemaTypesToIterate { + Parameters = "parameters", + Payloads = "payloads", + Headers = "headers", + Components = "components", + Objects = "objects", + Arrays = "arrays", + OneOfs = "oneOfs", + AllOfs = "allOfs", + AnyOfs = "anyOfs", + Nots = "nots", + PropertyNames = "propertyNames", + PatternProperties = "patternProperties", + Contains = "contains", + Ifs = "ifs", + Thenes = "thenes", + Elses = "elses", + Dependencies = "dependencies", + Definitions = "definitions" +} +export type TraverseOptions = { + callback: TraverseCallback; + schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; + seenSchemas: Set; +}; +export type TraverseCallback = (schema: SchemaInterface, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +export declare function traverseAsyncApiDocument(doc: AsyncAPIDocumentInterface, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/cjs/iterator.js b/apps/parser/cjs/iterator.js new file mode 100644 index 000000000..70551eac7 --- /dev/null +++ b/apps/parser/cjs/iterator.js @@ -0,0 +1,228 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.traverseAsyncApiDocument = exports.SchemaTypesToIterate = exports.SchemaIteratorCallbackType = void 0; +/** + * The different kind of stages when crawling a schema. + */ +var SchemaIteratorCallbackType; +(function (SchemaIteratorCallbackType) { + SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; + SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; +})(SchemaIteratorCallbackType = exports.SchemaIteratorCallbackType || (exports.SchemaIteratorCallbackType = {})); +/** + * The different types of schemas you can iterate + */ +var SchemaTypesToIterate; +(function (SchemaTypesToIterate) { + SchemaTypesToIterate["Parameters"] = "parameters"; + SchemaTypesToIterate["Payloads"] = "payloads"; + SchemaTypesToIterate["Headers"] = "headers"; + SchemaTypesToIterate["Components"] = "components"; + SchemaTypesToIterate["Objects"] = "objects"; + SchemaTypesToIterate["Arrays"] = "arrays"; + SchemaTypesToIterate["OneOfs"] = "oneOfs"; + SchemaTypesToIterate["AllOfs"] = "allOfs"; + SchemaTypesToIterate["AnyOfs"] = "anyOfs"; + SchemaTypesToIterate["Nots"] = "nots"; + SchemaTypesToIterate["PropertyNames"] = "propertyNames"; + SchemaTypesToIterate["PatternProperties"] = "patternProperties"; + SchemaTypesToIterate["Contains"] = "contains"; + SchemaTypesToIterate["Ifs"] = "ifs"; + SchemaTypesToIterate["Thenes"] = "thenes"; + SchemaTypesToIterate["Elses"] = "elses"; + SchemaTypesToIterate["Dependencies"] = "dependencies"; + SchemaTypesToIterate["Definitions"] = "definitions"; +})(SchemaTypesToIterate = exports.SchemaTypesToIterate || (exports.SchemaTypesToIterate = {})); +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { + if (schemaTypesToIterate.length === 0) { + schemaTypesToIterate = Object.values(SchemaTypesToIterate); + } + const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; + if (!doc.channels().isEmpty()) { + doc.channels().all().forEach(channel => { + traverseChannel(channel, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Components) && !doc.components().isEmpty()) { + const components = doc.components(); + Object.values(components.messages().all() || {}).forEach(message => { + traverseMessage(message, options); + }); + Object.values(components.schemas().all() || {}).forEach(schema => { + traverseSchema(schema, null, options); + }); + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { + Object.values(components.channelParameters().filterBy((param) => { return param.hasSchema(); })).forEach(parameter => { + traverseSchema(parameter.schema(), null, options); + }); + } + Object.values(components.messageTraits().all() || {}).forEach(messageTrait => { + traverseMessageTrait(messageTrait, options); + }); + } +} +exports.traverseAsyncApiDocument = traverseAsyncApiDocument; +/* eslint-disable sonarjs/cognitive-complexity */ +/** + * Traverse current schema and all nested schemas. + */ +function traverseSchema(schema, propOrIndex, options) { + if (!schema) + return; + const { schemaTypesToIterate, callback, seenSchemas } = options; + // handle circular references + const jsonSchema = schema.json(); + if (seenSchemas.has(jsonSchema)) + return; + seenSchemas.add(jsonSchema); + // `type` isn't required so save type as array in the fallback + let types = schema.type() || []; + // change primitive type to array of types for easier handling + if (!Array.isArray(types)) { + types = [types]; + } + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) + return; + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) + return; + // check callback `NEW_SCHEMA` case + if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) + return; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) { + recursiveSchemaObject(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) { + recursiveSchemaArray(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.OneOfs)) { + (schema.oneOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.AnyOfs)) { + (schema.anyOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.AllOfs)) { + (schema.allOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Nots) && schema.not()) { + traverseSchema(schema.not(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Ifs) && schema.if()) { + traverseSchema(schema.if(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Thenes) && schema.then()) { + traverseSchema(schema.then(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Elses) && schema.else()) { + traverseSchema(schema.else(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Dependencies)) { + Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { + // do not iterate dependent required + if (dep && !Array.isArray(dep)) { + traverseSchema(dep, depName, options); + } + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Definitions)) { + Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { + traverseSchema(def, defName, options); + }); + } + callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); + seenSchemas.delete(jsonSchema); +} +/* eslint-enable sonarjs/cognitive-complexity */ +/** + * Recursively go through schema of object type and execute callback. + */ +function recursiveSchemaObject(schema, options) { + Object.entries(schema.properties() || {}).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + const additionalProperties = schema.additionalProperties(); + if (typeof additionalProperties === 'object') { + traverseSchema(additionalProperties, null, options); + } + const schemaTypesToIterate = options.schemaTypesToIterate; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.PropertyNames) && schema.propertyNames()) { + traverseSchema(schema.propertyNames(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.PatternProperties)) { + Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + } +} +/** + * Recursively go through schema of array type and execute callback. + */ +function recursiveSchemaArray(schema, options) { + const items = schema.items(); + if (items) { + if (Array.isArray(items)) { + items.forEach((item, idx) => { + traverseSchema(item, idx, options); + }); + } + else { + traverseSchema(items, null, options); + } + } + const additionalItems = schema.additionalItems(); + if (typeof additionalItems === 'object') { + traverseSchema(additionalItems, null, options); + } + if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { + traverseSchema(schema.contains(), null, options); + } +} +/** + * Go through each schema in channel + */ +function traverseChannel(channel, options) { + if (!channel) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { + Object.values(channel.parameters().filterBy((param) => { return param.hasSchema(); }) || {}).forEach(parameter => { + traverseSchema(parameter.schema(), null, options); + }); + } + channel.messages().all().forEach(message => { + traverseMessage(message, options); + }); +} +/** + * Go through each schema in a message + */ +function traverseMessage(message, options) { + if (!message) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && message.hasHeaders()) { + traverseSchema(message.headers(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Payloads) && message.hasPayload()) { + traverseSchema(message.payload(), null, options); + } +} +/** + * Go through each schema in a messageTrait + */ +function traverseMessageTrait(messageTrait, options) { + if (!messageTrait) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && messageTrait.hasHeaders()) { + traverseSchema(messageTrait.headers(), null, options); + } +} diff --git a/apps/parser/cjs/models/asyncapi.d.ts b/apps/parser/cjs/models/asyncapi.d.ts new file mode 100644 index 000000000..e35f74e27 --- /dev/null +++ b/apps/parser/cjs/models/asyncapi.d.ts @@ -0,0 +1,30 @@ +import type { BaseModel } from './base'; +import type { InfoInterface } from './info'; +import type { ChannelsInterface } from './channels'; +import type { ComponentsInterface } from './components'; +import type { MessagesInterface } from './messages'; +import type { ExtensionsMixinInterface } from './mixins'; +import type { OperationsInterface } from './operations'; +import type { SchemasInterface } from './schemas'; +import type { SecuritySchemesInterface } from './security-schemes'; +import type { ServersInterface } from './servers'; +import type { v2, v3 } from '../spec-types'; +export declare const ParserAPIVersion = 3; +export interface AsyncAPIDocumentInterface extends BaseModel, ExtensionsMixinInterface { + version(): string; + defaultContentType(): string | undefined; + hasDefaultContentType(): boolean; + info(): InfoInterface; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + securitySchemes(): SecuritySchemesInterface; + components(): ComponentsInterface; + allServers(): ServersInterface; + allChannels(): ChannelsInterface; + allOperations(): OperationsInterface; + allMessages(): MessagesInterface; + allSchemas(): SchemasInterface; +} diff --git a/apps/parser/cjs/models/asyncapi.js b/apps/parser/cjs/models/asyncapi.js new file mode 100644 index 000000000..96eaf31a2 --- /dev/null +++ b/apps/parser/cjs/models/asyncapi.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ParserAPIVersion = void 0; +// https://github.com/asyncapi/parser-api/releases/tag/v3.0.0 +exports.ParserAPIVersion = 3; diff --git a/apps/parser/cjs/models/base.d.ts b/apps/parser/cjs/models/base.d.ts new file mode 100644 index 000000000..29aa35fa2 --- /dev/null +++ b/apps/parser/cjs/models/base.d.ts @@ -0,0 +1,17 @@ +import type { Constructor, InferModelData, InferModelMetadata } from './utils'; +import type { DetailedAsyncAPI } from '../types'; +export interface ModelMetadata { + asyncapi: DetailedAsyncAPI; + pointer: string; +} +export declare abstract class BaseModel = {}> { + protected readonly _json: J; + protected readonly _meta: ModelMetadata & M; + constructor(_json: J, _meta?: ModelMetadata & M); + json(): T; + json(key: K): J[K]; + meta(): ModelMetadata & M; + meta(key: K): (ModelMetadata & M)[K]; + jsonPath(field?: string | undefined): string; + protected createModel(Model: Constructor, value: InferModelData, meta: Omit & InferModelMetadata): T; +} diff --git a/apps/parser/cjs/models/base.js b/apps/parser/cjs/models/base.js new file mode 100644 index 000000000..26ea67cbb --- /dev/null +++ b/apps/parser/cjs/models/base.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BaseModel = void 0; +class BaseModel { + constructor(_json, _meta = {}) { + this._json = _json; + this._meta = _meta; + } + json(key) { + if (key === undefined) + return this._json; + if (this._json === null || this._json === undefined) + return this._json; + return this._json[key]; + } + meta(key) { + if (key === undefined) + return this._meta; + if (!this._meta) + return; + return this._meta[key]; + } + jsonPath(field) { + if (typeof field !== 'string') { + return this._meta.pointer; + } + return `${this._meta.pointer}/${field}`; + } + createModel(Model, value, meta) { + return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: this._meta.asyncapi })); + } +} +exports.BaseModel = BaseModel; diff --git a/apps/parser/cjs/models/binding.d.ts b/apps/parser/cjs/models/binding.d.ts new file mode 100644 index 000000000..d63cbb8d2 --- /dev/null +++ b/apps/parser/cjs/models/binding.d.ts @@ -0,0 +1,7 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface BindingInterface = Record> extends BaseModel, ExtensionsMixinInterface { + protocol(): string; + version(): string; + value(): V; +} diff --git a/apps/parser/cjs/models/binding.js b/apps/parser/cjs/models/binding.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/binding.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/bindings.d.ts b/apps/parser/cjs/models/bindings.d.ts new file mode 100644 index 000000000..a9e00490d --- /dev/null +++ b/apps/parser/cjs/models/bindings.d.ts @@ -0,0 +1,5 @@ +import type { Collection } from './collection'; +import type { BindingInterface } from './binding'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface BindingsInterface extends Collection, ExtensionsMixinInterface { +} diff --git a/apps/parser/cjs/models/bindings.js b/apps/parser/cjs/models/bindings.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/bindings.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channel-parameter.d.ts b/apps/parser/cjs/models/channel-parameter.d.ts new file mode 100644 index 000000000..3c787dbd1 --- /dev/null +++ b/apps/parser/cjs/models/channel-parameter.d.ts @@ -0,0 +1,10 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +import type { SchemaInterface } from './schema'; +export interface ChannelParameterInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + hasSchema(): boolean; + schema(): SchemaInterface | undefined; + hasLocation(): boolean; + location(): string | undefined; +} diff --git a/apps/parser/cjs/models/channel-parameter.js b/apps/parser/cjs/models/channel-parameter.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/channel-parameter.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channel-parameters.d.ts b/apps/parser/cjs/models/channel-parameters.d.ts new file mode 100644 index 000000000..516c547bf --- /dev/null +++ b/apps/parser/cjs/models/channel-parameters.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { ChannelParameterInterface } from './channel-parameter'; +export type ChannelParametersInterface = Collection; diff --git a/apps/parser/cjs/models/channel-parameters.js b/apps/parser/cjs/models/channel-parameters.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/channel-parameters.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channel.d.ts b/apps/parser/cjs/models/channel.d.ts new file mode 100644 index 000000000..e4e434b88 --- /dev/null +++ b/apps/parser/cjs/models/channel.d.ts @@ -0,0 +1,14 @@ +import type { BaseModel } from './base'; +import type { ChannelParametersInterface } from './channel-parameters'; +import type { MessagesInterface } from './messages'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +import type { OperationsInterface } from './operations'; +import type { ServersInterface } from './servers'; +export interface ChannelInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + address(): string | null | undefined; + servers(): ServersInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + parameters(): ChannelParametersInterface; +} diff --git a/apps/parser/cjs/models/channel.js b/apps/parser/cjs/models/channel.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/channel.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channels.d.ts b/apps/parser/cjs/models/channels.d.ts new file mode 100644 index 000000000..028bd4a96 --- /dev/null +++ b/apps/parser/cjs/models/channels.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { ChannelInterface } from './channel'; +export interface ChannelsInterface extends Collection { + filterBySend(): ChannelInterface[]; + filterByReceive(): ChannelInterface[]; +} diff --git a/apps/parser/cjs/models/channels.js b/apps/parser/cjs/models/channels.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/channels.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/collection.d.ts b/apps/parser/cjs/models/collection.d.ts new file mode 100644 index 000000000..6c23e3b73 --- /dev/null +++ b/apps/parser/cjs/models/collection.d.ts @@ -0,0 +1,19 @@ +import type { BaseModel } from './base'; +import type { DetailedAsyncAPI } from '../types'; +export interface CollectionMetadata { + originalData?: Record; + asyncapi?: DetailedAsyncAPI; + pointer?: string; +} +export declare abstract class Collection = {}> extends Array { + protected readonly collections: T[]; + protected readonly _meta: CollectionMetadata & M; + constructor(collections: T[], _meta?: CollectionMetadata & M); + abstract get(id: string): T | undefined; + has(id: string): boolean; + all(): T[]; + isEmpty(): boolean; + filterBy(filter: (item: T) => boolean): T[]; + meta(): CollectionMetadata & M; + meta & M)>(key: K): (CollectionMetadata & M)[K]; +} diff --git a/apps/parser/cjs/models/collection.js b/apps/parser/cjs/models/collection.js new file mode 100644 index 000000000..24ebf1e84 --- /dev/null +++ b/apps/parser/cjs/models/collection.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Collection = void 0; +class Collection extends Array { + constructor(collections, _meta = {}) { + super(...collections); + this.collections = collections; + this._meta = _meta; + } + has(id) { + return typeof this.get(id) !== 'undefined'; + } + all() { + return this.collections; + } + isEmpty() { + return this.collections.length === 0; + } + filterBy(filter) { + return this.collections.filter(filter); + } + meta(key) { + if (key === undefined) + return this._meta; + if (!this._meta) + return; + return this._meta[String(key)]; + } +} +exports.Collection = Collection; diff --git a/apps/parser/cjs/models/components.d.ts b/apps/parser/cjs/models/components.d.ts new file mode 100644 index 000000000..ce8c4f7e7 --- /dev/null +++ b/apps/parser/cjs/models/components.d.ts @@ -0,0 +1,32 @@ +import type { BaseModel } from './base'; +import type { BindingsInterface } from './bindings'; +import type { ExtensionsMixinInterface } from './mixins'; +import type { ServersInterface } from './servers'; +import type { ChannelsInterface } from './channels'; +import type { MessagesInterface } from './messages'; +import type { SchemasInterface } from './schemas'; +import type { ChannelParametersInterface } from './channel-parameters'; +import type { ServerVariablesInterface } from './server-variables'; +import type { OperationTraitsInterface } from './operation-traits'; +import type { MessageTraitsInterface } from './message-traits'; +import type { SecuritySchemesInterface } from './security-schemes'; +import type { CorrelationIdsInterface } from './correlation-ids'; +import type { OperationsInterface } from './operations'; +export interface ComponentsInterface extends BaseModel, ExtensionsMixinInterface { + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + channelParameters(): ChannelParametersInterface; + serverVariables(): ServerVariablesInterface; + operations(): OperationsInterface; + operationTraits(): OperationTraitsInterface; + messageTraits(): MessageTraitsInterface; + correlationIds(): CorrelationIdsInterface; + securitySchemes(): SecuritySchemesInterface; + serverBindings(): Record; + channelBindings(): Record; + operationBindings(): Record; + messageBindings(): Record; + isEmpty(): boolean; +} diff --git a/apps/parser/cjs/models/components.js b/apps/parser/cjs/models/components.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/components.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/contact.d.ts b/apps/parser/cjs/models/contact.d.ts new file mode 100644 index 000000000..79bf79984 --- /dev/null +++ b/apps/parser/cjs/models/contact.d.ts @@ -0,0 +1,10 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface ContactInterface extends BaseModel, ExtensionsMixinInterface { + hasName(): boolean; + name(): string | undefined; + hasUrl(): boolean; + url(): string | undefined; + hasEmail(): boolean; + email(): string | undefined; +} diff --git a/apps/parser/cjs/models/contact.js b/apps/parser/cjs/models/contact.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/contact.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/correlation-id.d.ts b/apps/parser/cjs/models/correlation-id.d.ts new file mode 100644 index 000000000..526f641b6 --- /dev/null +++ b/apps/parser/cjs/models/correlation-id.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface CorrelationIdInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + location(): string | undefined; +} diff --git a/apps/parser/cjs/models/correlation-id.js b/apps/parser/cjs/models/correlation-id.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/correlation-id.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/correlation-ids.d.ts b/apps/parser/cjs/models/correlation-ids.d.ts new file mode 100644 index 000000000..47e02a09f --- /dev/null +++ b/apps/parser/cjs/models/correlation-ids.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { CorrelationIdInterface } from './correlation-id'; +export type CorrelationIdsInterface = Collection; diff --git a/apps/parser/cjs/models/correlation-ids.js b/apps/parser/cjs/models/correlation-ids.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/correlation-ids.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/extension.d.ts b/apps/parser/cjs/models/extension.d.ts new file mode 100644 index 000000000..a59abffb2 --- /dev/null +++ b/apps/parser/cjs/models/extension.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +export interface ExtensionInterface extends BaseModel { + id(): string; + value(): V; +} diff --git a/apps/parser/cjs/models/extension.js b/apps/parser/cjs/models/extension.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/extension.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/extensions.d.ts b/apps/parser/cjs/models/extensions.d.ts new file mode 100644 index 000000000..abb62df18 --- /dev/null +++ b/apps/parser/cjs/models/extensions.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { ExtensionInterface } from './extension'; +export type ExtensionsInterface = Collection; diff --git a/apps/parser/cjs/models/extensions.js b/apps/parser/cjs/models/extensions.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/extensions.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/external-docs.d.ts b/apps/parser/cjs/models/external-docs.d.ts new file mode 100644 index 000000000..bca1e1fef --- /dev/null +++ b/apps/parser/cjs/models/external-docs.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + url(): string; +} diff --git a/apps/parser/cjs/models/external-docs.js b/apps/parser/cjs/models/external-docs.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/external-docs.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/external-documentation.d.ts b/apps/parser/cjs/models/external-documentation.d.ts new file mode 100644 index 000000000..b48a51fde --- /dev/null +++ b/apps/parser/cjs/models/external-documentation.d.ts @@ -0,0 +1,6 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string | undefined; + url(): string; +} diff --git a/apps/parser/cjs/models/external-documentation.js b/apps/parser/cjs/models/external-documentation.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/external-documentation.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/external-documentations.d.ts b/apps/parser/cjs/models/external-documentations.d.ts new file mode 100644 index 000000000..c6d0f9cf5 --- /dev/null +++ b/apps/parser/cjs/models/external-documentations.d.ts @@ -0,0 +1,6 @@ +import { Collection } from './collection'; +import type { ExternalDocumentationInterface } from './external-docs'; +export type ExternalDocumentationsInterface = Collection; +export declare class ExternalDocumentations extends Collection implements ExternalDocumentationsInterface { + get(id: string): ExternalDocumentationInterface | undefined; +} diff --git a/apps/parser/cjs/models/external-documentations.js b/apps/parser/cjs/models/external-documentations.js new file mode 100644 index 000000000..141db30fc --- /dev/null +++ b/apps/parser/cjs/models/external-documentations.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExternalDocumentations = void 0; +const collection_1 = require("./collection"); +class ExternalDocumentations extends collection_1.Collection { + get(id) { + return this.collections.find(externalDocs => externalDocs.meta('id') === id); + } +} +exports.ExternalDocumentations = ExternalDocumentations; diff --git a/apps/parser/cjs/models/index.d.ts b/apps/parser/cjs/models/index.d.ts new file mode 100644 index 000000000..b07f3d24a --- /dev/null +++ b/apps/parser/cjs/models/index.d.ts @@ -0,0 +1,48 @@ +export * from './v2'; +export * from './v3'; +export * from './asyncapi'; +export * from './base'; +export * from './binding'; +export * from './bindings'; +export * from './channel-parameter'; +export * from './channel-parameters'; +export * from './channel'; +export * from './channels'; +export * from './collection'; +export * from './components'; +export * from './contact'; +export * from './correlation-id'; +export * from './correlation-ids'; +export * from './extension'; +export * from './extensions'; +export * from './external-docs'; +export * from './info'; +export * from './license'; +export * from './message-example'; +export * from './message-examples'; +export * from './message-trait'; +export * from './message-traits'; +export * from './message'; +export * from './messages'; +export * from './oauth-flow'; +export * from './oauth-flows'; +export * from './operation-replies'; +export * from './operation-reply-address'; +export * from './operation-reply-addresses'; +export * from './operation-reply'; +export * from './operation-trait'; +export * from './operation-traits'; +export * from './operation'; +export * from './operations'; +export * from './schema'; +export * from './schemas'; +export * from './security-requirement'; +export * from './security-requirements'; +export * from './security-scheme'; +export * from './security-schemes'; +export * from './server-variable'; +export * from './server-variables'; +export * from './server'; +export * from './servers'; +export * from './tag'; +export * from './tags'; diff --git a/apps/parser/cjs/models/index.js b/apps/parser/cjs/models/index.js new file mode 100644 index 000000000..0740e1f54 --- /dev/null +++ b/apps/parser/cjs/models/index.js @@ -0,0 +1,64 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./v2"), exports); +__exportStar(require("./v3"), exports); +__exportStar(require("./asyncapi"), exports); +__exportStar(require("./base"), exports); +__exportStar(require("./binding"), exports); +__exportStar(require("./bindings"), exports); +__exportStar(require("./channel-parameter"), exports); +__exportStar(require("./channel-parameters"), exports); +__exportStar(require("./channel"), exports); +__exportStar(require("./channels"), exports); +__exportStar(require("./collection"), exports); +__exportStar(require("./components"), exports); +__exportStar(require("./contact"), exports); +__exportStar(require("./correlation-id"), exports); +__exportStar(require("./correlation-ids"), exports); +__exportStar(require("./extension"), exports); +__exportStar(require("./extensions"), exports); +__exportStar(require("./external-docs"), exports); +__exportStar(require("./info"), exports); +__exportStar(require("./license"), exports); +__exportStar(require("./message-example"), exports); +__exportStar(require("./message-examples"), exports); +__exportStar(require("./message-trait"), exports); +__exportStar(require("./message-traits"), exports); +__exportStar(require("./message"), exports); +__exportStar(require("./messages"), exports); +__exportStar(require("./oauth-flow"), exports); +__exportStar(require("./oauth-flows"), exports); +__exportStar(require("./operation-replies"), exports); +__exportStar(require("./operation-reply-address"), exports); +__exportStar(require("./operation-reply-addresses"), exports); +__exportStar(require("./operation-reply"), exports); +__exportStar(require("./operation-trait"), exports); +__exportStar(require("./operation-traits"), exports); +__exportStar(require("./operation"), exports); +__exportStar(require("./operations"), exports); +__exportStar(require("./schema"), exports); +__exportStar(require("./schemas"), exports); +__exportStar(require("./security-requirement"), exports); +__exportStar(require("./security-requirements"), exports); +__exportStar(require("./security-scheme"), exports); +__exportStar(require("./security-schemes"), exports); +__exportStar(require("./server-variable"), exports); +__exportStar(require("./server-variables"), exports); +__exportStar(require("./server"), exports); +__exportStar(require("./servers"), exports); +__exportStar(require("./tag"), exports); +__exportStar(require("./tags"), exports); diff --git a/apps/parser/cjs/models/info.d.ts b/apps/parser/cjs/models/info.d.ts new file mode 100644 index 000000000..33ce92d33 --- /dev/null +++ b/apps/parser/cjs/models/info.d.ts @@ -0,0 +1,16 @@ +import type { ContactInterface } from './contact'; +import type { LicenseInterface } from './license'; +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; +export interface InfoInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { + title(): string; + version(): string; + hasId(): boolean; + id(): string | undefined; + hasTermsOfService(): boolean; + termsOfService(): string | undefined; + hasContact(): boolean; + contact(): ContactInterface | undefined; + hasLicense(): boolean; + license(): LicenseInterface | undefined; +} diff --git a/apps/parser/cjs/models/info.js b/apps/parser/cjs/models/info.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/info.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/license.d.ts b/apps/parser/cjs/models/license.d.ts new file mode 100644 index 000000000..55d4949b0 --- /dev/null +++ b/apps/parser/cjs/models/license.d.ts @@ -0,0 +1,7 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface LicenseInterface extends BaseModel, ExtensionsMixinInterface { + name(): string; + hasUrl(): boolean; + url(): string | undefined; +} diff --git a/apps/parser/cjs/models/license.js b/apps/parser/cjs/models/license.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/license.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-example.d.ts b/apps/parser/cjs/models/message-example.d.ts new file mode 100644 index 000000000..f929d876f --- /dev/null +++ b/apps/parser/cjs/models/message-example.d.ts @@ -0,0 +1,12 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface MessageExampleInterface extends BaseModel, ExtensionsMixinInterface { + hasName(): boolean; + name(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasHeaders(): boolean; + headers(): Record | undefined; + hasPayload(): boolean; + payload(): Record | undefined; +} diff --git a/apps/parser/cjs/models/message-example.js b/apps/parser/cjs/models/message-example.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/message-example.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-examples.d.ts b/apps/parser/cjs/models/message-examples.d.ts new file mode 100644 index 000000000..ff4359d25 --- /dev/null +++ b/apps/parser/cjs/models/message-examples.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { MessageExampleInterface } from './message-example'; +export type MessageExamplesInterface = Collection; diff --git a/apps/parser/cjs/models/message-examples.js b/apps/parser/cjs/models/message-examples.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/message-examples.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-trait.d.ts b/apps/parser/cjs/models/message-trait.d.ts new file mode 100644 index 000000000..05632cb4c --- /dev/null +++ b/apps/parser/cjs/models/message-trait.d.ts @@ -0,0 +1,24 @@ +import type { BaseModel } from './base'; +import type { CorrelationIdInterface } from './correlation-id'; +import type { MessageExamplesInterface } from './message-examples'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; +import type { SchemaInterface } from './schema'; +export interface MessageTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { + id(): string; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + hasMessageId(): boolean; + hasCorrelationId(): boolean; + correlationId(): CorrelationIdInterface | undefined; + hasContentType(): boolean; + contentType(): string | undefined; + hasHeaders(): boolean; + headers(): SchemaInterface | undefined; + hasName(): boolean; + name(): string | undefined; + hasTitle(): boolean; + title(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + examples(): MessageExamplesInterface; +} diff --git a/apps/parser/cjs/models/message-trait.js b/apps/parser/cjs/models/message-trait.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/message-trait.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-traits.d.ts b/apps/parser/cjs/models/message-traits.d.ts new file mode 100644 index 000000000..78f21908e --- /dev/null +++ b/apps/parser/cjs/models/message-traits.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { MessageTraitInterface } from './message-trait'; +export type MessageTraitsInterface = Collection; diff --git a/apps/parser/cjs/models/message-traits.js b/apps/parser/cjs/models/message-traits.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/message-traits.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message.d.ts b/apps/parser/cjs/models/message.d.ts new file mode 100644 index 000000000..c030c3912 --- /dev/null +++ b/apps/parser/cjs/models/message.d.ts @@ -0,0 +1,15 @@ +import type { BaseModel } from './base'; +import type { ChannelsInterface } from './channels'; +import type { MessageTraitsInterface } from './message-traits'; +import type { MessageTraitInterface } from './message-trait'; +import type { OperationsInterface } from './operations'; +import type { SchemaInterface } from './schema'; +import type { ServersInterface } from './servers'; +export interface MessageInterface extends BaseModel, MessageTraitInterface { + hasPayload(): boolean; + payload(): SchemaInterface | undefined; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + traits(): MessageTraitsInterface; +} diff --git a/apps/parser/cjs/models/message.js b/apps/parser/cjs/models/message.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/message.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/messages.d.ts b/apps/parser/cjs/models/messages.d.ts new file mode 100644 index 000000000..614bbd142 --- /dev/null +++ b/apps/parser/cjs/models/messages.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { MessageInterface } from './message'; +export interface MessagesInterface extends Collection { + filterBySend(): MessageInterface[]; + filterByReceive(): MessageInterface[]; +} diff --git a/apps/parser/cjs/models/messages.js b/apps/parser/cjs/models/messages.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/messages.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/mixins.d.ts b/apps/parser/cjs/models/mixins.d.ts new file mode 100644 index 000000000..558a30c2a --- /dev/null +++ b/apps/parser/cjs/models/mixins.d.ts @@ -0,0 +1,31 @@ +import type { BindingsInterface } from './bindings'; +import type { ExtensionsInterface } from './extensions'; +import type { ExternalDocumentationInterface } from './external-docs'; +import type { TagsInterface } from './tags'; +export interface BindingsMixinInterface { + bindings(): BindingsInterface; +} +export interface CoreMixinInterface extends BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, SummaryMixinInterface, TagsMixinInterface, TitleMixinInterface { +} +export interface DescriptionMixinInterface { + hasDescription(): boolean; + description(): string | undefined; +} +export interface ExtensionsMixinInterface { + extensions(): ExtensionsInterface; +} +export interface ExternalDocumentationMixinInterface { + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; +} +export interface SummaryMixinInterface { + hasSummary(): boolean; + summary(): string | undefined; +} +export interface TagsMixinInterface { + tags(): TagsInterface; +} +export interface TitleMixinInterface { + hasTitle(): boolean; + title(): string | undefined; +} diff --git a/apps/parser/cjs/models/mixins.js b/apps/parser/cjs/models/mixins.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/mixins.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/oauth-flow.d.ts b/apps/parser/cjs/models/oauth-flow.d.ts new file mode 100644 index 000000000..3151c3d76 --- /dev/null +++ b/apps/parser/cjs/models/oauth-flow.d.ts @@ -0,0 +1,11 @@ +import { BaseModel } from './base'; +import { ExtensionsMixinInterface } from './mixins'; +export interface OAuthFlowInterface = Record> extends BaseModel, ExtensionsMixinInterface { + hasAuthorizationUrl(): boolean; + authorizationUrl(): string | undefined; + hasTokenUrl(): boolean; + tokenUrl(): string | undefined; + hasRefreshUrl(): boolean; + refreshUrl(): string | undefined; + scopes(): Record | undefined; +} diff --git a/apps/parser/cjs/models/oauth-flow.js b/apps/parser/cjs/models/oauth-flow.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/oauth-flow.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/oauth-flows.d.ts b/apps/parser/cjs/models/oauth-flows.d.ts new file mode 100644 index 000000000..9d4a9c332 --- /dev/null +++ b/apps/parser/cjs/models/oauth-flows.d.ts @@ -0,0 +1,13 @@ +import type { BaseModel } from './base'; +import type { OAuthFlowInterface } from './oauth-flow'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface OAuthFlowsInterface extends BaseModel, ExtensionsMixinInterface { + hasAuthorizationCode(): boolean; + authorizationCode(): OAuthFlowInterface | undefined; + hasClientCredentials(): boolean; + clientCredentials(): OAuthFlowInterface | undefined; + hasImplicit(): boolean; + implicit(): OAuthFlowInterface | undefined; + hasPassword(): boolean; + password(): OAuthFlowInterface | undefined; +} diff --git a/apps/parser/cjs/models/oauth-flows.js b/apps/parser/cjs/models/oauth-flows.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/oauth-flows.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-replies.d.ts b/apps/parser/cjs/models/operation-replies.d.ts new file mode 100644 index 000000000..2472878d5 --- /dev/null +++ b/apps/parser/cjs/models/operation-replies.d.ts @@ -0,0 +1,3 @@ +import { Collection } from './collection'; +import type { OperationReplyInterface } from './operation-reply'; +export type OperationRepliesInterface = Collection; diff --git a/apps/parser/cjs/models/operation-replies.js b/apps/parser/cjs/models/operation-replies.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operation-replies.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-reply-address.d.ts b/apps/parser/cjs/models/operation-reply-address.d.ts new file mode 100644 index 000000000..b7ea5dd00 --- /dev/null +++ b/apps/parser/cjs/models/operation-reply-address.d.ts @@ -0,0 +1,6 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface OperationReplyAddressInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string | undefined; + location(): string; +} diff --git a/apps/parser/cjs/models/operation-reply-address.js b/apps/parser/cjs/models/operation-reply-address.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operation-reply-address.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-reply-addresses.d.ts b/apps/parser/cjs/models/operation-reply-addresses.d.ts new file mode 100644 index 000000000..8497f33cc --- /dev/null +++ b/apps/parser/cjs/models/operation-reply-addresses.d.ts @@ -0,0 +1,3 @@ +import { Collection } from './collection'; +import type { OperationReplyAddressInterface } from './operation-reply-address'; +export type OperationReplyAddressesInterface = Collection; diff --git a/apps/parser/cjs/models/operation-reply-addresses.js b/apps/parser/cjs/models/operation-reply-addresses.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operation-reply-addresses.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-reply.d.ts b/apps/parser/cjs/models/operation-reply.d.ts new file mode 100644 index 000000000..c66403879 --- /dev/null +++ b/apps/parser/cjs/models/operation-reply.d.ts @@ -0,0 +1,13 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +import type { ChannelInterface } from './channel'; +import type { MessagesInterface } from './messages'; +import type { OperationReplyAddressInterface } from './operation-reply-address'; +export interface OperationReplyInterface extends BaseModel, ExtensionsMixinInterface { + id(): string | undefined; + hasAddress(): boolean; + address(): OperationReplyAddressInterface | undefined; + hasChannel(): boolean; + channel(): ChannelInterface | undefined; + messages(): MessagesInterface; +} diff --git a/apps/parser/cjs/models/operation-reply.js b/apps/parser/cjs/models/operation-reply.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operation-reply.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-trait.d.ts b/apps/parser/cjs/models/operation-trait.d.ts new file mode 100644 index 000000000..32f220ba0 --- /dev/null +++ b/apps/parser/cjs/models/operation-trait.d.ts @@ -0,0 +1,11 @@ +import type { BaseModel } from './base'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; +import { SecurityRequirements } from './v2/security-requirements'; +export interface OperationTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { + id(): string | undefined; + hasOperationId(): boolean; + operationId(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + security(): SecurityRequirements[]; +} diff --git a/apps/parser/cjs/models/operation-trait.js b/apps/parser/cjs/models/operation-trait.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operation-trait.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-traits.d.ts b/apps/parser/cjs/models/operation-traits.d.ts new file mode 100644 index 000000000..30716170f --- /dev/null +++ b/apps/parser/cjs/models/operation-traits.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { OperationTraitInterface } from './operation-trait'; +export type OperationTraitsInterface = Collection; diff --git a/apps/parser/cjs/models/operation-traits.js b/apps/parser/cjs/models/operation-traits.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operation-traits.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation.d.ts b/apps/parser/cjs/models/operation.d.ts new file mode 100644 index 000000000..6cb9e3c97 --- /dev/null +++ b/apps/parser/cjs/models/operation.d.ts @@ -0,0 +1,18 @@ +import type { BaseModel } from './base'; +import type { ChannelsInterface } from './channels'; +import type { MessagesInterface } from './messages'; +import type { OperationReplyInterface } from './operation-reply'; +import type { OperationTraitsInterface } from './operation-traits'; +import type { OperationTraitInterface } from './operation-trait'; +import type { ServersInterface } from './servers'; +export type OperationAction = 'send' | 'receive' | 'publish' | 'subscribe'; +export interface OperationInterface extends BaseModel, OperationTraitInterface { + action(): OperationAction; + isSend(): boolean; + isReceive(): boolean; + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + reply(): OperationReplyInterface | undefined; + traits(): OperationTraitsInterface; +} diff --git a/apps/parser/cjs/models/operation.js b/apps/parser/cjs/models/operation.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operation.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operations.d.ts b/apps/parser/cjs/models/operations.d.ts new file mode 100644 index 000000000..378a78e84 --- /dev/null +++ b/apps/parser/cjs/models/operations.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { OperationInterface } from './operation'; +export interface OperationsInterface extends Collection { + filterBySend(): OperationInterface[]; + filterByReceive(): OperationInterface[]; +} diff --git a/apps/parser/cjs/models/operations.js b/apps/parser/cjs/models/operations.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/operations.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/schema.d.ts b/apps/parser/cjs/models/schema.d.ts new file mode 100644 index 000000000..3ff32aa99 --- /dev/null +++ b/apps/parser/cjs/models/schema.d.ts @@ -0,0 +1,57 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; +import type { v2 } from '../spec-types'; +export interface SchemaInterface extends BaseModel, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { + $comment(): string | undefined; + $id(): string | undefined; + $schema(): string; + additionalItems(): boolean | SchemaInterface; + additionalProperties(): boolean | SchemaInterface; + allOf(): Array | undefined; + anyOf(): Array | undefined; + const(): any; + contains(): SchemaInterface | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + default(): any; + definitions(): Record | undefined; + description(): string | undefined; + dependencies(): Record> | undefined; + deprecated(): boolean; + discriminator(): string | undefined; + else(): SchemaInterface | undefined; + enum(): Array | undefined; + examples(): Array | undefined; + exclusiveMaximum(): number | undefined; + exclusiveMinimum(): number | undefined; + format(): string | undefined; + id(): string; + isBooleanSchema(): boolean; + if(): SchemaInterface | undefined; + isCircular(): boolean; + items(): SchemaInterface | Array | undefined; + maximum(): number | undefined; + maxItems(): number | undefined; + maxLength(): number | undefined; + maxProperties(): number | undefined; + minimum(): number | undefined; + minItems(): number | undefined; + minLength(): number | undefined; + minProperties(): number | undefined; + multipleOf(): number | undefined; + not(): SchemaInterface | undefined; + oneOf(): Array | undefined; + pattern(): string | undefined; + patternProperties(): Record | undefined; + properties(): Record | undefined; + property(name: string): SchemaInterface | undefined; + propertyNames(): SchemaInterface | undefined; + readOnly(): boolean | undefined; + required(): Array | undefined; + schemaFormat(): string; + then(): SchemaInterface | undefined; + title(): string | undefined; + type(): string | Array | undefined; + uniqueItems(): boolean | undefined; + writeOnly(): boolean | undefined; +} diff --git a/apps/parser/cjs/models/schema.js b/apps/parser/cjs/models/schema.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/schema.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/schemas.d.ts b/apps/parser/cjs/models/schemas.d.ts new file mode 100644 index 000000000..c7ecb6460 --- /dev/null +++ b/apps/parser/cjs/models/schemas.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { SchemaInterface } from './schema'; +export type SchemasInterface = Collection; diff --git a/apps/parser/cjs/models/schemas.js b/apps/parser/cjs/models/schemas.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/schemas.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-requirement.d.ts b/apps/parser/cjs/models/security-requirement.d.ts new file mode 100644 index 000000000..e56dbf50e --- /dev/null +++ b/apps/parser/cjs/models/security-requirement.d.ts @@ -0,0 +1,6 @@ +import type { BaseModel } from './base'; +import type { SecuritySchemeInterface } from './security-scheme'; +export interface SecurityRequirementInterface extends BaseModel { + scheme(): SecuritySchemeInterface; + scopes(): string[]; +} diff --git a/apps/parser/cjs/models/security-requirement.js b/apps/parser/cjs/models/security-requirement.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/security-requirement.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-requirements.d.ts b/apps/parser/cjs/models/security-requirements.d.ts new file mode 100644 index 000000000..1c0516602 --- /dev/null +++ b/apps/parser/cjs/models/security-requirements.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { SecurityRequirementInterface } from './security-requirement'; +export type SecurityRequirementsInterface = Collection; diff --git a/apps/parser/cjs/models/security-requirements.js b/apps/parser/cjs/models/security-requirements.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/security-requirements.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-scheme.d.ts b/apps/parser/cjs/models/security-scheme.d.ts new file mode 100644 index 000000000..982b778ca --- /dev/null +++ b/apps/parser/cjs/models/security-scheme.d.ts @@ -0,0 +1,19 @@ +import type { BaseModel } from './base'; +import type { OAuthFlowsInterface } from './oauth-flows'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface SecuritySchemeInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + type(): string; + hasName(): boolean; + name(): string | undefined; + hasIn(): boolean; + in(): string | undefined; + hasScheme(): boolean; + scheme(): string | undefined; + hasBearerFormat(): boolean; + bearerFormat(): string | undefined; + hasFlows(): boolean; + flows(): OAuthFlowsInterface | undefined; + hasOpenIdConnectUrl(): boolean; + openIdConnectUrl(): string | undefined; +} diff --git a/apps/parser/cjs/models/security-scheme.js b/apps/parser/cjs/models/security-scheme.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/security-scheme.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-schemes.d.ts b/apps/parser/cjs/models/security-schemes.d.ts new file mode 100644 index 000000000..49ecf7a6d --- /dev/null +++ b/apps/parser/cjs/models/security-schemes.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { SecuritySchemeInterface } from './security-scheme'; +export type SecuritySchemesInterface = Collection; diff --git a/apps/parser/cjs/models/security-schemes.js b/apps/parser/cjs/models/security-schemes.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/security-schemes.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/server-variable.d.ts b/apps/parser/cjs/models/server-variable.d.ts new file mode 100644 index 000000000..85faa6989 --- /dev/null +++ b/apps/parser/cjs/models/server-variable.d.ts @@ -0,0 +1,10 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface ServerVariableInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + hasDefaultValue(): boolean; + defaultValue(): string | undefined; + hasAllowedValues(): boolean; + allowedValues(): Array; + examples(): Array; +} diff --git a/apps/parser/cjs/models/server-variable.js b/apps/parser/cjs/models/server-variable.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/server-variable.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/server-variables.d.ts b/apps/parser/cjs/models/server-variables.d.ts new file mode 100644 index 000000000..24c0c40b9 --- /dev/null +++ b/apps/parser/cjs/models/server-variables.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { ServerVariableInterface } from './server-variable'; +export type ServerVariablesInterface = Collection; diff --git a/apps/parser/cjs/models/server-variables.js b/apps/parser/cjs/models/server-variables.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/server-variables.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/server.d.ts b/apps/parser/cjs/models/server.d.ts new file mode 100644 index 000000000..e93560576 --- /dev/null +++ b/apps/parser/cjs/models/server.d.ts @@ -0,0 +1,22 @@ +import type { BaseModel } from './base'; +import type { ChannelsInterface } from './channels'; +import type { MessagesInterface } from './messages'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, TagsMixinInterface } from './mixins'; +import type { OperationsInterface } from './operations'; +import type { ServerVariablesInterface } from './server-variables'; +import type { SecurityRequirementsInterface } from './security-requirements'; +export interface ServerInterface extends BaseModel, DescriptionMixinInterface, BindingsMixinInterface, ExtensionsMixinInterface, TagsMixinInterface { + id(): string; + url(): string; + host(): string; + hasPathname(): boolean; + pathname(): string | undefined; + protocol(): string; + protocolVersion(): string | undefined; + hasProtocolVersion(): boolean; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + variables(): ServerVariablesInterface; + security(): SecurityRequirementsInterface[]; +} diff --git a/apps/parser/cjs/models/server.js b/apps/parser/cjs/models/server.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/server.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/servers.d.ts b/apps/parser/cjs/models/servers.d.ts new file mode 100644 index 000000000..3108b996e --- /dev/null +++ b/apps/parser/cjs/models/servers.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { ServerInterface } from './server'; +export interface ServersInterface extends Collection { + filterBySend(): ServerInterface[]; + filterByReceive(): ServerInterface[]; +} diff --git a/apps/parser/cjs/models/servers.js b/apps/parser/cjs/models/servers.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/servers.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/tag.d.ts b/apps/parser/cjs/models/tag.d.ts new file mode 100644 index 000000000..019512db2 --- /dev/null +++ b/apps/parser/cjs/models/tag.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; +export interface TagInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { + name(): string; +} diff --git a/apps/parser/cjs/models/tag.js b/apps/parser/cjs/models/tag.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/tag.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/tags.d.ts b/apps/parser/cjs/models/tags.d.ts new file mode 100644 index 000000000..09b764464 --- /dev/null +++ b/apps/parser/cjs/models/tags.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { TagInterface } from './tag'; +export type TagsInterface = Collection; diff --git a/apps/parser/cjs/models/tags.js b/apps/parser/cjs/models/tags.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/models/tags.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/utils.d.ts b/apps/parser/cjs/models/utils.d.ts new file mode 100644 index 000000000..554b09178 --- /dev/null +++ b/apps/parser/cjs/models/utils.d.ts @@ -0,0 +1,13 @@ +import type { BaseModel, ModelMetadata } from './base'; +import type { DetailedAsyncAPI } from '../types'; +import { AsyncAPIDocumentInterface } from './asyncapi'; +import { SchemasInterface } from '../models'; +export interface Constructor extends Function { + new (...any: any[]): T; +} +export type InferModelData = T extends BaseModel ? J : never; +export type InferModelMetadata = T extends BaseModel ? M : never; +export declare function createModel(Model: Constructor, value: InferModelData, meta: Omit & { + asyncapi?: DetailedAsyncAPI; +} & InferModelMetadata, parent?: BaseModel): T; +export declare function schemasFromDocument(document: AsyncAPIDocumentInterface, SchemasModel: Constructor, includeComponents: boolean): T; diff --git a/apps/parser/cjs/models/utils.js b/apps/parser/cjs/models/utils.js new file mode 100644 index 000000000..d6959d5b9 --- /dev/null +++ b/apps/parser/cjs/models/utils.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.schemasFromDocument = exports.createModel = void 0; +const iterator_1 = require("../iterator"); +function createModel(Model, value, meta, parent) { + return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: meta.asyncapi || (parent === null || parent === void 0 ? void 0 : parent.meta().asyncapi) })); +} +exports.createModel = createModel; +function schemasFromDocument(document, SchemasModel, includeComponents) { + const jsonInstances = new Set(); + const schemas = new Set(); + function callback(schema) { + // comparing the reference (and not just the value) to the .json() object + if (!jsonInstances.has(schema.json())) { + jsonInstances.add(schema.json()); + schemas.add(schema); // unique schemas + } + } + let toIterate = Object.values(iterator_1.SchemaTypesToIterate); + if (!includeComponents) { + toIterate = toIterate.filter(s => s !== iterator_1.SchemaTypesToIterate.Components); + } + (0, iterator_1.traverseAsyncApiDocument)(document, callback, toIterate); + return new SchemasModel(Array.from(schemas)); +} +exports.schemasFromDocument = schemasFromDocument; diff --git a/apps/parser/cjs/models/v2/asyncapi.d.ts b/apps/parser/cjs/models/v2/asyncapi.d.ts new file mode 100644 index 000000000..b2073140a --- /dev/null +++ b/apps/parser/cjs/models/v2/asyncapi.d.ts @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import type { AsyncAPIDocumentInterface } from '../asyncapi'; +import type { InfoInterface } from '../info'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { ComponentsInterface } from '../components'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { SchemasInterface } from '../schemas'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { + version(): string; + defaultContentType(): string | undefined; + hasDefaultContentType(): boolean; + info(): InfoInterface; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + securitySchemes(): SecuritySchemesInterface; + components(): ComponentsInterface; + allServers(): ServersInterface; + allChannels(): ChannelsInterface; + allOperations(): OperationsInterface; + allMessages(): MessagesInterface; + allSchemas(): SchemasInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/asyncapi.js b/apps/parser/cjs/models/v2/asyncapi.js new file mode 100644 index 000000000..c3f0dc54a --- /dev/null +++ b/apps/parser/cjs/models/v2/asyncapi.js @@ -0,0 +1,86 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AsyncAPIDocument = void 0; +const base_1 = require("../base"); +const info_1 = require("./info"); +const channels_1 = require("./channels"); +const channel_1 = require("./channel"); +const components_1 = require("./components"); +const messages_1 = require("./messages"); +const operations_1 = require("./operations"); +const servers_1 = require("./servers"); +const server_1 = require("./server"); +const security_schemes_1 = require("./security-schemes"); +const security_scheme_1 = require("./security-scheme"); +const schemas_1 = require("./schemas"); +const mixins_1 = require("./mixins"); +const utils_1 = require("../../utils"); +const utils_2 = require("../utils"); +class AsyncAPIDocument extends base_1.BaseModel { + version() { + return this._json.asyncapi; + } + defaultContentType() { + return this._json.defaultContentType; + } + hasDefaultContentType() { + return !!this._json.defaultContentType; + } + info() { + return this.createModel(info_1.Info, this._json.info, { pointer: '/info' }); + } + servers() { + return new servers_1.Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${serverName}` }))); + } + channels() { + return new channels_1.Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(channel_1.Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}` }))); + } + operations() { + const operations = []; + this.channels().forEach(channel => operations.push(...channel.operations())); + return new operations_1.Operations(operations); + } + messages() { + const messages = []; + this.operations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); + return new messages_1.Messages(messages); + } + schemas() { + return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, false); + } + securitySchemes() { + var _a; + return new security_schemes_1.SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(security_scheme_1.SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); + } + components() { + return this.createModel(components_1.Components, this._json.components || {}, { pointer: '/components' }); + } + allServers() { + const servers = this.servers().all(); + this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); + return new servers_1.Servers(servers); + } + allChannels() { + const channels = this.channels().all(); + this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); + return new channels_1.Channels(channels); + } + allOperations() { + const operations = []; + this.allChannels().forEach(channel => operations.push(...channel.operations())); + return new operations_1.Operations(operations); + } + allMessages() { + const messages = []; + this.allOperations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); + this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); + return new messages_1.Messages(messages); + } + allSchemas() { + return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, true); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.AsyncAPIDocument = AsyncAPIDocument; diff --git a/apps/parser/cjs/models/v2/binding.d.ts b/apps/parser/cjs/models/v2/binding.d.ts new file mode 100644 index 000000000..6e13a3caf --- /dev/null +++ b/apps/parser/cjs/models/v2/binding.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class Binding = Record> extends BaseModel implements BindingInterface { + protocol(): string; + version(): string; + value(): V; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/binding.js b/apps/parser/cjs/models/v2/binding.js new file mode 100644 index 000000000..52c49f724 --- /dev/null +++ b/apps/parser/cjs/models/v2/binding.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Binding = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class Binding extends base_1.BaseModel { + protocol() { + return this._meta.protocol; + } + version() { + return this._json.bindingVersion || 'latest'; + } + value() { + const value = Object.assign({}, this._json); + delete value.bindingVersion; + return value; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Binding = Binding; diff --git a/apps/parser/cjs/models/v2/bindings.d.ts b/apps/parser/cjs/models/v2/bindings.d.ts new file mode 100644 index 000000000..366f2d369 --- /dev/null +++ b/apps/parser/cjs/models/v2/bindings.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { BindingsInterface } from '../bindings'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +export declare class Bindings extends Collection implements BindingsInterface { + get = Record>(name: string): BindingInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/bindings.js b/apps/parser/cjs/models/v2/bindings.js new file mode 100644 index 000000000..793406ac1 --- /dev/null +++ b/apps/parser/cjs/models/v2/bindings.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Bindings = void 0; +const collection_1 = require("../collection"); +const extensions_1 = require("./extensions"); +const extension_1 = require("./extension"); +const utils_1 = require("../utils"); +const constants_1 = require("../../constants"); +class Bindings extends collection_1.Collection { + get(name) { + return this.collections.find(binding => binding.protocol() === name); + } + extensions() { + const extensions = []; + Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { + if (constants_1.EXTENSION_REGEX.test(id)) { + extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); + } + }); + return new extensions_1.Extensions(extensions); + } +} +exports.Bindings = Bindings; diff --git a/apps/parser/cjs/models/v2/channel-parameter.d.ts b/apps/parser/cjs/models/v2/channel-parameter.d.ts new file mode 100644 index 000000000..ba1abeedd --- /dev/null +++ b/apps/parser/cjs/models/v2/channel-parameter.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ChannelParameterInterface } from '../channel-parameter'; +import type { SchemaInterface } from '../schema'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { + id(): string; + hasSchema(): boolean; + schema(): SchemaInterface | undefined; + hasLocation(): boolean; + location(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/channel-parameter.js b/apps/parser/cjs/models/v2/channel-parameter.js new file mode 100644 index 000000000..5bada8346 --- /dev/null +++ b/apps/parser/cjs/models/v2/channel-parameter.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ChannelParameter = void 0; +const base_1 = require("../base"); +const schema_1 = require("./schema"); +const mixins_1 = require("./mixins"); +class ChannelParameter extends base_1.BaseModel { + id() { + return this._meta.id; + } + hasSchema() { + return !!this._json.schema; + } + schema() { + if (!this._json.schema) + return undefined; + return this.createModel(schema_1.Schema, this._json.schema, { pointer: `${this._meta.pointer}/schema` }); + } + hasLocation() { + return !!this._json.location; + } + location() { + return this._json.location; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.ChannelParameter = ChannelParameter; diff --git a/apps/parser/cjs/models/v2/channel-parameters.d.ts b/apps/parser/cjs/models/v2/channel-parameters.d.ts new file mode 100644 index 000000000..93abd0a6e --- /dev/null +++ b/apps/parser/cjs/models/v2/channel-parameters.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ChannelParameterInterface } from '../channel-parameter'; +export declare class ChannelParameters extends Collection implements ChannelParametersInterface { + get(id: string): ChannelParameterInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/channel-parameters.js b/apps/parser/cjs/models/v2/channel-parameters.js new file mode 100644 index 000000000..f81c49068 --- /dev/null +++ b/apps/parser/cjs/models/v2/channel-parameters.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ChannelParameters = void 0; +const collection_1 = require("../collection"); +class ChannelParameters extends collection_1.Collection { + get(id) { + return this.collections.find(parameter => parameter.id() === id); + } +} +exports.ChannelParameters = ChannelParameters; diff --git a/apps/parser/cjs/models/v2/channel.d.ts b/apps/parser/cjs/models/v2/channel.d.ts new file mode 100644 index 000000000..669ca948b --- /dev/null +++ b/apps/parser/cjs/models/v2/channel.d.ts @@ -0,0 +1,24 @@ +import { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { ChannelInterface } from '../channel'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ExtensionsInterface } from '../extensions'; +import type { MessagesInterface } from '../messages'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { v2 } from '../../spec-types'; +export declare class Channel extends BaseModel implements ChannelInterface { + id(): string; + address(): string; + hasDescription(): boolean; + description(): string | undefined; + servers(): ServersInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + parameters(): ChannelParametersInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/channel.js b/apps/parser/cjs/models/v2/channel.js new file mode 100644 index 000000000..9a1c197d0 --- /dev/null +++ b/apps/parser/cjs/models/v2/channel.js @@ -0,0 +1,68 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Channel = void 0; +const base_1 = require("../base"); +const channel_parameters_1 = require("./channel-parameters"); +const channel_parameter_1 = require("./channel-parameter"); +const messages_1 = require("./messages"); +const operations_1 = require("./operations"); +const operation_1 = require("./operation"); +const servers_1 = require("./servers"); +const server_1 = require("./server"); +const mixins_1 = require("./mixins"); +class Channel extends base_1.BaseModel { + id() { + return this._meta.id; + } + address() { + return this._meta.address; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + servers() { + var _a; + const servers = []; + const allowedServers = this._json.servers || []; + Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.servers) || {}).forEach(([serverName, server]) => { + if (allowedServers.length === 0 || allowedServers.includes(serverName)) { + servers.push(this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${serverName}` })); + } + }); + return new servers_1.Servers(servers); + } + operations() { + const operations = []; + ['publish', 'subscribe'].forEach(operationAction => { + const operation = this._json[operationAction]; + const id = (operation && operation.operationId) || operationAction; + if (operation) { + operations.push(this.createModel(operation_1.Operation, operation, { id, action: operationAction, pointer: `${this._meta.pointer}/${operationAction}` })); + } + }); + return new operations_1.Operations(operations); + } + messages() { + const messages = []; + this.operations().forEach(operation => messages.push(...operation.messages().all())); + return new messages_1.Messages(messages); + } + parameters() { + return new channel_parameters_1.ChannelParameters(Object.entries(this._json.parameters || {}).map(([channelParameterName, channelParameter]) => { + return this.createModel(channel_parameter_1.ChannelParameter, channelParameter, { + id: channelParameterName, + pointer: `${this._meta.pointer}/parameters/${channelParameterName}` + }); + })); + } + bindings() { + return (0, mixins_1.bindings)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Channel = Channel; diff --git a/apps/parser/cjs/models/v2/channels.d.ts b/apps/parser/cjs/models/v2/channels.d.ts new file mode 100644 index 000000000..01b199506 --- /dev/null +++ b/apps/parser/cjs/models/v2/channels.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { ChannelsInterface } from '../channels'; +import type { ChannelInterface } from '../channel'; +export declare class Channels extends Collection implements ChannelsInterface { + get(id: string): ChannelInterface | undefined; + filterBySend(): ChannelInterface[]; + filterByReceive(): ChannelInterface[]; +} diff --git a/apps/parser/cjs/models/v2/channels.js b/apps/parser/cjs/models/v2/channels.js new file mode 100644 index 000000000..da2dd1deb --- /dev/null +++ b/apps/parser/cjs/models/v2/channels.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Channels = void 0; +const collection_1 = require("../collection"); +class Channels extends collection_1.Collection { + get(id) { + return this.collections.find(channel => channel.id() === id); + } + filterBySend() { + return this.filterBy(channel => channel.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(channel => channel.operations().filterByReceive().length > 0); + } +} +exports.Channels = Channels; diff --git a/apps/parser/cjs/models/v2/components.d.ts b/apps/parser/cjs/models/v2/components.d.ts new file mode 100644 index 000000000..1865e8b6f --- /dev/null +++ b/apps/parser/cjs/models/v2/components.d.ts @@ -0,0 +1,39 @@ +import { BaseModel } from '../base'; +import { Collection } from '../collection'; +import type { BindingsInterface } from '../bindings'; +import type { ComponentsInterface } from '../components'; +import type { ExtensionsInterface } from '../extensions'; +import type { Constructor } from '../utils'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { SchemasInterface } from '../schemas'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationsInterface } from '../operations'; +import type { CorrelationIdsInterface } from '../correlation-ids'; +import type { v2 } from '../../spec-types'; +export declare class Components extends BaseModel implements ComponentsInterface { + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + channelParameters(): ChannelParametersInterface; + serverVariables(): ServerVariablesInterface; + operationTraits(): OperationTraitsInterface; + messageTraits(): MessageTraitsInterface; + correlationIds(): CorrelationIdsInterface; + securitySchemes(): SecuritySchemesInterface; + serverBindings(): Record; + channelBindings(): Record; + operationBindings(): Record; + messageBindings(): Record; + extensions(): ExtensionsInterface; + isEmpty(): boolean; + protected createCollection, T extends BaseModel>(itemsName: keyof v2.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; + protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; +} diff --git a/apps/parser/cjs/models/v2/components.js b/apps/parser/cjs/models/v2/components.js new file mode 100644 index 000000000..44622f34b --- /dev/null +++ b/apps/parser/cjs/models/v2/components.js @@ -0,0 +1,99 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Components = void 0; +const base_1 = require("../base"); +const bindings_1 = require("./bindings"); +const binding_1 = require("./binding"); +const channel_1 = require("./channel"); +const channel_parameter_1 = require("./channel-parameter"); +const correlation_id_1 = require("./correlation-id"); +const message_trait_1 = require("./message-trait"); +const operation_trait_1 = require("./operation-trait"); +const schema_1 = require("./schema"); +const security_scheme_1 = require("./security-scheme"); +const server_1 = require("./server"); +const server_variable_1 = require("./server-variable"); +const mixins_1 = require("./mixins"); +const servers_1 = require("./servers"); +const channels_1 = require("./channels"); +const messages_1 = require("./messages"); +const schemas_1 = require("./schemas"); +const channel_parameters_1 = require("./channel-parameters"); +const server_variables_1 = require("./server-variables"); +const operation_traits_1 = require("./operation-traits"); +const message_traits_1 = require("./message-traits"); +const security_schemes_1 = require("./security-schemes"); +const correlation_ids_1 = require("./correlation-ids"); +const operations_1 = require("./operations"); +const message_1 = require("./message"); +const utils_1 = require("../../utils"); +class Components extends base_1.BaseModel { + servers() { + return this.createCollection('servers', servers_1.Servers, server_1.Server); + } + channels() { + return new channels_1.Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(channel_1.Channel, channel, { id: channelAddress, address: '', pointer: `/components/channels/${(0, utils_1.tilde)(channelAddress)}` }))); + } + operations() { + return new operations_1.Operations([]); + } + messages() { + return this.createCollection('messages', messages_1.Messages, message_1.Message); + } + schemas() { + return this.createCollection('schemas', schemas_1.Schemas, schema_1.Schema); + } + channelParameters() { + return this.createCollection('parameters', channel_parameters_1.ChannelParameters, channel_parameter_1.ChannelParameter); + } + serverVariables() { + return this.createCollection('serverVariables', server_variables_1.ServerVariables, server_variable_1.ServerVariable); + } + operationTraits() { + return this.createCollection('operationTraits', operation_traits_1.OperationTraits, operation_trait_1.OperationTrait); + } + messageTraits() { + return this.createCollection('messageTraits', message_traits_1.MessageTraits, message_trait_1.MessageTrait); + } + correlationIds() { + return this.createCollection('correlationIds', correlation_ids_1.CorrelationIds, correlation_id_1.CorrelationId); + } + securitySchemes() { + return this.createCollection('securitySchemes', security_schemes_1.SecuritySchemes, security_scheme_1.SecurityScheme); + } + serverBindings() { + return this.createBindings('serverBindings'); + } + channelBindings() { + return this.createBindings('channelBindings'); + } + operationBindings() { + return this.createBindings('operationBindings'); + } + messageBindings() { + return this.createBindings('messageBindings'); + } + extensions() { + return (0, mixins_1.extensions)(this); + } + isEmpty() { + return Object.keys(this._json).length === 0; + } + createCollection(itemsName, collectionModel, itemModel) { + const collectionItems = []; + Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { + collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${id}` })); + }); + return new collectionModel(collectionItems); + } + createBindings(itemsName) { + return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { + const bindingsData = item || {}; + const asyncapi = this.meta('asyncapi'); + const pointer = `components/${itemsName}/${name}`; + bindings[name] = new bindings_1.Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(binding_1.Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); + return bindings; + }, {}); + } +} +exports.Components = Components; diff --git a/apps/parser/cjs/models/v2/contact.d.ts b/apps/parser/cjs/models/v2/contact.d.ts new file mode 100644 index 000000000..cde7fe085 --- /dev/null +++ b/apps/parser/cjs/models/v2/contact.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class Contact extends BaseModel implements ContactInterface { + hasName(): boolean; + name(): string | undefined; + hasUrl(): boolean; + url(): string | undefined; + hasEmail(): boolean; + email(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/contact.js b/apps/parser/cjs/models/v2/contact.js new file mode 100644 index 000000000..2645428f8 --- /dev/null +++ b/apps/parser/cjs/models/v2/contact.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Contact = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class Contact extends base_1.BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + hasEmail() { + return !!this._json.email; + } + email() { + return this._json.email; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Contact = Contact; diff --git a/apps/parser/cjs/models/v2/correlation-id.d.ts b/apps/parser/cjs/models/v2/correlation-id.d.ts new file mode 100644 index 000000000..74959d265 --- /dev/null +++ b/apps/parser/cjs/models/v2/correlation-id.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { + location(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/correlation-id.js b/apps/parser/cjs/models/v2/correlation-id.js new file mode 100644 index 000000000..088be5413 --- /dev/null +++ b/apps/parser/cjs/models/v2/correlation-id.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CorrelationId = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class CorrelationId extends base_1.BaseModel { + location() { + return this._json.location; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.CorrelationId = CorrelationId; diff --git a/apps/parser/cjs/models/v2/correlation-ids.d.ts b/apps/parser/cjs/models/v2/correlation-ids.d.ts new file mode 100644 index 000000000..77f81c952 --- /dev/null +++ b/apps/parser/cjs/models/v2/correlation-ids.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { CorrelationIdsInterface } from '../correlation-ids'; +import type { CorrelationIdInterface } from '../correlation-id'; +export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { + get(id: string): CorrelationIdInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/correlation-ids.js b/apps/parser/cjs/models/v2/correlation-ids.js new file mode 100644 index 000000000..cd9023f85 --- /dev/null +++ b/apps/parser/cjs/models/v2/correlation-ids.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CorrelationIds = void 0; +const collection_1 = require("../collection"); +class CorrelationIds extends collection_1.Collection { + get(id) { + return this.collections.find(correlationId => correlationId.meta('id') === id); + } +} +exports.CorrelationIds = CorrelationIds; diff --git a/apps/parser/cjs/models/v2/extension.d.ts b/apps/parser/cjs/models/v2/extension.d.ts new file mode 100644 index 000000000..9d45395be --- /dev/null +++ b/apps/parser/cjs/models/v2/extension.d.ts @@ -0,0 +1,9 @@ +import { BaseModel } from '../base'; +import type { ExtensionInterface } from '../extension'; +import type { v2 } from '../../spec-types'; +export declare class Extension extends BaseModel, { + id: string; +}> implements ExtensionInterface { + id(): string; + value(): V; +} diff --git a/apps/parser/cjs/models/v2/extension.js b/apps/parser/cjs/models/v2/extension.js new file mode 100644 index 000000000..c73bfbff0 --- /dev/null +++ b/apps/parser/cjs/models/v2/extension.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Extension = void 0; +const base_1 = require("../base"); +class Extension extends base_1.BaseModel { + id() { + return this._meta.id; + } + value() { + return this._json; + } +} +exports.Extension = Extension; diff --git a/apps/parser/cjs/models/v2/extensions.d.ts b/apps/parser/cjs/models/v2/extensions.d.ts new file mode 100644 index 000000000..3033f8a44 --- /dev/null +++ b/apps/parser/cjs/models/v2/extensions.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExtensionInterface } from '../extension'; +export declare class Extensions extends Collection implements ExtensionsInterface { + get(id: string): ExtensionInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/extensions.js b/apps/parser/cjs/models/v2/extensions.js new file mode 100644 index 000000000..f33796038 --- /dev/null +++ b/apps/parser/cjs/models/v2/extensions.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Extensions = void 0; +const collection_1 = require("../collection"); +class Extensions extends collection_1.Collection { + get(id) { + id = id.startsWith('x-') ? id : `x-${id}`; + return this.collections.find(ext => ext.id() === id); + } +} +exports.Extensions = Extensions; diff --git a/apps/parser/cjs/models/v2/external-docs.d.ts b/apps/parser/cjs/models/v2/external-docs.d.ts new file mode 100644 index 000000000..279640c89 --- /dev/null +++ b/apps/parser/cjs/models/v2/external-docs.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { + url(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/external-docs.js b/apps/parser/cjs/models/v2/external-docs.js new file mode 100644 index 000000000..f41bbf627 --- /dev/null +++ b/apps/parser/cjs/models/v2/external-docs.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExternalDocumentation = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class ExternalDocumentation extends base_1.BaseModel { + url() { + return this._json.url; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.ExternalDocumentation = ExternalDocumentation; diff --git a/apps/parser/cjs/models/v2/index.d.ts b/apps/parser/cjs/models/v2/index.d.ts new file mode 100644 index 000000000..5ce2f2622 --- /dev/null +++ b/apps/parser/cjs/models/v2/index.d.ts @@ -0,0 +1,37 @@ +export { AsyncAPIDocument as AsyncAPIDocumentV2 } from './asyncapi'; +export { Binding as BindingV2 } from './binding'; +export { Bindings as BindingsV2 } from './bindings'; +export { ChannelParameter as ChannelParameterV2 } from './channel-parameter'; +export { ChannelParameters as ChannelParametersV2 } from './channel-parameters'; +export { Channel as ChannelV2 } from './channel'; +export { Channels as ChannelsV2 } from './channels'; +export { Components as ComponentsV2 } from './components'; +export { Contact as ContactV2 } from './contact'; +export { CorrelationId as CorrelationIdV2 } from './correlation-id'; +export { Extension as ExtensionV2 } from './extension'; +export { Extensions as ExtensionsV2 } from './extensions'; +export { ExternalDocumentation as ExternalDocumentationV2 } from './external-docs'; +export { Info as InfoV2 } from './info'; +export { License as LicenseV2 } from './license'; +export { MessageExample as MessageExampleV2 } from './message-example'; +export { MessageExamples as MessageExamplesV2 } from './message-examples'; +export { MessageTrait as MessageTraitV2 } from './message-trait'; +export { MessageTraits as MessageTraitsV2 } from './message-traits'; +export { Message as MessageV2 } from './message'; +export { Messages as MessagesV2 } from './messages'; +export { OAuthFlow as OAuthFlowV2 } from './oauth-flow'; +export { OAuthFlows as OAuthFlowsV2 } from './oauth-flows'; +export { OperationTrait as OperationTraitV2 } from './operation-trait'; +export { OperationTraits as OperationTraitsV2 } from './operation-traits'; +export { Operation as OperationV2 } from './operation'; +export { Operations as OperationsV2 } from './operations'; +export { Schema as SchemaV2 } from './schema'; +export { Schemas as SchemasV2 } from './schemas'; +export { SecurityScheme as SecuritySchemeV2 } from './security-scheme'; +export { SecuritySchemes as SecuritySchemesV2 } from './security-schemes'; +export { ServerVariable as ServerVariableV2 } from './server-variable'; +export { ServerVariables as ServerVariablesV2 } from './server-variables'; +export { Server as ServerV2 } from './server'; +export { Servers as ServersV2 } from './servers'; +export { Tag as TagV2 } from './tag'; +export { Tags as TagsV2 } from './tags'; diff --git a/apps/parser/cjs/models/v2/index.js b/apps/parser/cjs/models/v2/index.js new file mode 100644 index 000000000..fa2fca9d6 --- /dev/null +++ b/apps/parser/cjs/models/v2/index.js @@ -0,0 +1,77 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TagsV2 = exports.TagV2 = exports.ServersV2 = exports.ServerV2 = exports.ServerVariablesV2 = exports.ServerVariableV2 = exports.SecuritySchemesV2 = exports.SecuritySchemeV2 = exports.SchemasV2 = exports.SchemaV2 = exports.OperationsV2 = exports.OperationV2 = exports.OperationTraitsV2 = exports.OperationTraitV2 = exports.OAuthFlowsV2 = exports.OAuthFlowV2 = exports.MessagesV2 = exports.MessageV2 = exports.MessageTraitsV2 = exports.MessageTraitV2 = exports.MessageExamplesV2 = exports.MessageExampleV2 = exports.LicenseV2 = exports.InfoV2 = exports.ExternalDocumentationV2 = exports.ExtensionsV2 = exports.ExtensionV2 = exports.CorrelationIdV2 = exports.ContactV2 = exports.ComponentsV2 = exports.ChannelsV2 = exports.ChannelV2 = exports.ChannelParametersV2 = exports.ChannelParameterV2 = exports.BindingsV2 = exports.BindingV2 = exports.AsyncAPIDocumentV2 = void 0; +var asyncapi_1 = require("./asyncapi"); +Object.defineProperty(exports, "AsyncAPIDocumentV2", { enumerable: true, get: function () { return asyncapi_1.AsyncAPIDocument; } }); +var binding_1 = require("./binding"); +Object.defineProperty(exports, "BindingV2", { enumerable: true, get: function () { return binding_1.Binding; } }); +var bindings_1 = require("./bindings"); +Object.defineProperty(exports, "BindingsV2", { enumerable: true, get: function () { return bindings_1.Bindings; } }); +var channel_parameter_1 = require("./channel-parameter"); +Object.defineProperty(exports, "ChannelParameterV2", { enumerable: true, get: function () { return channel_parameter_1.ChannelParameter; } }); +var channel_parameters_1 = require("./channel-parameters"); +Object.defineProperty(exports, "ChannelParametersV2", { enumerable: true, get: function () { return channel_parameters_1.ChannelParameters; } }); +var channel_1 = require("./channel"); +Object.defineProperty(exports, "ChannelV2", { enumerable: true, get: function () { return channel_1.Channel; } }); +var channels_1 = require("./channels"); +Object.defineProperty(exports, "ChannelsV2", { enumerable: true, get: function () { return channels_1.Channels; } }); +var components_1 = require("./components"); +Object.defineProperty(exports, "ComponentsV2", { enumerable: true, get: function () { return components_1.Components; } }); +var contact_1 = require("./contact"); +Object.defineProperty(exports, "ContactV2", { enumerable: true, get: function () { return contact_1.Contact; } }); +var correlation_id_1 = require("./correlation-id"); +Object.defineProperty(exports, "CorrelationIdV2", { enumerable: true, get: function () { return correlation_id_1.CorrelationId; } }); +var extension_1 = require("./extension"); +Object.defineProperty(exports, "ExtensionV2", { enumerable: true, get: function () { return extension_1.Extension; } }); +var extensions_1 = require("./extensions"); +Object.defineProperty(exports, "ExtensionsV2", { enumerable: true, get: function () { return extensions_1.Extensions; } }); +var external_docs_1 = require("./external-docs"); +Object.defineProperty(exports, "ExternalDocumentationV2", { enumerable: true, get: function () { return external_docs_1.ExternalDocumentation; } }); +var info_1 = require("./info"); +Object.defineProperty(exports, "InfoV2", { enumerable: true, get: function () { return info_1.Info; } }); +var license_1 = require("./license"); +Object.defineProperty(exports, "LicenseV2", { enumerable: true, get: function () { return license_1.License; } }); +var message_example_1 = require("./message-example"); +Object.defineProperty(exports, "MessageExampleV2", { enumerable: true, get: function () { return message_example_1.MessageExample; } }); +var message_examples_1 = require("./message-examples"); +Object.defineProperty(exports, "MessageExamplesV2", { enumerable: true, get: function () { return message_examples_1.MessageExamples; } }); +var message_trait_1 = require("./message-trait"); +Object.defineProperty(exports, "MessageTraitV2", { enumerable: true, get: function () { return message_trait_1.MessageTrait; } }); +var message_traits_1 = require("./message-traits"); +Object.defineProperty(exports, "MessageTraitsV2", { enumerable: true, get: function () { return message_traits_1.MessageTraits; } }); +var message_1 = require("./message"); +Object.defineProperty(exports, "MessageV2", { enumerable: true, get: function () { return message_1.Message; } }); +var messages_1 = require("./messages"); +Object.defineProperty(exports, "MessagesV2", { enumerable: true, get: function () { return messages_1.Messages; } }); +var oauth_flow_1 = require("./oauth-flow"); +Object.defineProperty(exports, "OAuthFlowV2", { enumerable: true, get: function () { return oauth_flow_1.OAuthFlow; } }); +var oauth_flows_1 = require("./oauth-flows"); +Object.defineProperty(exports, "OAuthFlowsV2", { enumerable: true, get: function () { return oauth_flows_1.OAuthFlows; } }); +var operation_trait_1 = require("./operation-trait"); +Object.defineProperty(exports, "OperationTraitV2", { enumerable: true, get: function () { return operation_trait_1.OperationTrait; } }); +var operation_traits_1 = require("./operation-traits"); +Object.defineProperty(exports, "OperationTraitsV2", { enumerable: true, get: function () { return operation_traits_1.OperationTraits; } }); +var operation_1 = require("./operation"); +Object.defineProperty(exports, "OperationV2", { enumerable: true, get: function () { return operation_1.Operation; } }); +var operations_1 = require("./operations"); +Object.defineProperty(exports, "OperationsV2", { enumerable: true, get: function () { return operations_1.Operations; } }); +var schema_1 = require("./schema"); +Object.defineProperty(exports, "SchemaV2", { enumerable: true, get: function () { return schema_1.Schema; } }); +var schemas_1 = require("./schemas"); +Object.defineProperty(exports, "SchemasV2", { enumerable: true, get: function () { return schemas_1.Schemas; } }); +var security_scheme_1 = require("./security-scheme"); +Object.defineProperty(exports, "SecuritySchemeV2", { enumerable: true, get: function () { return security_scheme_1.SecurityScheme; } }); +var security_schemes_1 = require("./security-schemes"); +Object.defineProperty(exports, "SecuritySchemesV2", { enumerable: true, get: function () { return security_schemes_1.SecuritySchemes; } }); +var server_variable_1 = require("./server-variable"); +Object.defineProperty(exports, "ServerVariableV2", { enumerable: true, get: function () { return server_variable_1.ServerVariable; } }); +var server_variables_1 = require("./server-variables"); +Object.defineProperty(exports, "ServerVariablesV2", { enumerable: true, get: function () { return server_variables_1.ServerVariables; } }); +var server_1 = require("./server"); +Object.defineProperty(exports, "ServerV2", { enumerable: true, get: function () { return server_1.Server; } }); +var servers_1 = require("./servers"); +Object.defineProperty(exports, "ServersV2", { enumerable: true, get: function () { return servers_1.Servers; } }); +var tag_1 = require("./tag"); +Object.defineProperty(exports, "TagV2", { enumerable: true, get: function () { return tag_1.Tag; } }); +var tags_1 = require("./tags"); +Object.defineProperty(exports, "TagsV2", { enumerable: true, get: function () { return tags_1.Tags; } }); diff --git a/apps/parser/cjs/models/v2/info.d.ts b/apps/parser/cjs/models/v2/info.d.ts new file mode 100644 index 000000000..6f87dbdd8 --- /dev/null +++ b/apps/parser/cjs/models/v2/info.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { InfoInterface } from '../info'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { LicenseInterface } from '../license'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class Info extends BaseModel implements InfoInterface { + title(): string; + version(): string; + hasId(): boolean; + id(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasTermsOfService(): boolean; + termsOfService(): string | undefined; + hasContact(): boolean; + contact(): ContactInterface | undefined; + hasLicense(): boolean; + license(): LicenseInterface | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + tags(): TagsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/info.js b/apps/parser/cjs/models/v2/info.js new file mode 100644 index 000000000..3e99df807 --- /dev/null +++ b/apps/parser/cjs/models/v2/info.js @@ -0,0 +1,69 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Info = void 0; +const base_1 = require("../base"); +const contact_1 = require("./contact"); +const external_docs_1 = require("./external-docs"); +const license_1 = require("./license"); +const tags_1 = require("./tags"); +const tag_1 = require("./tag"); +const mixins_1 = require("./mixins"); +class Info extends base_1.BaseModel { + title() { + return this._json.title; + } + version() { + return this._json.version; + } + hasId() { + return !!this._meta.asyncapi.parsed.id; + } + id() { + return this._meta.asyncapi.parsed.id; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasTermsOfService() { + return !!this._json.termsOfService; + } + termsOfService() { + return this._json.termsOfService; + } + hasContact() { + return Object.keys(this._json.contact || {}).length > 0; + } + contact() { + const contact = this._json.contact; + return contact && this.createModel(contact_1.Contact, contact, { pointer: '/info/contact' }); + } + hasLicense() { + return Object.keys(this._json.license || {}).length > 0; + } + license() { + const license = this._json.license; + return license && this.createModel(license_1.License, license, { pointer: '/info/license' }); + } + hasExternalDocs() { + const asyncapiV2 = this._meta.asyncapi.parsed; + return Object.keys(asyncapiV2.externalDocs || {}).length > 0; + } + externalDocs() { + if (this.hasExternalDocs()) { + const asyncapiV2 = this._meta.asyncapi.parsed; + return this.createModel(external_docs_1.ExternalDocumentation, asyncapiV2.externalDocs, { pointer: '/externalDocs' }); + } + } + tags() { + const asyncapiV2 = this._meta.asyncapi.parsed; + const tags = asyncapiV2.tags || []; + return new tags_1.Tags(tags.map((tag, idx) => this.createModel(tag_1.Tag, tag, { pointer: `/tags/${idx}` }))); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Info = Info; diff --git a/apps/parser/cjs/models/v2/license.d.ts b/apps/parser/cjs/models/v2/license.d.ts new file mode 100644 index 000000000..351865595 --- /dev/null +++ b/apps/parser/cjs/models/v2/license.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { LicenseInterface } from '../license'; +import type { v2 } from '../../spec-types'; +export declare class License extends BaseModel implements LicenseInterface { + name(): string; + hasUrl(): boolean; + url(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/license.js b/apps/parser/cjs/models/v2/license.js new file mode 100644 index 000000000..9170a3962 --- /dev/null +++ b/apps/parser/cjs/models/v2/license.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.License = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class License extends base_1.BaseModel { + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.License = License; diff --git a/apps/parser/cjs/models/v2/message-example.d.ts b/apps/parser/cjs/models/v2/message-example.d.ts new file mode 100644 index 000000000..e8a843b55 --- /dev/null +++ b/apps/parser/cjs/models/v2/message-example.d.ts @@ -0,0 +1,15 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { MessageExampleInterface } from '../message-example'; +import type { v2 } from '../../spec-types'; +export declare class MessageExample extends BaseModel implements MessageExampleInterface { + hasName(): boolean; + name(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasHeaders(): boolean; + headers(): Record | undefined; + hasPayload(): boolean; + payload(): Record | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/message-example.js b/apps/parser/cjs/models/v2/message-example.js new file mode 100644 index 000000000..9710b3ca7 --- /dev/null +++ b/apps/parser/cjs/models/v2/message-example.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageExample = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class MessageExample extends base_1.BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + return this._json.headers; + } + hasPayload() { + return !!this._json.payload; + } + payload() { + return this._json.payload; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.MessageExample = MessageExample; diff --git a/apps/parser/cjs/models/v2/message-examples.d.ts b/apps/parser/cjs/models/v2/message-examples.d.ts new file mode 100644 index 000000000..0784e9dc1 --- /dev/null +++ b/apps/parser/cjs/models/v2/message-examples.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageExampleInterface } from '../message-example'; +export declare class MessageExamples extends Collection implements MessageExamplesInterface { + get(name: string): MessageExampleInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/message-examples.js b/apps/parser/cjs/models/v2/message-examples.js new file mode 100644 index 000000000..d57029213 --- /dev/null +++ b/apps/parser/cjs/models/v2/message-examples.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageExamples = void 0; +const collection_1 = require("../collection"); +class MessageExamples extends collection_1.Collection { + get(name) { + return this.collections.find(example => example.name() === name); + } +} +exports.MessageExamples = MessageExamples; diff --git a/apps/parser/cjs/models/v2/message-trait.d.ts b/apps/parser/cjs/models/v2/message-trait.d.ts new file mode 100644 index 000000000..ec31f7553 --- /dev/null +++ b/apps/parser/cjs/models/v2/message-trait.d.ts @@ -0,0 +1,38 @@ +import { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageTraitInterface } from '../message-trait'; +import type { SchemaInterface } from '../schema'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class MessageTrait extends BaseModel implements MessageTraitInterface { + id(): string; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + hasMessageId(): boolean; + hasCorrelationId(): boolean; + correlationId(): CorrelationIdInterface | undefined; + hasContentType(): boolean; + contentType(): string | undefined; + hasHeaders(): boolean; + headers(): SchemaInterface | undefined; + hasName(): boolean; + name(): string | undefined; + hasTitle(): boolean; + title(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + examples(): MessageExamplesInterface; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/message-trait.js b/apps/parser/cjs/models/v2/message-trait.js new file mode 100644 index 000000000..263237a04 --- /dev/null +++ b/apps/parser/cjs/models/v2/message-trait.js @@ -0,0 +1,93 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageTrait = void 0; +const base_1 = require("../base"); +const correlation_id_1 = require("./correlation-id"); +const message_examples_1 = require("./message-examples"); +const message_example_1 = require("./message-example"); +const schema_1 = require("./schema"); +const constants_1 = require("../../constants"); +const mixins_1 = require("./mixins"); +const schema_parser_1 = require("../../schema-parser"); +class MessageTrait extends base_1.BaseModel { + id() { + return this._json.messageId || this._meta.id || this.json(constants_1.xParserMessageName); + } + hasSchemaFormat() { + return this.schemaFormat() !== undefined; + } + schemaFormat() { + return this._json.schemaFormat || (0, schema_parser_1.getDefaultSchemaFormat)(this._meta.asyncapi.semver.version); + } + hasMessageId() { + return !!this._json.messageId; + } + hasCorrelationId() { + return !!this._json.correlationId; + } + correlationId() { + if (!this._json.correlationId) + return undefined; + return this.createModel(correlation_id_1.CorrelationId, this._json.correlationId, { pointer: `${this._meta.pointer}/correlationId` }); + } + hasContentType() { + return !!this._json.contentType; + } + contentType() { + var _a; + return this._json.contentType || ((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.defaultContentType); + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + if (!this._json.headers) + return undefined; + return this.createModel(schema_1.Schema, this._json.headers, { pointer: `${this._meta.pointer}/headers` }); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasTitle() { + return !!this._json.title; + } + title() { + return this._json.title; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + examples() { + return new message_examples_1.MessageExamples((this._json.examples || []).map((example, index) => { + return this.createModel(message_example_1.MessageExample, example, { pointer: `${this._meta.pointer}/examples/${index}` }); + })); + } + tags() { + return (0, mixins_1.tags)(this); + } + bindings() { + return (0, mixins_1.bindings)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.MessageTrait = MessageTrait; diff --git a/apps/parser/cjs/models/v2/message-traits.d.ts b/apps/parser/cjs/models/v2/message-traits.d.ts new file mode 100644 index 000000000..8601210f2 --- /dev/null +++ b/apps/parser/cjs/models/v2/message-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { MessageTraitInterface } from '../message-trait'; +export declare class MessageTraits extends Collection implements MessageTraitsInterface { + get(id: string): MessageTraitInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/message-traits.js b/apps/parser/cjs/models/v2/message-traits.js new file mode 100644 index 000000000..d70e4d65a --- /dev/null +++ b/apps/parser/cjs/models/v2/message-traits.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageTraits = void 0; +const collection_1 = require("../collection"); +class MessageTraits extends collection_1.Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} +exports.MessageTraits = MessageTraits; diff --git a/apps/parser/cjs/models/v2/message.d.ts b/apps/parser/cjs/models/v2/message.d.ts new file mode 100644 index 000000000..9d7ee229a --- /dev/null +++ b/apps/parser/cjs/models/v2/message.d.ts @@ -0,0 +1,16 @@ +import { MessageTrait } from './message-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessageInterface } from '../message'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { SchemaInterface } from '../schema'; +import type { v2 } from '../../spec-types'; +export declare class Message extends MessageTrait implements MessageInterface { + hasPayload(): boolean; + payload(): SchemaInterface | undefined; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + traits(): MessageTraitsInterface; +} diff --git a/apps/parser/cjs/models/v2/message.js b/apps/parser/cjs/models/v2/message.js new file mode 100644 index 000000000..01c1ada54 --- /dev/null +++ b/apps/parser/cjs/models/v2/message.js @@ -0,0 +1,67 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Message = void 0; +const channels_1 = require("./channels"); +const operations_1 = require("./operations"); +const operation_1 = require("./operation"); +const message_traits_1 = require("./message-traits"); +const message_trait_1 = require("./message-trait"); +const servers_1 = require("./servers"); +const schema_1 = require("./schema"); +const utils_1 = require("../../utils"); +class Message extends message_trait_1.MessageTrait { + hasPayload() { + return !!this._json.payload; + } + payload() { + if (!this._json.payload) + return undefined; + return this.createModel(schema_1.Schema, this._json.payload, { pointer: `${this._meta.pointer}/payload`, schemaFormat: this._json.schemaFormat }); + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + if (!serversData.includes(server.json())) { + serversData.push(server.json()); + servers.push(server); + } + }); + }); + return new servers_1.Servers(servers); + } + channels() { + const channels = []; + const channelsData = []; + this.operations().all().forEach(operation => { + operation.channels().forEach(channel => { + if (!channelsData.includes(channel.json())) { + channelsData.push(channel.json()); + channels.push(channel); + } + }); + }); + return new channels_1.Channels(channels); + } + operations() { + var _a; + const operations = []; + Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { + ['subscribe', 'publish'].forEach(operationAction => { + const operation = channel[operationAction]; + if (operation && (operation.message === this._json || + (operation.message.oneOf || []).includes(this._json))) { + operations.push(this.createModel(operation_1.Operation, operation, { id: '', pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}/${operationAction}`, action: operationAction })); + } + }); + }); + return new operations_1.Operations(operations); + } + traits() { + return new message_traits_1.MessageTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(message_trait_1.MessageTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}` }); + })); + } +} +exports.Message = Message; diff --git a/apps/parser/cjs/models/v2/messages.d.ts b/apps/parser/cjs/models/v2/messages.d.ts new file mode 100644 index 000000000..d988f36fb --- /dev/null +++ b/apps/parser/cjs/models/v2/messages.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { MessagesInterface } from '../messages'; +import type { MessageInterface } from '../message'; +export declare class Messages extends Collection implements MessagesInterface { + get(name: string): MessageInterface | undefined; + filterBySend(): MessageInterface[]; + filterByReceive(): MessageInterface[]; +} diff --git a/apps/parser/cjs/models/v2/messages.js b/apps/parser/cjs/models/v2/messages.js new file mode 100644 index 000000000..dc5d9adae --- /dev/null +++ b/apps/parser/cjs/models/v2/messages.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Messages = void 0; +const collection_1 = require("../collection"); +class Messages extends collection_1.Collection { + get(name) { + return this.collections.find(message => message.id() === name); + } + filterBySend() { + return this.filterBy(message => message.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(message => message.operations().filterByReceive().length > 0); + } +} +exports.Messages = Messages; diff --git a/apps/parser/cjs/models/v2/mixins.d.ts b/apps/parser/cjs/models/v2/mixins.d.ts new file mode 100644 index 000000000..08b4d9d43 --- /dev/null +++ b/apps/parser/cjs/models/v2/mixins.d.ts @@ -0,0 +1,25 @@ +import type { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare function bindings(model: BaseModel<{ + bindings?: Record; +}>): BindingsInterface; +export declare function hasDescription(model: BaseModel<{ + description?: string; +}>): boolean; +export declare function description(model: BaseModel<{ + description?: string; +}>): string | undefined; +export declare function extensions(model: BaseModel): ExtensionsInterface; +export declare function hasExternalDocs(model: BaseModel<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): boolean; +export declare function externalDocs(model: BaseModel<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): ExternalDocumentationInterface | undefined; +export declare function tags(model: BaseModel<{ + tags?: v2.TagsObject; +}>): TagsInterface; diff --git a/apps/parser/cjs/models/v2/mixins.js b/apps/parser/cjs/models/v2/mixins.js new file mode 100644 index 000000000..899e4ebf9 --- /dev/null +++ b/apps/parser/cjs/models/v2/mixins.js @@ -0,0 +1,49 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tags = exports.externalDocs = exports.hasExternalDocs = exports.extensions = exports.description = exports.hasDescription = exports.bindings = void 0; +const bindings_1 = require("./bindings"); +const binding_1 = require("./binding"); +const extensions_1 = require("./extensions"); +const extension_1 = require("./extension"); +const external_docs_1 = require("./external-docs"); +const tags_1 = require("./tags"); +const tag_1 = require("./tag"); +const utils_1 = require("../utils"); +const constants_1 = require("../../constants"); +function bindings(model) { + const bindings = model.json('bindings') || {}; + return new bindings_1.Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => (0, utils_1.createModel)(binding_1.Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); +} +exports.bindings = bindings; +function hasDescription(model) { + return Boolean(description(model)); +} +exports.hasDescription = hasDescription; +function description(model) { + return model.json('description'); +} +exports.description = description; +function extensions(model) { + const extensions = []; + Object.entries(model.json()).forEach(([id, value]) => { + if (constants_1.EXTENSION_REGEX.test(id)) { + extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: model.jsonPath(id) }, model)); + } + }); + return new extensions_1.Extensions(extensions); +} +exports.extensions = extensions; +function hasExternalDocs(model) { + return Object.keys(model.json('externalDocs') || {}).length > 0; +} +exports.hasExternalDocs = hasExternalDocs; +function externalDocs(model) { + if (hasExternalDocs(model)) { + return new external_docs_1.ExternalDocumentation(model.json('externalDocs')); + } +} +exports.externalDocs = externalDocs; +function tags(model) { + return new tags_1.Tags((model.json('tags') || []).map((tag, idx) => (0, utils_1.createModel)(tag_1.Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); +} +exports.tags = tags; diff --git a/apps/parser/cjs/models/v2/oauth-flow.d.ts b/apps/parser/cjs/models/v2/oauth-flow.d.ts new file mode 100644 index 000000000..32f8ec6ff --- /dev/null +++ b/apps/parser/cjs/models/v2/oauth-flow.d.ts @@ -0,0 +1,14 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v2 } from '../../spec-types'; +export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { + hasAuthorizationUrl(): boolean; + authorizationUrl(): string | undefined; + hasTokenUrl(): boolean; + tokenUrl(): string | undefined; + hasRefreshUrl(): boolean; + refreshUrl(): string | undefined; + scopes(): Record | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/oauth-flow.js b/apps/parser/cjs/models/v2/oauth-flow.js new file mode 100644 index 000000000..1f1b60a3b --- /dev/null +++ b/apps/parser/cjs/models/v2/oauth-flow.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OAuthFlow = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class OAuthFlow extends base_1.BaseModel { + hasAuthorizationUrl() { + return !!this.json().authorizationUrl; + } + authorizationUrl() { + return this.json().authorizationUrl; + } + hasTokenUrl() { + return !!this.json().tokenUrl; + } + tokenUrl() { + return this.json().tokenUrl; + } + hasRefreshUrl() { + return !!this._json.refreshUrl; + } + refreshUrl() { + return this._json.refreshUrl; + } + scopes() { + return this._json.scopes; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.OAuthFlow = OAuthFlow; diff --git a/apps/parser/cjs/models/v2/oauth-flows.d.ts b/apps/parser/cjs/models/v2/oauth-flows.d.ts new file mode 100644 index 000000000..9ff0b07ed --- /dev/null +++ b/apps/parser/cjs/models/v2/oauth-flows.d.ts @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v2 } from '../../spec-types'; +export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { + hasAuthorizationCode(): boolean; + authorizationCode(): OAuthFlowInterface | undefined; + hasClientCredentials(): boolean; + clientCredentials(): OAuthFlowInterface | undefined; + hasImplicit(): boolean; + implicit(): OAuthFlowInterface | undefined; + hasPassword(): boolean; + password(): OAuthFlowInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/oauth-flows.js b/apps/parser/cjs/models/v2/oauth-flows.js new file mode 100644 index 000000000..8b21aa91b --- /dev/null +++ b/apps/parser/cjs/models/v2/oauth-flows.js @@ -0,0 +1,44 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OAuthFlows = void 0; +const base_1 = require("../base"); +const oauth_flow_1 = require("./oauth-flow"); +const mixins_1 = require("./mixins"); +class OAuthFlows extends base_1.BaseModel { + hasAuthorizationCode() { + return !!this._json.authorizationCode; + } + authorizationCode() { + if (!this._json.authorizationCode) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.authorizationCode); + } + hasClientCredentials() { + return !!this._json.clientCredentials; + } + clientCredentials() { + if (!this._json.clientCredentials) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.clientCredentials); + } + hasImplicit() { + return !!this._json.implicit; + } + implicit() { + if (!this._json.implicit) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.implicit); + } + hasPassword() { + return !!this._json.password; + } + password() { + if (!this._json.password) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.password); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.OAuthFlows = OAuthFlows; diff --git a/apps/parser/cjs/models/v2/operation-trait.d.ts b/apps/parser/cjs/models/v2/operation-trait.d.ts new file mode 100644 index 000000000..400020182 --- /dev/null +++ b/apps/parser/cjs/models/v2/operation-trait.d.ts @@ -0,0 +1,27 @@ +import { BaseModel } from '../base'; +import { SecurityRequirements } from './security-requirements'; +import type { BindingsInterface } from '../bindings'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { OperationAction } from '../operation'; +import type { OperationTraitInterface } from '../operation-trait'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class OperationTrait extends BaseModel implements OperationTraitInterface { + id(): string; + hasOperationId(): boolean; + operationId(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + security(): SecurityRequirements[]; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/operation-trait.js b/apps/parser/cjs/models/v2/operation-trait.js new file mode 100644 index 000000000..17f0dc947 --- /dev/null +++ b/apps/parser/cjs/models/v2/operation-trait.js @@ -0,0 +1,59 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationTrait = void 0; +const base_1 = require("../base"); +const security_scheme_1 = require("./security-scheme"); +const security_requirements_1 = require("./security-requirements"); +const security_requirement_1 = require("./security-requirement"); +const mixins_1 = require("./mixins"); +class OperationTrait extends base_1.BaseModel { + id() { + return this.operationId() || this._meta.id; + } + hasOperationId() { + return !!this._json.operationId; + } + operationId() { + return this._json.operationId; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + security() { + var _a, _b, _c, _d; + const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); + return (this._json.security || []).map((requirement, index) => { + const requirements = []; + Object.entries(requirement).forEach(([security, scopes]) => { + const scheme = this.createModel(security_scheme_1.SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); + requirements.push(this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); + }); + return new security_requirements_1.SecurityRequirements(requirements); + }); + } + tags() { + return (0, mixins_1.tags)(this); + } + bindings() { + return (0, mixins_1.bindings)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.OperationTrait = OperationTrait; diff --git a/apps/parser/cjs/models/v2/operation-traits.d.ts b/apps/parser/cjs/models/v2/operation-traits.d.ts new file mode 100644 index 000000000..0de03b0ff --- /dev/null +++ b/apps/parser/cjs/models/v2/operation-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { OperationTraitInterface } from '../operation-trait'; +export declare class OperationTraits extends Collection implements OperationTraitsInterface { + get(id: string): OperationTraitInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/operation-traits.js b/apps/parser/cjs/models/v2/operation-traits.js new file mode 100644 index 000000000..fe5d408ba --- /dev/null +++ b/apps/parser/cjs/models/v2/operation-traits.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationTraits = void 0; +const collection_1 = require("../collection"); +class OperationTraits extends collection_1.Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} +exports.OperationTraits = OperationTraits; diff --git a/apps/parser/cjs/models/v2/operation.d.ts b/apps/parser/cjs/models/v2/operation.d.ts new file mode 100644 index 000000000..5976f4a7b --- /dev/null +++ b/apps/parser/cjs/models/v2/operation.d.ts @@ -0,0 +1,18 @@ +import { OperationTrait } from './operation-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { OperationInterface, OperationAction } from '../operation'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { ServersInterface } from '../servers'; +import type { v2 } from '../../spec-types'; +export declare class Operation extends OperationTrait implements OperationInterface { + action(): OperationAction; + isSend(): boolean; + isReceive(): boolean; + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + reply(): OperationReplyInterface | undefined; + traits(): OperationTraitsInterface; +} diff --git a/apps/parser/cjs/models/v2/operation.js b/apps/parser/cjs/models/v2/operation.js new file mode 100644 index 000000000..98dd354b1 --- /dev/null +++ b/apps/parser/cjs/models/v2/operation.js @@ -0,0 +1,69 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Operation = void 0; +const channels_1 = require("./channels"); +const channel_1 = require("./channel"); +const messages_1 = require("./messages"); +const message_1 = require("./message"); +const operation_traits_1 = require("./operation-traits"); +const operation_trait_1 = require("./operation-trait"); +const servers_1 = require("./servers"); +const utils_1 = require("../../utils"); +class Operation extends operation_trait_1.OperationTrait { + action() { + return this._meta.action; + } + isSend() { + return this.action() === 'subscribe'; + } + isReceive() { + return this.action() === 'publish'; + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + if (!serversData.includes(server.json())) { + serversData.push(server.json()); + servers.push(server); + } + }); + }); + return new servers_1.Servers(servers); + } + channels() { + const channels = []; + Object.entries(this._meta.asyncapi.parsed.channels || {}).forEach(([channelAddress, channel]) => { + if (channel.subscribe === this._json || channel.publish === this._json) { + channels.push(this.createModel(channel_1.Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}` })); + } + }); + return new channels_1.Channels(channels); + } + messages() { + let isOneOf = false; + let messages = []; + if (this._json.message) { + if (Array.isArray(this._json.message.oneOf)) { + messages = this._json.message.oneOf; + isOneOf = true; + } + else { + messages = [this._json.message]; + } + } + return new messages_1.Messages(messages.map((message, index) => { + return this.createModel(message_1.Message, message, { id: '', pointer: `${this._meta.pointer}/message${isOneOf ? `/oneOf/${index}` : ''}` }); + })); + } + reply() { + return; + } + traits() { + return new operation_traits_1.OperationTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(operation_trait_1.OperationTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}`, action: '' }); + })); + } +} +exports.Operation = Operation; diff --git a/apps/parser/cjs/models/v2/operations.d.ts b/apps/parser/cjs/models/v2/operations.d.ts new file mode 100644 index 000000000..161cb9b2e --- /dev/null +++ b/apps/parser/cjs/models/v2/operations.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { OperationsInterface } from '../operations'; +import type { OperationInterface } from '../operation'; +export declare class Operations extends Collection implements OperationsInterface { + get(id: string): OperationInterface | undefined; + filterBySend(): OperationInterface[]; + filterByReceive(): OperationInterface[]; +} diff --git a/apps/parser/cjs/models/v2/operations.js b/apps/parser/cjs/models/v2/operations.js new file mode 100644 index 000000000..2d57fd625 --- /dev/null +++ b/apps/parser/cjs/models/v2/operations.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Operations = void 0; +const collection_1 = require("../collection"); +class Operations extends collection_1.Collection { + get(id) { + return this.collections.find(operation => operation.id() === id); + } + filterBySend() { + return this.filterBy(operation => operation.isSend()); + } + filterByReceive() { + return this.filterBy(operation => operation.isReceive()); + } +} +exports.Operations = Operations; diff --git a/apps/parser/cjs/models/v2/schema.d.ts b/apps/parser/cjs/models/v2/schema.d.ts new file mode 100644 index 000000000..ee799837c --- /dev/null +++ b/apps/parser/cjs/models/v2/schema.d.ts @@ -0,0 +1,66 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { SchemaInterface } from '../schema'; +import type { v2 } from '../../spec-types'; +export declare class Schema extends BaseModel implements SchemaInterface { + id(): string; + $comment(): string | undefined; + $id(): string | undefined; + $schema(): string; + additionalItems(): boolean | SchemaInterface; + additionalProperties(): boolean | SchemaInterface; + allOf(): Array | undefined; + anyOf(): Array | undefined; + const(): any; + contains(): SchemaInterface | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + default(): any; + definitions(): Record | undefined; + description(): string | undefined; + dependencies(): Record> | undefined; + deprecated(): boolean; + discriminator(): string | undefined; + else(): SchemaInterface | undefined; + enum(): Array | undefined; + examples(): Array | undefined; + exclusiveMaximum(): number | undefined; + exclusiveMinimum(): number | undefined; + format(): string | undefined; + isBooleanSchema(): boolean; + if(): SchemaInterface | undefined; + isCircular(): boolean; + items(): SchemaInterface | Array | undefined; + maximum(): number | undefined; + maxItems(): number | undefined; + maxLength(): number | undefined; + maxProperties(): number | undefined; + minimum(): number | undefined; + minItems(): number | undefined; + minLength(): number | undefined; + minProperties(): number | undefined; + multipleOf(): number | undefined; + not(): SchemaInterface | undefined; + oneOf(): Array | undefined; + pattern(): string | undefined; + patternProperties(): Record | undefined; + properties(): Record | undefined; + property(name: string): SchemaInterface | undefined; + propertyNames(): SchemaInterface | undefined; + readOnly(): boolean | undefined; + required(): Array | undefined; + schemaFormat(): string; + then(): SchemaInterface | undefined; + title(): string | undefined; + type(): string | Array | undefined; + uniqueItems(): boolean | undefined; + writeOnly(): boolean | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/schema.js b/apps/parser/cjs/models/v2/schema.js new file mode 100644 index 000000000..691a6d165 --- /dev/null +++ b/apps/parser/cjs/models/v2/schema.js @@ -0,0 +1,312 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Schema = void 0; +const base_1 = require("../base"); +const constants_1 = require("../../constants"); +const mixins_1 = require("./mixins"); +const schema_parser_1 = require("../../schema-parser"); +class Schema extends base_1.BaseModel { + id() { + return this.$id() || this._meta.id || this.json(constants_1.xParserSchemaId); + } + $comment() { + if (typeof this._json === 'boolean') + return; + return this._json.$comment; + } + $id() { + if (typeof this._json === 'boolean') + return; + return this._json.$id; + } + $schema() { + if (typeof this._json === 'boolean') + return 'http://json-schema.org/draft-07/schema#'; + return this._json.$schema || 'http://json-schema.org/draft-07/schema#'; + } + additionalItems() { + if (typeof this._json === 'boolean') + return this._json; + if (typeof this._json.additionalItems === 'boolean') + return this._json.additionalItems; + if (this._json.additionalItems === undefined) + return true; + if (this._json.additionalItems === null) + return false; + return this.createModel(Schema, this._json.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); + } + additionalProperties() { + if (typeof this._json === 'boolean') + return this._json; + if (typeof this._json.additionalProperties === 'boolean') + return this._json.additionalProperties; + if (this._json.additionalProperties === undefined) + return true; + if (this._json.additionalProperties === null) + return false; + return this.createModel(Schema, this._json.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); + } + allOf() { + if (typeof this._json === 'boolean') + return; + if (!Array.isArray(this._json.allOf)) + return undefined; + return this._json.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); + } + anyOf() { + if (typeof this._json === 'boolean') + return; + if (!Array.isArray(this._json.anyOf)) + return undefined; + return this._json.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); + } + const() { + if (typeof this._json === 'boolean') + return; + return this._json.const; + } + contains() { + if (typeof this._json === 'boolean' || typeof this._json.contains !== 'object') + return; + return this.createModel(Schema, this._json.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); + } + contentEncoding() { + if (typeof this._json === 'boolean') + return; + return this._json.contentEncoding; + } + contentMediaType() { + if (typeof this._json === 'boolean') + return; + return this._json.contentMediaType; + } + default() { + if (typeof this._json === 'boolean') + return; + return this._json.default; + } + definitions() { + if (typeof this._json === 'boolean' || typeof this._json.definitions !== 'object') + return; + return Object.entries(this._json.definitions).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); + return acc; + }, {}); + } + description() { + if (typeof this._json === 'boolean') + return; + return this._json.description; + } + dependencies() { + if (typeof this._json === 'boolean') + return; + if (typeof this._json.dependencies !== 'object') + return undefined; + return Object.entries(this._json.dependencies).reduce((acc, [key, s]) => { + acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); + return acc; + }, {}); + } + deprecated() { + if (typeof this._json === 'boolean') + return false; + return this._json.deprecated || false; + } + discriminator() { + if (typeof this._json === 'boolean') + return; + return this._json.discriminator; + } + else() { + if (typeof this._json === 'boolean' || typeof this._json.else !== 'object') + return; + return this.createModel(Schema, this._json.else, { pointer: `${this._meta.pointer}/else`, parent: this }); + } + enum() { + if (typeof this._json === 'boolean') + return; + return this._json.enum; + } + examples() { + if (typeof this._json === 'boolean') + return; + return this._json.examples; + } + exclusiveMaximum() { + if (typeof this._json === 'boolean') + return; + return this._json.exclusiveMaximum; + } + exclusiveMinimum() { + if (typeof this._json === 'boolean') + return; + return this._json.exclusiveMinimum; + } + format() { + if (typeof this._json === 'boolean') + return; + return this._json.format; + } + isBooleanSchema() { + return typeof this._json === 'boolean'; + } + if() { + if (typeof this._json === 'boolean' || typeof this._json.if !== 'object') + return; + return this.createModel(Schema, this._json.if, { pointer: `${this._meta.pointer}/if`, parent: this }); + } + isCircular() { + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._json) + return true; + parent = parent._meta.parent; + } + return false; + } + items() { + if (typeof this._json === 'boolean' || typeof this._json.items !== 'object') + return; + if (Array.isArray(this._json.items)) { + return this._json.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); + } + return this.createModel(Schema, this._json.items, { pointer: `${this._meta.pointer}/items`, parent: this }); + } + maximum() { + if (typeof this._json === 'boolean') + return; + return this._json.maximum; + } + maxItems() { + if (typeof this._json === 'boolean') + return; + return this._json.maxItems; + } + maxLength() { + if (typeof this._json === 'boolean') + return; + return this._json.maxLength; + } + maxProperties() { + if (typeof this._json === 'boolean') + return; + return this._json.maxProperties; + } + minimum() { + if (typeof this._json === 'boolean') + return; + return this._json.minimum; + } + minItems() { + if (typeof this._json === 'boolean') + return; + return this._json.minItems; + } + minLength() { + if (typeof this._json === 'boolean') + return; + return this._json.minLength; + } + minProperties() { + if (typeof this._json === 'boolean') + return; + return this._json.minProperties; + } + multipleOf() { + if (typeof this._json === 'boolean') + return; + return this._json.multipleOf; + } + not() { + if (typeof this._json === 'boolean' || typeof this._json.not !== 'object') + return; + return this.createModel(Schema, this._json.not, { pointer: `${this._meta.pointer}/not`, parent: this }); + } + oneOf() { + if (typeof this._json === 'boolean') + return; + if (!Array.isArray(this._json.oneOf)) + return undefined; + return this._json.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); + } + pattern() { + if (typeof this._json === 'boolean') + return; + return this._json.pattern; + } + patternProperties() { + if (typeof this._json === 'boolean' || typeof this._json.patternProperties !== 'object') + return; + return Object.entries(this._json.patternProperties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); + return acc; + }, {}); + } + properties() { + if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object') + return; + return Object.entries(this._json.properties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); + return acc; + }, {}); + } + property(name) { + if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object' || typeof this._json.properties[name] !== 'object') + return; + return this.createModel(Schema, this._json.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); + } + propertyNames() { + if (typeof this._json === 'boolean' || typeof this._json.propertyNames !== 'object') + return; + return this.createModel(Schema, this._json.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); + } + readOnly() { + if (typeof this._json === 'boolean') + return false; + return this._json.readOnly || false; + } + required() { + if (typeof this._json === 'boolean') + return; + return this._json.required; + } + schemaFormat() { + return this._meta.schemaFormat || (0, schema_parser_1.getDefaultSchemaFormat)(this._meta.asyncapi.semver.version); + } + then() { + if (typeof this._json === 'boolean' || typeof this._json.then !== 'object') + return; + return this.createModel(Schema, this._json.then, { pointer: `${this._meta.pointer}/then`, parent: this }); + } + title() { + if (typeof this._json === 'boolean') + return; + return this._json.title; + } + type() { + if (typeof this._json === 'boolean') + return; + return this._json.type; + } + uniqueItems() { + if (typeof this._json === 'boolean') + return false; + return this._json.uniqueItems || false; + } + writeOnly() { + if (typeof this._json === 'boolean') + return false; + return this._json.writeOnly || false; + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Schema = Schema; diff --git a/apps/parser/cjs/models/v2/schemas.d.ts b/apps/parser/cjs/models/v2/schemas.d.ts new file mode 100644 index 000000000..15c1d17bc --- /dev/null +++ b/apps/parser/cjs/models/v2/schemas.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SchemasInterface } from '../schemas'; +import type { SchemaInterface } from '../schema'; +export declare class Schemas extends Collection implements SchemasInterface { + get(id: string): SchemaInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/schemas.js b/apps/parser/cjs/models/v2/schemas.js new file mode 100644 index 000000000..f67534034 --- /dev/null +++ b/apps/parser/cjs/models/v2/schemas.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Schemas = void 0; +const collection_1 = require("../collection"); +class Schemas extends collection_1.Collection { + get(id) { + return this.collections.find(schema => schema.id() === id); + } +} +exports.Schemas = Schemas; diff --git a/apps/parser/cjs/models/v2/security-requirement.d.ts b/apps/parser/cjs/models/v2/security-requirement.d.ts new file mode 100644 index 000000000..88cb3a757 --- /dev/null +++ b/apps/parser/cjs/models/v2/security-requirement.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirement extends BaseModel<{ + scopes?: string[]; + scheme: SecuritySchemeInterface; +}, { + id?: string; +}> implements SecurityRequirementInterface { + scheme(): SecuritySchemeInterface; + scopes(): string[]; +} diff --git a/apps/parser/cjs/models/v2/security-requirement.js b/apps/parser/cjs/models/v2/security-requirement.js new file mode 100644 index 000000000..7361b25ca --- /dev/null +++ b/apps/parser/cjs/models/v2/security-requirement.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityRequirement = void 0; +const base_1 = require("../base"); +class SecurityRequirement extends base_1.BaseModel { + scheme() { + return this._json.scheme; + } + scopes() { + return this._json.scopes || []; + } +} +exports.SecurityRequirement = SecurityRequirement; diff --git a/apps/parser/cjs/models/v2/security-requirements.d.ts b/apps/parser/cjs/models/v2/security-requirements.d.ts new file mode 100644 index 000000000..882dd7bbc --- /dev/null +++ b/apps/parser/cjs/models/v2/security-requirements.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecurityRequirementsInterface } from '../security-requirements'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { + get(id: string): SecurityRequirementInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/security-requirements.js b/apps/parser/cjs/models/v2/security-requirements.js new file mode 100644 index 000000000..10a90fa51 --- /dev/null +++ b/apps/parser/cjs/models/v2/security-requirements.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityRequirements = void 0; +const collection_1 = require("../collection"); +class SecurityRequirements extends collection_1.Collection { + get(id) { + return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); + } +} +exports.SecurityRequirements = SecurityRequirements; diff --git a/apps/parser/cjs/models/v2/security-scheme.d.ts b/apps/parser/cjs/models/v2/security-scheme.d.ts new file mode 100644 index 000000000..5a5cc6c7e --- /dev/null +++ b/apps/parser/cjs/models/v2/security-scheme.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { v2 } from '../../spec-types'; +export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { + id(): string; + type(): v2.SecuritySchemeType; + hasDescription(): boolean; + description(): string | undefined; + hasName(): boolean; + name(): string | undefined; + hasIn(): boolean; + in(): v2.SecuritySchemaLocation | undefined; + hasScheme(): boolean; + scheme(): string | undefined; + hasBearerFormat(): boolean; + bearerFormat(): string | undefined; + hasFlows(): boolean; + flows(): OAuthFlowsInterface | undefined; + hasOpenIdConnectUrl(): boolean; + openIdConnectUrl(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/security-scheme.js b/apps/parser/cjs/models/v2/security-scheme.js new file mode 100644 index 000000000..cc2144318 --- /dev/null +++ b/apps/parser/cjs/models/v2/security-scheme.js @@ -0,0 +1,62 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityScheme = void 0; +const base_1 = require("../base"); +const oauth_flows_1 = require("./oauth-flows"); +const mixins_1 = require("./mixins"); +class SecurityScheme extends base_1.BaseModel { + id() { + return this._meta.id; + } + type() { + return this._json.type; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasIn() { + return !!this._json.in; + } + in() { + return this._json.in; + } + hasScheme() { + return !!this._json.scheme; + } + scheme() { + return this._json.scheme; + } + hasBearerFormat() { + return !!this._json.bearerFormat; + } + bearerFormat() { + return this._json.bearerFormat; + } + hasFlows() { + return !!this._json.flows; + } + flows() { + if (!this._json.flows) + return undefined; + return new oauth_flows_1.OAuthFlows(this._json.flows); + } + hasOpenIdConnectUrl() { + return !!this._json.openIdConnectUrl; + } + openIdConnectUrl() { + return this._json.openIdConnectUrl; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.SecurityScheme = SecurityScheme; diff --git a/apps/parser/cjs/models/v2/security-schemes.d.ts b/apps/parser/cjs/models/v2/security-schemes.d.ts new file mode 100644 index 000000000..e9d23e914 --- /dev/null +++ b/apps/parser/cjs/models/v2/security-schemes.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { SecuritySchemeInterface } from '../security-scheme'; +export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { + get(id: string): SecuritySchemeInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/security-schemes.js b/apps/parser/cjs/models/v2/security-schemes.js new file mode 100644 index 000000000..ff43c7f68 --- /dev/null +++ b/apps/parser/cjs/models/v2/security-schemes.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecuritySchemes = void 0; +const collection_1 = require("../collection"); +class SecuritySchemes extends collection_1.Collection { + get(id) { + return this.collections.find(securityScheme => securityScheme.id() === id); + } +} +exports.SecuritySchemes = SecuritySchemes; diff --git a/apps/parser/cjs/models/v2/server-variable.d.ts b/apps/parser/cjs/models/v2/server-variable.d.ts new file mode 100644 index 000000000..973203637 --- /dev/null +++ b/apps/parser/cjs/models/v2/server-variable.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ServerVariableInterface } from '../server-variable'; +import type { v2 } from '../../spec-types'; +export declare class ServerVariable extends BaseModel implements ServerVariableInterface { + id(): string; + hasDescription(): boolean; + description(): string | undefined; + hasDefaultValue(): boolean; + defaultValue(): string | undefined; + hasAllowedValues(): boolean; + allowedValues(): Array; + examples(): Array; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/server-variable.js b/apps/parser/cjs/models/v2/server-variable.js new file mode 100644 index 000000000..8b3b363a8 --- /dev/null +++ b/apps/parser/cjs/models/v2/server-variable.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServerVariable = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class ServerVariable extends base_1.BaseModel { + id() { + return this._meta.id; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasDefaultValue() { + return !!this._json.default; + } + defaultValue() { + return this._json.default; + } + hasAllowedValues() { + return !!this._json.enum; + } + allowedValues() { + return this._json.enum || []; + } + examples() { + return this._json.examples || []; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.ServerVariable = ServerVariable; diff --git a/apps/parser/cjs/models/v2/server-variables.d.ts b/apps/parser/cjs/models/v2/server-variables.d.ts new file mode 100644 index 000000000..7e3ebe7f4 --- /dev/null +++ b/apps/parser/cjs/models/v2/server-variables.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { ServerVariableInterface } from '../server-variable'; +export declare class ServerVariables extends Collection implements ServerVariablesInterface { + get(id: string): ServerVariableInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/server-variables.js b/apps/parser/cjs/models/v2/server-variables.js new file mode 100644 index 000000000..80f27b71b --- /dev/null +++ b/apps/parser/cjs/models/v2/server-variables.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServerVariables = void 0; +const collection_1 = require("../collection"); +class ServerVariables extends collection_1.Collection { + get(id) { + return this.collections.find(variable => variable.id() === id); + } +} +exports.ServerVariables = ServerVariables; diff --git a/apps/parser/cjs/models/v2/server.d.ts b/apps/parser/cjs/models/v2/server.d.ts new file mode 100644 index 000000000..326ae4172 --- /dev/null +++ b/apps/parser/cjs/models/v2/server.d.ts @@ -0,0 +1,33 @@ +import { BaseModel } from '../base'; +import { SecurityRequirements } from './security-requirements'; +import type { ChannelsInterface } from '../channels'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { ServerInterface } from '../server'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { ExtensionsInterface } from '../extensions'; +import type { BindingsInterface } from '../bindings'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class Server extends BaseModel implements ServerInterface { + id(): string; + url(): string; + host(): string; + hasPathname(): boolean; + pathname(): string | undefined; + protocol(): string; + hasProtocolVersion(): boolean; + protocolVersion(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + variables(): ServerVariablesInterface; + security(): SecurityRequirements[]; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v2/server.js b/apps/parser/cjs/models/v2/server.js new file mode 100644 index 000000000..36bbd408b --- /dev/null +++ b/apps/parser/cjs/models/v2/server.js @@ -0,0 +1,102 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Server = void 0; +const base_1 = require("../base"); +const channels_1 = require("./channels"); +const channel_1 = require("./channel"); +const messages_1 = require("./messages"); +const operations_1 = require("./operations"); +const security_scheme_1 = require("./security-scheme"); +const server_variables_1 = require("./server-variables"); +const server_variable_1 = require("./server-variable"); +const security_requirements_1 = require("./security-requirements"); +const security_requirement_1 = require("./security-requirement"); +const mixins_1 = require("./mixins"); +const utils_1 = require("../../utils"); +class Server extends base_1.BaseModel { + id() { + return this._meta.id; + } + url() { + return this._json.url; + } + host() { + const url = new URL(this.url()); + return url.host; + } + hasPathname() { + return !!this.pathname(); + } + pathname() { + const url = new URL(this.url()); + return url.pathname; + } + protocol() { + return this._json.protocol; + } + hasProtocolVersion() { + return !!this._json.protocolVersion; + } + protocolVersion() { + return this._json.protocolVersion; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + channels() { + var _a; + const channels = []; + Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { + const allowedServers = channel.servers || []; + if (allowedServers.length === 0 || allowedServers.includes(this._meta.id)) { + channels.push(this.createModel(channel_1.Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}` })); + } + }); + return new channels_1.Channels(channels); + } + operations() { + const operations = []; + this.channels().forEach(channel => { + operations.push(...channel.operations().all()); + }); + return new operations_1.Operations(operations); + } + messages() { + const messages = []; + this.operations().forEach(operation => messages.push(...operation.messages().all())); + return new messages_1.Messages(messages); + } + variables() { + return new server_variables_1.ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { + return this.createModel(server_variable_1.ServerVariable, serverVariable, { + id: serverVariableName, + pointer: `${this._meta.pointer}/variables/${serverVariableName}` + }); + })); + } + security() { + var _a, _b, _c, _d; + const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); + return (this._json.security || []).map((requirement, index) => { + const requirements = []; + Object.entries(requirement).forEach(([security, scopes]) => { + const scheme = this.createModel(security_scheme_1.SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); + requirements.push(this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); + }); + return new security_requirements_1.SecurityRequirements(requirements); + }); + } + tags() { + return (0, mixins_1.tags)(this); + } + bindings() { + return (0, mixins_1.bindings)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Server = Server; diff --git a/apps/parser/cjs/models/v2/servers.d.ts b/apps/parser/cjs/models/v2/servers.d.ts new file mode 100644 index 000000000..101c8aa9e --- /dev/null +++ b/apps/parser/cjs/models/v2/servers.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import { ServerInterface } from '../server'; +import { ServersInterface } from '../servers'; +export declare class Servers extends Collection implements ServersInterface { + get(id: string): ServerInterface | undefined; + filterBySend(): ServerInterface[]; + filterByReceive(): ServerInterface[]; +} diff --git a/apps/parser/cjs/models/v2/servers.js b/apps/parser/cjs/models/v2/servers.js new file mode 100644 index 000000000..030ad9265 --- /dev/null +++ b/apps/parser/cjs/models/v2/servers.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Servers = void 0; +const collection_1 = require("../collection"); +class Servers extends collection_1.Collection { + get(id) { + return this.collections.find(server => server.id() === id); + } + filterBySend() { + return this.filterBy(server => server.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(server => server.operations().filterByReceive().length > 0); + } +} +exports.Servers = Servers; diff --git a/apps/parser/cjs/models/v2/tag.d.ts b/apps/parser/cjs/models/v2/tag.d.ts new file mode 100644 index 000000000..a7eaf141f --- /dev/null +++ b/apps/parser/cjs/models/v2/tag.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagInterface } from '../tag'; +import type { v2 } from '../../spec-types'; +export declare class Tag extends BaseModel implements TagInterface { + name(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/tag.js b/apps/parser/cjs/models/v2/tag.js new file mode 100644 index 000000000..b7f899b4b --- /dev/null +++ b/apps/parser/cjs/models/v2/tag.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tag = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class Tag extends base_1.BaseModel { + name() { + return this._json.name; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } +} +exports.Tag = Tag; diff --git a/apps/parser/cjs/models/v2/tags.d.ts b/apps/parser/cjs/models/v2/tags.d.ts new file mode 100644 index 000000000..371794b27 --- /dev/null +++ b/apps/parser/cjs/models/v2/tags.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { TagsInterface } from '../tags'; +import type { TagInterface } from '../tag'; +export declare class Tags extends Collection implements TagsInterface { + get(name: string): TagInterface | undefined; +} diff --git a/apps/parser/cjs/models/v2/tags.js b/apps/parser/cjs/models/v2/tags.js new file mode 100644 index 000000000..aa4dc7f08 --- /dev/null +++ b/apps/parser/cjs/models/v2/tags.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tags = void 0; +const collection_1 = require("../collection"); +class Tags extends collection_1.Collection { + get(name) { + return this.collections.find(tag => tag.name() === name); + } +} +exports.Tags = Tags; diff --git a/apps/parser/cjs/models/v3/asyncapi.d.ts b/apps/parser/cjs/models/v3/asyncapi.d.ts new file mode 100644 index 000000000..a8c9d8c3b --- /dev/null +++ b/apps/parser/cjs/models/v3/asyncapi.d.ts @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import type { AsyncAPIDocumentInterface } from '../asyncapi'; +import type { InfoInterface } from '../info'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { ComponentsInterface } from '../components'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { ExtensionsInterface } from '../extensions'; +import type { SchemasInterface } from '../schemas'; +import type { v3 } from '../../spec-types'; +export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { + version(): string; + defaultContentType(): string | undefined; + hasDefaultContentType(): boolean; + info(): InfoInterface; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + securitySchemes(): SecuritySchemesInterface; + components(): ComponentsInterface; + allServers(): ServersInterface; + allChannels(): ChannelsInterface; + allOperations(): OperationsInterface; + allMessages(): MessagesInterface; + allSchemas(): SchemasInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/asyncapi.js b/apps/parser/cjs/models/v3/asyncapi.js new file mode 100644 index 000000000..6296cb83c --- /dev/null +++ b/apps/parser/cjs/models/v3/asyncapi.js @@ -0,0 +1,93 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AsyncAPIDocument = void 0; +const base_1 = require("../base"); +const info_1 = require("./info"); +const servers_1 = require("./servers"); +const server_1 = require("./server"); +const channels_1 = require("./channels"); +const channel_1 = require("./channel"); +const operations_1 = require("./operations"); +const operation_1 = require("./operation"); +const messages_1 = require("./messages"); +const security_schemes_1 = require("./security-schemes"); +const security_scheme_1 = require("./security-scheme"); +const components_1 = require("./components"); +const schemas_1 = require("./schemas"); +const mixins_1 = require("./mixins"); +const utils_1 = require("../../utils"); +const utils_2 = require("../utils"); +class AsyncAPIDocument extends base_1.BaseModel { + version() { + return this._json.asyncapi; + } + defaultContentType() { + return this._json.defaultContentType; + } + hasDefaultContentType() { + return !!this._json.defaultContentType; + } + info() { + return this.createModel(info_1.Info, this._json.info, { pointer: '/info' }); + } + servers() { + return new servers_1.Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${(0, utils_1.tilde)(serverName)}` }))); + } + channels() { + return new channels_1.Channels(Object.entries(this._json.channels || {}).map(([channelId, channel]) => this.createModel(channel_1.Channel, channel, { id: channelId, pointer: `/channels/${(0, utils_1.tilde)(channelId)}` }))); + } + operations() { + return new operations_1.Operations(Object.entries(this._json.operations || {}).map(([operationId, operation]) => this.createModel(operation_1.Operation, operation, { id: operationId, pointer: `/operations/${(0, utils_1.tilde)(operationId)}` }))); + } + messages() { + const messages = []; + const messagesData = []; + this.channels().forEach(channel => { + channel.messages().forEach(message => { + const messageData = message.json(); + if (!messagesData.includes(messageData)) { + messagesData.push(messageData); + messages.push(message); + } + }); + }); + return new messages_1.Messages(messages); + } + schemas() { + return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, false); + } + securitySchemes() { + var _a; + return new security_schemes_1.SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(security_scheme_1.SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); + } + components() { + return this.createModel(components_1.Components, this._json.components || {}, { pointer: '/components' }); + } + allServers() { + const servers = this.servers().all(); + this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); + return new servers_1.Servers(servers); + } + allChannels() { + const channels = this.channels().all(); + this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); + return new channels_1.Channels(channels); + } + allOperations() { + const operations = this.operations().all(); + this.components().operations().forEach(operation => !operations.some(o => o.json() === operation.json()) && operations.push(operation)); + return new operations_1.Operations(operations); + } + allMessages() { + const messages = this.messages().all(); + this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); + return new messages_1.Messages(messages); + } + allSchemas() { + return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, true); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.AsyncAPIDocument = AsyncAPIDocument; diff --git a/apps/parser/cjs/models/v3/binding.d.ts b/apps/parser/cjs/models/v3/binding.d.ts new file mode 100644 index 000000000..45be32fe8 --- /dev/null +++ b/apps/parser/cjs/models/v3/binding.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class Binding = Record> extends BaseModel implements BindingInterface { + protocol(): string; + version(): string; + value(): V; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/binding.js b/apps/parser/cjs/models/v3/binding.js new file mode 100644 index 000000000..52c49f724 --- /dev/null +++ b/apps/parser/cjs/models/v3/binding.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Binding = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class Binding extends base_1.BaseModel { + protocol() { + return this._meta.protocol; + } + version() { + return this._json.bindingVersion || 'latest'; + } + value() { + const value = Object.assign({}, this._json); + delete value.bindingVersion; + return value; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Binding = Binding; diff --git a/apps/parser/cjs/models/v3/bindings.d.ts b/apps/parser/cjs/models/v3/bindings.d.ts new file mode 100644 index 000000000..366f2d369 --- /dev/null +++ b/apps/parser/cjs/models/v3/bindings.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { BindingsInterface } from '../bindings'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +export declare class Bindings extends Collection implements BindingsInterface { + get = Record>(name: string): BindingInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/bindings.js b/apps/parser/cjs/models/v3/bindings.js new file mode 100644 index 000000000..793406ac1 --- /dev/null +++ b/apps/parser/cjs/models/v3/bindings.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Bindings = void 0; +const collection_1 = require("../collection"); +const extensions_1 = require("./extensions"); +const extension_1 = require("./extension"); +const utils_1 = require("../utils"); +const constants_1 = require("../../constants"); +class Bindings extends collection_1.Collection { + get(name) { + return this.collections.find(binding => binding.protocol() === name); + } + extensions() { + const extensions = []; + Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { + if (constants_1.EXTENSION_REGEX.test(id)) { + extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); + } + }); + return new extensions_1.Extensions(extensions); + } +} +exports.Bindings = Bindings; diff --git a/apps/parser/cjs/models/v3/channel-parameter.d.ts b/apps/parser/cjs/models/v3/channel-parameter.d.ts new file mode 100644 index 000000000..35ca76669 --- /dev/null +++ b/apps/parser/cjs/models/v3/channel-parameter.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ChannelParameterInterface } from '../channel-parameter'; +import type { SchemaInterface } from '../schema'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { + id(): string; + hasSchema(): boolean; + schema(): SchemaInterface | undefined; + hasLocation(): boolean; + location(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/channel-parameter.js b/apps/parser/cjs/models/v3/channel-parameter.js new file mode 100644 index 000000000..7b48d35f5 --- /dev/null +++ b/apps/parser/cjs/models/v3/channel-parameter.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ChannelParameter = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +const schema_1 = require("./schema"); +class ChannelParameter extends base_1.BaseModel { + id() { + return this._meta.id; + } + hasSchema() { + return true; + } + schema() { + return this.createModel(schema_1.Schema, { + type: 'string', + description: this._json.description, + enum: this._json.enum, + default: this._json.default, + examples: this._json.examples + }, { pointer: `${this._meta.pointer}` }); + } + hasLocation() { + return !!this._json.location; + } + location() { + return this._json.location; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.ChannelParameter = ChannelParameter; diff --git a/apps/parser/cjs/models/v3/channel-parameters.d.ts b/apps/parser/cjs/models/v3/channel-parameters.d.ts new file mode 100644 index 000000000..93abd0a6e --- /dev/null +++ b/apps/parser/cjs/models/v3/channel-parameters.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ChannelParameterInterface } from '../channel-parameter'; +export declare class ChannelParameters extends Collection implements ChannelParametersInterface { + get(id: string): ChannelParameterInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/channel-parameters.js b/apps/parser/cjs/models/v3/channel-parameters.js new file mode 100644 index 000000000..f81c49068 --- /dev/null +++ b/apps/parser/cjs/models/v3/channel-parameters.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ChannelParameters = void 0; +const collection_1 = require("../collection"); +class ChannelParameters extends collection_1.Collection { + get(id) { + return this.collections.find(parameter => parameter.id() === id); + } +} +exports.ChannelParameters = ChannelParameters; diff --git a/apps/parser/cjs/models/v3/channel.d.ts b/apps/parser/cjs/models/v3/channel.d.ts new file mode 100644 index 000000000..36b080f51 --- /dev/null +++ b/apps/parser/cjs/models/v3/channel.d.ts @@ -0,0 +1,17 @@ +import { CoreModel } from './mixins'; +import type { ChannelInterface } from '../channel'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { MessagesInterface } from '../messages'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { v3 } from '../../spec-types'; +export declare class Channel extends CoreModel implements ChannelInterface { + id(): string; + address(): string | null | undefined; + servers(): ServersInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + parameters(): ChannelParametersInterface; +} diff --git a/apps/parser/cjs/models/v3/channel.js b/apps/parser/cjs/models/v3/channel.js new file mode 100644 index 000000000..d0728e7c4 --- /dev/null +++ b/apps/parser/cjs/models/v3/channel.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Channel = void 0; +const channel_parameters_1 = require("./channel-parameters"); +const channel_parameter_1 = require("./channel-parameter"); +const messages_1 = require("./messages"); +const message_1 = require("./message"); +const operations_1 = require("./operations"); +const operation_1 = require("./operation"); +const servers_1 = require("./servers"); +const server_1 = require("./server"); +const constants_1 = require("../../constants"); +const mixins_1 = require("./mixins"); +class Channel extends mixins_1.CoreModel { + id() { + return this._meta.id; + } + address() { + return this._json.address; + } + servers() { + var _a, _b, _c; + const servers = []; + const allowedServers = (_a = this._json.servers) !== null && _a !== void 0 ? _a : []; + Object.entries((_c = (_b = this._meta.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed.servers) !== null && _c !== void 0 ? _c : {}).forEach(([serverName, server]) => { + if (allowedServers.length === 0 || allowedServers.includes(server)) { + servers.push(this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${serverName}` })); + } + }); + return new servers_1.Servers(servers); + } + operations() { + var _a, _b, _c; + const operations = []; + Object.entries(((_c = (_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) !== null && _c !== void 0 ? _c : {})).forEach(([operationId, operation]) => { + const operationChannelId = operation.channel[constants_1.xParserObjectUniqueId]; + const channelId = this._json[constants_1.xParserObjectUniqueId]; + if (operationChannelId === channelId) { + operations.push(this.createModel(operation_1.Operation, operation, { id: operationId, pointer: `/operations/${operationId}` })); + } + }); + return new operations_1.Operations(operations); + } + messages() { + var _a; + return new messages_1.Messages(Object.entries((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map(([messageName, message]) => { + return this.createModel(message_1.Message, message, { id: messageName, pointer: this.jsonPath(`messages/${messageName}`) }); + })); + } + parameters() { + var _a; + return new channel_parameters_1.ChannelParameters(Object.entries((_a = this._json.parameters) !== null && _a !== void 0 ? _a : {}).map(([channelParameterName, channelParameter]) => { + return this.createModel(channel_parameter_1.ChannelParameter, channelParameter, { + id: channelParameterName, + pointer: this.jsonPath(`parameters/${channelParameterName}`), + }); + })); + } +} +exports.Channel = Channel; diff --git a/apps/parser/cjs/models/v3/channels.d.ts b/apps/parser/cjs/models/v3/channels.d.ts new file mode 100644 index 000000000..01b199506 --- /dev/null +++ b/apps/parser/cjs/models/v3/channels.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { ChannelsInterface } from '../channels'; +import type { ChannelInterface } from '../channel'; +export declare class Channels extends Collection implements ChannelsInterface { + get(id: string): ChannelInterface | undefined; + filterBySend(): ChannelInterface[]; + filterByReceive(): ChannelInterface[]; +} diff --git a/apps/parser/cjs/models/v3/channels.js b/apps/parser/cjs/models/v3/channels.js new file mode 100644 index 000000000..da2dd1deb --- /dev/null +++ b/apps/parser/cjs/models/v3/channels.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Channels = void 0; +const collection_1 = require("../collection"); +class Channels extends collection_1.Collection { + get(id) { + return this.collections.find(channel => channel.id() === id); + } + filterBySend() { + return this.filterBy(channel => channel.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(channel => channel.operations().filterByReceive().length > 0); + } +} +exports.Channels = Channels; diff --git a/apps/parser/cjs/models/v3/components.d.ts b/apps/parser/cjs/models/v3/components.d.ts new file mode 100644 index 000000000..aea020b94 --- /dev/null +++ b/apps/parser/cjs/models/v3/components.d.ts @@ -0,0 +1,47 @@ +import { BaseModel } from '../base'; +import { Collection } from '../collection'; +import { CorrelationIds } from './correlation-ids'; +import type { BindingsInterface } from '../bindings'; +import type { ComponentsInterface } from '../components'; +import type { ExtensionsInterface } from '../extensions'; +import type { Constructor } from '../utils'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { SchemasInterface } from '../schemas'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationRepliesInterface } from '../operation-replies'; +import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; +import type { OperationsInterface } from '../operations'; +import type { ExternalDocumentationsInterface } from '../external-documentations'; +import type { TagsInterface } from '../tags'; +import type { v3 } from '../../spec-types'; +export declare class Components extends BaseModel implements ComponentsInterface { + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + channelParameters(): ChannelParametersInterface; + serverVariables(): ServerVariablesInterface; + operationTraits(): OperationTraitsInterface; + messageTraits(): MessageTraitsInterface; + replies(): OperationRepliesInterface; + replyAddresses(): OperationReplyAddressesInterface; + correlationIds(): CorrelationIds; + securitySchemes(): SecuritySchemesInterface; + tags(): TagsInterface; + externalDocs(): ExternalDocumentationsInterface; + serverBindings(): Record; + channelBindings(): Record; + operationBindings(): Record; + messageBindings(): Record; + extensions(): ExtensionsInterface; + isEmpty(): boolean; + protected createCollection, T extends BaseModel>(itemsName: keyof v3.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; + protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; +} diff --git a/apps/parser/cjs/models/v3/components.js b/apps/parser/cjs/models/v3/components.js new file mode 100644 index 000000000..a1b49f4d4 --- /dev/null +++ b/apps/parser/cjs/models/v3/components.js @@ -0,0 +1,120 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Components = void 0; +const base_1 = require("../base"); +const bindings_1 = require("./bindings"); +const binding_1 = require("./binding"); +const channel_1 = require("./channel"); +const channel_parameter_1 = require("./channel-parameter"); +const correlation_id_1 = require("./correlation-id"); +const message_trait_1 = require("./message-trait"); +const operation_trait_1 = require("./operation-trait"); +const operation_reply_1 = require("./operation-reply"); +const operation_reply_address_1 = require("./operation-reply-address"); +const schema_1 = require("./schema"); +const security_scheme_1 = require("./security-scheme"); +const server_1 = require("./server"); +const server_variable_1 = require("./server-variable"); +const mixins_1 = require("./mixins"); +const servers_1 = require("./servers"); +const channels_1 = require("./channels"); +const messages_1 = require("./messages"); +const schemas_1 = require("./schemas"); +const channel_parameters_1 = require("./channel-parameters"); +const server_variables_1 = require("./server-variables"); +const operation_traits_1 = require("./operation-traits"); +const message_traits_1 = require("./message-traits"); +const operation_replies_1 = require("./operation-replies"); +const operation_reply_addresses_1 = require("./operation-reply-addresses"); +const security_schemes_1 = require("./security-schemes"); +const correlation_ids_1 = require("./correlation-ids"); +const operations_1 = require("./operations"); +const operation_1 = require("./operation"); +const message_1 = require("./message"); +const external_documentations_1 = require("../external-documentations"); +const external_docs_1 = require("./external-docs"); +const tags_1 = require("./tags"); +const tag_1 = require("./tag"); +const utils_1 = require("../../utils"); +class Components extends base_1.BaseModel { + servers() { + return this.createCollection('servers', servers_1.Servers, server_1.Server); + } + channels() { + return this.createCollection('channels', channels_1.Channels, channel_1.Channel); + } + operations() { + return this.createCollection('operations', operations_1.Operations, operation_1.Operation); + } + messages() { + return this.createCollection('messages', messages_1.Messages, message_1.Message); + } + schemas() { + return this.createCollection('schemas', schemas_1.Schemas, schema_1.Schema); + } + channelParameters() { + return this.createCollection('parameters', channel_parameters_1.ChannelParameters, channel_parameter_1.ChannelParameter); + } + serverVariables() { + return this.createCollection('serverVariables', server_variables_1.ServerVariables, server_variable_1.ServerVariable); + } + operationTraits() { + return this.createCollection('operationTraits', operation_traits_1.OperationTraits, operation_trait_1.OperationTrait); + } + messageTraits() { + return this.createCollection('messageTraits', message_traits_1.MessageTraits, message_trait_1.MessageTrait); + } + replies() { + return this.createCollection('replies', operation_replies_1.OperationReplies, operation_reply_1.OperationReply); + } + replyAddresses() { + return this.createCollection('replyAddresses', operation_reply_addresses_1.OperationReplyAddresses, operation_reply_address_1.OperationReplyAddress); + } + correlationIds() { + return this.createCollection('correlationIds', correlation_ids_1.CorrelationIds, correlation_id_1.CorrelationId); + } + securitySchemes() { + return this.createCollection('securitySchemes', security_schemes_1.SecuritySchemes, security_scheme_1.SecurityScheme); + } + tags() { + return this.createCollection('tags', tags_1.Tags, tag_1.Tag); + } + externalDocs() { + return this.createCollection('externalDocs', external_documentations_1.ExternalDocumentations, external_docs_1.ExternalDocumentation); + } + serverBindings() { + return this.createBindings('serverBindings'); + } + channelBindings() { + return this.createBindings('channelBindings'); + } + operationBindings() { + return this.createBindings('operationBindings'); + } + messageBindings() { + return this.createBindings('messageBindings'); + } + extensions() { + return (0, mixins_1.extensions)(this); + } + isEmpty() { + return Object.keys(this._json).length === 0; + } + createCollection(itemsName, collectionModel, itemModel) { + const collectionItems = []; + Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { + collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${(0, utils_1.tilde)(id)}` })); + }); + return new collectionModel(collectionItems); + } + createBindings(itemsName) { + return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { + const bindingsData = item || {}; + const asyncapi = this.meta('asyncapi'); + const pointer = `components/${itemsName}/${name}`; + bindings[name] = new bindings_1.Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(binding_1.Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); + return bindings; + }, {}); + } +} +exports.Components = Components; diff --git a/apps/parser/cjs/models/v3/contact.d.ts b/apps/parser/cjs/models/v3/contact.d.ts new file mode 100644 index 000000000..06946eaf9 --- /dev/null +++ b/apps/parser/cjs/models/v3/contact.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class Contact extends BaseModel implements ContactInterface { + hasName(): boolean; + name(): string | undefined; + hasUrl(): boolean; + url(): string | undefined; + hasEmail(): boolean; + email(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/contact.js b/apps/parser/cjs/models/v3/contact.js new file mode 100644 index 000000000..2645428f8 --- /dev/null +++ b/apps/parser/cjs/models/v3/contact.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Contact = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class Contact extends base_1.BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + hasEmail() { + return !!this._json.email; + } + email() { + return this._json.email; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Contact = Contact; diff --git a/apps/parser/cjs/models/v3/correlation-id.d.ts b/apps/parser/cjs/models/v3/correlation-id.d.ts new file mode 100644 index 000000000..bebcdb660 --- /dev/null +++ b/apps/parser/cjs/models/v3/correlation-id.d.ts @@ -0,0 +1,11 @@ +import { BaseModel } from '../base'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { + hasDescription(): boolean; + description(): string | undefined; + hasLocation(): boolean; + location(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/correlation-id.js b/apps/parser/cjs/models/v3/correlation-id.js new file mode 100644 index 000000000..3fd7016da --- /dev/null +++ b/apps/parser/cjs/models/v3/correlation-id.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CorrelationId = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class CorrelationId extends base_1.BaseModel { + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasLocation() { + return !!this._json.location; + } + location() { + return this._json.location; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.CorrelationId = CorrelationId; diff --git a/apps/parser/cjs/models/v3/correlation-ids.d.ts b/apps/parser/cjs/models/v3/correlation-ids.d.ts new file mode 100644 index 000000000..77f81c952 --- /dev/null +++ b/apps/parser/cjs/models/v3/correlation-ids.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { CorrelationIdsInterface } from '../correlation-ids'; +import type { CorrelationIdInterface } from '../correlation-id'; +export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { + get(id: string): CorrelationIdInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/correlation-ids.js b/apps/parser/cjs/models/v3/correlation-ids.js new file mode 100644 index 000000000..cd9023f85 --- /dev/null +++ b/apps/parser/cjs/models/v3/correlation-ids.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CorrelationIds = void 0; +const collection_1 = require("../collection"); +class CorrelationIds extends collection_1.Collection { + get(id) { + return this.collections.find(correlationId => correlationId.meta('id') === id); + } +} +exports.CorrelationIds = CorrelationIds; diff --git a/apps/parser/cjs/models/v3/extension.d.ts b/apps/parser/cjs/models/v3/extension.d.ts new file mode 100644 index 000000000..9e5075c77 --- /dev/null +++ b/apps/parser/cjs/models/v3/extension.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExtensionInterface } from '../extension'; +import type { v3 } from '../../spec-types'; +export declare class Extension extends BaseModel, { + id: string; +}> implements ExtensionInterface { + id(): string; + version(): string; + value(): V; +} diff --git a/apps/parser/cjs/models/v3/extension.js b/apps/parser/cjs/models/v3/extension.js new file mode 100644 index 000000000..a0f2c2b6f --- /dev/null +++ b/apps/parser/cjs/models/v3/extension.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Extension = void 0; +const base_1 = require("../base"); +class Extension extends base_1.BaseModel { + id() { + return this._meta.id; + } + version() { + return 'to implement'; + } + value() { + return this._json; + } +} +exports.Extension = Extension; diff --git a/apps/parser/cjs/models/v3/extensions.d.ts b/apps/parser/cjs/models/v3/extensions.d.ts new file mode 100644 index 000000000..3033f8a44 --- /dev/null +++ b/apps/parser/cjs/models/v3/extensions.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExtensionInterface } from '../extension'; +export declare class Extensions extends Collection implements ExtensionsInterface { + get(id: string): ExtensionInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/extensions.js b/apps/parser/cjs/models/v3/extensions.js new file mode 100644 index 000000000..f33796038 --- /dev/null +++ b/apps/parser/cjs/models/v3/extensions.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Extensions = void 0; +const collection_1 = require("../collection"); +class Extensions extends collection_1.Collection { + get(id) { + id = id.startsWith('x-') ? id : `x-${id}`; + return this.collections.find(ext => ext.id() === id); + } +} +exports.Extensions = Extensions; diff --git a/apps/parser/cjs/models/v3/external-docs.d.ts b/apps/parser/cjs/models/v3/external-docs.d.ts new file mode 100644 index 000000000..6e0544e76 --- /dev/null +++ b/apps/parser/cjs/models/v3/external-docs.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { + id(): string | undefined; + url(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/external-docs.js b/apps/parser/cjs/models/v3/external-docs.js new file mode 100644 index 000000000..ae0b0f24e --- /dev/null +++ b/apps/parser/cjs/models/v3/external-docs.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExternalDocumentation = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class ExternalDocumentation extends base_1.BaseModel { + id() { + return this._meta.id; + } + url() { + return this._json.url; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.ExternalDocumentation = ExternalDocumentation; diff --git a/apps/parser/cjs/models/v3/index.d.ts b/apps/parser/cjs/models/v3/index.d.ts new file mode 100644 index 000000000..fb3848508 --- /dev/null +++ b/apps/parser/cjs/models/v3/index.d.ts @@ -0,0 +1,41 @@ +export { AsyncAPIDocument as AsyncAPIDocumentV3 } from './asyncapi'; +export { Binding as BindingV3 } from './binding'; +export { Bindings as BindingsV3 } from './bindings'; +export { ChannelParameter as ChannelParameterV3 } from './channel-parameter'; +export { ChannelParameters as ChannelParametersV3 } from './channel-parameters'; +export { Channel as ChannelV3 } from './channel'; +export { Channels as ChannelsV3 } from './channels'; +export { Components as ComponentsV3 } from './components'; +export { Contact as ContactV3 } from './contact'; +export { CorrelationId as CorrelationIdV3 } from './correlation-id'; +export { Extension as ExtensionV3 } from './extension'; +export { Extensions as ExtensionsV3 } from './extensions'; +export { ExternalDocumentation as ExternalDocumentationV3 } from './external-docs'; +export { Info as InfoV3 } from './info'; +export { License as LicenseV3 } from './license'; +export { MessageExample as MessageExampleV3 } from './message-example'; +export { MessageExamples as MessageExamplesV3 } from './message-examples'; +export { MessageTrait as MessageTraitV3 } from './message-trait'; +export { MessageTraits as MessageTraitsV3 } from './message-traits'; +export { Message as MessageV3 } from './message'; +export { Messages as MessagesV3 } from './messages'; +export { OAuthFlow as OAuthFlowV3 } from './oauth-flow'; +export { OAuthFlows as OAuthFlowsV3 } from './oauth-flows'; +export { OperationTrait as OperationTraitV3 } from './operation-trait'; +export { OperationTraits as OperationTraitsV3 } from './operation-traits'; +export { OperationReplies as OperationRepliesV3 } from './operation-replies'; +export { OperationReplyAddress as OperationReplyAddressV3 } from './operation-reply-address'; +export { OperationReplyAddresses as OperationReplyAddressesV3 } from './operation-reply-addresses'; +export { OperationReply as OperationReplyV3 } from './operation-reply'; +export { Operation as OperationV3 } from './operation'; +export { Operations as OperationsV3 } from './operations'; +export { Schema as SchemaV3 } from './schema'; +export { Schemas as SchemasV3 } from './schemas'; +export { SecurityScheme as SecuritySchemeV3 } from './security-scheme'; +export { SecuritySchemes as SecuritySchemesV3 } from './security-schemes'; +export { ServerVariable as ServerVariableV3 } from './server-variable'; +export { ServerVariables as ServerVariablesV3 } from './server-variables'; +export { Server as ServerV3 } from './server'; +export { Servers as ServersV3 } from './servers'; +export { Tag as TagV3 } from './tag'; +export { Tags as TagsV3 } from './tags'; diff --git a/apps/parser/cjs/models/v3/index.js b/apps/parser/cjs/models/v3/index.js new file mode 100644 index 000000000..7ca81f9ae --- /dev/null +++ b/apps/parser/cjs/models/v3/index.js @@ -0,0 +1,85 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TagsV3 = exports.TagV3 = exports.ServersV3 = exports.ServerV3 = exports.ServerVariablesV3 = exports.ServerVariableV3 = exports.SecuritySchemesV3 = exports.SecuritySchemeV3 = exports.SchemasV3 = exports.SchemaV3 = exports.OperationsV3 = exports.OperationV3 = exports.OperationReplyV3 = exports.OperationReplyAddressesV3 = exports.OperationReplyAddressV3 = exports.OperationRepliesV3 = exports.OperationTraitsV3 = exports.OperationTraitV3 = exports.OAuthFlowsV3 = exports.OAuthFlowV3 = exports.MessagesV3 = exports.MessageV3 = exports.MessageTraitsV3 = exports.MessageTraitV3 = exports.MessageExamplesV3 = exports.MessageExampleV3 = exports.LicenseV3 = exports.InfoV3 = exports.ExternalDocumentationV3 = exports.ExtensionsV3 = exports.ExtensionV3 = exports.CorrelationIdV3 = exports.ContactV3 = exports.ComponentsV3 = exports.ChannelsV3 = exports.ChannelV3 = exports.ChannelParametersV3 = exports.ChannelParameterV3 = exports.BindingsV3 = exports.BindingV3 = exports.AsyncAPIDocumentV3 = void 0; +var asyncapi_1 = require("./asyncapi"); +Object.defineProperty(exports, "AsyncAPIDocumentV3", { enumerable: true, get: function () { return asyncapi_1.AsyncAPIDocument; } }); +var binding_1 = require("./binding"); +Object.defineProperty(exports, "BindingV3", { enumerable: true, get: function () { return binding_1.Binding; } }); +var bindings_1 = require("./bindings"); +Object.defineProperty(exports, "BindingsV3", { enumerable: true, get: function () { return bindings_1.Bindings; } }); +var channel_parameter_1 = require("./channel-parameter"); +Object.defineProperty(exports, "ChannelParameterV3", { enumerable: true, get: function () { return channel_parameter_1.ChannelParameter; } }); +var channel_parameters_1 = require("./channel-parameters"); +Object.defineProperty(exports, "ChannelParametersV3", { enumerable: true, get: function () { return channel_parameters_1.ChannelParameters; } }); +var channel_1 = require("./channel"); +Object.defineProperty(exports, "ChannelV3", { enumerable: true, get: function () { return channel_1.Channel; } }); +var channels_1 = require("./channels"); +Object.defineProperty(exports, "ChannelsV3", { enumerable: true, get: function () { return channels_1.Channels; } }); +var components_1 = require("./components"); +Object.defineProperty(exports, "ComponentsV3", { enumerable: true, get: function () { return components_1.Components; } }); +var contact_1 = require("./contact"); +Object.defineProperty(exports, "ContactV3", { enumerable: true, get: function () { return contact_1.Contact; } }); +var correlation_id_1 = require("./correlation-id"); +Object.defineProperty(exports, "CorrelationIdV3", { enumerable: true, get: function () { return correlation_id_1.CorrelationId; } }); +var extension_1 = require("./extension"); +Object.defineProperty(exports, "ExtensionV3", { enumerable: true, get: function () { return extension_1.Extension; } }); +var extensions_1 = require("./extensions"); +Object.defineProperty(exports, "ExtensionsV3", { enumerable: true, get: function () { return extensions_1.Extensions; } }); +var external_docs_1 = require("./external-docs"); +Object.defineProperty(exports, "ExternalDocumentationV3", { enumerable: true, get: function () { return external_docs_1.ExternalDocumentation; } }); +var info_1 = require("./info"); +Object.defineProperty(exports, "InfoV3", { enumerable: true, get: function () { return info_1.Info; } }); +var license_1 = require("./license"); +Object.defineProperty(exports, "LicenseV3", { enumerable: true, get: function () { return license_1.License; } }); +var message_example_1 = require("./message-example"); +Object.defineProperty(exports, "MessageExampleV3", { enumerable: true, get: function () { return message_example_1.MessageExample; } }); +var message_examples_1 = require("./message-examples"); +Object.defineProperty(exports, "MessageExamplesV3", { enumerable: true, get: function () { return message_examples_1.MessageExamples; } }); +var message_trait_1 = require("./message-trait"); +Object.defineProperty(exports, "MessageTraitV3", { enumerable: true, get: function () { return message_trait_1.MessageTrait; } }); +var message_traits_1 = require("./message-traits"); +Object.defineProperty(exports, "MessageTraitsV3", { enumerable: true, get: function () { return message_traits_1.MessageTraits; } }); +var message_1 = require("./message"); +Object.defineProperty(exports, "MessageV3", { enumerable: true, get: function () { return message_1.Message; } }); +var messages_1 = require("./messages"); +Object.defineProperty(exports, "MessagesV3", { enumerable: true, get: function () { return messages_1.Messages; } }); +var oauth_flow_1 = require("./oauth-flow"); +Object.defineProperty(exports, "OAuthFlowV3", { enumerable: true, get: function () { return oauth_flow_1.OAuthFlow; } }); +var oauth_flows_1 = require("./oauth-flows"); +Object.defineProperty(exports, "OAuthFlowsV3", { enumerable: true, get: function () { return oauth_flows_1.OAuthFlows; } }); +var operation_trait_1 = require("./operation-trait"); +Object.defineProperty(exports, "OperationTraitV3", { enumerable: true, get: function () { return operation_trait_1.OperationTrait; } }); +var operation_traits_1 = require("./operation-traits"); +Object.defineProperty(exports, "OperationTraitsV3", { enumerable: true, get: function () { return operation_traits_1.OperationTraits; } }); +var operation_replies_1 = require("./operation-replies"); +Object.defineProperty(exports, "OperationRepliesV3", { enumerable: true, get: function () { return operation_replies_1.OperationReplies; } }); +var operation_reply_address_1 = require("./operation-reply-address"); +Object.defineProperty(exports, "OperationReplyAddressV3", { enumerable: true, get: function () { return operation_reply_address_1.OperationReplyAddress; } }); +var operation_reply_addresses_1 = require("./operation-reply-addresses"); +Object.defineProperty(exports, "OperationReplyAddressesV3", { enumerable: true, get: function () { return operation_reply_addresses_1.OperationReplyAddresses; } }); +var operation_reply_1 = require("./operation-reply"); +Object.defineProperty(exports, "OperationReplyV3", { enumerable: true, get: function () { return operation_reply_1.OperationReply; } }); +var operation_1 = require("./operation"); +Object.defineProperty(exports, "OperationV3", { enumerable: true, get: function () { return operation_1.Operation; } }); +var operations_1 = require("./operations"); +Object.defineProperty(exports, "OperationsV3", { enumerable: true, get: function () { return operations_1.Operations; } }); +var schema_1 = require("./schema"); +Object.defineProperty(exports, "SchemaV3", { enumerable: true, get: function () { return schema_1.Schema; } }); +var schemas_1 = require("./schemas"); +Object.defineProperty(exports, "SchemasV3", { enumerable: true, get: function () { return schemas_1.Schemas; } }); +var security_scheme_1 = require("./security-scheme"); +Object.defineProperty(exports, "SecuritySchemeV3", { enumerable: true, get: function () { return security_scheme_1.SecurityScheme; } }); +var security_schemes_1 = require("./security-schemes"); +Object.defineProperty(exports, "SecuritySchemesV3", { enumerable: true, get: function () { return security_schemes_1.SecuritySchemes; } }); +var server_variable_1 = require("./server-variable"); +Object.defineProperty(exports, "ServerVariableV3", { enumerable: true, get: function () { return server_variable_1.ServerVariable; } }); +var server_variables_1 = require("./server-variables"); +Object.defineProperty(exports, "ServerVariablesV3", { enumerable: true, get: function () { return server_variables_1.ServerVariables; } }); +var server_1 = require("./server"); +Object.defineProperty(exports, "ServerV3", { enumerable: true, get: function () { return server_1.Server; } }); +var servers_1 = require("./servers"); +Object.defineProperty(exports, "ServersV3", { enumerable: true, get: function () { return servers_1.Servers; } }); +var tag_1 = require("./tag"); +Object.defineProperty(exports, "TagV3", { enumerable: true, get: function () { return tag_1.Tag; } }); +var tags_1 = require("./tags"); +Object.defineProperty(exports, "TagsV3", { enumerable: true, get: function () { return tags_1.Tags; } }); diff --git a/apps/parser/cjs/models/v3/info.d.ts b/apps/parser/cjs/models/v3/info.d.ts new file mode 100644 index 000000000..241aea7f7 --- /dev/null +++ b/apps/parser/cjs/models/v3/info.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { InfoInterface } from '../info'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { LicenseInterface } from '../license'; +import type { TagsInterface } from '../tags'; +import type { v3 } from '../../spec-types'; +export declare class Info extends BaseModel implements InfoInterface { + title(): string; + version(): string; + hasId(): boolean; + id(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasTermsOfService(): boolean; + termsOfService(): string | undefined; + hasContact(): boolean; + contact(): ContactInterface | undefined; + hasLicense(): boolean; + license(): LicenseInterface | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + tags(): TagsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/info.js b/apps/parser/cjs/models/v3/info.js new file mode 100644 index 000000000..248b88122 --- /dev/null +++ b/apps/parser/cjs/models/v3/info.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Info = void 0; +const base_1 = require("../base"); +const contact_1 = require("./contact"); +const license_1 = require("./license"); +const mixins_1 = require("./mixins"); +class Info extends base_1.BaseModel { + title() { + return this._json.title; + } + version() { + return this._json.version; + } + hasId() { + return !!this._meta.asyncapi.parsed.id; + } + id() { + return this._meta.asyncapi.parsed.id; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasTermsOfService() { + return !!this._json.termsOfService; + } + termsOfService() { + return this._json.termsOfService; + } + hasContact() { + return Object.keys(this._json.contact || {}).length > 0; + } + contact() { + const contact = this._json.contact; + return contact && this.createModel(contact_1.Contact, contact, { pointer: this.jsonPath('contact') }); + } + hasLicense() { + return Object.keys(this._json.license || {}).length > 0; + } + license() { + const license = this._json.license; + return license && this.createModel(license_1.License, license, { pointer: this.jsonPath('license') }); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + tags() { + return (0, mixins_1.tags)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Info = Info; diff --git a/apps/parser/cjs/models/v3/license.d.ts b/apps/parser/cjs/models/v3/license.d.ts new file mode 100644 index 000000000..aa8c7b619 --- /dev/null +++ b/apps/parser/cjs/models/v3/license.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { LicenseInterface } from '../license'; +import type { v3 } from '../../spec-types'; +export declare class License extends BaseModel implements LicenseInterface { + name(): string; + hasUrl(): boolean; + url(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/license.js b/apps/parser/cjs/models/v3/license.js new file mode 100644 index 000000000..9170a3962 --- /dev/null +++ b/apps/parser/cjs/models/v3/license.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.License = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class License extends base_1.BaseModel { + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.License = License; diff --git a/apps/parser/cjs/models/v3/message-example.d.ts b/apps/parser/cjs/models/v3/message-example.d.ts new file mode 100644 index 000000000..5b41dcdea --- /dev/null +++ b/apps/parser/cjs/models/v3/message-example.d.ts @@ -0,0 +1,15 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { MessageExampleInterface } from '../message-example'; +import type { v3 } from '../../spec-types'; +export declare class MessageExample extends BaseModel implements MessageExampleInterface { + hasName(): boolean; + name(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasHeaders(): boolean; + headers(): Record | undefined; + hasPayload(): boolean; + payload(): Record | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/message-example.js b/apps/parser/cjs/models/v3/message-example.js new file mode 100644 index 000000000..9710b3ca7 --- /dev/null +++ b/apps/parser/cjs/models/v3/message-example.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageExample = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class MessageExample extends base_1.BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + return this._json.headers; + } + hasPayload() { + return !!this._json.payload; + } + payload() { + return this._json.payload; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.MessageExample = MessageExample; diff --git a/apps/parser/cjs/models/v3/message-examples.d.ts b/apps/parser/cjs/models/v3/message-examples.d.ts new file mode 100644 index 000000000..0784e9dc1 --- /dev/null +++ b/apps/parser/cjs/models/v3/message-examples.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageExampleInterface } from '../message-example'; +export declare class MessageExamples extends Collection implements MessageExamplesInterface { + get(name: string): MessageExampleInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/message-examples.js b/apps/parser/cjs/models/v3/message-examples.js new file mode 100644 index 000000000..d57029213 --- /dev/null +++ b/apps/parser/cjs/models/v3/message-examples.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageExamples = void 0; +const collection_1 = require("../collection"); +class MessageExamples extends collection_1.Collection { + get(name) { + return this.collections.find(example => example.name() === name); + } +} +exports.MessageExamples = MessageExamples; diff --git a/apps/parser/cjs/models/v3/message-trait.d.ts b/apps/parser/cjs/models/v3/message-trait.d.ts new file mode 100644 index 000000000..12ddcd2d1 --- /dev/null +++ b/apps/parser/cjs/models/v3/message-trait.d.ts @@ -0,0 +1,23 @@ +import { CoreModel } from './mixins'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageTraitInterface } from '../message-trait'; +import type { SchemaInterface } from '../schema'; +import type { v3 } from '../../spec-types'; +export declare class MessageTrait extends CoreModel implements MessageTraitInterface { + id(): string; + hasMessageId(): boolean; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + hasCorrelationId(): boolean; + correlationId(): CorrelationIdInterface | undefined; + hasContentType(): boolean; + contentType(): string | undefined; + hasHeaders(): boolean; + headers(): SchemaInterface | undefined; + hasName(): boolean; + name(): string | undefined; + examples(): MessageExamplesInterface; +} diff --git a/apps/parser/cjs/models/v3/message-trait.js b/apps/parser/cjs/models/v3/message-trait.js new file mode 100644 index 000000000..0199b061d --- /dev/null +++ b/apps/parser/cjs/models/v3/message-trait.js @@ -0,0 +1,59 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageTrait = void 0; +const correlation_id_1 = require("./correlation-id"); +const message_examples_1 = require("./message-examples"); +const message_example_1 = require("./message-example"); +const schema_1 = require("./schema"); +const constants_1 = require("../../constants"); +const mixins_1 = require("./mixins"); +class MessageTrait extends mixins_1.CoreModel { + id() { + var _a; + return this._meta.id || ((_a = this.extensions().get(constants_1.xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()); + } + hasMessageId() { + return false; + } + hasSchemaFormat() { + return false; + } + schemaFormat() { + return undefined; + } + hasCorrelationId() { + return !!this._json.correlationId; + } + correlationId() { + if (!this._json.correlationId) + return undefined; + return this.createModel(correlation_id_1.CorrelationId, this._json.correlationId, { pointer: this.jsonPath('correlationId') }); + } + hasContentType() { + return !!this._json.contentType; + } + contentType() { + var _a, _b; + return this._json.contentType || ((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.defaultContentType); + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + if (!this._json.headers) + return undefined; + return this.createModel(schema_1.Schema, this._json.headers, { pointer: this.jsonPath('headers') }); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + examples() { + return new message_examples_1.MessageExamples((this._json.examples || []).map((example, index) => { + return this.createModel(message_example_1.MessageExample, example, { pointer: this.jsonPath(`examples/${index}`) }); + })); + } +} +exports.MessageTrait = MessageTrait; diff --git a/apps/parser/cjs/models/v3/message-traits.d.ts b/apps/parser/cjs/models/v3/message-traits.d.ts new file mode 100644 index 000000000..8601210f2 --- /dev/null +++ b/apps/parser/cjs/models/v3/message-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { MessageTraitInterface } from '../message-trait'; +export declare class MessageTraits extends Collection implements MessageTraitsInterface { + get(id: string): MessageTraitInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/message-traits.js b/apps/parser/cjs/models/v3/message-traits.js new file mode 100644 index 000000000..d70e4d65a --- /dev/null +++ b/apps/parser/cjs/models/v3/message-traits.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageTraits = void 0; +const collection_1 = require("../collection"); +class MessageTraits extends collection_1.Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} +exports.MessageTraits = MessageTraits; diff --git a/apps/parser/cjs/models/v3/message.d.ts b/apps/parser/cjs/models/v3/message.d.ts new file mode 100644 index 000000000..0a1f9a820 --- /dev/null +++ b/apps/parser/cjs/models/v3/message.d.ts @@ -0,0 +1,18 @@ +import { MessageTrait } from './message-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessageInterface } from '../message'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { SchemaInterface } from '../schema'; +import type { v3 } from '../../spec-types'; +export declare class Message extends MessageTrait implements MessageInterface { + hasPayload(): boolean; + payload(): SchemaInterface | undefined; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + traits(): MessageTraitsInterface; +} diff --git a/apps/parser/cjs/models/v3/message.js b/apps/parser/cjs/models/v3/message.js new file mode 100644 index 000000000..ac8538f16 --- /dev/null +++ b/apps/parser/cjs/models/v3/message.js @@ -0,0 +1,96 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Message = void 0; +const channel_1 = require("./channel"); +const channels_1 = require("./channels"); +const operations_1 = require("./operations"); +const operation_1 = require("./operation"); +const message_traits_1 = require("./message-traits"); +const message_trait_1 = require("./message-trait"); +const servers_1 = require("./servers"); +const schema_1 = require("./schema"); +const constants_1 = require("../../constants"); +class Message extends message_trait_1.MessageTrait { + hasPayload() { + return !!this._json.payload; + } + payload() { + if (!this._json.payload) + return undefined; + return this.createModel(schema_1.Schema, this._json.payload, { pointer: this.jsonPath('payload') }); + } + hasSchemaFormat() { + // If it has a payload, schema format is expected (at least the default) + return this.hasPayload(); + } + schemaFormat() { + var _a; + if (this.hasSchemaFormat()) { + return (_a = this.payload()) === null || _a === void 0 ? void 0 : _a.schemaFormat(); + } + return undefined; + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + const serverData = server.json(); + if (!serversData.includes(serverData)) { + serversData.push(serverData); + servers.push(server); + } + }); + }); + return new servers_1.Servers(servers); + } + channels() { + var _a, _b; + const thisMessageId = (this._json)[constants_1.xParserObjectUniqueId]; + const channels = []; + const channelsData = []; + this.operations().forEach(operation => { + operation.channels().forEach(channel => { + const channelData = channel.json(); + // Comparing with the data (JSON) because same channel could exist but it will include the ID based on where it is declared. For example, asyncapi.channels contain ID field. + if (!channelsData.includes(channelData)) { + channelsData.push(channelData); + channels.push(channel); + } + }); + }); + Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelId, channelData]) => { + const channelModel = this.createModel(channel_1.Channel, channelData, { id: channelId, pointer: `/channels/${channelId}` }); + if (!channelsData.includes(channelData) && channelModel.messages().some(m => { + const messageId = m[constants_1.xParserObjectUniqueId]; + return messageId === thisMessageId; + })) { + channelsData.push(channelData); + channels.push(channelModel); + } + }); + return new channels_1.Channels(channels); + } + operations() { + var _a, _b; + const thisMessageId = (this._json)[constants_1.xParserObjectUniqueId]; + const operations = []; + Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) || {}).forEach(([operationId, operation]) => { + const operationModel = this.createModel(operation_1.Operation, operation, { id: operationId, pointer: `/operations/${operationId}` }); + const operationHasMessage = operationModel.messages().some(m => { + const messageId = m[constants_1.xParserObjectUniqueId]; + return messageId === thisMessageId; + }); + if (operationHasMessage) { + operations.push(operationModel); + } + }); + return new operations_1.Operations(operations); + } + traits() { + return new message_traits_1.MessageTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(message_trait_1.MessageTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); + })); + } +} +exports.Message = Message; diff --git a/apps/parser/cjs/models/v3/messages.d.ts b/apps/parser/cjs/models/v3/messages.d.ts new file mode 100644 index 000000000..d988f36fb --- /dev/null +++ b/apps/parser/cjs/models/v3/messages.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { MessagesInterface } from '../messages'; +import type { MessageInterface } from '../message'; +export declare class Messages extends Collection implements MessagesInterface { + get(name: string): MessageInterface | undefined; + filterBySend(): MessageInterface[]; + filterByReceive(): MessageInterface[]; +} diff --git a/apps/parser/cjs/models/v3/messages.js b/apps/parser/cjs/models/v3/messages.js new file mode 100644 index 000000000..dc5d9adae --- /dev/null +++ b/apps/parser/cjs/models/v3/messages.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Messages = void 0; +const collection_1 = require("../collection"); +class Messages extends collection_1.Collection { + get(name) { + return this.collections.find(message => message.id() === name); + } + filterBySend() { + return this.filterBy(message => message.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(message => message.operations().filterByReceive().length > 0); + } +} +exports.Messages = Messages; diff --git a/apps/parser/cjs/models/v3/mixins.d.ts b/apps/parser/cjs/models/v3/mixins.d.ts new file mode 100644 index 000000000..a4fdfa8ea --- /dev/null +++ b/apps/parser/cjs/models/v3/mixins.d.ts @@ -0,0 +1,48 @@ +import { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagsInterface } from '../tags'; +import type { v3 } from '../../spec-types'; +type BindingsObject = v3.ServerBindingsObject | v3.ChannelBindingsObject | v3.OperationBindingsObject | v3.MessageBindingsObject | v3.ReferenceObject; +export interface CoreObject extends v3.SpecificationExtensions { + title?: string; + summary?: string; + description?: string; + externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; + tags?: v3.TagsObject; + bindings?: BindingsObject; +} +export declare abstract class CoreModel = {}> extends BaseModel { + hasTitle(): boolean; + title(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} +export declare function bindings(model: BaseModel<{ + bindings?: BindingsObject; +}>): BindingsInterface; +export declare function hasDescription(model: BaseModel<{ + description?: string; +}>): boolean; +export declare function description(model: BaseModel<{ + description?: string; +}>): string | undefined; +export declare function extensions(model: BaseModel): ExtensionsInterface; +export declare function hasExternalDocs(model: BaseModel<{ + externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; +}>): boolean; +export declare function externalDocs(model: BaseModel<{ + externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; +}>): ExternalDocumentationInterface | undefined; +export declare function tags(model: BaseModel<{ + tags?: v3.TagsObject; +}>): TagsInterface; +export {}; diff --git a/apps/parser/cjs/models/v3/mixins.js b/apps/parser/cjs/models/v3/mixins.js new file mode 100644 index 000000000..868237e38 --- /dev/null +++ b/apps/parser/cjs/models/v3/mixins.js @@ -0,0 +1,86 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tags = exports.externalDocs = exports.hasExternalDocs = exports.extensions = exports.description = exports.hasDescription = exports.bindings = exports.CoreModel = void 0; +const base_1 = require("../base"); +const bindings_1 = require("./bindings"); +const binding_1 = require("./binding"); +const extensions_1 = require("./extensions"); +const extension_1 = require("./extension"); +const external_docs_1 = require("./external-docs"); +const tags_1 = require("./tags"); +const tag_1 = require("./tag"); +const utils_1 = require("../utils"); +const constants_1 = require("../../constants"); +class CoreModel extends base_1.BaseModel { + hasTitle() { + return !!this._json.title; + } + title() { + return this._json.title; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } + tags() { + return tags(this); + } + bindings() { + return bindings(this); + } + extensions() { + return extensions(this); + } +} +exports.CoreModel = CoreModel; +function bindings(model) { + const bindings = model.json('bindings') || {}; + return new bindings_1.Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => (0, utils_1.createModel)(binding_1.Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); +} +exports.bindings = bindings; +function hasDescription(model) { + return Boolean(description(model)); +} +exports.hasDescription = hasDescription; +function description(model) { + return model.json('description'); +} +exports.description = description; +function extensions(model) { + const extensions = []; + Object.entries(model.json()).forEach(([id, value]) => { + if (constants_1.EXTENSION_REGEX.test(id)) { + extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: model.jsonPath(id) }, model)); + } + }); + return new extensions_1.Extensions(extensions); +} +exports.extensions = extensions; +function hasExternalDocs(model) { + return Object.keys(model.json('externalDocs') || {}).length > 0; +} +exports.hasExternalDocs = hasExternalDocs; +function externalDocs(model) { + if (hasExternalDocs(model)) { + return new external_docs_1.ExternalDocumentation(model.json('externalDocs')); + } +} +exports.externalDocs = externalDocs; +function tags(model) { + return new tags_1.Tags((model.json('tags') || []).map((tag, idx) => (0, utils_1.createModel)(tag_1.Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); +} +exports.tags = tags; diff --git a/apps/parser/cjs/models/v3/oauth-flow.d.ts b/apps/parser/cjs/models/v3/oauth-flow.d.ts new file mode 100644 index 000000000..feaa5cdd3 --- /dev/null +++ b/apps/parser/cjs/models/v3/oauth-flow.d.ts @@ -0,0 +1,14 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v3 } from '../../spec-types'; +export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { + hasAuthorizationUrl(): boolean; + authorizationUrl(): string | undefined; + hasRefreshUrl(): boolean; + refreshUrl(): string | undefined; + scopes(): Record | undefined; + hasTokenUrl(): boolean; + tokenUrl(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/oauth-flow.js b/apps/parser/cjs/models/v3/oauth-flow.js new file mode 100644 index 000000000..8c82eadf0 --- /dev/null +++ b/apps/parser/cjs/models/v3/oauth-flow.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OAuthFlow = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class OAuthFlow extends base_1.BaseModel { + hasAuthorizationUrl() { + return !!this.json().authorizationUrl; + } + authorizationUrl() { + return this.json().authorizationUrl; + } + hasRefreshUrl() { + return !!this._json.refreshUrl; + } + refreshUrl() { + return this._json.refreshUrl; + } + scopes() { + return this._json.availableScopes; + } + hasTokenUrl() { + return !!this.json().tokenUrl; + } + tokenUrl() { + return this.json().tokenUrl; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.OAuthFlow = OAuthFlow; diff --git a/apps/parser/cjs/models/v3/oauth-flows.d.ts b/apps/parser/cjs/models/v3/oauth-flows.d.ts new file mode 100644 index 000000000..776ab8f9c --- /dev/null +++ b/apps/parser/cjs/models/v3/oauth-flows.d.ts @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v3 } from '../../spec-types'; +export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { + hasAuthorizationCode(): boolean; + authorizationCode(): OAuthFlowInterface | undefined; + hasClientCredentials(): boolean; + clientCredentials(): OAuthFlowInterface | undefined; + hasImplicit(): boolean; + implicit(): OAuthFlowInterface | undefined; + hasPassword(): boolean; + password(): OAuthFlowInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/oauth-flows.js b/apps/parser/cjs/models/v3/oauth-flows.js new file mode 100644 index 000000000..8b21aa91b --- /dev/null +++ b/apps/parser/cjs/models/v3/oauth-flows.js @@ -0,0 +1,44 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OAuthFlows = void 0; +const base_1 = require("../base"); +const oauth_flow_1 = require("./oauth-flow"); +const mixins_1 = require("./mixins"); +class OAuthFlows extends base_1.BaseModel { + hasAuthorizationCode() { + return !!this._json.authorizationCode; + } + authorizationCode() { + if (!this._json.authorizationCode) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.authorizationCode); + } + hasClientCredentials() { + return !!this._json.clientCredentials; + } + clientCredentials() { + if (!this._json.clientCredentials) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.clientCredentials); + } + hasImplicit() { + return !!this._json.implicit; + } + implicit() { + if (!this._json.implicit) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.implicit); + } + hasPassword() { + return !!this._json.password; + } + password() { + if (!this._json.password) + return undefined; + return new oauth_flow_1.OAuthFlow(this._json.password); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.OAuthFlows = OAuthFlows; diff --git a/apps/parser/cjs/models/v3/operation-replies.d.ts b/apps/parser/cjs/models/v3/operation-replies.d.ts new file mode 100644 index 000000000..591354641 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-replies.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationRepliesInterface } from '../operation-replies'; +export declare class OperationReplies extends Collection implements OperationRepliesInterface { + get(id: string): OperationReplyInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/operation-replies.js b/apps/parser/cjs/models/v3/operation-replies.js new file mode 100644 index 000000000..f7f712ade --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-replies.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationReplies = void 0; +const collection_1 = require("../collection"); +class OperationReplies extends collection_1.Collection { + get(id) { + return this.collections.find(reply => reply.id() === id); + } +} +exports.OperationReplies = OperationReplies; diff --git a/apps/parser/cjs/models/v3/operation-reply-address.d.ts b/apps/parser/cjs/models/v3/operation-reply-address.d.ts new file mode 100644 index 000000000..267391330 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-reply-address.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OperationReplyAddressInterface } from '../operation-reply-address'; +import type { v3 } from '../../spec-types'; +export declare class OperationReplyAddress extends BaseModel implements OperationReplyAddressInterface { + id(): string | undefined; + location(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/operation-reply-address.js b/apps/parser/cjs/models/v3/operation-reply-address.js new file mode 100644 index 000000000..eb7b2a187 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-reply-address.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationReplyAddress = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class OperationReplyAddress extends base_1.BaseModel { + id() { + return this._meta.id; + } + location() { + return this._json.location; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.OperationReplyAddress = OperationReplyAddress; diff --git a/apps/parser/cjs/models/v3/operation-reply-addresses.d.ts b/apps/parser/cjs/models/v3/operation-reply-addresses.d.ts new file mode 100644 index 000000000..c652ba48d --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-reply-addresses.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationReplyAddressInterface } from '../operation-reply-address'; +import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; +export declare class OperationReplyAddresses extends Collection implements OperationReplyAddressesInterface { + get(id: string): OperationReplyAddressInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/operation-reply-addresses.js b/apps/parser/cjs/models/v3/operation-reply-addresses.js new file mode 100644 index 000000000..5ebeb6c52 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-reply-addresses.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationReplyAddresses = void 0; +const collection_1 = require("../collection"); +class OperationReplyAddresses extends collection_1.Collection { + get(id) { + return this.collections.find(reply => reply.id() === id); + } +} +exports.OperationReplyAddresses = OperationReplyAddresses; diff --git a/apps/parser/cjs/models/v3/operation-reply.d.ts b/apps/parser/cjs/models/v3/operation-reply.d.ts new file mode 100644 index 000000000..f4ab7dc30 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-reply.d.ts @@ -0,0 +1,18 @@ +import { BaseModel } from '../base'; +import { MessagesInterface } from '../messages'; +import type { ExtensionsInterface } from '../extensions'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationReplyAddressInterface } from '../operation-reply-address'; +import type { ChannelInterface } from '../channel'; +import type { v3 } from '../../spec-types'; +export declare class OperationReply extends BaseModel implements OperationReplyInterface { + id(): string | undefined; + hasAddress(): boolean; + address(): OperationReplyAddressInterface | undefined; + hasChannel(): boolean; + channel(): ChannelInterface | undefined; + messages(): MessagesInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/operation-reply.js b/apps/parser/cjs/models/v3/operation-reply.js new file mode 100644 index 000000000..8cd0bf08a --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-reply.js @@ -0,0 +1,44 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationReply = void 0; +const base_1 = require("../base"); +const channel_1 = require("./channel"); +const message_1 = require("./message"); +const messages_1 = require("./messages"); +const operation_reply_address_1 = require("./operation-reply-address"); +const mixins_1 = require("./mixins"); +const constants_1 = require("../../constants"); +class OperationReply extends base_1.BaseModel { + id() { + return this._meta.id; + } + hasAddress() { + return !!this._json.address; + } + address() { + if (this._json.address) { + return this.createModel(operation_reply_address_1.OperationReplyAddress, this._json.address, { pointer: this.jsonPath('address') }); + } + } + hasChannel() { + return !!this._json.channel; + } + channel() { + if (this._json.channel) { + const channelId = this._json.channel[constants_1.xParserObjectUniqueId]; + return this.createModel(channel_1.Channel, this._json.channel, { id: channelId, pointer: this.jsonPath('channel') }); + } + return this._json.channel; + } + messages() { + var _a; + return new messages_1.Messages(Object.values((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map((message) => { + const messageId = message[constants_1.xParserObjectUniqueId]; + return this.createModel(message_1.Message, message, { id: messageId, pointer: this.jsonPath(`messages/${messageId}`) }); + })); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.OperationReply = OperationReply; diff --git a/apps/parser/cjs/models/v3/operation-trait.d.ts b/apps/parser/cjs/models/v3/operation-trait.d.ts new file mode 100644 index 000000000..3ba2432ad --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-trait.d.ts @@ -0,0 +1,12 @@ +import { SecurityRequirements } from './security-requirements'; +import { CoreModel } from './mixins'; +import type { OperationTraitInterface } from '../operation-trait'; +import type { v3 } from '../../spec-types'; +export declare class OperationTrait extends CoreModel implements OperationTraitInterface { + id(): string | undefined; + hasOperationId(): boolean; + operationId(): string | undefined; + security(): SecurityRequirements[]; +} diff --git a/apps/parser/cjs/models/v3/operation-trait.js b/apps/parser/cjs/models/v3/operation-trait.js new file mode 100644 index 000000000..a86695780 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-trait.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationTrait = void 0; +const security_scheme_1 = require("./security-scheme"); +const security_requirements_1 = require("./security-requirements"); +const security_requirement_1 = require("./security-requirement"); +const mixins_1 = require("./mixins"); +class OperationTrait extends mixins_1.CoreModel { + id() { + return this.operationId() || this._meta.id; + } + hasOperationId() { + return !!this._meta.id; + } + operationId() { + return this._meta.id; + } + security() { + return (this._json.security || []).map((security, index) => { + const scheme = this.createModel(security_scheme_1.SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); + const requirement = this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); + return new security_requirements_1.SecurityRequirements([requirement]); + }); + } +} +exports.OperationTrait = OperationTrait; diff --git a/apps/parser/cjs/models/v3/operation-traits.d.ts b/apps/parser/cjs/models/v3/operation-traits.d.ts new file mode 100644 index 000000000..0de03b0ff --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { OperationTraitInterface } from '../operation-trait'; +export declare class OperationTraits extends Collection implements OperationTraitsInterface { + get(id: string): OperationTraitInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/operation-traits.js b/apps/parser/cjs/models/v3/operation-traits.js new file mode 100644 index 000000000..fe5d408ba --- /dev/null +++ b/apps/parser/cjs/models/v3/operation-traits.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationTraits = void 0; +const collection_1 = require("../collection"); +class OperationTraits extends collection_1.Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} +exports.OperationTraits = OperationTraits; diff --git a/apps/parser/cjs/models/v3/operation.d.ts b/apps/parser/cjs/models/v3/operation.d.ts new file mode 100644 index 000000000..39181b612 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation.d.ts @@ -0,0 +1,19 @@ +import { OperationTrait } from './operation-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { OperationInterface, OperationAction } from '../operation'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { ServersInterface } from '../servers'; +import type { v3 } from '../../spec-types'; +export declare class Operation extends OperationTrait implements OperationInterface { + action(): OperationAction; + isSend(): boolean; + isReceive(): boolean; + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + hasReply(): boolean; + reply(): OperationReplyInterface | undefined; + traits(): OperationTraitsInterface; +} diff --git a/apps/parser/cjs/models/v3/operation.js b/apps/parser/cjs/models/v3/operation.js new file mode 100644 index 000000000..a07608d30 --- /dev/null +++ b/apps/parser/cjs/models/v3/operation.js @@ -0,0 +1,74 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Operation = void 0; +const messages_1 = require("./messages"); +const message_1 = require("./message"); +const channels_1 = require("./channels"); +const channel_1 = require("./channel"); +const operation_traits_1 = require("./operation-traits"); +const operation_trait_1 = require("./operation-trait"); +const operation_reply_1 = require("./operation-reply"); +const servers_1 = require("./servers"); +const constants_1 = require("../../constants"); +class Operation extends operation_trait_1.OperationTrait { + action() { + return this._json.action; + } + isSend() { + return this.action() === 'send'; + } + isReceive() { + return this.action() === 'receive'; + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + const serverData = server.json(); + if (!serversData.includes(serverData)) { + serversData.push(serverData); + servers.push(server); + } + }); + }); + return new servers_1.Servers(servers); + } + channels() { + if (this._json.channel) { + const operationChannelId = this._json.channel[constants_1.xParserObjectUniqueId]; + return new channels_1.Channels([ + this.createModel(channel_1.Channel, this._json.channel, { id: operationChannelId, pointer: `/channels/${operationChannelId}` }) + ]); + } + return new channels_1.Channels([]); + } + messages() { + const messages = []; + if (Array.isArray(this._json.messages)) { + this._json.messages.forEach((message, index) => { + const messageId = message[constants_1.xParserObjectUniqueId]; + messages.push(this.createModel(message_1.Message, message, { id: messageId, pointer: this.jsonPath(`messages/${index}`) })); + }); + return new messages_1.Messages(messages); + } + this.channels().forEach(channel => { + messages.push(...channel.messages()); + }); + return new messages_1.Messages(messages); + } + hasReply() { + return !!this._json.reply; + } + reply() { + if (this._json.reply) { + return this.createModel(operation_reply_1.OperationReply, this._json.reply, { pointer: this.jsonPath('reply') }); + } + } + traits() { + return new operation_traits_1.OperationTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(operation_trait_1.OperationTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); + })); + } +} +exports.Operation = Operation; diff --git a/apps/parser/cjs/models/v3/operations.d.ts b/apps/parser/cjs/models/v3/operations.d.ts new file mode 100644 index 000000000..161cb9b2e --- /dev/null +++ b/apps/parser/cjs/models/v3/operations.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { OperationsInterface } from '../operations'; +import type { OperationInterface } from '../operation'; +export declare class Operations extends Collection implements OperationsInterface { + get(id: string): OperationInterface | undefined; + filterBySend(): OperationInterface[]; + filterByReceive(): OperationInterface[]; +} diff --git a/apps/parser/cjs/models/v3/operations.js b/apps/parser/cjs/models/v3/operations.js new file mode 100644 index 000000000..2d57fd625 --- /dev/null +++ b/apps/parser/cjs/models/v3/operations.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Operations = void 0; +const collection_1 = require("../collection"); +class Operations extends collection_1.Collection { + get(id) { + return this.collections.find(operation => operation.id() === id); + } + filterBySend() { + return this.filterBy(operation => operation.isSend()); + } + filterByReceive() { + return this.filterBy(operation => operation.isReceive()); + } +} +exports.Operations = Operations; diff --git a/apps/parser/cjs/models/v3/schema.d.ts b/apps/parser/cjs/models/v3/schema.d.ts new file mode 100644 index 000000000..be8d1ac43 --- /dev/null +++ b/apps/parser/cjs/models/v3/schema.d.ts @@ -0,0 +1,76 @@ +import { BaseModel, ModelMetadata } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { SchemaInterface } from '../schema'; +import type { v3 } from '../../spec-types'; +export declare class Schema extends BaseModel implements SchemaInterface { + protected readonly _json: v3.MultiFormatSchemaObject; + protected readonly _meta: ModelMetadata & { + id?: string; + parent?: Schema; + }; + private _schemaFormat; + private _schemaObject; + constructor(_json: v3.MultiFormatSchemaObject, _meta?: ModelMetadata & { + id?: string; + parent?: Schema; + }); + id(): string; + $comment(): string | undefined; + $id(): string | undefined; + $schema(): string; + additionalItems(): boolean | SchemaInterface; + additionalProperties(): boolean | SchemaInterface; + allOf(): Array | undefined; + anyOf(): Array | undefined; + const(): any; + contains(): SchemaInterface | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + default(): any; + definitions(): Record | undefined; + description(): string | undefined; + dependencies(): Record> | undefined; + deprecated(): boolean; + discriminator(): string | undefined; + else(): SchemaInterface | undefined; + enum(): Array | undefined; + examples(): Array | undefined; + exclusiveMaximum(): number | undefined; + exclusiveMinimum(): number | undefined; + format(): string | undefined; + isBooleanSchema(): boolean; + if(): SchemaInterface | undefined; + isCircular(): boolean; + items(): SchemaInterface | Array | undefined; + maximum(): number | undefined; + maxItems(): number | undefined; + maxLength(): number | undefined; + maxProperties(): number | undefined; + minimum(): number | undefined; + minItems(): number | undefined; + minLength(): number | undefined; + minProperties(): number | undefined; + multipleOf(): number | undefined; + not(): SchemaInterface | undefined; + oneOf(): Array | undefined; + pattern(): string | undefined; + patternProperties(): Record | undefined; + properties(): Record | undefined; + property(name: string): SchemaInterface | undefined; + propertyNames(): SchemaInterface | undefined; + readOnly(): boolean | undefined; + required(): Array | undefined; + schemaFormat(): string; + then(): SchemaInterface | undefined; + title(): string | undefined; + type(): string | Array | undefined; + uniqueItems(): boolean | undefined; + writeOnly(): boolean | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/schema.js b/apps/parser/cjs/models/v3/schema.js new file mode 100644 index 000000000..8fd439036 --- /dev/null +++ b/apps/parser/cjs/models/v3/schema.js @@ -0,0 +1,325 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Schema = void 0; +const base_1 = require("../base"); +const constants_1 = require("../../constants"); +const mixins_1 = require("./mixins"); +const schema_parser_1 = require("../../schema-parser"); +class Schema extends base_1.BaseModel { + // The following constructor is needed because, starting from AsyncAPI v3, schemas can be multi-format as well. + constructor(_json, _meta = {}) { + var _a, _b; + super(_json, _meta); + this._json = _json; + this._meta = _meta; + // Based on the shape of the JSON, we grab the data for the Schema from the root (Schema) or rather from `schema` field (MultiFormatSchema). + if (typeof _json === 'object' && typeof _json.schema === 'object') { + this._schemaObject = _json.schema; + this._schemaFormat = _json.schemaFormat; + } + else { + this._schemaObject = _json; + this._schemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)((_b = (_a = _meta.asyncapi) === null || _a === void 0 ? void 0 : _a.semver) === null || _b === void 0 ? void 0 : _b.version); + } + } + id() { + return this.$id() || this._meta.id || this._schemaObject[constants_1.xParserSchemaId]; + } + $comment() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.$comment; + } + $id() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.$id; + } + $schema() { + var _a; + if (typeof this._schemaObject === 'boolean') + return 'http://json-schema.org/draft-07/schema#'; + return (_a = this._schemaObject.$schema) !== null && _a !== void 0 ? _a : 'http://json-schema.org/draft-07/schema#'; + } + additionalItems() { + if (typeof this._schemaObject === 'boolean') + return this._schemaObject; + if (this._schemaObject.additionalItems === undefined) + return true; + if (typeof this._schemaObject.additionalItems === 'boolean') + return this._schemaObject.additionalItems; + return this.createModel(Schema, this._schemaObject.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); + } + additionalProperties() { + if (typeof this._schemaObject === 'boolean') + return this._schemaObject; + if (this._schemaObject.additionalProperties === undefined) + return true; + if (typeof this._schemaObject.additionalProperties === 'boolean') + return this._schemaObject.additionalProperties; + return this.createModel(Schema, this._schemaObject.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); + } + allOf() { + if (typeof this._schemaObject === 'boolean') + return; + if (!Array.isArray(this._schemaObject.allOf)) + return undefined; + return this._schemaObject.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); + } + anyOf() { + if (typeof this._schemaObject === 'boolean') + return; + if (!Array.isArray(this._schemaObject.anyOf)) + return undefined; + return this._schemaObject.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); + } + const() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.const; + } + contains() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.contains !== 'object') + return; + return this.createModel(Schema, this._schemaObject.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); + } + contentEncoding() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.contentEncoding; + } + contentMediaType() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.contentMediaType; + } + default() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.default; + } + definitions() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.definitions !== 'object') + return; + return Object.entries(this._schemaObject.definitions).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); + return acc; + }, {}); + } + description() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.description; + } + dependencies() { + if (typeof this._schemaObject === 'boolean') + return; + if (typeof this._schemaObject.dependencies !== 'object') + return undefined; + return Object.entries(this._schemaObject.dependencies).reduce((acc, [key, s]) => { + acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); + return acc; + }, {}); + } + deprecated() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.deprecated || false; + } + discriminator() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.discriminator; + } + else() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.else !== 'object') + return; + return this.createModel(Schema, this._schemaObject.else, { pointer: `${this._meta.pointer}/else`, parent: this }); + } + enum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.enum; + } + examples() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.examples; + } + exclusiveMaximum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.exclusiveMaximum; + } + exclusiveMinimum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.exclusiveMinimum; + } + format() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.format; + } + isBooleanSchema() { + return typeof this._schemaObject === 'boolean'; + } + if() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.if !== 'object') + return; + return this.createModel(Schema, this._schemaObject.if, { pointer: `${this._meta.pointer}/if`, parent: this }); + } + isCircular() { + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._schemaObject) + return true; + parent = parent._meta.parent; + } + return false; + } + items() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.items !== 'object') + return; + if (Array.isArray(this._schemaObject.items)) { + return this._schemaObject.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); + } + return this.createModel(Schema, this._schemaObject.items, { pointer: `${this._meta.pointer}/items`, parent: this }); + } + maximum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maximum; + } + maxItems() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maxItems; + } + maxLength() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maxLength; + } + maxProperties() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maxProperties; + } + minimum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minimum; + } + minItems() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minItems; + } + minLength() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minLength; + } + minProperties() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minProperties; + } + multipleOf() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.multipleOf; + } + not() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.not !== 'object') + return; + return this.createModel(Schema, this._schemaObject.not, { pointer: `${this._meta.pointer}/not`, parent: this }); + } + oneOf() { + if (typeof this._schemaObject === 'boolean') + return; + if (!Array.isArray(this._schemaObject.oneOf)) + return undefined; + return this._schemaObject.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); + } + pattern() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.pattern; + } + patternProperties() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.patternProperties !== 'object') + return; + return Object.entries(this._schemaObject.patternProperties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); + return acc; + }, {}); + } + properties() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object') + return; + return Object.entries(this._schemaObject.properties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); + return acc; + }, {}); + } + property(name) { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object' || typeof this._schemaObject.properties[name] !== 'object') + return; + return this.createModel(Schema, this._schemaObject.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); + } + propertyNames() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.propertyNames !== 'object') + return; + return this.createModel(Schema, this._schemaObject.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); + } + readOnly() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.readOnly || false; + } + required() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.required; + } + schemaFormat() { + return this._schemaFormat; + } + then() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.then !== 'object') + return; + return this.createModel(Schema, this._schemaObject.then, { pointer: `${this._meta.pointer}/then`, parent: this }); + } + title() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.title; + } + type() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.type; + } + uniqueItems() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.uniqueItems || false; + } + writeOnly() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.writeOnly || false; + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.Schema = Schema; diff --git a/apps/parser/cjs/models/v3/schemas.d.ts b/apps/parser/cjs/models/v3/schemas.d.ts new file mode 100644 index 000000000..15c1d17bc --- /dev/null +++ b/apps/parser/cjs/models/v3/schemas.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SchemasInterface } from '../schemas'; +import type { SchemaInterface } from '../schema'; +export declare class Schemas extends Collection implements SchemasInterface { + get(id: string): SchemaInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/schemas.js b/apps/parser/cjs/models/v3/schemas.js new file mode 100644 index 000000000..f67534034 --- /dev/null +++ b/apps/parser/cjs/models/v3/schemas.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Schemas = void 0; +const collection_1 = require("../collection"); +class Schemas extends collection_1.Collection { + get(id) { + return this.collections.find(schema => schema.id() === id); + } +} +exports.Schemas = Schemas; diff --git a/apps/parser/cjs/models/v3/security-requirement.d.ts b/apps/parser/cjs/models/v3/security-requirement.d.ts new file mode 100644 index 000000000..88cb3a757 --- /dev/null +++ b/apps/parser/cjs/models/v3/security-requirement.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirement extends BaseModel<{ + scopes?: string[]; + scheme: SecuritySchemeInterface; +}, { + id?: string; +}> implements SecurityRequirementInterface { + scheme(): SecuritySchemeInterface; + scopes(): string[]; +} diff --git a/apps/parser/cjs/models/v3/security-requirement.js b/apps/parser/cjs/models/v3/security-requirement.js new file mode 100644 index 000000000..7361b25ca --- /dev/null +++ b/apps/parser/cjs/models/v3/security-requirement.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityRequirement = void 0; +const base_1 = require("../base"); +class SecurityRequirement extends base_1.BaseModel { + scheme() { + return this._json.scheme; + } + scopes() { + return this._json.scopes || []; + } +} +exports.SecurityRequirement = SecurityRequirement; diff --git a/apps/parser/cjs/models/v3/security-requirements.d.ts b/apps/parser/cjs/models/v3/security-requirements.d.ts new file mode 100644 index 000000000..882dd7bbc --- /dev/null +++ b/apps/parser/cjs/models/v3/security-requirements.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecurityRequirementsInterface } from '../security-requirements'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { + get(id: string): SecurityRequirementInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/security-requirements.js b/apps/parser/cjs/models/v3/security-requirements.js new file mode 100644 index 000000000..10a90fa51 --- /dev/null +++ b/apps/parser/cjs/models/v3/security-requirements.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityRequirements = void 0; +const collection_1 = require("../collection"); +class SecurityRequirements extends collection_1.Collection { + get(id) { + return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); + } +} +exports.SecurityRequirements = SecurityRequirements; diff --git a/apps/parser/cjs/models/v3/security-scheme.d.ts b/apps/parser/cjs/models/v3/security-scheme.d.ts new file mode 100644 index 000000000..4bbef1f2e --- /dev/null +++ b/apps/parser/cjs/models/v3/security-scheme.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { v3 } from '../../spec-types'; +export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { + id(): string; + type(): v3.SecuritySchemeType; + hasDescription(): boolean; + description(): string | undefined; + hasName(): boolean; + name(): string | undefined; + hasIn(): boolean; + in(): v3.SecuritySchemaLocation | undefined; + hasScheme(): boolean; + scheme(): string | undefined; + hasBearerFormat(): boolean; + bearerFormat(): string | undefined; + hasFlows(): boolean; + flows(): OAuthFlowsInterface | undefined; + hasOpenIdConnectUrl(): boolean; + openIdConnectUrl(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/security-scheme.js b/apps/parser/cjs/models/v3/security-scheme.js new file mode 100644 index 000000000..cc2144318 --- /dev/null +++ b/apps/parser/cjs/models/v3/security-scheme.js @@ -0,0 +1,62 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityScheme = void 0; +const base_1 = require("../base"); +const oauth_flows_1 = require("./oauth-flows"); +const mixins_1 = require("./mixins"); +class SecurityScheme extends base_1.BaseModel { + id() { + return this._meta.id; + } + type() { + return this._json.type; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasIn() { + return !!this._json.in; + } + in() { + return this._json.in; + } + hasScheme() { + return !!this._json.scheme; + } + scheme() { + return this._json.scheme; + } + hasBearerFormat() { + return !!this._json.bearerFormat; + } + bearerFormat() { + return this._json.bearerFormat; + } + hasFlows() { + return !!this._json.flows; + } + flows() { + if (!this._json.flows) + return undefined; + return new oauth_flows_1.OAuthFlows(this._json.flows); + } + hasOpenIdConnectUrl() { + return !!this._json.openIdConnectUrl; + } + openIdConnectUrl() { + return this._json.openIdConnectUrl; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.SecurityScheme = SecurityScheme; diff --git a/apps/parser/cjs/models/v3/security-schemes.d.ts b/apps/parser/cjs/models/v3/security-schemes.d.ts new file mode 100644 index 000000000..e9d23e914 --- /dev/null +++ b/apps/parser/cjs/models/v3/security-schemes.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { SecuritySchemeInterface } from '../security-scheme'; +export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { + get(id: string): SecuritySchemeInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/security-schemes.js b/apps/parser/cjs/models/v3/security-schemes.js new file mode 100644 index 000000000..ff43c7f68 --- /dev/null +++ b/apps/parser/cjs/models/v3/security-schemes.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecuritySchemes = void 0; +const collection_1 = require("../collection"); +class SecuritySchemes extends collection_1.Collection { + get(id) { + return this.collections.find(securityScheme => securityScheme.id() === id); + } +} +exports.SecuritySchemes = SecuritySchemes; diff --git a/apps/parser/cjs/models/v3/server-variable.d.ts b/apps/parser/cjs/models/v3/server-variable.d.ts new file mode 100644 index 000000000..63b954f0e --- /dev/null +++ b/apps/parser/cjs/models/v3/server-variable.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ServerVariableInterface } from '../server-variable'; +import type { v3 } from '../../spec-types'; +export declare class ServerVariable extends BaseModel implements ServerVariableInterface { + id(): string; + hasDescription(): boolean; + description(): string | undefined; + hasDefaultValue(): boolean; + defaultValue(): string | undefined; + hasAllowedValues(): boolean; + allowedValues(): Array; + examples(): Array; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/cjs/models/v3/server-variable.js b/apps/parser/cjs/models/v3/server-variable.js new file mode 100644 index 000000000..8b3b363a8 --- /dev/null +++ b/apps/parser/cjs/models/v3/server-variable.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServerVariable = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class ServerVariable extends base_1.BaseModel { + id() { + return this._meta.id; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasDefaultValue() { + return !!this._json.default; + } + defaultValue() { + return this._json.default; + } + hasAllowedValues() { + return !!this._json.enum; + } + allowedValues() { + return this._json.enum || []; + } + examples() { + return this._json.examples || []; + } + extensions() { + return (0, mixins_1.extensions)(this); + } +} +exports.ServerVariable = ServerVariable; diff --git a/apps/parser/cjs/models/v3/server-variables.d.ts b/apps/parser/cjs/models/v3/server-variables.d.ts new file mode 100644 index 000000000..7e3ebe7f4 --- /dev/null +++ b/apps/parser/cjs/models/v3/server-variables.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { ServerVariableInterface } from '../server-variable'; +export declare class ServerVariables extends Collection implements ServerVariablesInterface { + get(id: string): ServerVariableInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/server-variables.js b/apps/parser/cjs/models/v3/server-variables.js new file mode 100644 index 000000000..80f27b71b --- /dev/null +++ b/apps/parser/cjs/models/v3/server-variables.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServerVariables = void 0; +const collection_1 = require("../collection"); +class ServerVariables extends collection_1.Collection { + get(id) { + return this.collections.find(variable => variable.id() === id); + } +} +exports.ServerVariables = ServerVariables; diff --git a/apps/parser/cjs/models/v3/server.d.ts b/apps/parser/cjs/models/v3/server.d.ts new file mode 100644 index 000000000..6ca2e8906 --- /dev/null +++ b/apps/parser/cjs/models/v3/server.d.ts @@ -0,0 +1,25 @@ +import { SecurityRequirements } from './security-requirements'; +import { CoreModel } from './mixins'; +import type { ChannelsInterface } from '../channels'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { ServerInterface } from '../server'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { v3 } from '../../spec-types'; +export declare class Server extends CoreModel implements ServerInterface { + id(): string; + url(): string; + host(): string; + protocol(): string; + hasPathname(): boolean; + pathname(): string | undefined; + hasProtocolVersion(): boolean; + protocolVersion(): string | undefined; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + variables(): ServerVariablesInterface; + security(): SecurityRequirements[]; +} diff --git a/apps/parser/cjs/models/v3/server.js b/apps/parser/cjs/models/v3/server.js new file mode 100644 index 000000000..f8014e770 --- /dev/null +++ b/apps/parser/cjs/models/v3/server.js @@ -0,0 +1,103 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Server = void 0; +const channels_1 = require("./channels"); +const channel_1 = require("./channel"); +const messages_1 = require("./messages"); +const operations_1 = require("./operations"); +const security_scheme_1 = require("./security-scheme"); +const server_variables_1 = require("./server-variables"); +const server_variable_1 = require("./server-variable"); +const security_requirements_1 = require("./security-requirements"); +const security_requirement_1 = require("./security-requirement"); +const mixins_1 = require("./mixins"); +const utils_1 = require("../../utils"); +class Server extends mixins_1.CoreModel { + id() { + return this._meta.id; + } + url() { + let host = this.host(); + if (!host.endsWith('/')) { + host = `${host}/`; + } + let pathname = this.pathname() || ''; + if (pathname.startsWith('/')) { + pathname = pathname.substring(1); + } + return `${this.protocol()}://${host}${pathname}`; + } + host() { + return this._json.host; + } + protocol() { + return this._json.protocol; + } + hasPathname() { + return !!this._json.pathname; + } + pathname() { + return this._json.pathname; + } + hasProtocolVersion() { + return !!this._json.protocolVersion; + } + protocolVersion() { + return this._json.protocolVersion; + } + channels() { + var _a, _b; + const channels = []; + Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelName, channel]) => { + const allowedServers = channel.servers || []; + if (allowedServers.length === 0 || allowedServers.includes(this._json)) { + channels.push(this.createModel(channel_1.Channel, channel, { id: channelName, pointer: `/channels/${(0, utils_1.tilde)(channelName)}` })); + } + }); + return new channels_1.Channels(channels); + } + operations() { + const operations = []; + const operationsData = []; + this.channels().forEach(channel => { + channel.operations().forEach(operation => { + const operationData = operation.json(); + if (!operationsData.includes(operationData)) { + operations.push(operation); + operationsData.push(operationData); + } + }); + }); + return new operations_1.Operations(operations); + } + messages() { + const messages = []; + const messagedData = []; + this.channels().forEach(channel => { + channel.messages().forEach(message => { + const messageData = message.json(); + if (!messagedData.includes(messageData)) { + messages.push(message); + messagedData.push(messageData); + } + }); + }); + return new messages_1.Messages(messages); + } + variables() { + return new server_variables_1.ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { + return this.createModel(server_variable_1.ServerVariable, serverVariable, { + id: serverVariableName, + pointer: this.jsonPath(`variables/${serverVariableName}`), + }); + })); + } + security() { + return (this._json.security || []).map((security, index) => { + const scheme = this.createModel(security_scheme_1.SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); + const requirement = this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); + return new security_requirements_1.SecurityRequirements([requirement]); + }); + } +} +exports.Server = Server; diff --git a/apps/parser/cjs/models/v3/servers.d.ts b/apps/parser/cjs/models/v3/servers.d.ts new file mode 100644 index 000000000..101c8aa9e --- /dev/null +++ b/apps/parser/cjs/models/v3/servers.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import { ServerInterface } from '../server'; +import { ServersInterface } from '../servers'; +export declare class Servers extends Collection implements ServersInterface { + get(id: string): ServerInterface | undefined; + filterBySend(): ServerInterface[]; + filterByReceive(): ServerInterface[]; +} diff --git a/apps/parser/cjs/models/v3/servers.js b/apps/parser/cjs/models/v3/servers.js new file mode 100644 index 000000000..030ad9265 --- /dev/null +++ b/apps/parser/cjs/models/v3/servers.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Servers = void 0; +const collection_1 = require("../collection"); +class Servers extends collection_1.Collection { + get(id) { + return this.collections.find(server => server.id() === id); + } + filterBySend() { + return this.filterBy(server => server.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(server => server.operations().filterByReceive().length > 0); + } +} +exports.Servers = Servers; diff --git a/apps/parser/cjs/models/v3/tag.d.ts b/apps/parser/cjs/models/v3/tag.d.ts new file mode 100644 index 000000000..007d9e008 --- /dev/null +++ b/apps/parser/cjs/models/v3/tag.d.ts @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagInterface } from '../tag'; +import type { v3 } from '../../spec-types'; +export declare class Tag extends BaseModel implements TagInterface { + id(): string | undefined; + name(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/tag.js b/apps/parser/cjs/models/v3/tag.js new file mode 100644 index 000000000..734a70883 --- /dev/null +++ b/apps/parser/cjs/models/v3/tag.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tag = void 0; +const base_1 = require("../base"); +const mixins_1 = require("./mixins"); +class Tag extends base_1.BaseModel { + id() { + return this._meta.id; + } + name() { + return this._json.name; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + extensions() { + return (0, mixins_1.extensions)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } +} +exports.Tag = Tag; diff --git a/apps/parser/cjs/models/v3/tags.d.ts b/apps/parser/cjs/models/v3/tags.d.ts new file mode 100644 index 000000000..371794b27 --- /dev/null +++ b/apps/parser/cjs/models/v3/tags.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { TagsInterface } from '../tags'; +import type { TagInterface } from '../tag'; +export declare class Tags extends Collection implements TagsInterface { + get(name: string): TagInterface | undefined; +} diff --git a/apps/parser/cjs/models/v3/tags.js b/apps/parser/cjs/models/v3/tags.js new file mode 100644 index 000000000..aa4dc7f08 --- /dev/null +++ b/apps/parser/cjs/models/v3/tags.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tags = void 0; +const collection_1 = require("../collection"); +class Tags extends collection_1.Collection { + get(name) { + return this.collections.find(tag => tag.name() === name); + } +} +exports.Tags = Tags; diff --git a/apps/parser/cjs/old-api/asyncapi.d.ts b/apps/parser/cjs/old-api/asyncapi.d.ts new file mode 100644 index 000000000..a441ac55a --- /dev/null +++ b/apps/parser/cjs/old-api/asyncapi.d.ts @@ -0,0 +1,40 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { Info } from './info'; +import { Server } from './server'; +import { Channel } from './channel'; +import { Components } from './components'; +import { Message } from './message'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +import type { SchemaTypesToIterate, TraverseCallback } from './iterator'; +export declare class AsyncAPIDocument extends SpecificationExtensionsModel { + version(): string; + info(): Info; + id(): string | undefined; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; + hasServers(): boolean; + servers(): Record; + serverNames(): string[]; + server(name: string): Server | null; + hasDefaultContentType(): boolean; + defaultContentType(): string | null; + hasChannels(): boolean; + channels(): Record; + channelNames(): string[]; + channel(name: string): Channel | null; + hasComponents(): boolean; + components(): Components | null; + hasMessages(): boolean; + allMessages(): Map; + allSchemas(): Map; + hasCircular(): boolean; + traverseSchemas(callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; + static stringify(doc: AsyncAPIDocument, space?: number): string | undefined; + static parse(doc: string | Record): AsyncAPIDocument | undefined; +} diff --git a/apps/parser/cjs/old-api/asyncapi.js b/apps/parser/cjs/old-api/asyncapi.js new file mode 100644 index 000000000..9c5ea2997 --- /dev/null +++ b/apps/parser/cjs/old-api/asyncapi.js @@ -0,0 +1,161 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AsyncAPIDocument = void 0; +const mixins_1 = require("./mixins"); +const info_1 = require("./info"); +const server_1 = require("./server"); +const channel_1 = require("./channel"); +const components_1 = require("./components"); +const iterator_1 = require("./iterator"); +const constants_1 = require("../constants"); +const stringify_1 = require("../stringify"); +class AsyncAPIDocument extends mixins_1.SpecificationExtensionsModel { + version() { + return this._json.asyncapi; + } + info() { + return new info_1.Info(this._json.info); + } + id() { + return this._json.id; + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + hasTags() { + return mixins_1.tagsMixins.hasTags(this); + } + tags() { + return mixins_1.tagsMixins.tags(this); + } + tagNames() { + return mixins_1.tagsMixins.tagNames(this); + } + hasTag(name) { + return mixins_1.tagsMixins.hasTag(this, name); + } + tag(name) { + return mixins_1.tagsMixins.tag(this, name); + } + hasServers() { + return !!this._json.servers; + } + servers() { + return (0, mixins_1.createMapOfType)(this._json.servers, server_1.Server); + } + serverNames() { + if (!this._json.servers) + return []; + return Object.keys(this._json.servers); + } + server(name) { + return (0, mixins_1.getMapValue)(this._json.servers, name, server_1.Server); + } + hasDefaultContentType() { + return !!this._json.defaultContentType; + } + defaultContentType() { + return this._json.defaultContentType || null; + } + hasChannels() { + return !!this._json.channels; + } + channels() { + return (0, mixins_1.createMapOfType)(this._json.channels, channel_1.Channel); + } + channelNames() { + if (!this._json.channels) + return []; + return Object.keys(this._json.channels); + } + channel(name) { + return (0, mixins_1.getMapValue)(this._json.channels, name, channel_1.Channel); + } + hasComponents() { + return !!this._json.components; + } + components() { + if (!this._json.components) + return null; + return new components_1.Components(this._json.components); + } + hasMessages() { + return !!this.allMessages().size; + } + allMessages() { + const messages = new Map(); + if (this.hasChannels()) { + this.channelNames().forEach(channelName => { + const channel = this.channel(channelName); + if (channel) { + if (channel.hasPublish()) { + channel.publish().messages().forEach(m => { + messages.set(m.uid(), m); + }); + } + if (channel.hasSubscribe()) { + channel.subscribe().messages().forEach(m => { + messages.set(m.uid(), m); + }); + } + } + }); + } + if (this.hasComponents()) { + Object.values(this.components().messages()).forEach(m => { + messages.set(m.uid(), m); + }); + } + return messages; + } + allSchemas() { + const schemas = new Map(); + function allSchemasCallback(schema) { + if (schema.uid()) { + schemas.set(schema.uid(), schema); + } + } + (0, iterator_1.traverseAsyncApiDocument)(this, allSchemasCallback); + return schemas; + } + hasCircular() { + return !!this._json[constants_1.xParserCircular]; + } + traverseSchemas(callback, schemaTypesToIterate = []) { + (0, iterator_1.traverseAsyncApiDocument)(this, callback, schemaTypesToIterate); + } + static stringify(doc, space) { + const rawDoc = doc.json(); + const copiedDoc = Object.assign({}, rawDoc); + copiedDoc[constants_1.xParserSpecStringified] = true; + return JSON.stringify(copiedDoc, (0, stringify_1.refReplacer)(), space); + } + static parse(doc) { + let parsedJSON = doc; + if (typeof doc === 'string') { + parsedJSON = JSON.parse(doc); + } + else if (typeof doc === 'object') { + // shall copy + parsedJSON = Object.assign({}, parsedJSON); + } + // the `doc` must be an AsyncAPI parsed document + if (typeof parsedJSON !== 'object' || !parsedJSON[constants_1.xParserSpecParsed]) { + throw new Error('Cannot parse invalid AsyncAPI document'); + } + // if the `doc` is not stringified via the `stringify` static method then immediately return a model. + if (!parsedJSON[constants_1.xParserSpecStringified]) { + return new AsyncAPIDocument(parsedJSON); + } + // remove `x-parser-spec-stringified` extension + delete parsedJSON[String(constants_1.xParserSpecStringified)]; + const objToPath = new Map(); + const pathToObj = new Map(); + (0, stringify_1.traverseStringifiedData)(parsedJSON, undefined, parsedJSON, objToPath, pathToObj); + return new AsyncAPIDocument(parsedJSON); + } +} +exports.AsyncAPIDocument = AsyncAPIDocument; diff --git a/apps/parser/cjs/old-api/base.d.ts b/apps/parser/cjs/old-api/base.d.ts new file mode 100644 index 000000000..286a470ef --- /dev/null +++ b/apps/parser/cjs/old-api/base.d.ts @@ -0,0 +1,7 @@ +export declare abstract class Base = Record> { + protected readonly _json: J; + protected readonly _meta: M; + constructor(_json: J, _meta?: M); + json(): T; + json(key: K): J[K]; +} diff --git a/apps/parser/cjs/old-api/base.js b/apps/parser/cjs/old-api/base.js new file mode 100644 index 000000000..08ec69eac --- /dev/null +++ b/apps/parser/cjs/old-api/base.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Base = void 0; +class Base { + constructor(_json, _meta = {}) { + this._json = _json; + this._meta = _meta; + if (_json === undefined || _json === null) { + throw new Error('Invalid JSON to instantiate the Base object.'); + } + } + json(key) { + if (key === undefined || typeof this._json !== 'object') + return this._json; + if (!this._json) + return; + return this._json[key]; + } +} +exports.Base = Base; diff --git a/apps/parser/cjs/old-api/channel-parameter.d.ts b/apps/parser/cjs/old-api/channel-parameter.d.ts new file mode 100644 index 000000000..3265c56d0 --- /dev/null +++ b/apps/parser/cjs/old-api/channel-parameter.d.ts @@ -0,0 +1,9 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +export declare class ChannelParameter extends SpecificationExtensionsModel { + description(): string | null; + hasDescription(): boolean; + schema(): Schema | null; + location(): string | undefined; +} diff --git a/apps/parser/cjs/old-api/channel-parameter.js b/apps/parser/cjs/old-api/channel-parameter.js new file mode 100644 index 000000000..f13a20365 --- /dev/null +++ b/apps/parser/cjs/old-api/channel-parameter.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ChannelParameter = void 0; +const mixins_1 = require("./mixins"); +const schema_1 = require("./schema"); +class ChannelParameter extends mixins_1.SpecificationExtensionsModel { + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + schema() { + if (!this._json.schema) + return null; + return new schema_1.Schema(this._json.schema); + } + location() { + return this._json.location; + } +} +exports.ChannelParameter = ChannelParameter; diff --git a/apps/parser/cjs/old-api/channel.d.ts b/apps/parser/cjs/old-api/channel.d.ts new file mode 100644 index 000000000..8214311fc --- /dev/null +++ b/apps/parser/cjs/old-api/channel.d.ts @@ -0,0 +1,23 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { ChannelParameter } from './channel-parameter'; +import { Operation } from './operation'; +import type { v2 } from '../spec-types'; +export declare class Channel extends SpecificationExtensionsModel { + description(): string | null; + hasDescription(): boolean; + hasParameters(): boolean; + parameters(): Record; + parameter(name: string): ChannelParameter | null; + hasServers(): boolean; + servers(): string[]; + server(index: number | string): string | null; + publish(): Operation | null; + subscribe(): Operation | null; + hasPublish(): boolean; + hasSubscribe(): boolean; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; +} diff --git a/apps/parser/cjs/old-api/channel.js b/apps/parser/cjs/old-api/channel.js new file mode 100644 index 000000000..ca9f70ccd --- /dev/null +++ b/apps/parser/cjs/old-api/channel.js @@ -0,0 +1,72 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Channel = void 0; +const mixins_1 = require("./mixins"); +const channel_parameter_1 = require("./channel-parameter"); +const operation_1 = require("./operation"); +class Channel extends mixins_1.SpecificationExtensionsModel { + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + hasParameters() { + return !!this._json.parameters; + } + parameters() { + return (0, mixins_1.createMapOfType)(this._json.parameters, channel_parameter_1.ChannelParameter); + } + parameter(name) { + return (0, mixins_1.getMapValue)(this._json.parameters, name, channel_parameter_1.ChannelParameter); + } + hasServers() { + return !!this._json.servers; + } + servers() { + if (!this._json.servers) + return []; + return this._json.servers; + } + server(index) { + if (!this._json.servers) + return null; + if (typeof index !== 'number') + return null; + if (index > this._json.servers.length - 1) + return null; + return this._json.servers[+index]; + } + publish() { + if (!this._json.publish) + return null; + return new operation_1.Operation(this._json.publish, { kind: 'publish' }); + } + subscribe() { + if (!this._json.subscribe) + return null; + return new operation_1.Operation(this._json.subscribe, { kind: 'subscribe' }); + } + hasPublish() { + return !!this._json.publish; + } + hasSubscribe() { + return !!this._json.subscribe; + } + hasBindings() { + return mixins_1.bindingsMixins.hasBindings(this); + } + bindings() { + return mixins_1.bindingsMixins.bindings(this); + } + bindingProtocols() { + return mixins_1.bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return mixins_1.bindingsMixins.hasBinding(this, name); + } + binding(name) { + return mixins_1.bindingsMixins.binding(this, name); + } +} +exports.Channel = Channel; diff --git a/apps/parser/cjs/old-api/components.d.ts b/apps/parser/cjs/old-api/components.d.ts new file mode 100644 index 000000000..7a409a019 --- /dev/null +++ b/apps/parser/cjs/old-api/components.d.ts @@ -0,0 +1,44 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { Channel } from './channel'; +import { Message } from './message'; +import { Schema } from './schema'; +import { SecurityScheme } from './security-scheme'; +import { Server } from './server'; +import { ChannelParameter } from './channel-parameter'; +import { CorrelationId } from './correlation-id'; +import { OperationTrait } from './operation-trait'; +import { MessageTrait } from './message-trait'; +import { ServerVariable } from './server-variable'; +import type { v2 } from '../spec-types'; +export declare class Components extends SpecificationExtensionsModel { + hasChannels(): boolean; + channels(): Record; + channel(name: string): Channel | null; + hasMessages(): boolean; + messages(): Record; + message(name: string): Message | null; + hasSchemas(): boolean; + schemas(): Record; + schema(name: string): Schema | null; + hasSecuritySchemes(): boolean; + securitySchemes(): Record; + securityScheme(name: string): SecurityScheme | null; + hasServers(): boolean; + servers(): Record; + server(name: string): Server | null; + hasParameters(): boolean; + parameters(): Record; + parameter(name: string): ChannelParameter | null; + hasCorrelationIds(): boolean; + correlationIds(): Record; + correlationId(name: string): CorrelationId | null; + hasOperationTraits(): boolean; + operationTraits(): Record>; + operationTrait(name: string): OperationTrait | null; + hasMessageTraits(): boolean; + messageTraits(): Record>; + messageTrait(name: string): MessageTrait; + hasServerVariables(): boolean; + serverVariables(): Record; + serverVariable(name: string): ServerVariable | null; +} diff --git a/apps/parser/cjs/old-api/components.js b/apps/parser/cjs/old-api/components.js new file mode 100644 index 000000000..c02c9e480 --- /dev/null +++ b/apps/parser/cjs/old-api/components.js @@ -0,0 +1,107 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Components = void 0; +const mixins_1 = require("./mixins"); +const channel_1 = require("./channel"); +const message_1 = require("./message"); +const schema_1 = require("./schema"); +const security_scheme_1 = require("./security-scheme"); +const server_1 = require("./server"); +const channel_parameter_1 = require("./channel-parameter"); +const correlation_id_1 = require("./correlation-id"); +const operation_trait_1 = require("./operation-trait"); +const message_trait_1 = require("./message-trait"); +const server_variable_1 = require("./server-variable"); +class Components extends mixins_1.SpecificationExtensionsModel { + hasChannels() { + return !!this._json.channels; + } + channels() { + return (0, mixins_1.createMapOfType)(this._json.channels, channel_1.Channel); + } + channel(name) { + return (0, mixins_1.getMapValue)(this._json.channels, name, channel_1.Channel); + } + hasMessages() { + return !!this._json.messages; + } + messages() { + return (0, mixins_1.createMapOfType)(this._json.messages, message_1.Message); + } + message(name) { + return (0, mixins_1.getMapValue)(this._json.messages, name, message_1.Message); + } + hasSchemas() { + return !!this._json.schemas; + } + schemas() { + return (0, mixins_1.createMapOfType)(this._json.schemas, schema_1.Schema); + } + schema(name) { + return (0, mixins_1.getMapValue)(this._json.schemas, name, schema_1.Schema); + } + hasSecuritySchemes() { + return !!this._json.securitySchemes; + } + securitySchemes() { + return (0, mixins_1.createMapOfType)(this._json.securitySchemes, security_scheme_1.SecurityScheme); + } + securityScheme(name) { + return (0, mixins_1.getMapValue)(this._json.securitySchemes, name, security_scheme_1.SecurityScheme); + } + hasServers() { + return !!this._json.servers; + } + servers() { + return (0, mixins_1.createMapOfType)(this._json.servers, server_1.Server); + } + server(name) { + return (0, mixins_1.getMapValue)(this._json.servers, name, server_1.Server); + } + hasParameters() { + return !!this._json.parameters; + } + parameters() { + return (0, mixins_1.createMapOfType)(this._json.parameters, channel_parameter_1.ChannelParameter); + } + parameter(name) { + return (0, mixins_1.getMapValue)(this._json.parameters, name, channel_parameter_1.ChannelParameter); + } + hasCorrelationIds() { + return !!this._json.correlationIds; + } + correlationIds() { + return (0, mixins_1.createMapOfType)(this._json.correlationIds, correlation_id_1.CorrelationId); + } + correlationId(name) { + return (0, mixins_1.getMapValue)(this._json.correlationIds, name, correlation_id_1.CorrelationId); + } + hasOperationTraits() { + return !!this._json.operationTraits; + } + operationTraits() { + return (0, mixins_1.createMapOfType)(this._json.operationTraits, operation_trait_1.OperationTrait); + } + operationTrait(name) { + return (0, mixins_1.getMapValue)(this._json.operationTraits, name, operation_trait_1.OperationTrait); + } + hasMessageTraits() { + return !!this._json.messageTraits; + } + messageTraits() { + return (0, mixins_1.createMapOfType)(this._json.messageTraits, message_trait_1.MessageTrait); + } + messageTrait(name) { + return (0, mixins_1.getMapValue)(this._json.messageTraits, name, message_trait_1.MessageTrait); + } + hasServerVariables() { + return !!this._json.serverVariables; + } + serverVariables() { + return (0, mixins_1.createMapOfType)(this._json.serverVariables, server_variable_1.ServerVariable); + } + serverVariable(name) { + return (0, mixins_1.getMapValue)(this._json.serverVariables, name, server_variable_1.ServerVariable); + } +} +exports.Components = Components; diff --git a/apps/parser/cjs/old-api/contact.d.ts b/apps/parser/cjs/old-api/contact.d.ts new file mode 100644 index 000000000..dd119cb51 --- /dev/null +++ b/apps/parser/cjs/old-api/contact.d.ts @@ -0,0 +1,7 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class Contact extends SpecificationExtensionsModel { + name(): string | undefined; + url(): string | undefined; + email(): string | undefined; +} diff --git a/apps/parser/cjs/old-api/contact.js b/apps/parser/cjs/old-api/contact.js new file mode 100644 index 000000000..e4cba30a5 --- /dev/null +++ b/apps/parser/cjs/old-api/contact.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Contact = void 0; +const mixins_1 = require("./mixins"); +class Contact extends mixins_1.SpecificationExtensionsModel { + name() { + return this._json.name; + } + url() { + return this._json.url; + } + email() { + return this._json.email; + } +} +exports.Contact = Contact; diff --git a/apps/parser/cjs/old-api/converter.d.ts b/apps/parser/cjs/old-api/converter.d.ts new file mode 100644 index 000000000..f405c4a03 --- /dev/null +++ b/apps/parser/cjs/old-api/converter.d.ts @@ -0,0 +1,4 @@ +import { AsyncAPIDocument } from './asyncapi'; +import type { AsyncAPIDocumentInterface } from '../models/asyncapi'; +export declare function convertToOldAPI(newDocument: AsyncAPIDocumentInterface): AsyncAPIDocument; +export declare function convertToNewAPI(oldDocument: AsyncAPIDocument): AsyncAPIDocumentInterface; diff --git a/apps/parser/cjs/old-api/converter.js b/apps/parser/cjs/old-api/converter.js new file mode 100644 index 000000000..da58d743b --- /dev/null +++ b/apps/parser/cjs/old-api/converter.js @@ -0,0 +1,58 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convertToNewAPI = exports.convertToOldAPI = void 0; +const asyncapi_1 = require("./asyncapi"); +const constants_1 = require("../constants"); +const document_1 = require("../document"); +const stringify_1 = require("../stringify"); +const schema_parser_1 = require("../schema-parser"); +const utils_1 = require("../utils"); +function convertToOldAPI(newDocument) { + const data = (0, stringify_1.copy)(newDocument.json()); + const document = new asyncapi_1.AsyncAPIDocument(data); + handleMessages(document); + handleOperations(document); + (0, utils_1.setExtension)(constants_1.xParserApiVersion, 0, document); + return document; +} +exports.convertToOldAPI = convertToOldAPI; +function convertToNewAPI(oldDocument) { + const data = (0, stringify_1.copy)(oldDocument.json()); + const detailed = (0, utils_1.createDetailedAsyncAPI)(data); + return (0, document_1.createAsyncAPIDocument)(detailed); +} +exports.convertToNewAPI = convertToNewAPI; +function handleMessages(document) { + const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(document.version()); + for (const message of document.allMessages().values()) { + const json = message.json(); + if (json.traits) { + json[constants_1.xParserOriginalTraits] = json.traits; + delete json.traits; + } + json[constants_1.xParserOriginalSchemaFormat] = json.schemaFormat || defaultSchemaFormat; + json.schemaFormat = defaultSchemaFormat; + json[constants_1.xParserOriginalPayload] = json[constants_1.xParserOriginalPayload] || json.payload; + json[constants_1.xParserMessageParsed] = true; + } +} +function handleOperations(document) { + Object.values(document.channels()).forEach(channel => { + const publish = channel.publish(); + const subscribe = channel.subscribe(); + if (publish) { + const json = publish.json(); + if (json.traits) { + json[constants_1.xParserOriginalTraits] = json.traits; + delete json.traits; + } + } + if (subscribe) { + const json = subscribe.json(); + if (json.traits) { + json[constants_1.xParserOriginalTraits] = json.traits; + delete json.traits; + } + } + }); +} diff --git a/apps/parser/cjs/old-api/correlation-id.d.ts b/apps/parser/cjs/old-api/correlation-id.d.ts new file mode 100644 index 000000000..02fe34b0d --- /dev/null +++ b/apps/parser/cjs/old-api/correlation-id.d.ts @@ -0,0 +1,7 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class CorrelationId extends SpecificationExtensionsModel { + description(): string | null; + hasDescription(): boolean; + location(): string; +} diff --git a/apps/parser/cjs/old-api/correlation-id.js b/apps/parser/cjs/old-api/correlation-id.js new file mode 100644 index 000000000..7a1104d12 --- /dev/null +++ b/apps/parser/cjs/old-api/correlation-id.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CorrelationId = void 0; +const mixins_1 = require("./mixins"); +class CorrelationId extends mixins_1.SpecificationExtensionsModel { + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + location() { + return this._json.location; + } +} +exports.CorrelationId = CorrelationId; diff --git a/apps/parser/cjs/old-api/external-docs.d.ts b/apps/parser/cjs/old-api/external-docs.d.ts new file mode 100644 index 000000000..67df99a8b --- /dev/null +++ b/apps/parser/cjs/old-api/external-docs.d.ts @@ -0,0 +1,15 @@ +import { Base } from './base'; +import type { v2 } from '../spec-types'; +export declare class ExternalDocs extends Base { + url(): string; + hasDescription(): boolean; + description(): string | null; + hasExtensions(): boolean; + extensions(): v2.SpecificationExtensions; + extensionKeys(): string[]; + extKeys(): string[]; + hasExtension(extension: string): boolean; + extension(extension: string): v2.SpecificationExtension; + hasExt(extension: string): boolean; + ext(extension: string): any; +} diff --git a/apps/parser/cjs/old-api/external-docs.js b/apps/parser/cjs/old-api/external-docs.js new file mode 100644 index 000000000..5a481b949 --- /dev/null +++ b/apps/parser/cjs/old-api/external-docs.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExternalDocs = void 0; +const base_1 = require("./base"); +const mixins_1 = require("./mixins"); +class ExternalDocs extends base_1.Base { + url() { + return this._json.url; + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + description() { + return (0, mixins_1.description)(this); + } + hasExtensions() { + return mixins_1.extensionsMixins.hasExtensions(this); + } + extensions() { + return mixins_1.extensionsMixins.extensions(this); + } + extensionKeys() { + return mixins_1.extensionsMixins.extensionKeys(this); + } + extKeys() { + return mixins_1.extensionsMixins.extKeys(this); + } + hasExtension(extension) { + return mixins_1.extensionsMixins.hasExtension(this, extension); + } + extension(extension) { + return mixins_1.extensionsMixins.extension(this, extension); + } + hasExt(extension) { + return mixins_1.extensionsMixins.hasExt(this, extension); + } + ext(extension) { + return mixins_1.extensionsMixins.ext(this, extension); + } +} +exports.ExternalDocs = ExternalDocs; diff --git a/apps/parser/cjs/old-api/index.d.ts b/apps/parser/cjs/old-api/index.d.ts new file mode 100644 index 000000000..3ad086673 --- /dev/null +++ b/apps/parser/cjs/old-api/index.d.ts @@ -0,0 +1,21 @@ +export { convertToOldAPI, convertToNewAPI } from './converter'; +export { AsyncAPIDocument as OldAsyncAPIDocument } from './asyncapi'; +export { Base as OldBase } from './base'; +export { ChannelParameter as OldChannelParameter } from './channel-parameter'; +export { Channel as OldChannel } from './channel'; +export { Components as OldComponents } from './components'; +export { Contact as OldContact } from './contact'; +export { CorrelationId as OldCorrelationId } from './correlation-id'; +export { ExternalDocs as OldExternalDocs } from './external-docs'; +export { License as OldLicense } from './license'; +export { MessageTrait as OldMessageTrait } from './message-trait'; +export { Message as OldMessage } from './message'; +export { OAuthFlow as OldOAuthFlow } from './oauth-flow'; +export { OperationTrait as OldOperationTrait } from './operation-trait'; +export { Operation as OldOperation } from './operation'; +export { Schema as OldSchema } from './schema'; +export { SecurityRequirement as OldSecurityRequirement } from './security-requirement'; +export { SecurityScheme as OldSecurityScheme } from './security-scheme'; +export { ServerVariable as OldServerVariable } from './server-variable'; +export { Server as OldServer } from './server'; +export { Tag as OldTag } from './tag'; diff --git a/apps/parser/cjs/old-api/index.js b/apps/parser/cjs/old-api/index.js new file mode 100644 index 000000000..60b8a7166 --- /dev/null +++ b/apps/parser/cjs/old-api/index.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OldTag = exports.OldServer = exports.OldServerVariable = exports.OldSecurityScheme = exports.OldSecurityRequirement = exports.OldSchema = exports.OldOperation = exports.OldOperationTrait = exports.OldOAuthFlow = exports.OldMessage = exports.OldMessageTrait = exports.OldLicense = exports.OldExternalDocs = exports.OldCorrelationId = exports.OldContact = exports.OldComponents = exports.OldChannel = exports.OldChannelParameter = exports.OldBase = exports.OldAsyncAPIDocument = exports.convertToNewAPI = exports.convertToOldAPI = void 0; +var converter_1 = require("./converter"); +Object.defineProperty(exports, "convertToOldAPI", { enumerable: true, get: function () { return converter_1.convertToOldAPI; } }); +Object.defineProperty(exports, "convertToNewAPI", { enumerable: true, get: function () { return converter_1.convertToNewAPI; } }); +var asyncapi_1 = require("./asyncapi"); +Object.defineProperty(exports, "OldAsyncAPIDocument", { enumerable: true, get: function () { return asyncapi_1.AsyncAPIDocument; } }); +var base_1 = require("./base"); +Object.defineProperty(exports, "OldBase", { enumerable: true, get: function () { return base_1.Base; } }); +var channel_parameter_1 = require("./channel-parameter"); +Object.defineProperty(exports, "OldChannelParameter", { enumerable: true, get: function () { return channel_parameter_1.ChannelParameter; } }); +var channel_1 = require("./channel"); +Object.defineProperty(exports, "OldChannel", { enumerable: true, get: function () { return channel_1.Channel; } }); +var components_1 = require("./components"); +Object.defineProperty(exports, "OldComponents", { enumerable: true, get: function () { return components_1.Components; } }); +var contact_1 = require("./contact"); +Object.defineProperty(exports, "OldContact", { enumerable: true, get: function () { return contact_1.Contact; } }); +var correlation_id_1 = require("./correlation-id"); +Object.defineProperty(exports, "OldCorrelationId", { enumerable: true, get: function () { return correlation_id_1.CorrelationId; } }); +var external_docs_1 = require("./external-docs"); +Object.defineProperty(exports, "OldExternalDocs", { enumerable: true, get: function () { return external_docs_1.ExternalDocs; } }); +var license_1 = require("./license"); +Object.defineProperty(exports, "OldLicense", { enumerable: true, get: function () { return license_1.License; } }); +var message_trait_1 = require("./message-trait"); +Object.defineProperty(exports, "OldMessageTrait", { enumerable: true, get: function () { return message_trait_1.MessageTrait; } }); +var message_1 = require("./message"); +Object.defineProperty(exports, "OldMessage", { enumerable: true, get: function () { return message_1.Message; } }); +var oauth_flow_1 = require("./oauth-flow"); +Object.defineProperty(exports, "OldOAuthFlow", { enumerable: true, get: function () { return oauth_flow_1.OAuthFlow; } }); +var operation_trait_1 = require("./operation-trait"); +Object.defineProperty(exports, "OldOperationTrait", { enumerable: true, get: function () { return operation_trait_1.OperationTrait; } }); +var operation_1 = require("./operation"); +Object.defineProperty(exports, "OldOperation", { enumerable: true, get: function () { return operation_1.Operation; } }); +var schema_1 = require("./schema"); +Object.defineProperty(exports, "OldSchema", { enumerable: true, get: function () { return schema_1.Schema; } }); +var security_requirement_1 = require("./security-requirement"); +Object.defineProperty(exports, "OldSecurityRequirement", { enumerable: true, get: function () { return security_requirement_1.SecurityRequirement; } }); +var security_scheme_1 = require("./security-scheme"); +Object.defineProperty(exports, "OldSecurityScheme", { enumerable: true, get: function () { return security_scheme_1.SecurityScheme; } }); +var server_variable_1 = require("./server-variable"); +Object.defineProperty(exports, "OldServerVariable", { enumerable: true, get: function () { return server_variable_1.ServerVariable; } }); +var server_1 = require("./server"); +Object.defineProperty(exports, "OldServer", { enumerable: true, get: function () { return server_1.Server; } }); +var tag_1 = require("./tag"); +Object.defineProperty(exports, "OldTag", { enumerable: true, get: function () { return tag_1.Tag; } }); diff --git a/apps/parser/cjs/old-api/info.d.ts b/apps/parser/cjs/old-api/info.d.ts new file mode 100644 index 000000000..94d613d55 --- /dev/null +++ b/apps/parser/cjs/old-api/info.d.ts @@ -0,0 +1,13 @@ +import { Contact } from './contact'; +import { License } from './license'; +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class Info extends SpecificationExtensionsModel { + title(): string; + version(): string; + description(): string | null; + hasDescription(): boolean; + termsOfService(): string | undefined; + license(): License | null; + contact(): Contact | null; +} diff --git a/apps/parser/cjs/old-api/info.js b/apps/parser/cjs/old-api/info.js new file mode 100644 index 000000000..cff4102ee --- /dev/null +++ b/apps/parser/cjs/old-api/info.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Info = void 0; +const contact_1 = require("./contact"); +const license_1 = require("./license"); +const mixins_1 = require("./mixins"); +class Info extends mixins_1.SpecificationExtensionsModel { + title() { + return this._json.title; + } + version() { + return this._json.version; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + termsOfService() { + return this._json.termsOfService; + } + license() { + if (!this._json.license) + return null; + return new license_1.License(this._json.license); + } + contact() { + if (!this._json.contact) + return null; + return new contact_1.Contact(this._json.contact); + } +} +exports.Info = Info; diff --git a/apps/parser/cjs/old-api/iterator.d.ts b/apps/parser/cjs/old-api/iterator.d.ts new file mode 100644 index 000000000..419fc9546 --- /dev/null +++ b/apps/parser/cjs/old-api/iterator.d.ts @@ -0,0 +1,42 @@ +import type { AsyncAPIDocument } from './asyncapi'; +import type { Schema } from './schema'; +/** + * The different kind of stages when crawling a schema. + */ +export declare enum SchemaIteratorCallbackType { + NEW_SCHEMA = "NEW_SCHEMA", + END_SCHEMA = "END_SCHEMA" +} +/** + * The different types of schemas you can iterate + */ +export declare enum SchemaTypesToIterate { + parameters = "parameters", + payloads = "payloads", + headers = "headers", + components = "components", + objects = "objects", + arrays = "arrays", + oneOfs = "oneOfs", + allOfs = "allOfs", + anyOfs = "anyOfs", + nots = "nots", + propertyNames = "propertyNames", + patternProperties = "patternProperties", + contains = "contains", + ifs = "ifs", + thenes = "thenes", + elses = "elses", + dependencies = "dependencies", + definitions = "definitions" +} +export type TraverseOptions = { + callback: TraverseCallback; + schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; + seenSchemas: Set; +}; +export type TraverseCallback = (schema: Schema, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +export declare function traverseAsyncApiDocument(doc: AsyncAPIDocument, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/cjs/old-api/iterator.js b/apps/parser/cjs/old-api/iterator.js new file mode 100644 index 000000000..9dae5d7b1 --- /dev/null +++ b/apps/parser/cjs/old-api/iterator.js @@ -0,0 +1,250 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.traverseAsyncApiDocument = exports.SchemaTypesToIterate = exports.SchemaIteratorCallbackType = void 0; +/** + * The different kind of stages when crawling a schema. + */ +var SchemaIteratorCallbackType; +(function (SchemaIteratorCallbackType) { + SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; + SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; +})(SchemaIteratorCallbackType = exports.SchemaIteratorCallbackType || (exports.SchemaIteratorCallbackType = {})); +/** + * The different types of schemas you can iterate + */ +var SchemaTypesToIterate; +(function (SchemaTypesToIterate) { + SchemaTypesToIterate["parameters"] = "parameters"; + SchemaTypesToIterate["payloads"] = "payloads"; + SchemaTypesToIterate["headers"] = "headers"; + SchemaTypesToIterate["components"] = "components"; + SchemaTypesToIterate["objects"] = "objects"; + SchemaTypesToIterate["arrays"] = "arrays"; + SchemaTypesToIterate["oneOfs"] = "oneOfs"; + SchemaTypesToIterate["allOfs"] = "allOfs"; + SchemaTypesToIterate["anyOfs"] = "anyOfs"; + SchemaTypesToIterate["nots"] = "nots"; + SchemaTypesToIterate["propertyNames"] = "propertyNames"; + SchemaTypesToIterate["patternProperties"] = "patternProperties"; + SchemaTypesToIterate["contains"] = "contains"; + SchemaTypesToIterate["ifs"] = "ifs"; + SchemaTypesToIterate["thenes"] = "thenes"; + SchemaTypesToIterate["elses"] = "elses"; + SchemaTypesToIterate["dependencies"] = "dependencies"; + SchemaTypesToIterate["definitions"] = "definitions"; +})(SchemaTypesToIterate = exports.SchemaTypesToIterate || (exports.SchemaTypesToIterate = {})); +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { + if (schemaTypesToIterate.length === 0) { + schemaTypesToIterate = Object.values(SchemaTypesToIterate); + } + const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; + Object.values(doc.channels()).forEach(channel => { + traverseChannel(channel, options); + }); + const components = doc.components(); + if (schemaTypesToIterate.includes(SchemaTypesToIterate.components) && components) { + Object.values(components.messages()).forEach(message => { + traverseMessage(message, options); + }); + Object.values(components.schemas()).forEach(schema => { + traverseSchema(schema, null, options); + }); + if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { + Object.values(components.parameters()).forEach(parameter => { + const schema = parameter.schema(); + if (schema) { + traverseSchema(schema, null, options); + } + }); + } + Object.values(components.messageTraits()).forEach(messageTrait => { + traverseMessageTrait(messageTrait, options); + }); + } +} +exports.traverseAsyncApiDocument = traverseAsyncApiDocument; +/* eslint-disable sonarjs/cognitive-complexity */ +/** + * Traverse current schema and all nested schemas. + */ +function traverseSchema(schema, propOrIndex, options) { + if (!schema) + return; + const { schemaTypesToIterate, callback, seenSchemas } = options; + // handle circular references + const jsonSchema = schema.json(); + if (seenSchemas.has(jsonSchema)) + return; + seenSchemas.add(jsonSchema); + // `type` isn't required so save type as array in the fallback + let types = schema.type() || []; + // change primitive type to array of types for easier handling + if (!Array.isArray(types)) { + types = [types]; + } + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) + return; + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) + return; + // check callback `NEW_SCHEMA` case + if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) + return; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) { + recursiveSchemaObject(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) { + recursiveSchemaArray(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.oneOfs)) { + (schema.oneOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.anyOfs)) { + (schema.anyOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.allOfs)) { + (schema.allOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.nots) && schema.not()) { + traverseSchema(schema.not(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.ifs) && schema.if()) { + traverseSchema(schema.if(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.thenes) && schema.then()) { + traverseSchema(schema.then(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.elses) && schema.else()) { + traverseSchema(schema.else(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.dependencies)) { + Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { + // do not iterate dependent required + if (dep && !Array.isArray(dep)) { + traverseSchema(dep, depName, options); + } + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.definitions)) { + Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { + traverseSchema(def, defName, options); + }); + } + callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); + seenSchemas.delete(jsonSchema); +} +/* eslint-enable sonarjs/cognitive-complexity */ +/** + * Recursively go through schema of object type and execute callback. + */ +function recursiveSchemaObject(schema, options) { + Object.entries(schema.properties()).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + const additionalProperties = schema.additionalProperties(); + if (typeof additionalProperties === 'object') { + traverseSchema(additionalProperties, null, options); + } + const schemaTypesToIterate = options.schemaTypesToIterate; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.propertyNames) && schema.propertyNames()) { + traverseSchema(schema.propertyNames(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.patternProperties)) { + Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + } +} +/** + * Recursively go through schema of array type and execute callback. + */ +function recursiveSchemaArray(schema, options) { + const items = schema.items(); + if (items) { + if (Array.isArray(items)) { + items.forEach((item, idx) => { + traverseSchema(item, idx, options); + }); + } + else { + traverseSchema(items, null, options); + } + } + const additionalItems = schema.additionalItems(); + if (typeof additionalItems === 'object') { + traverseSchema(additionalItems, null, options); + } + if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { + traverseSchema(schema.contains(), null, options); + } +} +/** + * Go through each schema in channel + */ +function traverseChannel(channel, options) { + if (!channel) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { + Object.values(channel.parameters() || {}).forEach(parameter => { + const schema = parameter.schema(); + if (schema) { + traverseSchema(schema, null, options); + } + }); + } + const publish = channel.publish(); + if (publish) { + publish.messages().forEach(message => { + traverseMessage(message, options); + }); + } + const subscribe = channel.subscribe(); + if (subscribe) { + subscribe.messages().forEach(message => { + traverseMessage(message, options); + }); + } +} +/** + * Go through each schema in a message + */ +function traverseMessage(message, options) { + if (!message) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { + const headers = message.headers(); + if (headers) { + traverseSchema(headers, null, options); + } + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.payloads)) { + const payload = message.payload(); + if (payload) { + traverseSchema(payload, null, options); + } + } +} +/** + * Go through each schema in a messageTrait + */ +function traverseMessageTrait(messageTrait, options) { + if (!messageTrait) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { + const headers = messageTrait.headers(); + if (headers) { + traverseSchema(headers, null, options); + } + } +} diff --git a/apps/parser/cjs/old-api/license.d.ts b/apps/parser/cjs/old-api/license.d.ts new file mode 100644 index 000000000..2e926b988 --- /dev/null +++ b/apps/parser/cjs/old-api/license.d.ts @@ -0,0 +1,6 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class License extends SpecificationExtensionsModel { + name(): string; + url(): string | undefined; +} diff --git a/apps/parser/cjs/old-api/license.js b/apps/parser/cjs/old-api/license.js new file mode 100644 index 000000000..2d5916002 --- /dev/null +++ b/apps/parser/cjs/old-api/license.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.License = void 0; +const mixins_1 = require("./mixins"); +class License extends mixins_1.SpecificationExtensionsModel { + name() { + return this._json.name; + } + url() { + return this._json.url; + } +} +exports.License = License; diff --git a/apps/parser/cjs/old-api/message-trait.d.ts b/apps/parser/cjs/old-api/message-trait.d.ts new file mode 100644 index 000000000..e4a7f5825 --- /dev/null +++ b/apps/parser/cjs/old-api/message-trait.d.ts @@ -0,0 +1,30 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { CorrelationId } from './correlation-id'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +export declare class MessageTrait extends SpecificationExtensionsModel { + id(): string | undefined; + headers(): Schema | null; + header(name: string): Schema | null; + correlationId(): CorrelationId | null; + schemaFormat(): string; + contentType(): string | undefined; + name(): string | undefined; + title(): string | undefined; + summary(): string | undefined; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; + examples(): v2.MessageExampleObject[] | undefined; +} diff --git a/apps/parser/cjs/old-api/message-trait.js b/apps/parser/cjs/old-api/message-trait.js new file mode 100644 index 000000000..2066f4e69 --- /dev/null +++ b/apps/parser/cjs/old-api/message-trait.js @@ -0,0 +1,87 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageTrait = void 0; +const mixins_1 = require("./mixins"); +const correlation_id_1 = require("./correlation-id"); +const schema_1 = require("./schema"); +class MessageTrait extends mixins_1.SpecificationExtensionsModel { + id() { + return this._json.messageId; + } + headers() { + if (!this._json.headers) + return null; + return new schema_1.Schema(this._json.headers); + } + header(name) { + if (!this._json.headers) + return null; + return (0, mixins_1.getMapValue)(this._json.headers.properties || {}, name, schema_1.Schema); + } + correlationId() { + if (!this._json.correlationId) + return null; + return new correlation_id_1.CorrelationId(this._json.correlationId); + } + schemaFormat() { + return this._json.schemaFormat; // Old API points always to the default schema format for given AsyncAPI version, so we need to force returned type as string. + } + contentType() { + return this._json.contentType; + } + name() { + return this._json.name; + } + title() { + return this._json.title; + } + summary() { + return this._json.summary; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + hasTags() { + return mixins_1.tagsMixins.hasTags(this); + } + tags() { + return mixins_1.tagsMixins.tags(this); + } + tagNames() { + return mixins_1.tagsMixins.tagNames(this); + } + hasTag(name) { + return mixins_1.tagsMixins.hasTag(this, name); + } + tag(name) { + return mixins_1.tagsMixins.tag(this, name); + } + hasBindings() { + return mixins_1.bindingsMixins.hasBindings(this); + } + bindings() { + return mixins_1.bindingsMixins.bindings(this); + } + bindingProtocols() { + return mixins_1.bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return mixins_1.bindingsMixins.hasBinding(this, name); + } + binding(name) { + return mixins_1.bindingsMixins.binding(this, name); + } + examples() { + return this._json.examples; + } +} +exports.MessageTrait = MessageTrait; diff --git a/apps/parser/cjs/old-api/message.d.ts b/apps/parser/cjs/old-api/message.d.ts new file mode 100644 index 000000000..08e26b8f3 --- /dev/null +++ b/apps/parser/cjs/old-api/message.d.ts @@ -0,0 +1,11 @@ +import { MessageTrait } from './message-trait'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +export declare class Message extends MessageTrait { + uid(): string; + payload(): Schema | null; + traits(): MessageTrait[]; + hasTraits(): boolean; + originalPayload(): any; + originalSchemaFormat(): string; +} diff --git a/apps/parser/cjs/old-api/message.js b/apps/parser/cjs/old-api/message.js new file mode 100644 index 000000000..54493b756 --- /dev/null +++ b/apps/parser/cjs/old-api/message.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Message = void 0; +const message_trait_1 = require("./message-trait"); +const schema_1 = require("./schema"); +const constants_1 = require("../constants"); +class Message extends message_trait_1.MessageTrait { + uid() { + return this.id() || this.name() || this.ext(constants_1.xParserMessageName); + } + payload() { + if (!this._json.payload) + return null; + return new schema_1.Schema(this._json.payload); + } + traits() { + const traits = this.ext(constants_1.xParserOriginalTraits) || this._json.traits; + if (!traits) + return []; + return traits.map(t => new message_trait_1.MessageTrait(t)); + } + hasTraits() { + return !!this.ext(constants_1.xParserOriginalTraits) || !!this._json.traits; + } + originalPayload() { + return this.ext(constants_1.xParserOriginalPayload) || this.payload(); + } + originalSchemaFormat() { + return this.ext(constants_1.xParserOriginalSchemaFormat) || this.schemaFormat(); + } +} +exports.Message = Message; diff --git a/apps/parser/cjs/old-api/mixins.d.ts b/apps/parser/cjs/old-api/mixins.d.ts new file mode 100644 index 000000000..4985944d7 --- /dev/null +++ b/apps/parser/cjs/old-api/mixins.d.ts @@ -0,0 +1,95 @@ +import { Base } from './base'; +import { ExternalDocs } from './external-docs'; +import { Tag } from './tag'; +import type { v2 } from '../spec-types'; +export declare abstract class SpecificationExtensionsModel = Record> extends Base { + hasExtensions(): boolean; + extensions(): v2.SpecificationExtensions; + extensionKeys(): string[]; + extKeys(): string[]; + hasExtension(extension: string): boolean; + extension(extension: string): v2.SpecificationExtension; + hasExt(extension: string): boolean; + ext(extension: string): any; +} +export declare function hasDescription(model: Base<{ + description?: string; +}>): boolean; +export declare function description(model: Base<{ + description?: string; +}>): string | null; +export declare function hasExternalDocs(model: Base<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): boolean; +export declare function externalDocs(model: Base<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): ExternalDocs | null; +export declare const extensionsMixins: { + hasExtensions(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): boolean; + extensions(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): v2.SpecificationExtensions; + extensionKeys(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): string[]; + extKeys(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): string[]; + hasExtension(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): boolean; + extension(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): v2.SpecificationExtension | null; + hasExt(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): boolean; + ext(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): any; +}; +export declare const bindingsMixins: { + hasBindings(model: Base<{ + bindings?: Record; + }>): boolean; + bindings(model: Base<{ + bindings?: Record; + }>): Record; + bindingProtocols(model: Base<{ + bindings?: Record; + }>): string[]; + hasBinding(model: Base<{ + bindings?: Record; + }>, name: string): boolean; + binding(model: Base<{ + bindings?: Record; + }>, name: string): v2.Binding | null; +}; +export declare const tagsMixins: { + hasTags(model: Base<{ + tags?: Array; + }>): boolean; + tags(model: Base<{ + tags?: Array; + }>): Array; + tagNames(model: Base<{ + tags?: Array; + }>): string[]; + hasTag(model: Base<{ + tags?: Array; + }>, name: string): boolean; + tag(model: Base<{ + tags?: Array; + }>, name: string): Tag | null; +}; +interface Constructor extends Function { + new (...any: any[]): T; +} +type InferModelData = T extends Base ? J : never; +type InferModelMetadata = T extends Base ? M : never; +export declare function getMapValue, K extends keyof T>(obj: T | undefined, key: K): T[K] | null; +export declare function getMapValue(obj: Record> | undefined, key: string, Type: Constructor, meta?: InferModelMetadata): T | null; +export declare function createMapOfType(obj: Record> | undefined, Type: Constructor, meta?: InferModelMetadata): Record; +export {}; diff --git a/apps/parser/cjs/old-api/mixins.js b/apps/parser/cjs/old-api/mixins.js new file mode 100644 index 000000000..197b679b0 --- /dev/null +++ b/apps/parser/cjs/old-api/mixins.js @@ -0,0 +1,148 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createMapOfType = exports.getMapValue = exports.tagsMixins = exports.bindingsMixins = exports.extensionsMixins = exports.externalDocs = exports.hasExternalDocs = exports.description = exports.hasDescription = exports.SpecificationExtensionsModel = void 0; +const base_1 = require("./base"); +const external_docs_1 = require("./external-docs"); +const tag_1 = require("./tag"); +const constants_1 = require("../constants"); +class SpecificationExtensionsModel extends base_1.Base { + hasExtensions() { + return exports.extensionsMixins.hasExtensions(this); + } + extensions() { + return exports.extensionsMixins.extensions(this); + } + extensionKeys() { + return exports.extensionsMixins.extensionKeys(this); + } + extKeys() { + return exports.extensionsMixins.extKeys(this); + } + hasExtension(extension) { + return exports.extensionsMixins.hasExtension(this, extension); + } + extension(extension) { + return exports.extensionsMixins.extension(this, extension); + } + hasExt(extension) { + return exports.extensionsMixins.hasExt(this, extension); + } + ext(extension) { + return exports.extensionsMixins.ext(this, extension); + } +} +exports.SpecificationExtensionsModel = SpecificationExtensionsModel; +function hasDescription(model) { + return Boolean(model.json('description')); +} +exports.hasDescription = hasDescription; +function description(model) { + const description = model.json('description'); + return typeof description === 'string' ? description : null; +} +exports.description = description; +function hasExternalDocs(model) { + return Object.keys(model.json('externalDocs') || {}).length > 0; +} +exports.hasExternalDocs = hasExternalDocs; +function externalDocs(model) { + if (typeof model.json('externalDocs') === 'object') { + return new external_docs_1.ExternalDocs(model.json('externalDocs')); + } + return null; +} +exports.externalDocs = externalDocs; +exports.extensionsMixins = { + hasExtensions(model) { + return !!exports.extensionsMixins.extensionKeys(model).length; + }, + extensions(model) { + const result = {}; + Object.entries(model.json()).forEach(([key, value]) => { + if (constants_1.EXTENSION_REGEX.test(key)) { + result[key] = value; + } + }); + return result; + }, + extensionKeys(model) { + return Object.keys(exports.extensionsMixins.extensions(model)); + }, + extKeys(model) { + return exports.extensionsMixins.extensionKeys(model); + }, + hasExtension(model, extension) { + if (!extension.startsWith('x-')) { + return false; + } + return !!model.json()[extension]; + }, + extension(model, extension) { + if (!extension.startsWith('x-')) { + return null; + } + return model.json()[extension]; + }, + hasExt(model, extension) { + return exports.extensionsMixins.hasExtension(model, extension); + }, + ext(model, extension) { + return exports.extensionsMixins.extension(model, extension); + }, +}; +exports.bindingsMixins = { + hasBindings(model) { + return !!Object.keys(exports.bindingsMixins.bindings(model)).length; + }, + bindings(model) { + return model.json('bindings') || {}; + }, + bindingProtocols(model) { + return Object.keys(exports.bindingsMixins.bindings(model)); + }, + hasBinding(model, name) { + return !!exports.bindingsMixins.binding(model, name); + }, + binding(model, name) { + return getMapValue(model.json('bindings'), name); + }, +}; +exports.tagsMixins = { + hasTags(model) { + return !!exports.tagsMixins.tags(model).length; + }, + tags(model) { + const tags = model.json('tags'); + return tags ? tags.map(t => new tag_1.Tag(t)) : []; + }, + tagNames(model) { + const tags = model.json('tags'); + return tags ? tags.map(t => t.name) : []; + }, + hasTag(model, name) { + return !!exports.tagsMixins.tag(model, name); + }, + tag(model, name) { + const tg = (model.json('tags') || []).find(t => t.name === name); + return tg ? new tag_1.Tag(tg) : null; + }, +}; +function getMapValue(obj, key, Type, meta) { + if (typeof key !== 'string' || !obj) + return null; + const v = obj[String(key)]; + if (v === undefined) + return null; + return Type ? new Type(v, meta) : v; +} +exports.getMapValue = getMapValue; +function createMapOfType(obj, Type, meta) { + const result = {}; + if (!obj) + return result; + Object.entries(obj).forEach(([key, value]) => { + result[key] = new Type(value, meta); + }); + return result; +} +exports.createMapOfType = createMapOfType; diff --git a/apps/parser/cjs/old-api/oauth-flow.d.ts b/apps/parser/cjs/old-api/oauth-flow.d.ts new file mode 100644 index 000000000..0621e5b7e --- /dev/null +++ b/apps/parser/cjs/old-api/oauth-flow.d.ts @@ -0,0 +1,8 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class OAuthFlow extends SpecificationExtensionsModel { + authorizationUrl(): string; + tokenUrl(): string; + refreshUrl(): string | undefined; + scopes(): Record; +} diff --git a/apps/parser/cjs/old-api/oauth-flow.js b/apps/parser/cjs/old-api/oauth-flow.js new file mode 100644 index 000000000..ed8625948 --- /dev/null +++ b/apps/parser/cjs/old-api/oauth-flow.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OAuthFlow = void 0; +const mixins_1 = require("./mixins"); +class OAuthFlow extends mixins_1.SpecificationExtensionsModel { + authorizationUrl() { + return this._json.authorizationUrl; + } + tokenUrl() { + return this._json.tokenUrl; + } + refreshUrl() { + return this._json.refreshUrl; + } + scopes() { + return this._json.scopes; + } +} +exports.OAuthFlow = OAuthFlow; diff --git a/apps/parser/cjs/old-api/operation-trait.d.ts b/apps/parser/cjs/old-api/operation-trait.d.ts new file mode 100644 index 000000000..9e48932d7 --- /dev/null +++ b/apps/parser/cjs/old-api/operation-trait.d.ts @@ -0,0 +1,27 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { SecurityRequirement } from './security-requirement'; +import type { v2 } from '../spec-types'; +export declare class OperationTrait extends SpecificationExtensionsModel { + isPublish(): boolean; + isSubscribe(): boolean; + kind(): "subscribe" | "publish"; + id(): string | undefined; + summary(): string | undefined; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; + security(): SecurityRequirement[] | null; +} diff --git a/apps/parser/cjs/old-api/operation-trait.js b/apps/parser/cjs/old-api/operation-trait.js new file mode 100644 index 000000000..731253693 --- /dev/null +++ b/apps/parser/cjs/old-api/operation-trait.js @@ -0,0 +1,70 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OperationTrait = void 0; +const mixins_1 = require("./mixins"); +const security_requirement_1 = require("./security-requirement"); +class OperationTrait extends mixins_1.SpecificationExtensionsModel { + isPublish() { + return this._meta.kind === 'publish'; + } + isSubscribe() { + return this._meta.kind === 'subscribe'; + } + kind() { + return this._meta.kind; + } + id() { + return this._json.operationId; + } + summary() { + return this._json.summary; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + hasTags() { + return mixins_1.tagsMixins.hasTags(this); + } + tags() { + return mixins_1.tagsMixins.tags(this); + } + tagNames() { + return mixins_1.tagsMixins.tagNames(this); + } + hasTag(name) { + return mixins_1.tagsMixins.hasTag(this, name); + } + tag(name) { + return mixins_1.tagsMixins.tag(this, name); + } + hasBindings() { + return mixins_1.bindingsMixins.hasBindings(this); + } + bindings() { + return mixins_1.bindingsMixins.bindings(this); + } + bindingProtocols() { + return mixins_1.bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return mixins_1.bindingsMixins.hasBinding(this, name); + } + binding(name) { + return mixins_1.bindingsMixins.binding(this, name); + } + security() { + if (!this._json.security) + return null; + return this._json.security.map(sec => new security_requirement_1.SecurityRequirement(sec)); + } +} +exports.OperationTrait = OperationTrait; diff --git a/apps/parser/cjs/old-api/operation.d.ts b/apps/parser/cjs/old-api/operation.d.ts new file mode 100644 index 000000000..057caa8e8 --- /dev/null +++ b/apps/parser/cjs/old-api/operation.d.ts @@ -0,0 +1,10 @@ +import { OperationTrait } from './operation-trait'; +import { Message } from './message'; +import type { v2 } from '../spec-types'; +export declare class Operation extends OperationTrait { + traits(): OperationTrait[]; + hasTraits(): boolean; + hasMultipleMessages(): boolean; + messages(): Message[]; + message(index?: number | string): Message | null; +} diff --git a/apps/parser/cjs/old-api/operation.js b/apps/parser/cjs/old-api/operation.js new file mode 100644 index 000000000..b5f0331bc --- /dev/null +++ b/apps/parser/cjs/old-api/operation.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Operation = void 0; +const operation_trait_1 = require("./operation-trait"); +const message_1 = require("./message"); +class Operation extends operation_trait_1.OperationTrait { + traits() { + const traits = this._json['x-parser-original-traits'] || this._json.traits; + if (!traits) + return []; + return traits.map(t => new operation_trait_1.OperationTrait(t)); + } + hasTraits() { + return !!this._json['x-parser-original-traits'] || !!this._json.traits; + } + hasMultipleMessages() { + const message = this._json.message; + // eslint-disable-next-line sonarjs/prefer-single-boolean-return + if (message && message.oneOf && message.oneOf.length > 1) + return true; + return false; + } + messages() { + const message = this._json.message; + if (!message) + return []; + if (message.oneOf) + return message.oneOf.map(m => new message_1.Message(m)); + return [new message_1.Message(message)]; + } + message(index) { + const message = this._json.message; + if (!message) + return null; + if (message.oneOf && message.oneOf.length === 1) + return new message_1.Message(message.oneOf[0]); + if (!message.oneOf) + return new message_1.Message(message); + if (typeof index !== 'number') + return null; + if (index > message.oneOf.length - 1) + return null; + return new message_1.Message(message.oneOf[+index]); + } +} +exports.Operation = Operation; diff --git a/apps/parser/cjs/old-api/schema.d.ts b/apps/parser/cjs/old-api/schema.d.ts new file mode 100644 index 000000000..d4a2bb039 --- /dev/null +++ b/apps/parser/cjs/old-api/schema.d.ts @@ -0,0 +1,63 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class Schema extends SpecificationExtensionsModel { + uid(): any; + $id(): string | undefined; + multipleOf(): number | undefined; + maximum(): number | undefined; + exclusiveMaximum(): number | undefined; + minimum(): number | undefined; + exclusiveMinimum(): number | undefined; + maxLength(): number | undefined; + minLength(): number | undefined; + pattern(): string | undefined; + maxItems(): number | undefined; + minItems(): number | undefined; + uniqueItems(): boolean | undefined; + maxProperties(): number | undefined; + minProperties(): number | undefined; + required(): string[] | undefined; + enum(): import("json-schema").JSONSchema7Type[] | undefined; + type(): import("json-schema").JSONSchema7TypeName | import("json-schema").JSONSchema7TypeName[] | undefined; + allOf(): Schema[] | null; + oneOf(): Schema[] | null; + anyOf(): Schema[] | null; + not(): Schema | null; + items(): Schema | Schema[] | null; + properties(): Record; + property(name: string): Schema | null; + additionalProperties(): boolean | Schema | undefined; + additionalItems(): Schema | undefined; + patternProperties(): Record; + const(): import("json-schema").JSONSchema7Type | undefined; + contains(): Schema | null; + dependencies(): Record | null; + propertyNames(): Schema | null; + if(): Schema | null; + then(): Schema | null; + else(): Schema | null; + format(): string | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + definitions(): Record; + title(): string | undefined; + default(): import("json-schema").JSONSchema7Type | undefined; + deprecated(): boolean | undefined; + discriminator(): string | undefined; + readOnly(): boolean | undefined; + writeOnly(): boolean | undefined; + examples(): import("json-schema").JSONSchema7Type[] | undefined; + isBooleanSchema(): boolean; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + isCircular(): boolean; + circularSchema(): Schema | undefined; + hasCircularProps(): boolean; + circularProps(): any; + protected __get(key: K): v2.AsyncAPISchemaDefinition[K] | undefined; + protected __createChild(s: v2.AsyncAPISchemaObject): Schema; +} diff --git a/apps/parser/cjs/old-api/schema.js b/apps/parser/cjs/old-api/schema.js new file mode 100644 index 000000000..4353de374 --- /dev/null +++ b/apps/parser/cjs/old-api/schema.js @@ -0,0 +1,242 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Schema = void 0; +const mixins_1 = require("./mixins"); +const constants_1 = require("../constants"); +class Schema extends mixins_1.SpecificationExtensionsModel { + uid() { + return this.$id() || this.ext('x-parser-schema-id'); + } + $id() { + return this.__get('$id'); + } + multipleOf() { + return this.__get('multipleOf'); + } + maximum() { + return this.__get('maximum'); + } + exclusiveMaximum() { + return this.__get('exclusiveMaximum'); + } + minimum() { + return this.__get('minimum'); + } + exclusiveMinimum() { + return this.__get('exclusiveMinimum'); + } + maxLength() { + return this.__get('maxLength'); + } + minLength() { + return this.__get('minLength'); + } + pattern() { + return this.__get('pattern'); + } + maxItems() { + return this.__get('maxItems'); + } + minItems() { + return this.__get('minItems'); + } + uniqueItems() { + return this.__get('uniqueItems'); + } + maxProperties() { + return this.__get('maxProperties'); + } + minProperties() { + return this.__get('minProperties'); + } + required() { + return this.__get('required'); + } + enum() { + return this.__get('enum'); + } + type() { + return this.__get('type'); + } + allOf() { + const allOf = this.__get('allOf'); + return !allOf ? null : allOf.map(this.__createChild); + } + oneOf() { + const oneOf = this.__get('oneOf'); + return !oneOf ? null : oneOf.map(this.__createChild); + } + anyOf() { + const anyOf = this.__get('anyOf'); + return !anyOf ? null : anyOf.map(this.__createChild); + } + not() { + const not = this.__get('not'); + return !not ? null : this.__createChild(not); + } + items() { + const items = this.__get('items'); + if (!items) + return null; + if (Array.isArray(items)) { + return items.map(this.__createChild); + } + return this.__createChild(items); + } + properties() { + return (0, mixins_1.createMapOfType)(this.__get('properties'), Schema, { parent: this }); + } + property(name) { + return (0, mixins_1.getMapValue)(this.__get('properties'), name, Schema, { parent: this }); + } + additionalProperties() { + const additionalProperties = this.__get('additionalProperties'); + if (typeof additionalProperties === 'boolean') + return additionalProperties; + if (additionalProperties === undefined || additionalProperties === null) + return; + return this.__createChild(additionalProperties); + } + additionalItems() { + const additionalItems = this.__get('additionalItems'); + if (additionalItems === undefined || additionalItems === null) + return; + return this.__createChild(additionalItems); + } + patternProperties() { + return (0, mixins_1.createMapOfType)(this.__get('patternProperties'), Schema, { parent: this }); + } + const() { + return this.__get('const'); + } + contains() { + const contains = this.__get('contains'); + return typeof contains === 'undefined' ? null : this.__createChild(contains); + } + dependencies() { + const dependencies = this.__get('dependencies'); + if (!dependencies) + return null; + const result = {}; + Object.entries(dependencies).forEach(([key, value]) => { + result[key] = !Array.isArray(value) ? this.__createChild(value) : value; + }); + return result; + } + propertyNames() { + const propertyNames = this.__get('propertyNames'); + return typeof propertyNames === 'undefined' ? null : this.__createChild(propertyNames); + } + if() { + const _if = this.__get('if'); + return typeof _if === 'undefined' ? null : this.__createChild(_if); + } + then() { + const _then = this.__get('then'); + return typeof _then === 'undefined' ? null : this.__createChild(_then); + } + else() { + const _else = this.__get('else'); + return typeof _else === 'undefined' ? null : this.__createChild(_else); + } + format() { + return this.__get('format'); + } + contentEncoding() { + return this.__get('contentEncoding'); + } + contentMediaType() { + return this.__get('contentMediaType'); + } + definitions() { + return (0, mixins_1.createMapOfType)(this.__get('definitions'), Schema, { parent: this }); + } + title() { + return this.__get('title'); + } + default() { + return this.__get('default'); + } + deprecated() { + return this.__get('deprecated'); + } + discriminator() { + return this.__get('discriminator'); + } + readOnly() { + return this.__get('readOnly'); + } + writeOnly() { + return this.__get('writeOnly'); + } + examples() { + return this.__get('examples'); + } + isBooleanSchema() { + return typeof this._json === 'boolean'; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + isCircular() { + if (this.ext(constants_1.xParserCircular)) { + return true; + } + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._json) + return true; + parent = parent._meta && parent._meta.parent; + } + return false; + } + circularSchema() { + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._json) + return parent; + parent = parent._meta && parent._meta.parent; + } + } + hasCircularProps() { + if (Array.isArray(this.ext(constants_1.xParserCircularProps))) { + return this.ext(constants_1.xParserCircularProps).length > 0; + } + return Object.entries(this.properties() || {}) + .map(([propertyName, property]) => { + if (property.isCircular()) + return propertyName; + }) + .filter(Boolean) + .length > 0; + } + circularProps() { + if (Array.isArray(this.ext(constants_1.xParserCircularProps))) { + return this.ext(constants_1.xParserCircularProps); + } + return Object.entries(this.properties() || {}) + .map(([propertyName, property]) => { + if (property.isCircular()) + return propertyName; + }) + .filter(Boolean); + } + __get(key) { + if (typeof this._json === 'boolean') + return; + return this._json[key]; + } + __createChild(s) { + return new Schema(s, { parent: this }); + } +} +exports.Schema = Schema; diff --git a/apps/parser/cjs/old-api/security-requirement.d.ts b/apps/parser/cjs/old-api/security-requirement.d.ts new file mode 100644 index 000000000..034e0c317 --- /dev/null +++ b/apps/parser/cjs/old-api/security-requirement.d.ts @@ -0,0 +1,4 @@ +import { Base } from './base'; +import type { v2 } from '../spec-types'; +export declare class SecurityRequirement extends Base { +} diff --git a/apps/parser/cjs/old-api/security-requirement.js b/apps/parser/cjs/old-api/security-requirement.js new file mode 100644 index 000000000..032888ba1 --- /dev/null +++ b/apps/parser/cjs/old-api/security-requirement.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityRequirement = void 0; +const base_1 = require("./base"); +class SecurityRequirement extends base_1.Base { +} +exports.SecurityRequirement = SecurityRequirement; diff --git a/apps/parser/cjs/old-api/security-scheme.d.ts b/apps/parser/cjs/old-api/security-scheme.d.ts new file mode 100644 index 000000000..bde080425 --- /dev/null +++ b/apps/parser/cjs/old-api/security-scheme.d.ts @@ -0,0 +1,14 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { OAuthFlow } from './oauth-flow'; +import type { v2 } from '../spec-types'; +export declare class SecurityScheme extends SpecificationExtensionsModel { + type(): v2.SecuritySchemeType; + description(): string | null; + hasDescription(): boolean; + name(): string | undefined; + in(): "user" | "password" | "query" | "header" | "cookie" | undefined; + scheme(): string | undefined; + bearerFormat(): string | undefined; + openIdConnectUrl(): string | undefined; + flows(): Record; +} diff --git a/apps/parser/cjs/old-api/security-scheme.js b/apps/parser/cjs/old-api/security-scheme.js new file mode 100644 index 000000000..66e8b32a5 --- /dev/null +++ b/apps/parser/cjs/old-api/security-scheme.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SecurityScheme = void 0; +const mixins_1 = require("./mixins"); +const oauth_flow_1 = require("./oauth-flow"); +class SecurityScheme extends mixins_1.SpecificationExtensionsModel { + type() { + return this._json.type; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + name() { + return this._json.name; + } + in() { + return this._json.in; + } + scheme() { + return this._json.scheme; + } + bearerFormat() { + return this._json.bearerFormat; + } + openIdConnectUrl() { + return this._json.openIdConnectUrl; + } + flows() { + return (0, mixins_1.createMapOfType)(this._json.flows, oauth_flow_1.OAuthFlow); + } +} +exports.SecurityScheme = SecurityScheme; diff --git a/apps/parser/cjs/old-api/server-variable.d.ts b/apps/parser/cjs/old-api/server-variable.d.ts new file mode 100644 index 000000000..ed17f1d6f --- /dev/null +++ b/apps/parser/cjs/old-api/server-variable.d.ts @@ -0,0 +1,12 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class ServerVariable extends SpecificationExtensionsModel { + allowedValues(): string[] | undefined; + allows(name: string): boolean; + hasAllowedValues(): boolean; + description(): string | null; + hasDescription(): boolean; + defaultValue(): string | undefined; + hasDefaultValue(): boolean; + examples(): string[] | undefined; +} diff --git a/apps/parser/cjs/old-api/server-variable.js b/apps/parser/cjs/old-api/server-variable.js new file mode 100644 index 000000000..ecb9971ba --- /dev/null +++ b/apps/parser/cjs/old-api/server-variable.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServerVariable = void 0; +const mixins_1 = require("./mixins"); +class ServerVariable extends mixins_1.SpecificationExtensionsModel { + allowedValues() { + return this._json.enum; + } + allows(name) { + if (this._json.enum === undefined) + return true; + return this._json.enum.includes(name); + } + hasAllowedValues() { + return this._json.enum !== undefined; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + defaultValue() { + return this._json.default; + } + hasDefaultValue() { + return this._json.default !== undefined; + } + examples() { + return this._json.examples; + } +} +exports.ServerVariable = ServerVariable; diff --git a/apps/parser/cjs/old-api/server.d.ts b/apps/parser/cjs/old-api/server.d.ts new file mode 100644 index 000000000..e4a46cd23 --- /dev/null +++ b/apps/parser/cjs/old-api/server.d.ts @@ -0,0 +1,25 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { ServerVariable } from './server-variable'; +import { SecurityRequirement } from './security-requirement'; +import type { v2 } from '../spec-types'; +export declare class Server extends SpecificationExtensionsModel { + url(): string; + protocol(): string; + protocolVersion(): string | undefined; + description(): string | null; + hasDescription(): boolean; + variables(): Record; + variable(name: string): ServerVariable | null; + hasVariables(): boolean; + security(): SecurityRequirement[] | null; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; +} diff --git a/apps/parser/cjs/old-api/server.js b/apps/parser/cjs/old-api/server.js new file mode 100644 index 000000000..7cd286bdd --- /dev/null +++ b/apps/parser/cjs/old-api/server.js @@ -0,0 +1,68 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Server = void 0; +const mixins_1 = require("./mixins"); +const server_variable_1 = require("./server-variable"); +const security_requirement_1 = require("./security-requirement"); +class Server extends mixins_1.SpecificationExtensionsModel { + url() { + return this._json.url; + } + protocol() { + return this._json.protocol; + } + protocolVersion() { + return this._json.protocolVersion; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + variables() { + return (0, mixins_1.createMapOfType)(this._json.variables, server_variable_1.ServerVariable); + } + variable(name) { + return (0, mixins_1.getMapValue)(this._json.variables, name, server_variable_1.ServerVariable); + } + hasVariables() { + return !!this._json.variables; + } + security() { + if (!this._json.security) + return null; + return this._json.security.map(sec => new security_requirement_1.SecurityRequirement(sec)); + } + hasBindings() { + return mixins_1.bindingsMixins.hasBindings(this); + } + bindings() { + return mixins_1.bindingsMixins.bindings(this); + } + bindingProtocols() { + return mixins_1.bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return mixins_1.bindingsMixins.hasBinding(this, name); + } + binding(name) { + return mixins_1.bindingsMixins.binding(this, name); + } + hasTags() { + return mixins_1.tagsMixins.hasTags(this); + } + tags() { + return mixins_1.tagsMixins.tags(this); + } + tagNames() { + return mixins_1.tagsMixins.tagNames(this); + } + hasTag(name) { + return mixins_1.tagsMixins.hasTag(this, name); + } + tag(name) { + return mixins_1.tagsMixins.tag(this, name); + } +} +exports.Server = Server; diff --git a/apps/parser/cjs/old-api/tag.d.ts b/apps/parser/cjs/old-api/tag.d.ts new file mode 100644 index 000000000..f895f29e7 --- /dev/null +++ b/apps/parser/cjs/old-api/tag.d.ts @@ -0,0 +1,17 @@ +import { Base } from './base'; +import type { v2 } from '../spec-types'; +export declare class Tag extends Base { + name(): string; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasExtensions(): boolean; + extensions(): v2.SpecificationExtensions; + extensionKeys(): string[]; + extKeys(): string[]; + hasExtension(extension: string): boolean; + extension(extension: string): v2.SpecificationExtension; + hasExt(extension: string): boolean; + ext(extension: string): any; +} diff --git a/apps/parser/cjs/old-api/tag.js b/apps/parser/cjs/old-api/tag.js new file mode 100644 index 000000000..265b22580 --- /dev/null +++ b/apps/parser/cjs/old-api/tag.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tag = void 0; +const base_1 = require("./base"); +const mixins_1 = require("./mixins"); +class Tag extends base_1.Base { + name() { + return this._json.name; + } + description() { + return (0, mixins_1.description)(this); + } + hasDescription() { + return (0, mixins_1.hasDescription)(this); + } + externalDocs() { + return (0, mixins_1.externalDocs)(this); + } + hasExternalDocs() { + return (0, mixins_1.hasExternalDocs)(this); + } + hasExtensions() { + return mixins_1.extensionsMixins.hasExtensions(this); + } + extensions() { + return mixins_1.extensionsMixins.extensions(this); + } + extensionKeys() { + return mixins_1.extensionsMixins.extensionKeys(this); + } + extKeys() { + return mixins_1.extensionsMixins.extKeys(this); + } + hasExtension(extension) { + return mixins_1.extensionsMixins.hasExtension(this, extension); + } + extension(extension) { + return mixins_1.extensionsMixins.extension(this, extension); + } + hasExt(extension) { + return mixins_1.extensionsMixins.hasExt(this, extension); + } + ext(extension) { + return mixins_1.extensionsMixins.ext(this, extension); + } +} +exports.Tag = Tag; diff --git a/apps/parser/cjs/parse.d.ts b/apps/parser/cjs/parse.d.ts new file mode 100644 index 000000000..53a8e0501 --- /dev/null +++ b/apps/parser/cjs/parse.d.ts @@ -0,0 +1,23 @@ +import { AsyncAPIDocumentInterface } from './models'; +import type { Spectral, Document } from '@stoplight/spectral-core'; +import type { Parser } from './parser'; +import type { ResolverOptions } from './resolver'; +import type { ValidateOptions } from './validate'; +import type { Input, Diagnostic } from './types'; +export interface ParseOutput { + document: AsyncAPIDocumentInterface | undefined; + diagnostics: Diagnostic[]; + extras?: { + document: Document; + }; +} +export interface ParseOptions { + source?: string; + applyTraits?: boolean; + parseSchemas?: boolean; + validateOptions?: Omit; + __unstable?: { + resolver?: Omit; + }; +} +export declare function parse(parser: Parser, spectral: Spectral, asyncapi: Input, options?: ParseOptions): Promise; diff --git a/apps/parser/cjs/parse.js b/apps/parser/cjs/parse.js new file mode 100644 index 000000000..9f8a62691 --- /dev/null +++ b/apps/parser/cjs/parse.js @@ -0,0 +1,78 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parse = void 0; +const models_1 = require("./models"); +const custom_operations_1 = require("./custom-operations"); +const validate_1 = require("./validate"); +const stringify_1 = require("./stringify"); +const document_1 = require("./document"); +const utils_1 = require("./utils"); +const constants_1 = require("./constants"); +const defaultOptions = { + applyTraits: true, + parseSchemas: true, + validateOptions: {}, + __unstable: {}, +}; +const js_yaml_1 = __importDefault(require("js-yaml")); +function parse(parser, spectral, asyncapi, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + let spectralDocument; + try { + options = (0, utils_1.mergePatch)(defaultOptions, options); + // Normalize input to always be JSON + let loadedObj; + if (typeof asyncapi === 'string') { + try { + loadedObj = js_yaml_1.default.load(asyncapi); + } + catch (e) { + loadedObj = JSON.parse(asyncapi); + } + } + else { + loadedObj = asyncapi; + } + const { validated, diagnostics, extras } = yield (0, validate_1.validate)(parser, spectral, loadedObj, Object.assign(Object.assign({}, options.validateOptions), { source: options.source, __unstable: options.__unstable })); + if (validated === undefined) { + return { + document: undefined, + diagnostics, + extras + }; + } + spectralDocument = extras.document; + const inventory = spectralDocument.__documentInventory; + // unfreeze the object - Spectral makes resolved document "freezed" + const validatedDoc = (0, stringify_1.copy)(validated); + // Apply unique ids which are used as part of iterating between channels <-> operations <-> messages + (0, custom_operations_1.applyUniqueIds)(validatedDoc); + const detailed = (0, utils_1.createDetailedAsyncAPI)(validatedDoc, loadedObj, options.source); + const document = (0, document_1.createAsyncAPIDocument)(detailed); + (0, utils_1.setExtension)(constants_1.xParserSpecParsed, true, document); + (0, utils_1.setExtension)(constants_1.xParserApiVersion, models_1.ParserAPIVersion, document); + yield (0, custom_operations_1.customOperations)(parser, document, detailed, inventory, options); + return { + document, + diagnostics, + extras, + }; + } + catch (err) { + return { document: undefined, diagnostics: (0, utils_1.createUncaghtDiagnostic)(err, 'Error thrown during AsyncAPI document parsing', spectralDocument), extras: undefined }; + } + }); +} +exports.parse = parse; diff --git a/apps/parser/cjs/parser.d.ts b/apps/parser/cjs/parser.d.ts new file mode 100644 index 000000000..a7ad7019d --- /dev/null +++ b/apps/parser/cjs/parser.d.ts @@ -0,0 +1,23 @@ +import type { Spectral } from '@stoplight/spectral-core'; +import type { ParseOptions, ParseOutput } from './parse'; +import type { ValidateOptions } from './validate'; +import type { ResolverOptions } from './resolver'; +import type { RulesetOptions } from './ruleset'; +import type { SchemaParser } from './schema-parser'; +import type { Diagnostic, Input } from './types'; +export interface ParserOptions { + ruleset?: RulesetOptions; + schemaParsers?: Array; + __unstable?: { + resolver?: ResolverOptions; + }; +} +export declare class Parser { + private readonly options; + readonly parserRegistry: Map>; + protected readonly spectral: Spectral; + constructor(options?: ParserOptions); + parse(asyncapi: Input, options?: ParseOptions): Promise; + validate(asyncapi: Input, options?: ValidateOptions): Promise; + registerSchemaParser(parser: SchemaParser): void; +} diff --git a/apps/parser/cjs/parser.js b/apps/parser/cjs/parser.js new file mode 100644 index 000000000..603bbe51e --- /dev/null +++ b/apps/parser/cjs/parser.js @@ -0,0 +1,53 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Parser = void 0; +const document_1 = require("./document"); +const parse_1 = require("./parse"); +const validate_1 = require("./validate"); +const schema_parser_1 = require("./schema-parser"); +const asyncapi_schema_parser_1 = require("./schema-parser/asyncapi-schema-parser"); +const spectral_1 = require("./spectral"); +class Parser { + constructor(options = {}) { + var _a; + this.options = options; + this.parserRegistry = new Map(); + this.spectral = (0, spectral_1.createSpectral)(this, options); + this.registerSchemaParser((0, asyncapi_schema_parser_1.AsyncAPISchemaParser)()); + (_a = this.options.schemaParsers) === null || _a === void 0 ? void 0 : _a.forEach(parser => this.registerSchemaParser(parser)); + } + parse(asyncapi, options) { + return __awaiter(this, void 0, void 0, function* () { + const maybeDocument = (0, document_1.toAsyncAPIDocument)(asyncapi); + if (maybeDocument) { + return { + document: maybeDocument, + diagnostics: [], + }; + } + return (0, parse_1.parse)(this, this.spectral, asyncapi, options); + }); + } + validate(asyncapi, options) { + return __awaiter(this, void 0, void 0, function* () { + const maybeDocument = (0, document_1.toAsyncAPIDocument)(asyncapi); + if (maybeDocument) { + return []; + } + return (yield (0, validate_1.validate)(this, this.spectral, asyncapi, options)).diagnostics; + }); + } + registerSchemaParser(parser) { + return (0, schema_parser_1.registerSchemaParser)(this, parser); + } +} +exports.Parser = Parser; diff --git a/apps/parser/cjs/resolver.d.ts b/apps/parser/cjs/resolver.d.ts new file mode 100644 index 000000000..90d4232bc --- /dev/null +++ b/apps/parser/cjs/resolver.d.ts @@ -0,0 +1,13 @@ +import { Resolver as SpectralResolver } from '@stoplight/spectral-ref-resolver'; +import type Uri from 'urijs'; +export interface Resolver { + schema: 'file' | 'http' | 'https' | string; + order?: number; + canRead?: boolean | ((uri: Uri, ctx?: any) => boolean); + read: (uri: Uri, ctx?: any) => string | undefined | Promise; +} +export interface ResolverOptions { + cache?: boolean; + resolvers?: Array; +} +export declare function createResolver(options?: ResolverOptions): SpectralResolver; diff --git a/apps/parser/cjs/resolver.js b/apps/parser/cjs/resolver.js new file mode 100644 index 000000000..d54a97966 --- /dev/null +++ b/apps/parser/cjs/resolver.js @@ -0,0 +1,77 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createResolver = void 0; +const spectral_ref_resolver_1 = require("@stoplight/spectral-ref-resolver"); +const cache_1 = require("@stoplight/json-ref-resolver/cache"); +const json_ref_readers_1 = require("@stoplight/json-ref-readers"); +function createResolver(options = {}) { + const availableResolvers = [ + ...createDefaultResolvers(), + ...(options.resolvers || []) + ].map(r => (Object.assign(Object.assign({}, r), { order: r.order || Number.MAX_SAFE_INTEGER, canRead: typeof r.canRead === 'undefined' ? true : r.canRead }))); + const availableSchemas = [...new Set(availableResolvers.map(r => r.schema))]; + const resolvers = availableSchemas.reduce((acc, schema) => { + acc[schema] = { resolve: createSchemaResolver(schema, availableResolvers) }; + return acc; + }, {}); + // if cache is enabled, use default Cache instance in SpectralResolver, otherwise use custom one with ttl set to 1ms + const cache = options.cache !== false; + return new spectral_ref_resolver_1.Resolver({ + uriCache: cache ? undefined : new cache_1.Cache({ stdTTL: 1 }), + resolvers: resolvers, + }); +} +exports.createResolver = createResolver; +function createDefaultResolvers() { + return [ + { + schema: 'file', + read: json_ref_readers_1.resolveFile, + }, + { + schema: 'https', + read: json_ref_readers_1.resolveHttp, + }, + { + schema: 'http', + read: json_ref_readers_1.resolveHttp, + }, + ]; +} +function createSchemaResolver(schema, allResolvers) { + const resolvers = allResolvers.filter(r => r.schema === schema).sort((a, b) => { return a.order - b.order; }); + return (uri, ctx) => __awaiter(this, void 0, void 0, function* () { + let result = undefined; + let lastError; + for (const resolver of resolvers) { + try { + if (!canRead(resolver, uri, ctx)) + continue; + result = yield resolver.read(uri, ctx); + if (typeof result === 'string') { + break; + } + } + catch (e) { + lastError = e; + continue; + } + } + if (typeof result !== 'string') { + throw lastError || new Error(`None of the available resolvers for "${schema}" can resolve the given reference.`); + } + return result; + }); +} +function canRead(resolver, uri, ctx) { + return typeof resolver.canRead === 'function' ? resolver.canRead(uri, ctx) : resolver.canRead; +} diff --git a/apps/parser/cjs/ruleset/formats.d.ts b/apps/parser/cjs/ruleset/formats.d.ts new file mode 100644 index 000000000..2160cffb7 --- /dev/null +++ b/apps/parser/cjs/ruleset/formats.d.ts @@ -0,0 +1,8 @@ +import type { Format } from '@stoplight/spectral-core'; +export declare class Formats extends Map { + filterByMajorVersions(majorsToInclude: string[]): Formats; + excludeByVersions(versionsToExclude: string[]): Formats; + find(version: string): Format | undefined; + formats(): Format[]; +} +export declare const AsyncAPIFormats: Formats; diff --git a/apps/parser/cjs/ruleset/formats.js b/apps/parser/cjs/ruleset/formats.js new file mode 100644 index 000000000..ecf9c21b1 --- /dev/null +++ b/apps/parser/cjs/ruleset/formats.js @@ -0,0 +1,45 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AsyncAPIFormats = exports.Formats = void 0; +const utils_1 = require("../utils"); +const specs_1 = require("@asyncapi/specs"); +class Formats extends Map { + filterByMajorVersions(majorsToInclude) { + return new Formats([...this.entries()].filter(element => { return majorsToInclude.includes(element[0].split('.')[0]); })); + } + excludeByVersions(versionsToExclude) { + return new Formats([...this.entries()].filter(element => { return !versionsToExclude.includes(element[0]); })); + } + find(version) { + return this.get(formatVersion(version)); + } + formats() { + return [...this.values()]; + } +} +exports.Formats = Formats; +exports.AsyncAPIFormats = new Formats(Object.entries(specs_1.schemas).reverse().map(([version]) => [version, createFormat(version)])); // reverse is used for giving newer versions a higher priority when matching +function isAsyncAPIVersion(versionToMatch, document) { + const asyncAPIDoc = document; + if (!asyncAPIDoc) + return false; + const documentVersion = String(asyncAPIDoc.asyncapi); + return (0, utils_1.isObject)(document) && 'asyncapi' in document + && assertValidAsyncAPIVersion(documentVersion) + && versionToMatch === formatVersion(documentVersion); +} +function assertValidAsyncAPIVersion(documentVersion) { + const semver = (0, utils_1.getSemver)(documentVersion); + const regexp = new RegExp(`^(${semver.major})\\.(${semver.minor})\\.(0|[1-9][0-9]*)$`); // eslint-disable-line security/detect-non-literal-regexp + return regexp.test(documentVersion); +} +function createFormat(version) { + const format = (document) => isAsyncAPIVersion(version, document); + const semver = (0, utils_1.getSemver)(version); + format.displayName = `AsyncAPI ${semver.major}.${semver.minor}.x`; + return format; +} +const formatVersion = function (version) { + const versionSemver = (0, utils_1.getSemver)(version); + return `${versionSemver.major}.${versionSemver.minor}.0`; +}; diff --git a/apps/parser/cjs/ruleset/functions/documentStructure.d.ts b/apps/parser/cjs/ruleset/functions/documentStructure.d.ts new file mode 100644 index 000000000..95f97ca19 --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/documentStructure.d.ts @@ -0,0 +1,5 @@ +import type { Format } from '@stoplight/spectral-core'; +export declare function getSchema(docFormats: Set, resolved: boolean): Record | void; +export declare const documentStructure: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/functions/documentStructure.js b/apps/parser/cjs/ruleset/functions/documentStructure.js new file mode 100644 index 000000000..40c35ea99 --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/documentStructure.js @@ -0,0 +1,133 @@ +"use strict"; +/* eslint-disable sonarjs/no-duplicate-string */ +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.documentStructure = exports.getSchema = void 0; +const specs_1 = __importDefault(require("@asyncapi/specs")); +const spectral_core_1 = require("@stoplight/spectral-core"); +const spectral_functions_1 = require("@stoplight/spectral-functions"); +const formats_1 = require("../formats"); +const utils_1 = require("../../utils"); +function shouldIgnoreError(error) { + return ( + // oneOf is a fairly error as we have 2 options to choose from for most of the time. + error.keyword === 'oneOf' || + // the required $ref is entirely useless, since aas-schema rules operate on resolved content, so there won't be any $refs in the document + (error.keyword === 'required' && error.params.missingProperty === '$ref')); +} +// ajv throws a lot of errors that have no understandable context, e.g. errors related to the fact that a value doesn't meet the conditions of some sub-schema in `oneOf`, `anyOf` etc. +// for this reason, we filter these unnecessary errors and leave only the most important ones (usually the first occurring in the list of errors). +function prepareResults(errors) { + // Update additionalProperties errors to make them more precise and prevent them from being treated as duplicates + for (let i = 0; i < errors.length; i++) { + const error = errors[i]; + if (error.keyword === 'additionalProperties') { + error.instancePath = `${error.instancePath}/${String(error.params['additionalProperty'])}`; + } + else if (error.keyword === 'required' && error.params.missingProperty === '$ref') { + errors.splice(i, 1); + i--; + } + } + for (let i = 0; i < errors.length; i++) { + const error = errors[i]; + if (i + 1 < errors.length && errors[i + 1].instancePath === error.instancePath) { + errors.splice(i + 1, 1); + i--; + } + else if (i > 0 && shouldIgnoreError(error) && errors[i - 1].instancePath.startsWith(error.instancePath)) { + errors.splice(i, 1); + i--; + } + } +} +// this is needed because some v3 object fields are expected to be only `$ref` to other objects. +// In order to validate resolved references, we modify those schemas and instead allow the definition of the object +function prepareV3ResolvedSchema(copied) { + // channel object + const channelObject = copied.definitions['http://asyncapi.com/definitions/3.0.0/channel.json']; + channelObject.properties.servers.items.$ref = 'http://asyncapi.com/definitions/3.0.0/server.json'; + // operation object + const operationSchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operation.json']; + operationSchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; + operationSchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; + // operation reply object + const operationReplySchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operationReply.json']; + operationReplySchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; + operationReplySchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; + return copied; +} +function getCopyOfSchema(version) { + return JSON.parse(JSON.stringify(specs_1.default.schemas[version])); +} +const serializedSchemas = new Map(); +function getSerializedSchema(version, resolved) { + const serializedSchemaKey = resolved ? `${version}-resolved` : `${version}-unresolved`; + const schema = serializedSchemas.get(serializedSchemaKey); + if (schema) { + return schema; + } + // Copy to not operate on the original json schema - between imports (in different modules) we operate on this same schema. + let copied = getCopyOfSchema(version); + // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. + delete copied.definitions['http://json-schema.org/draft-07/schema']; + delete copied.definitions['http://json-schema.org/draft-04/schema']; + // Spectral caches the schemas using '$id' property + copied['$id'] = copied['$id'].replace('asyncapi.json', `asyncapi-${resolved ? 'resolved' : 'unresolved'}.json`); + const { major } = (0, utils_1.getSemver)(version); + if (resolved && major === 3) { + copied = prepareV3ResolvedSchema(copied); + } + serializedSchemas.set(serializedSchemaKey, copied); + return copied; +} +const refErrorMessage = 'Property "$ref" is not expected to be here'; +function filterRefErrors(errors, resolved) { + if (resolved) { + return errors.filter(err => err.message !== refErrorMessage); + } + return errors + .filter(err => err.message === refErrorMessage) + .map(err => { + err.message = 'Referencing in this place is not allowed'; + return err; + }); +} +function getSchema(docFormats, resolved) { + for (const [version, format] of formats_1.AsyncAPIFormats) { + if (docFormats.has(format)) { + return getSerializedSchema(version, resolved); + } + } +} +exports.getSchema = getSchema; +exports.documentStructure = (0, spectral_core_1.createRulesetFunction)({ + input: null, + options: { + type: 'object', + properties: { + resolved: { + type: 'boolean', + }, + }, + required: ['resolved'], + }, +}, (targetVal, options, context) => { + var _a; + const formats = (_a = context.document) === null || _a === void 0 ? void 0 : _a.formats; + if (!formats) { + return; + } + const resolved = options.resolved; + const schema = getSchema(formats, resolved); + if (!schema) { + return; + } + const errors = (0, spectral_functions_1.schema)(targetVal, { allErrors: true, schema, prepareResults: resolved ? prepareResults : undefined }, context); + if (!Array.isArray(errors)) { + return; + } + return filterRefErrors(errors, resolved); +}); diff --git a/apps/parser/cjs/ruleset/functions/internal.d.ts b/apps/parser/cjs/ruleset/functions/internal.d.ts new file mode 100644 index 000000000..63f1be3d8 --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/internal.d.ts @@ -0,0 +1 @@ +export declare const internal: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/functions/internal.js b/apps/parser/cjs/ruleset/functions/internal.js new file mode 100644 index 000000000..a3bd8decc --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/internal.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.internal = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +exports.internal = (0, spectral_core_1.createRulesetFunction)({ + input: null, + options: null, +}, (_, __, { document, documentInventory }) => { + // adding document inventory in document - we need it in custom operations to resolve all circular refs + document.__documentInventory = documentInventory; +}); diff --git a/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts b/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts new file mode 100644 index 000000000..df5362db6 --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts @@ -0,0 +1,2 @@ +import { MaybeAsyncAPI } from '../../types'; +export declare const isAsyncAPIDocument: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js b/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js new file mode 100644 index 000000000..b2ac39480 --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isAsyncAPIDocument = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const constants_1 = require("../../constants"); +const utils_1 = require("../../utils"); +exports.isAsyncAPIDocument = (0, spectral_core_1.createRulesetFunction)({ + input: null, + options: null, +}, (targetVal) => { + if (!(0, utils_1.isObject)(targetVal) || typeof targetVal.asyncapi !== 'string') { + return [ + { + message: 'This is not an AsyncAPI document. The "asyncapi" field as string is missing.', + path: [], + } + ]; + } + if (!constants_1.specVersions.includes(targetVal.asyncapi)) { + return [ + { + message: `Version "${targetVal.asyncapi}" is not supported. Please use "${constants_1.lastVersion}" (latest) version of the specification.`, + path: [], + } + ]; + } +}); diff --git a/apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts b/apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts new file mode 100644 index 000000000..0996c4c1c --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts @@ -0,0 +1,5 @@ +type Tags = Array<{ + name: string; +}>; +export declare const uniquenessTags: import("@stoplight/spectral-core").RulesetFunctionWithValidator; +export {}; diff --git a/apps/parser/cjs/ruleset/functions/uniquenessTags.js b/apps/parser/cjs/ruleset/functions/uniquenessTags.js new file mode 100644 index 000000000..983dee18b --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/uniquenessTags.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.uniquenessTags = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +function getDuplicateTagsIndexes(tags) { + return tags + .map(item => item.name) + .reduce((acc, item, i, arr) => { + if (arr.indexOf(item) !== i) { + acc.push(i); + } + return acc; + }, []); +} +exports.uniquenessTags = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'array', + items: { + type: 'object', + properties: { + name: { + type: 'string', + }, + }, + required: ['name'], + }, + }, + options: null, +}, (targetVal, _, ctx) => { + const duplicatedTags = getDuplicateTagsIndexes(targetVal); + if (duplicatedTags.length === 0) { + return []; + } + const results = []; + for (const duplicatedIndex of duplicatedTags) { + const duplicatedTag = targetVal[duplicatedIndex].name; + results.push({ + message: `"tags" object contains duplicate tag name "${duplicatedTag}".`, + path: [...ctx.path, duplicatedIndex, 'name'], + }); + } + return results; +}); diff --git a/apps/parser/cjs/ruleset/functions/unusedComponent.d.ts b/apps/parser/cjs/ruleset/functions/unusedComponent.d.ts new file mode 100644 index 000000000..bad14d8a9 --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/unusedComponent.d.ts @@ -0,0 +1,3 @@ +export declare const unusedComponent: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + components: Record; +}, null>; diff --git a/apps/parser/cjs/ruleset/functions/unusedComponent.js b/apps/parser/cjs/ruleset/functions/unusedComponent.js new file mode 100644 index 000000000..43f830648 --- /dev/null +++ b/apps/parser/cjs/ruleset/functions/unusedComponent.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.unusedComponent = void 0; +const spectral_functions_1 = require("@stoplight/spectral-functions"); +const spectral_core_1 = require("@stoplight/spectral-core"); +const utils_1 = require("../../utils"); +exports.unusedComponent = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + components: { + type: 'object', + }, + }, + required: ['components'], + }, + options: null, +}, (targetVal, _, context) => { + const components = targetVal.components; + const results = []; + Object.keys(components).forEach(componentType => { + // if component type is `securitySchemes` we skip the validation + // security schemes in >=2.x.x are referenced by keys, not by object ref - for this case we have a separate `asyncapi2-unused-securityScheme` rule + if (componentType === 'securitySchemes') { + return; + } + const value = components[componentType]; + if (!(0, utils_1.isObject)(value)) { + return; + } + const resultsForType = (0, spectral_functions_1.unreferencedReusableObject)(value, { reusableObjectsLocation: `#/components/${componentType}` }, context); + if (resultsForType && Array.isArray(resultsForType)) { + results.push(...resultsForType); + } + }); + return results; +}); diff --git a/apps/parser/cjs/ruleset/index.d.ts b/apps/parser/cjs/ruleset/index.d.ts new file mode 100644 index 000000000..2897d6f86 --- /dev/null +++ b/apps/parser/cjs/ruleset/index.d.ts @@ -0,0 +1,10 @@ +import type { Parser } from '../parser'; +import type { RulesetDefinition } from '@stoplight/spectral-core'; +export type RulesetOptions = RulesetDefinition & { + core?: boolean; + recommended?: boolean; +} | RulesetDefinition | { + core?: boolean; + recommended?: boolean; +}; +export declare function createRuleset(parser: Parser, options?: RulesetOptions): RulesetDefinition; diff --git a/apps/parser/cjs/ruleset/index.js b/apps/parser/cjs/ruleset/index.js new file mode 100644 index 000000000..c4b60483b --- /dev/null +++ b/apps/parser/cjs/ruleset/index.js @@ -0,0 +1,32 @@ +"use strict"; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createRuleset = void 0; +const ruleset_1 = require("./ruleset"); +const v2_1 = require("./v2"); +const v3_1 = require("./v3"); +function createRuleset(parser, options) { + var _a; + const _b = (options || {}), { core: useCore = true, recommended: useRecommended = true } = _b, rest = __rest(_b, ["core", "recommended"]); + const extendedRuleset = [ + useCore && ruleset_1.coreRuleset, + useRecommended && ruleset_1.recommendedRuleset, + useCore && v2_1.v2CoreRuleset, + useCore && (0, v2_1.v2SchemasRuleset)(parser), + useRecommended && v2_1.v2RecommendedRuleset, + useCore && v3_1.v3CoreRuleset, + ...((_a = (options || {})) === null || _a === void 0 ? void 0 : _a.extends) || [], + ].filter(Boolean); + return Object.assign(Object.assign({}, rest || {}), { extends: extendedRuleset }); +} +exports.createRuleset = createRuleset; diff --git a/apps/parser/cjs/ruleset/ruleset.d.ts b/apps/parser/cjs/ruleset/ruleset.d.ts new file mode 100644 index 000000000..3e7c5cf63 --- /dev/null +++ b/apps/parser/cjs/ruleset/ruleset.d.ts @@ -0,0 +1,184 @@ +export declare const coreRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Root Object rules + */ + 'asyncapi-is-asyncapi': { + description: string; + formats: (() => boolean)[]; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-latest-version': { + description: string; + message: string; + recommended: boolean; + severity: string; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + schema: { + const: string; + }; + }; + }; + }; + 'asyncapi-document-resolved': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + resolved: boolean; + }; + }; + }; + 'asyncapi-document-unresolved': { + description: string; + message: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + resolved: boolean; + }; + }; + }; + 'asyncapi-internal': { + description: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + }; +}; +export declare const recommendedRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Root Object rules + */ + 'asyncapi-id': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-defaultContentType': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Info Object rules + */ + 'asyncapi-info-description': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-info-contact': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-info-contact-properties': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }[]; + }; + 'asyncapi-info-license': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-info-license-url': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Server Object rules + */ + 'asyncapi-servers': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + schema: { + type: string; + minProperties: number; + }; + allErrors: boolean; + }; + }; + }; + /** + * Component Object rules + */ + 'asyncapi-unused-component': { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + recommended: boolean; + resolved: boolean; + severity: string; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + components: Record; + }, null>; + }; + }; + }; +}; diff --git a/apps/parser/cjs/ruleset/ruleset.js b/apps/parser/cjs/ruleset/ruleset.js new file mode 100644 index 000000000..58739b243 --- /dev/null +++ b/apps/parser/cjs/ruleset/ruleset.js @@ -0,0 +1,198 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.recommendedRuleset = exports.coreRuleset = void 0; +const spectral_functions_1 = require("@stoplight/spectral-functions"); +const documentStructure_1 = require("./functions/documentStructure"); +const internal_1 = require("./functions/internal"); +const isAsyncAPIDocument_1 = require("./functions/isAsyncAPIDocument"); +const unusedComponent_1 = require("./functions/unusedComponent"); +const formats_1 = require("./formats"); +const constants_1 = require("../constants"); +exports.coreRuleset = { + description: 'Core AsyncAPI x.x.x ruleset.', + formats: formats_1.AsyncAPIFormats.formats(), + rules: { + /** + * Root Object rules + */ + 'asyncapi-is-asyncapi': { + description: 'The input must be a document with a supported version of AsyncAPI.', + formats: [() => true], + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$', + then: { + function: isAsyncAPIDocument_1.isAsyncAPIDocument, + }, + }, + 'asyncapi-latest-version': { + description: 'Checking if the AsyncAPI document is using the latest version.', + message: `The latest version of AsyncAPi is not used. It is recommended update to the "${constants_1.lastVersion}" version.`, + recommended: true, + severity: 'info', + given: '$.asyncapi', + then: { + function: spectral_functions_1.schema, + functionOptions: { + schema: { + const: constants_1.lastVersion, + }, + }, + }, + }, + 'asyncapi-document-resolved': { + description: 'Checking if the AsyncAPI document has valid resolved structure.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$', + then: { + function: documentStructure_1.documentStructure, + functionOptions: { + resolved: true, + }, + }, + }, + 'asyncapi-document-unresolved': { + description: 'Checking if the AsyncAPI document has valid unresolved structure.', + message: '{{error}}', + severity: 'error', + recommended: true, + resolved: false, + given: '$', + then: { + function: documentStructure_1.documentStructure, + functionOptions: { + resolved: false, + }, + }, + }, + 'asyncapi-internal': { + description: 'That rule is internal to extend Spectral functionality for Parser purposes.', + recommended: true, + given: '$', + then: { + function: internal_1.internal, + }, + }, + }, +}; +exports.recommendedRuleset = { + description: 'Recommended AsyncAPI x.x.x ruleset.', + formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + rules: { + /** + * Root Object rules + */ + 'asyncapi-id': { + description: 'AsyncAPI document should have "id" field.', + recommended: true, + given: '$', + then: { + field: 'id', + function: spectral_functions_1.truthy, + }, + }, + 'asyncapi-defaultContentType': { + description: 'AsyncAPI document should have "defaultContentType" field.', + recommended: true, + given: '$', + then: { + field: 'defaultContentType', + function: spectral_functions_1.truthy, + }, + }, + /** + * Info Object rules + */ + 'asyncapi-info-description': { + description: 'Info "description" should be present and non-empty string.', + recommended: true, + given: '$', + then: { + field: 'info.description', + function: spectral_functions_1.truthy, + }, + }, + 'asyncapi-info-contact': { + description: 'Info object should have "contact" object.', + recommended: true, + given: '$', + then: { + field: 'info.contact', + function: spectral_functions_1.truthy, + }, + }, + 'asyncapi-info-contact-properties': { + description: 'Contact object should have "name", "url" and "email" fields.', + recommended: true, + given: '$.info.contact', + then: [ + { + field: 'name', + function: spectral_functions_1.truthy, + }, + { + field: 'url', + function: spectral_functions_1.truthy, + }, + { + field: 'email', + function: spectral_functions_1.truthy, + }, + ], + }, + 'asyncapi-info-license': { + description: 'Info object should have "license" object.', + recommended: true, + given: '$', + then: { + field: 'info.license', + function: spectral_functions_1.truthy, + }, + }, + 'asyncapi-info-license-url': { + description: 'License object should have "url" field.', + recommended: false, + given: '$', + then: { + field: 'info.license.url', + function: spectral_functions_1.truthy, + }, + }, + /** + * Server Object rules + */ + 'asyncapi-servers': { + description: 'AsyncAPI document should have non-empty "servers" object.', + recommended: true, + given: '$', + then: { + field: 'servers', + function: spectral_functions_1.schema, + functionOptions: { + schema: { + type: 'object', + minProperties: 1, + }, + allErrors: true, + }, + }, + }, + /** + * Component Object rules + */ + 'asyncapi-unused-component': { + description: 'Potentially unused component has been detected in AsyncAPI document.', + formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + recommended: true, + resolved: false, + severity: 'info', + given: '$', + then: { + function: unusedComponent_1.unusedComponent, + }, + }, + }, +}; diff --git a/apps/parser/cjs/ruleset/utils/getMissingProps.d.ts b/apps/parser/cjs/ruleset/utils/getMissingProps.d.ts new file mode 100644 index 000000000..8c9eff169 --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/getMissingProps.d.ts @@ -0,0 +1 @@ +export declare function getMissingProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/cjs/ruleset/utils/getMissingProps.js b/apps/parser/cjs/ruleset/utils/getMissingProps.js new file mode 100644 index 000000000..66ed00e15 --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/getMissingProps.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getMissingProps = void 0; +function getMissingProps(arr = [], obj = {}) { + if (!Object.keys(obj).length) + return arr; + return arr.filter(val => { + return !Object.prototype.hasOwnProperty.call(obj, val); + }); +} +exports.getMissingProps = getMissingProps; diff --git a/apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts b/apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts new file mode 100644 index 000000000..82efd65f0 --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts @@ -0,0 +1 @@ +export declare function getRedundantProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/cjs/ruleset/utils/getRedundantProps.js b/apps/parser/cjs/ruleset/utils/getRedundantProps.js new file mode 100644 index 000000000..e2f49c70e --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/getRedundantProps.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getRedundantProps = void 0; +function getRedundantProps(arr = [], obj = {}) { + if (!arr.length) + return Object.keys(obj); + return Object.keys(obj).filter(val => { + return !arr.includes(val); + }); +} +exports.getRedundantProps = getRedundantProps; diff --git a/apps/parser/cjs/ruleset/utils/index.d.ts b/apps/parser/cjs/ruleset/utils/index.d.ts new file mode 100644 index 000000000..75834cb11 --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/index.d.ts @@ -0,0 +1,4 @@ +export * from './getMissingProps'; +export * from './getRedundantProps'; +export * from './mergeTraits'; +export * from './parseUrlVariables'; diff --git a/apps/parser/cjs/ruleset/utils/index.js b/apps/parser/cjs/ruleset/utils/index.js new file mode 100644 index 000000000..562b5944d --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/index.js @@ -0,0 +1,20 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./getMissingProps"), exports); +__exportStar(require("./getRedundantProps"), exports); +__exportStar(require("./mergeTraits"), exports); +__exportStar(require("./parseUrlVariables"), exports); diff --git a/apps/parser/cjs/ruleset/utils/mergeTraits.d.ts b/apps/parser/cjs/ruleset/utils/mergeTraits.d.ts new file mode 100644 index 000000000..b36a26c0a --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/mergeTraits.d.ts @@ -0,0 +1,4 @@ +export type MaybeHaveTraits = { + traits?: any[]; +} & Record; +export declare function mergeTraits(data: T): T; diff --git a/apps/parser/cjs/ruleset/utils/mergeTraits.js b/apps/parser/cjs/ruleset/utils/mergeTraits.js new file mode 100644 index 000000000..16120af88 --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/mergeTraits.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.mergeTraits = void 0; +const json_1 = require("@stoplight/json"); +function mergeTraits(data) { + if (Array.isArray(data.traits)) { + data = Object.assign({}, data); // shallow copy + for (const trait of data.traits) { + for (const key in trait) { + data[key] = merge(data[key], trait[key]); + } + } + } + return data; +} +exports.mergeTraits = mergeTraits; +function merge(origin, patch) { + // If the patch is not an object, it replaces the origin. + if (!(0, json_1.isPlainObject)(patch)) { + return patch; + } + const result = !(0, json_1.isPlainObject)(origin) + ? {} // Non objects are being replaced. + : Object.assign({}, origin); // Make sure we never modify the origin. + Object.keys(patch).forEach(key => { + const patchVal = patch[key]; + if (patchVal === null) { + delete result[key]; + } + else { + result[key] = merge(result[key], patchVal); + } + }); + return result; +} diff --git a/apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts b/apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts new file mode 100644 index 000000000..f3533d8a6 --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts @@ -0,0 +1 @@ +export declare function parseUrlVariables(str: string): string[]; diff --git a/apps/parser/cjs/ruleset/utils/parseUrlVariables.js b/apps/parser/cjs/ruleset/utils/parseUrlVariables.js new file mode 100644 index 000000000..aef7ed08a --- /dev/null +++ b/apps/parser/cjs/ruleset/utils/parseUrlVariables.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseUrlVariables = void 0; +function parseUrlVariables(str) { + if (typeof str !== 'string') + return []; + const variables = str.match(/{(.+?)}/g); + if (!variables || variables.length === 0) + return []; + return variables.map(v => v.slice(1, -1)); +} +exports.parseUrlVariables = parseUrlVariables; diff --git a/apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts b/apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts new file mode 100644 index 000000000..3154fd33e --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts @@ -0,0 +1,3 @@ +export declare const channelParameters: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + parameters: Record; +}, null>; diff --git a/apps/parser/cjs/ruleset/v2/functions/channelParameters.js b/apps/parser/cjs/ruleset/v2/functions/channelParameters.js new file mode 100644 index 000000000..730f6642b --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/channelParameters.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.channelParameters = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const utils_1 = require("../../utils"); +exports.channelParameters = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + parameters: { + type: 'object', + }, + }, + required: ['parameters'], + }, + options: null, +}, (targetVal, _, ctx) => { + const path = ctx.path[ctx.path.length - 1]; + const results = []; + const parameters = (0, utils_1.parseUrlVariables)(path); + if (parameters.length === 0) + return; + const missingParameters = (0, utils_1.getMissingProps)(parameters, targetVal.parameters); + if (missingParameters.length) { + results.push({ + message: `Not all channel's parameters are described with "parameters" object. Missed: ${missingParameters.join(', ')}.`, + path: [...ctx.path, 'parameters'], + }); + } + const redundantParameters = (0, utils_1.getRedundantProps)(parameters, targetVal.parameters); + if (redundantParameters.length) { + redundantParameters.forEach(param => { + results.push({ + message: `Channel's "parameters" object has redundant defined "${param}" parameter.`, + path: [...ctx.path, 'parameters', param], + }); + }); + } + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts b/apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts new file mode 100644 index 000000000..ecdc32a79 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts @@ -0,0 +1,6 @@ +export declare const channelServers: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + servers?: Record | undefined; + channels?: Record | undefined; +}, null>; diff --git a/apps/parser/cjs/ruleset/v2/functions/channelServers.js b/apps/parser/cjs/ruleset/v2/functions/channelServers.js new file mode 100644 index 000000000..3c3b15def --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/channelServers.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.channelServers = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +exports.channelServers = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + servers: { + type: 'object', + }, + channels: { + type: 'object', + additionalProperties: { + type: 'object', + properties: { + servers: { + type: 'array', + items: { + type: 'string', + }, + }, + }, + }, + }, + }, + }, + options: null, +}, (targetVal) => { + var _a, _b; + const results = []; + if (!targetVal.channels) + return results; + const serverNames = Object.keys((_a = targetVal.servers) !== null && _a !== void 0 ? _a : {}); + Object.entries((_b = targetVal.channels) !== null && _b !== void 0 ? _b : {}).forEach(([channelAddress, channel]) => { + if (!channel.servers) + return; + channel.servers.forEach((serverName, index) => { + if (!serverNames.includes(serverName)) { + results.push({ + message: 'Channel contains server that are not defined on the "servers" object.', + path: ['channels', channelAddress, 'servers', index], + }); + } + }); + }); + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/checkId.d.ts b/apps/parser/cjs/ruleset/v2/functions/checkId.d.ts new file mode 100644 index 000000000..5314c47e4 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/checkId.d.ts @@ -0,0 +1,4 @@ +import type { MaybeHaveTraits } from '../../utils'; +export declare const checkId: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/checkId.js b/apps/parser/cjs/ruleset/v2/functions/checkId.js new file mode 100644 index 000000000..d42deb998 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/checkId.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkId = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const spectral_functions_1 = require("@stoplight/spectral-functions"); +const utils_1 = require("../../utils"); +exports.checkId = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + traits: { + type: 'array', + items: { + type: 'object', + }, + }, + }, + }, + options: { + type: 'object', + properties: { + idField: { + type: 'string', + enum: ['operationId', 'messageId'], + }, + }, + }, +}, (targetVal, options, ctx) => { + const mergedValue = (0, utils_1.mergeTraits)(targetVal); + return (0, spectral_functions_1.truthy)(mergedValue[options.idField], null, ctx); +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts b/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts new file mode 100644 index 000000000..6a27833ff --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts @@ -0,0 +1,3 @@ +import { RuleDefinition } from '@stoplight/spectral-core'; +import type { Parser } from 'parser'; +export declare function asyncApi2MessageExamplesParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js b/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js new file mode 100644 index 000000000..855a0ef37 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js @@ -0,0 +1,117 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.asyncApi2MessageExamplesParserRule = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const schema_parser_1 = require("../../../schema-parser"); +const utils_1 = require("../../../utils"); +const messageExamples_1 = require("./messageExamples"); +function asyncApi2MessageExamplesParserRule(parser) { + return { + description: 'Examples of message object should validate against a payload with an explicit schemaFormat.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // messages + '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat !== void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message[?(@property === \'message\' && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', + '$.components.messages[?(!@null && @.schemaFormat !== void 0)]', + // message traits + '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.messages.*.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.messageTraits[?(!@null && @.schemaFormat !== void 0)]', + ], + then: { + function: rulesetFunction(parser), + }, + }; +} +exports.asyncApi2MessageExamplesParserRule = asyncApi2MessageExamplesParserRule; +function rulesetFunction(parser) { + return (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + name: { + type: 'string', + }, + summary: { + type: 'string', + }, + }, + }, + options: null, + }, (targetVal, _, ctx) => __awaiter(this, void 0, void 0, function* () { + if (!targetVal.examples) + return; + if (!targetVal.payload) + return; + const document = ctx.document; + const parsedSpec = document.data; + const schemaFormat = (0, schema_parser_1.getSchemaFormat)(targetVal.schemaFormat, parsedSpec.asyncapi); + const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(parsedSpec.asyncapi); + const asyncapi = (0, utils_1.createDetailedAsyncAPI)(parsedSpec, document.__parserInput, document.source || undefined); + const input = { + asyncapi, + rootPath: ctx.path, + schemaFormat, + defaultSchemaFormat + }; + const results = []; + const payloadSchemaResults = yield parseExampleSchema(parser, targetVal.payload, input); + const payloadSchema = payloadSchemaResults.schema; + results.push(...payloadSchemaResults.errors); + for (const example of (0, messageExamples_1.getMessageExamples)(targetVal)) { + const { path, value } = example; + // validate payload + if (value.payload !== undefined && payloadSchema !== undefined) { + const errors = (0, messageExamples_1.validate)(value.payload, path, 'payload', payloadSchema, ctx); + if (Array.isArray(errors)) { + results.push(...errors); + } + } + } + return results; + })); +} +function parseExampleSchema(parser, schema, input) { + return __awaiter(this, void 0, void 0, function* () { + const path = [...input.rootPath, 'payload']; + if (schema === undefined) { + return { path, schema: undefined, errors: [] }; + } + try { + const parseSchemaInput = { + asyncapi: input.asyncapi, + data: schema, + meta: {}, + path, + schemaFormat: input.schemaFormat, + defaultSchemaFormat: input.defaultSchemaFormat, + }; + const parsedSchema = yield (0, schema_parser_1.parseSchema)(parser, parseSchemaInput); + return { path, schema: parsedSchema, errors: [] }; + } + catch (err) { + const error = { + message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, + path + }; + return { path, schema: undefined, errors: [error] }; + } + }); +} diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts b/apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts new file mode 100644 index 000000000..540a910cf --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts @@ -0,0 +1,10 @@ +import { schema as schemaFn } from '@stoplight/spectral-functions'; +import type { JsonPath } from '@stoplight/types'; +import type { RulesetFunctionContext } from '@stoplight/spectral-core'; +import type { v2 } from 'spec-types'; +export declare function getMessageExamples(message: v2.MessageObject): Array<{ + path: JsonPath; + value: v2.MessageExampleObject; +}>; +export declare function validate(value: unknown, path: JsonPath, type: 'payload' | 'headers', schema: unknown, ctx: RulesetFunctionContext): ReturnType; +export declare const messageExamples: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples.js b/apps/parser/cjs/ruleset/v2/functions/messageExamples.js new file mode 100644 index 000000000..2bad074ea --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/messageExamples.js @@ -0,0 +1,82 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.messageExamples = exports.validate = exports.getMessageExamples = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const spectral_functions_1 = require("@stoplight/spectral-functions"); +function serializeSchema(schema, type) { + if (!schema && typeof schema !== 'boolean') { // if schema is falsy then + if (type === 'headers') { // object for headers + schema = { type: 'object' }; + } + else { // anything for payload + schema = {}; + } + } + else if (typeof schema === 'boolean') { // spectral cannot handle boolean schemas + if (schema === true) { + schema = {}; // everything + } + else { + schema = { not: {} }; // nothing + } + } + return schema; +} +function getMessageExamples(message) { + var _a; + if (!Array.isArray(message.examples)) { + return []; + } + return ((_a = message.examples.map((example, index) => { + return { + path: ['examples', index], + value: example, + }; + })) !== null && _a !== void 0 ? _a : []); +} +exports.getMessageExamples = getMessageExamples; +function validate(value, path, type, schema, ctx) { + return (0, spectral_functions_1.schema)(value, { + allErrors: true, + schema: schema, + }, Object.assign(Object.assign({}, ctx), { path: [...ctx.path, ...path, type] })); +} +exports.validate = validate; +exports.messageExamples = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + name: { + type: 'string', + }, + summary: { + type: 'string', + }, + }, + }, + options: null, +}, (targetVal, _, ctx) => { + if (!targetVal.examples) + return; + const results = []; + const payloadSchema = serializeSchema(targetVal.payload, 'payload'); + const headersSchema = serializeSchema(targetVal.headers, 'headers'); + for (const example of getMessageExamples(targetVal)) { + const { path, value } = example; + // validate payload + if (value.payload !== undefined) { + const errors = validate(value.payload, path, 'payload', payloadSchema, ctx); + if (Array.isArray(errors)) { + results.push(...errors); + } + } + // validate headers + if (value.headers !== undefined) { + const errors = validate(value.headers, path, 'headers', headersSchema, ctx); + if (Array.isArray(errors)) { + results.push(...errors); + } + } + } + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts b/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts new file mode 100644 index 000000000..052420947 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts @@ -0,0 +1,2 @@ +import type { v2 } from '../../../spec-types'; +export declare const messageIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js b/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js new file mode 100644 index 000000000..4cf473a94 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js @@ -0,0 +1,95 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.messageIdUniqueness = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const utils_1 = require("../utils"); +const utils_2 = require("../../../utils"); +function retrieveMessageId(message) { + if (Array.isArray(message.traits)) { + for (let i = message.traits.length - 1; i >= 0; i--) { + const trait = message.traits[i]; + if ((0, utils_2.isObject)(trait) && typeof trait.messageId === 'string') { + return { + messageId: trait.messageId, + path: ['traits', i, 'messageId'], + }; + } + } + } + if (typeof message.messageId === 'string') { + return { + messageId: message.messageId, + path: ['messageId'], + }; + } + return undefined; +} +exports.messageIdUniqueness = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + channels: { + type: 'object', + properties: { + subscribe: { + type: 'object', + properties: { + message: { + oneOf: [ + { type: 'object' }, + { + type: 'object', + properties: { + oneOf: { + type: 'array', + }, + }, + }, + ], + }, + }, + }, + publish: { + type: 'object', + properties: { + message: { + oneOf: [ + { type: 'object' }, + { + type: 'object', + properties: { + oneOf: { + type: 'array', + }, + }, + }, + ], + }, + }, + }, + }, + }, + }, + }, + options: null, +}, (targetVal) => { + const results = []; + const messages = (0, utils_1.getAllMessages)(targetVal); + const seenIds = []; + for (const { path, message } of messages) { + const maybeMessageId = retrieveMessageId(message); + if (maybeMessageId === undefined) { + continue; + } + if (seenIds.includes(maybeMessageId.messageId)) { + results.push({ + message: '"messageId" must be unique across all the messages.', + path: [...path, ...maybeMessageId.path], + }); + } + else { + seenIds.push(maybeMessageId.messageId); + } + } + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts b/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts new file mode 100644 index 000000000..bfe23e90f --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts @@ -0,0 +1,2 @@ +import type { v2 } from '../../../spec-types'; +export declare const operationIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js b/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js new file mode 100644 index 000000000..a98da3558 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js @@ -0,0 +1,65 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.operationIdUniqueness = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const utils_1 = require("../utils"); +const utils_2 = require("../../../utils"); +function retrieveOperationId(operation) { + if (Array.isArray(operation.traits)) { + for (let i = operation.traits.length - 1; i >= 0; i--) { + const trait = operation.traits[i]; + if ((0, utils_2.isObject)(trait) && typeof trait.operationId === 'string') { + return { + operationId: trait.operationId, + path: ['traits', i, 'operationId'], + }; + } + } + } + if (typeof operation.operationId === 'string') { + return { + operationId: operation.operationId, + path: ['operationId'], + }; + } + return undefined; +} +exports.operationIdUniqueness = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + channels: { + type: 'object', + properties: { + subscribe: { + type: 'object', + }, + publish: { + type: 'object', + }, + }, + }, + }, + }, + options: null, +}, (targetVal) => { + const results = []; + const operations = (0, utils_1.getAllOperations)(targetVal); + const seenIds = []; + for (const { path, operation } of operations) { + const maybeOperationId = retrieveOperationId(operation); + if (maybeOperationId === undefined) { + continue; + } + if (seenIds.includes(maybeOperationId.operationId)) { + results.push({ + message: '"operationId" must be unique across all the operations.', + path: [...path, ...maybeOperationId.path], + }); + } + else { + seenIds.push(maybeOperationId.operationId); + } + } + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts b/apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts new file mode 100644 index 000000000..09111d4be --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts @@ -0,0 +1,8 @@ +type SchemaFragment = { + default?: unknown; + examples?: unknown[]; +}; +export declare const schemaValidation: import("@stoplight/spectral-core").RulesetFunctionWithValidator; +export {}; diff --git a/apps/parser/cjs/ruleset/v2/functions/schemaValidation.js b/apps/parser/cjs/ruleset/v2/functions/schemaValidation.js new file mode 100644 index 000000000..629aef074 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/schemaValidation.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.schemaValidation = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const spectral_functions_1 = require("@stoplight/spectral-functions"); +function getRelevantItems(target, type) { + if (type === 'default') { + return [{ path: ['default'], value: target.default }]; + } + if (!Array.isArray(target.examples)) { + return []; + } + return Array.from(target.examples.entries()).map(([key, value]) => ({ + path: ['examples', key], + value, + })); +} +exports.schemaValidation = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + default: {}, + examples: { + type: 'array', + }, + }, + errorMessage: '#{{print("property")}must be an object containing "default" or an "examples" array', + }, + errorOnInvalidInput: true, + options: { + type: 'object', + properties: { + type: { + enum: ['default', 'examples'], + }, + }, + additionalProperties: false, + required: ['type'], + }, +}, (targetVal, opts, context) => { + const schemaObject = targetVal; + const results = []; + for (const relevantItem of getRelevantItems(targetVal, opts.type)) { + const result = (0, spectral_functions_1.schema)(relevantItem.value, { + schema: schemaObject, + allErrors: true, + }, Object.assign(Object.assign({}, context), { path: [...context.path, ...relevantItem.path] })); + if (Array.isArray(result)) { + results.push(...result); + } + } + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/security.d.ts b/apps/parser/cjs/ruleset/v2/functions/security.d.ts new file mode 100644 index 000000000..7eccc4120 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/security.d.ts @@ -0,0 +1,3 @@ +export declare const security: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { + objectType: 'Server' | 'Operation'; +}>; diff --git a/apps/parser/cjs/ruleset/v2/functions/security.js b/apps/parser/cjs/ruleset/v2/functions/security.js new file mode 100644 index 000000000..81a1759bb --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/security.js @@ -0,0 +1,64 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.security = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const utils_1 = require("../../../utils"); +const oAuth2Keys = ['implicit', 'password', 'clientCredentials', 'authorizationCode']; +function getAllScopes(oauth2) { + const scopes = []; + oAuth2Keys.forEach(key => { + const flow = oauth2[key]; + if ((0, utils_1.isObject)(flow)) { + scopes.push(...Object.keys(flow.scopes)); + } + }); + return Array.from(new Set(scopes)); +} +exports.security = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + additionalProperties: { + type: 'array', + items: { + type: 'string', + }, + }, + }, + options: { + type: 'object', + properties: { + objectType: { + type: 'string', + enum: ['Server', 'Operation'], + }, + }, + }, +}, (targetVal = {}, { objectType }, ctx) => { + var _a, _b; + const results = []; + const spec = ctx.document.data; + const securitySchemes = (_b = (_a = spec === null || spec === void 0 ? void 0 : spec.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) !== null && _b !== void 0 ? _b : {}; + const securitySchemesKeys = Object.keys(securitySchemes); + Object.keys(targetVal).forEach(securityKey => { + var _a; + if (!securitySchemesKeys.includes(securityKey)) { + results.push({ + message: `${objectType} must not reference an undefined security scheme.`, + path: [...ctx.path, securityKey], + }); + } + const securityScheme = securitySchemes[securityKey]; + if ((securityScheme === null || securityScheme === void 0 ? void 0 : securityScheme.type) === 'oauth2') { + const availableScopes = getAllScopes((_a = securityScheme.flows) !== null && _a !== void 0 ? _a : {}); + targetVal[securityKey].forEach((securityScope, index) => { + if (!availableScopes.includes(securityScope)) { + results.push({ + message: `Non-existing security scope for the specified security scheme. Available: [${availableScopes.join(', ')}]`, + path: [...ctx.path, securityKey, index], + }); + } + }); + } + }); + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts b/apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts new file mode 100644 index 000000000..1f3e71612 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts @@ -0,0 +1,4 @@ +export declare const serverVariables: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + url: string; + variables: Record; +}, null>; diff --git a/apps/parser/cjs/ruleset/v2/functions/serverVariables.js b/apps/parser/cjs/ruleset/v2/functions/serverVariables.js new file mode 100644 index 000000000..94d50a592 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/serverVariables.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serverVariables = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const utils_1 = require("../../utils"); +exports.serverVariables = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + url: { + type: 'string', + }, + variables: { + type: 'object', + }, + }, + required: ['url', 'variables'], + }, + options: null, +}, (targetVal, _, ctx) => { + const results = []; + const variables = (0, utils_1.parseUrlVariables)(targetVal.url); + if (variables.length === 0) + return results; + const missingVariables = (0, utils_1.getMissingProps)(variables, targetVal.variables); + if (missingVariables.length) { + results.push({ + message: `Not all server's variables are described with "variables" object. Missed: ${missingVariables.join(', ')}.`, + path: [...ctx.path, 'variables'], + }); + } + const redundantVariables = (0, utils_1.getRedundantProps)(variables, targetVal.variables); + if (redundantVariables.length) { + redundantVariables.forEach(variable => { + results.push({ + message: `Server's "variables" object has redundant defined "${variable}" url variable.`, + path: [...ctx.path, 'variables', variable], + }); + }); + } + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts b/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts new file mode 100644 index 000000000..93af76773 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts @@ -0,0 +1,2 @@ +import type { v2 } from '../../../spec-types'; +export declare const unusedSecuritySchemes: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js b/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js new file mode 100644 index 000000000..ee79562a7 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.unusedSecuritySchemes = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const utils_1 = require("../utils"); +const utils_2 = require("../../../utils"); +exports.unusedSecuritySchemes = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + components: { + type: 'object', + }, + }, + required: ['components'], + }, + options: null, +}, (targetVal) => { + var _a; + const securitySchemes = (_a = targetVal.components) === null || _a === void 0 ? void 0 : _a.securitySchemes; + if (!(0, utils_2.isObject)(securitySchemes)) { + return; + } + const usedSecuritySchemes = []; + // collect all security requirements from servers + if ((0, utils_2.isObject)(targetVal.servers)) { + Object.values(targetVal.servers).forEach(server => { + if (Array.isArray(server.security)) { + server.security.forEach(requirements => { + usedSecuritySchemes.push(...Object.keys(requirements)); + }); + } + }); + } + // collect all security requirements from operations + const operations = (0, utils_1.getAllOperations)(targetVal); + for (const { operation } of operations) { + if (Array.isArray(operation.security)) { + operation.security.forEach(requirements => { + usedSecuritySchemes.push(...Object.keys(requirements)); + }); + } + } + const usedSecuritySchemesSet = new Set(usedSecuritySchemes); + const securitySchemesKinds = Object.keys(securitySchemes); + const results = []; + securitySchemesKinds.forEach(securitySchemeKind => { + if (!usedSecuritySchemesSet.has(securitySchemeKind)) { + results.push({ + message: 'Potentially unused security scheme has been detected in AsyncAPI document.', + path: ['components', 'securitySchemes', securitySchemeKind], + }); + } + }); + return results; +}); diff --git a/apps/parser/cjs/ruleset/v2/index.d.ts b/apps/parser/cjs/ruleset/v2/index.d.ts new file mode 100644 index 000000000..5acc4189e --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/index.d.ts @@ -0,0 +1 @@ +export * from './ruleset'; diff --git a/apps/parser/cjs/ruleset/v2/index.js b/apps/parser/cjs/ruleset/v2/index.js new file mode 100644 index 000000000..342c4148c --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/index.js @@ -0,0 +1,17 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./ruleset"), exports); diff --git a/apps/parser/cjs/ruleset/v2/ruleset.d.ts b/apps/parser/cjs/ruleset/v2/ruleset.d.ts new file mode 100644 index 000000000..0715d2bc1 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/ruleset.d.ts @@ -0,0 +1,304 @@ +import type { Parser } from '../../parser'; +export declare const v2CoreRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Server Object rules + */ + 'asyncapi2-server-security': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { + objectType: "Server" | "Operation"; + }>; + functionOptions: { + objectType: string; + }; + }; + }; + 'asyncapi2-server-variables': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + url: string; + variables: Record; + }, null>; + }; + }; + 'asyncapi2-channel-no-query-nor-fragment': { + description: string; + severity: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + /** + * Channel Object rules + */ + 'asyncapi2-channel-parameters': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + parameters: Record; + }, null>; + }; + }; + 'asyncapi2-channel-servers': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + servers?: Record | undefined; + channels?: Record | undefined; + }, null>; + }; + }; + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId-uniqueness': { + description: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi2-operation-security': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { + objectType: "Server" | "Operation"; + }>; + functionOptions: { + objectType: string; + }; + }; + }; + /** + * Message Object rules + */ + 'asyncapi2-message-examples': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi2-message-messageId-uniqueness': { + description: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Misc rules + */ + 'asyncapi2-tags-uniqueness': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + name: string; + }[], null>; + }; + }; + }; +}; +export declare const v2SchemasRuleset: (parser: Parser) => { + description: string; + rules: { + 'asyncapi2-schemas': import("@stoplight/spectral-core").RuleDefinition; + 'asyncapi2-schema-default': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + default?: unknown; + examples?: unknown[] | undefined; + }, { + type: "default" | "examples"; + }>; + functionOptions: { + type: string; + }; + }; + }; + 'asyncapi2-schema-examples': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + default?: unknown; + examples?: unknown[] | undefined; + }, { + type: "default" | "examples"; + }>; + functionOptions: { + type: string; + }; + }; + }; + 'asyncapi2-message-examples-custom-format': import("@stoplight/spectral-core").RuleDefinition; + }; +}; +export declare const v2RecommendedRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Root Object rules + */ + 'asyncapi2-tags': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Server Object rules + */ + 'asyncapi2-server-no-empty-variable': { + description: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + 'asyncapi2-server-no-trailing-slash': { + description: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + /** + * Channel Object rules + */ + 'asyncapi2-channel-no-empty-parameter': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + 'asyncapi2-channel-no-trailing-slash': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId': { + description: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + idField: string; + }; + }; + }; + /** + * Message Object rules + */ + 'asyncapi2-message-messageId': { + description: string; + recommended: boolean; + formats: import("@stoplight/spectral-core").Format[]; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + idField: string; + }; + }; + }; + /** + * Component Object rules + */ + 'asyncapi2-unused-securityScheme': { + description: string; + recommended: boolean; + resolved: boolean; + severity: string; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + }; +}; diff --git a/apps/parser/cjs/ruleset/v2/ruleset.js b/apps/parser/cjs/ruleset/v2/ruleset.js new file mode 100644 index 000000000..7c42a9b52 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/ruleset.js @@ -0,0 +1,356 @@ +"use strict"; +/* eslint-disable sonarjs/no-duplicate-string */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.v2RecommendedRuleset = exports.v2SchemasRuleset = exports.v2CoreRuleset = void 0; +const formats_1 = require("../formats"); +const spectral_functions_1 = require("@stoplight/spectral-functions"); +const channelParameters_1 = require("./functions/channelParameters"); +const channelServers_1 = require("./functions/channelServers"); +const checkId_1 = require("./functions/checkId"); +const messageExamples_1 = require("./functions/messageExamples"); +const messageExamples_spectral_rule_v2_1 = require("./functions/messageExamples-spectral-rule-v2"); +const messageIdUniqueness_1 = require("./functions/messageIdUniqueness"); +const operationIdUniqueness_1 = require("./functions/operationIdUniqueness"); +const schemaValidation_1 = require("./functions/schemaValidation"); +const security_1 = require("./functions/security"); +const serverVariables_1 = require("./functions/serverVariables"); +const unusedSecuritySchemes_1 = require("./functions/unusedSecuritySchemes"); +const uniquenessTags_1 = require("../functions/uniquenessTags"); +const spectral_rule_v2_1 = require("../../schema-parser/spectral-rule-v2"); +exports.v2CoreRuleset = { + description: 'Core AsyncAPI 2.x.x ruleset.', + formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + rules: { + /** + * Server Object rules + */ + 'asyncapi2-server-security': { + description: 'Server have to reference a defined security schemes.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$.servers.*.security.*', + then: { + function: security_1.security, + functionOptions: { + objectType: 'Server', + }, + }, + }, + 'asyncapi2-server-variables': { + description: 'Server variables must be defined and there must be no redundant variables.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: ['$.servers.*', '$.components.servers.*'], + then: { + function: serverVariables_1.serverVariables, + }, + }, + 'asyncapi2-channel-no-query-nor-fragment': { + description: 'Channel address should not include query ("?") or fragment ("#") delimiter.', + severity: 'error', + recommended: true, + given: '$.channels', + then: { + field: '@key', + function: spectral_functions_1.pattern, + functionOptions: { + notMatch: '[\\?#]', + }, + }, + }, + /** + * Channel Object rules + */ + 'asyncapi2-channel-parameters': { + description: 'Channel parameters must be defined and there must be no redundant parameters.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$.channels.*', + then: { + function: channelParameters_1.channelParameters, + }, + }, + 'asyncapi2-channel-servers': { + description: 'Channel servers must be defined in the "servers" object.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$', + then: { + function: channelServers_1.channelServers, + }, + }, + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId-uniqueness': { + description: '"operationId" must be unique across all the operations.', + severity: 'error', + recommended: true, + given: '$', + then: { + function: operationIdUniqueness_1.operationIdUniqueness, + }, + }, + 'asyncapi2-operation-security': { + description: 'Operation have to reference a defined security schemes.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$.channels[*][publish,subscribe].security.*', + then: { + function: security_1.security, + functionOptions: { + objectType: 'Operation', + }, + }, + }, + /** + * Message Object rules + */ + 'asyncapi2-message-examples': { + description: 'Examples of message object should validate againt the "payload" and "headers" schemas.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // messages + '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', + '$.components.messages[?(!@null && @.schemaFormat === void 0)]', + // message traits + '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.messages.*.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.messageTraits[?(!@null && @.schemaFormat === void 0)]', + ], + then: { + function: messageExamples_1.messageExamples, + }, + }, + 'asyncapi2-message-messageId-uniqueness': { + description: '"messageId" must be unique across all the messages.', + severity: 'error', + recommended: true, + given: '$', + then: { + function: messageIdUniqueness_1.messageIdUniqueness, + }, + }, + /** + * Misc rules + */ + 'asyncapi2-tags-uniqueness': { + description: 'Each tag must have a unique name.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // root + '$.tags', + // operations + '$.channels.*.[publish,subscribe].tags', + '$.components.channels.*.[publish,subscribe].tags', + // operation traits + '$.channels.*.[publish,subscribe].traits.*.tags', + '$.components.channels.*.[publish,subscribe].traits.*.tags', + '$.components.operationTraits.*.tags', + // messages + '$.channels.*.[publish,subscribe].message.tags', + '$.channels.*.[publish,subscribe].message.oneOf.*.tags', + '$.components.channels.*.[publish,subscribe].message.tags', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.tags', + '$.components.messages.*.tags', + // message traits + '$.channels.*.[publish,subscribe].message.traits.*.tags', + '$.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', + '$.components.channels.*.[publish,subscribe].message.traits.*.tags', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', + '$.components.messages.*.traits.*.tags', + '$.components.messageTraits.*.tags', + ], + then: { + function: uniquenessTags_1.uniquenessTags, + }, + }, + }, +}; +const v2SchemasRuleset = (parser) => { + return { + description: 'Schemas AsyncAPI 2.x.x ruleset.', + rules: { + 'asyncapi2-schemas': (0, spectral_rule_v2_1.asyncApi2SchemaParserRule)(parser), + 'asyncapi2-schema-default': { + description: 'Default must be valid against its defined schema.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', + '$.channels.*.parameters.*.schema.default^', + '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', + '$.components.channels.*.parameters.*.schema.default^', + '$.components.schemas.*.default^', + '$.components.parameters.*.schema.default^', + '$.components.messages[?(@.schemaFormat === void 0)].payload.default^', + '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.default^', + ], + then: { + function: schemaValidation_1.schemaValidation, + functionOptions: { + type: 'default', + }, + }, + }, + 'asyncapi2-schema-examples': { + description: 'Examples must be valid against their defined schema.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', + '$.channels.*.parameters.*.schema.examples^', + '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', + '$.components.channels.*.parameters.*.schema.examples^', + '$.components.schemas.*.examples^', + '$.components.parameters.*.schema.examples^', + '$.components.messages[?(@.schemaFormat === void 0)].payload.examples^', + '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.examples^', + ], + then: { + function: schemaValidation_1.schemaValidation, + functionOptions: { + type: 'examples', + }, + }, + }, + 'asyncapi2-message-examples-custom-format': (0, messageExamples_spectral_rule_v2_1.asyncApi2MessageExamplesParserRule)(parser), + } + }; +}; +exports.v2SchemasRuleset = v2SchemasRuleset; +exports.v2RecommendedRuleset = { + description: 'Recommended AsyncAPI 2.x.x ruleset.', + formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + rules: { + /** + * Root Object rules + */ + 'asyncapi2-tags': { + description: 'AsyncAPI object should have non-empty "tags" array.', + recommended: true, + given: '$', + then: { + field: 'tags', + function: spectral_functions_1.truthy, + }, + }, + /** + * Server Object rules + */ + 'asyncapi2-server-no-empty-variable': { + description: 'Server URL should not have empty variable substitution pattern.', + recommended: true, + given: '$.servers[*].url', + then: { + function: spectral_functions_1.pattern, + functionOptions: { + notMatch: '{}', + }, + }, + }, + 'asyncapi2-server-no-trailing-slash': { + description: 'Server URL should not end with slash.', + recommended: true, + given: '$.servers[*].url', + then: { + function: spectral_functions_1.pattern, + functionOptions: { + notMatch: '/$', + }, + }, + }, + /** + * Channel Object rules + */ + 'asyncapi2-channel-no-empty-parameter': { + description: 'Channel address should not have empty parameter substitution pattern.', + recommended: true, + given: '$.channels', + then: { + field: '@key', + function: spectral_functions_1.pattern, + functionOptions: { + notMatch: '{}', + }, + }, + }, + 'asyncapi2-channel-no-trailing-slash': { + description: 'Channel address should not end with slash.', + recommended: true, + given: '$.channels', + then: { + field: '@key', + function: spectral_functions_1.pattern, + functionOptions: { + notMatch: '.+\\/$', + }, + }, + }, + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId': { + description: 'Operation should have an "operationId" field defined.', + recommended: true, + given: ['$.channels[*][publish,subscribe]', '$.components.channels[*][publish,subscribe]'], + then: { + function: checkId_1.checkId, + functionOptions: { + idField: 'operationId', + }, + }, + }, + /** + * Message Object rules + */ + 'asyncapi2-message-messageId': { + description: 'Message should have a "messageId" field defined.', + recommended: true, + formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).excludeByVersions(['2.0.0', '2.1.0', '2.2.0', '2.3.0']).formats(), + given: [ + '$.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.messages.*', + ], + then: { + function: checkId_1.checkId, + functionOptions: { + idField: 'messageId', + }, + }, + }, + /** + * Component Object rules + */ + 'asyncapi2-unused-securityScheme': { + description: 'Potentially unused security scheme has been detected in AsyncAPI document.', + recommended: true, + resolved: false, + severity: 'info', + given: '$', + then: { + function: unusedSecuritySchemes_1.unusedSecuritySchemes, + }, + }, + }, +}; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts b/apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts new file mode 100644 index 000000000..fd7f3fbd4 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts @@ -0,0 +1,7 @@ +import type { JsonPath } from '@stoplight/types'; +import type { v2 } from '../../../spec-types'; +export type GetAllMessageResult = { + path: JsonPath; + message: v2.MessageObject; +}; +export declare function getAllMessages(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllMessages.js b/apps/parser/cjs/ruleset/v2/utils/getAllMessages.js new file mode 100644 index 000000000..220b8ce19 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/utils/getAllMessages.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getAllMessages = void 0; +const utils_1 = require("../../../utils"); +const getAllOperations_1 = require("./getAllOperations"); +function* getAllMessages(asyncapi) { + for (const { path, operation } of (0, getAllOperations_1.getAllOperations)(asyncapi)) { + if (!(0, utils_1.isObject)(operation)) { + continue; + } + const maybeMessage = operation.message; + if (!(0, utils_1.isObject)(maybeMessage)) { + continue; + } + const oneOf = maybeMessage.oneOf; + if (Array.isArray(oneOf)) { + for (const [index, message] of oneOf.entries()) { + if ((0, utils_1.isObject)(message)) { + yield { + path: [...path, 'message', 'oneOf', index], + message, + }; + } + } + } + else { + yield { + path: [...path, 'message'], + message: maybeMessage, + }; + } + } +} +exports.getAllMessages = getAllMessages; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts b/apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts new file mode 100644 index 000000000..b806e79b6 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts @@ -0,0 +1,8 @@ +import type { JsonPath } from '@stoplight/types'; +import type { v2 } from '../../../spec-types'; +export type GetAllOperationsResult = { + path: JsonPath; + kind: 'subscribe' | 'publish'; + operation: v2.OperationObject; +}; +export declare function getAllOperations(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllOperations.js b/apps/parser/cjs/ruleset/v2/utils/getAllOperations.js new file mode 100644 index 000000000..cb7e2bd15 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/utils/getAllOperations.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getAllOperations = void 0; +const utils_1 = require("../../../utils"); +function* getAllOperations(asyncapi) { + const channels = asyncapi === null || asyncapi === void 0 ? void 0 : asyncapi.channels; + if (!(0, utils_1.isObject)(channels)) { + return {}; + } + for (const [channelAddress, channel] of Object.entries(channels)) { + if (!(0, utils_1.isObject)(channel)) { + continue; + } + if ((0, utils_1.isObject)(channel.subscribe)) { + yield { + path: ['channels', channelAddress, 'subscribe'], + kind: 'subscribe', + operation: channel.subscribe, + }; + } + if ((0, utils_1.isObject)(channel.publish)) { + yield { + path: ['channels', channelAddress, 'publish'], + kind: 'publish', + operation: channel.publish, + }; + } + } +} +exports.getAllOperations = getAllOperations; diff --git a/apps/parser/cjs/ruleset/v2/utils/index.d.ts b/apps/parser/cjs/ruleset/v2/utils/index.d.ts new file mode 100644 index 000000000..904290167 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/utils/index.d.ts @@ -0,0 +1,2 @@ +export * from './getAllMessages'; +export * from './getAllOperations'; diff --git a/apps/parser/cjs/ruleset/v2/utils/index.js b/apps/parser/cjs/ruleset/v2/utils/index.js new file mode 100644 index 000000000..f79ddd4e0 --- /dev/null +++ b/apps/parser/cjs/ruleset/v2/utils/index.js @@ -0,0 +1,18 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./getAllMessages"), exports); +__exportStar(require("./getAllOperations"), exports); diff --git a/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts b/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts new file mode 100644 index 000000000..c712112a0 --- /dev/null +++ b/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts @@ -0,0 +1,8 @@ +export declare const operationMessagesUnambiguity: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + channel?: { + $ref: string; + } | undefined; + messages?: [{ + $ref: string; + }] | undefined; +}, null>; diff --git a/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js b/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js new file mode 100644 index 000000000..eed0f1761 --- /dev/null +++ b/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.operationMessagesUnambiguity = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const referenceSchema = { + type: 'object', + properties: { + $ref: { + type: 'string', + format: 'uri-reference' + }, + }, +}; +exports.operationMessagesUnambiguity = (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + channel: referenceSchema, + messages: { + type: 'array', + items: referenceSchema, + }, + }, + }, + options: null, +}, (targetVal, _, ctx) => { + var _a, _b; + const results = []; + const channelPointer = (_a = targetVal.channel) === null || _a === void 0 ? void 0 : _a.$ref; // required + (_b = targetVal.messages) === null || _b === void 0 ? void 0 : _b.forEach((message, index) => { + if (!message.$ref.startsWith(`${channelPointer}/messages`)) { + results.push({ + message: 'Operation message does not belong to the specified channel.', + path: [...ctx.path, 'messages', index], + }); + } + }); + return results; +}); diff --git a/apps/parser/cjs/ruleset/v3/index.d.ts b/apps/parser/cjs/ruleset/v3/index.d.ts new file mode 100644 index 000000000..5acc4189e --- /dev/null +++ b/apps/parser/cjs/ruleset/v3/index.d.ts @@ -0,0 +1 @@ +export * from './ruleset'; diff --git a/apps/parser/cjs/ruleset/v3/index.js b/apps/parser/cjs/ruleset/v3/index.js new file mode 100644 index 000000000..342c4148c --- /dev/null +++ b/apps/parser/cjs/ruleset/v3/index.js @@ -0,0 +1,17 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./ruleset"), exports); diff --git a/apps/parser/cjs/ruleset/v3/ruleset.d.ts b/apps/parser/cjs/ruleset/v3/ruleset.d.ts new file mode 100644 index 000000000..475012574 --- /dev/null +++ b/apps/parser/cjs/ruleset/v3/ruleset.d.ts @@ -0,0 +1,58 @@ +export declare const v3CoreRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Operation Object rules + */ + 'asyncapi3-operation-messages-from-referred-channel': { + description: string; + message: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + channel?: { + $ref: string; + } | undefined; + messages?: [{ + $ref: string; + }] | undefined; + }, null>; + }; + }; + 'asyncapi3-required-operation-channel-unambiguity': { + description: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + match: string; + }; + }; + }; + /** + * Channel Object rules + */ + 'asyncapi3-required-channel-servers-unambiguity': { + description: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + match: string; + }; + }; + }; + }; +}; diff --git a/apps/parser/cjs/ruleset/v3/ruleset.js b/apps/parser/cjs/ruleset/v3/ruleset.js new file mode 100644 index 000000000..2ea19cda3 --- /dev/null +++ b/apps/parser/cjs/ruleset/v3/ruleset.js @@ -0,0 +1,61 @@ +"use strict"; +/* eslint-disable sonarjs/no-duplicate-string */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.v3CoreRuleset = void 0; +const formats_1 = require("../formats"); +const operationMessagesUnambiguity_1 = require("./functions/operationMessagesUnambiguity"); +const spectral_functions_1 = require("@stoplight/spectral-functions"); +exports.v3CoreRuleset = { + description: 'Core AsyncAPI 3.x.x ruleset.', + formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['3']).formats(), + rules: { + /** + * Operation Object rules + */ + 'asyncapi3-operation-messages-from-referred-channel': { + description: 'Operation "messages" must be a subset of the messages defined in the channel referenced in this operation.', + message: '{{error}}', + severity: 'error', + recommended: true, + resolved: false, + given: [ + '$.operations.*', + '$.components.operations.*', + ], + then: { + function: operationMessagesUnambiguity_1.operationMessagesUnambiguity, + }, + }, + 'asyncapi3-required-operation-channel-unambiguity': { + description: 'The "channel" field of an operation under the root "operations" object must always reference a channel under the root "channels" object.', + severity: 'error', + recommended: true, + resolved: false, + given: '$.operations.*', + then: { + field: 'channel.$ref', + function: spectral_functions_1.pattern, + functionOptions: { + match: '#\\/channels\\/', // If doesn't match, rule fails. + }, + }, + }, + /** + * Channel Object rules + */ + 'asyncapi3-required-channel-servers-unambiguity': { + description: 'The "servers" field of a channel under the root "channels" object must always reference a subset of the servers under the root "servers" object.', + severity: 'error', + recommended: true, + resolved: false, + given: '$.channels.*', + then: { + field: '$.servers.*.$ref', + function: spectral_functions_1.pattern, + functionOptions: { + match: '#\\/servers\\/', // If doesn't match, rule fails. + }, + }, + } + }, +}; diff --git a/apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts b/apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts new file mode 100644 index 000000000..9f4f64000 --- /dev/null +++ b/apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts @@ -0,0 +1,2 @@ +import type { SchemaParser } from '../schema-parser'; +export declare function AsyncAPISchemaParser(): SchemaParser; diff --git a/apps/parser/cjs/schema-parser/asyncapi-schema-parser.js b/apps/parser/cjs/schema-parser/asyncapi-schema-parser.js new file mode 100644 index 000000000..c2acbb0ad --- /dev/null +++ b/apps/parser/cjs/schema-parser/asyncapi-schema-parser.js @@ -0,0 +1,109 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AsyncAPISchemaParser = void 0; +const ajv_1 = __importDefault(require("ajv")); +const ajv_formats_1 = __importDefault(require("ajv-formats")); +const ajv_errors_1 = __importDefault(require("ajv-errors")); +const specs_1 = __importDefault(require("@asyncapi/specs")); +const constants_1 = require("../constants"); +function AsyncAPISchemaParser() { + return { + validate, + parse, + getMimeTypes, + }; +} +exports.AsyncAPISchemaParser = AsyncAPISchemaParser; +function validate(input) { + return __awaiter(this, void 0, void 0, function* () { + const version = input.asyncapi.semver.version; + const validator = getSchemaValidator(version); + let result = []; + const valid = validator(input.data); + if (!valid && validator.errors) { + result = ajvToSpectralResult(input.path, [...validator.errors]); + } + return result; + }); +} +function parse(input) { + return __awaiter(this, void 0, void 0, function* () { + return input.data; + }); +} +function getMimeTypes() { + const mimeTypes = [ + 'application/schema;version=draft-07', + 'application/schema+json;version=draft-07', + 'application/schema+yaml;version=draft-07', + ]; + constants_1.specVersions.forEach((version) => { + mimeTypes.push(`application/vnd.aai.asyncapi;version=${version}`, `application/vnd.aai.asyncapi+json;version=${version}`, `application/vnd.aai.asyncapi+yaml;version=${version}`); + }); + return mimeTypes; +} +function ajvToSpectralResult(path, errors) { + return errors.map(error => { + return { + message: error.message, + path: [...path, ...error.instancePath.replace(/^\//, '').split('/')], + }; + }); +} +function getSchemaValidator(version) { + const ajv = getAjvInstance(); + let validator = ajv.getSchema(version); + if (!validator) { + const schema = preparePayloadSchema(specs_1.default.schemas[version], version); + ajv.addSchema(schema, version); + validator = ajv.getSchema(version); + } + return validator; +} +/** + * To validate the schema of the payload we just need a small portion of official AsyncAPI spec JSON Schema, the Schema Object in particular. The definition of Schema Object must be + * included in the returned JSON Schema. + */ +function preparePayloadSchema(asyncapiSchema, version) { + const payloadSchema = `http://asyncapi.com/definitions/${version}/schema.json`; + const definitions = asyncapiSchema.definitions; + if (definitions === undefined) { + throw new Error('AsyncAPI schema must contain definitions'); + } + // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. + delete definitions['http://json-schema.org/draft-07/schema']; + delete definitions['http://json-schema.org/draft-04/schema']; + return { + $ref: payloadSchema, + definitions + }; +} +let _ajv; +function getAjvInstance() { + if (_ajv) { + return _ajv; + } + _ajv = new ajv_1.default({ + allErrors: true, + meta: true, + messages: true, + strict: false, + allowUnionTypes: true, + unicodeRegExp: false, + }); + (0, ajv_formats_1.default)(_ajv); + (0, ajv_errors_1.default)(_ajv); + return _ajv; +} diff --git a/apps/parser/cjs/schema-parser/index.d.ts b/apps/parser/cjs/schema-parser/index.d.ts new file mode 100644 index 000000000..fdbddef6c --- /dev/null +++ b/apps/parser/cjs/schema-parser/index.d.ts @@ -0,0 +1,28 @@ +import type { Parser } from '../parser'; +import type { AsyncAPISchema, DetailedAsyncAPI, SchemaValidateResult } from '../types'; +export interface ValidateSchemaInput { + readonly asyncapi: DetailedAsyncAPI; + readonly data: D; + readonly meta: M; + readonly path: Array; + readonly schemaFormat: string; + readonly defaultSchemaFormat: string; +} +export interface ParseSchemaInput { + readonly asyncapi: DetailedAsyncAPI; + readonly data: D; + readonly meta: M; + readonly path: Array; + readonly schemaFormat: string; + readonly defaultSchemaFormat: string; +} +export interface SchemaParser { + validate: (input: ValidateSchemaInput) => void | SchemaValidateResult[] | Promise; + parse: (input: ParseSchemaInput) => AsyncAPISchema | Promise; + getMimeTypes: () => Array; +} +export declare function validateSchema(parser: Parser, input: ValidateSchemaInput): Promise; +export declare function parseSchema(parser: Parser, input: ParseSchemaInput): Promise; +export declare function registerSchemaParser(parser: Parser, schemaParser: SchemaParser): void; +export declare function getSchemaFormat(schematFormat: string | undefined, asyncapiVersion: string): string; +export declare function getDefaultSchemaFormat(asyncapiVersion: string): string; diff --git a/apps/parser/cjs/schema-parser/index.js b/apps/parser/cjs/schema-parser/index.js new file mode 100644 index 000000000..00098d270 --- /dev/null +++ b/apps/parser/cjs/schema-parser/index.js @@ -0,0 +1,66 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getDefaultSchemaFormat = exports.getSchemaFormat = exports.registerSchemaParser = exports.parseSchema = exports.validateSchema = void 0; +function validateSchema(parser, input) { + return __awaiter(this, void 0, void 0, function* () { + const schemaParser = parser.parserRegistry.get(input.schemaFormat); + if (schemaParser === undefined) { + const { path, schemaFormat } = input; + path.pop(); // remove 'payload' as last element of path + return [ + { + message: `Unknown schema format: "${schemaFormat}"`, + path: [...path, 'schemaFormat'], + }, + { + message: `Cannot validate and parse given schema due to unknown schema format: "${schemaFormat}"`, + path: [...path, 'payload'], + } + ]; + } + return schemaParser.validate(input); + }); +} +exports.validateSchema = validateSchema; +function parseSchema(parser, input) { + return __awaiter(this, void 0, void 0, function* () { + const schemaParser = parser.parserRegistry.get(input.schemaFormat); + if (schemaParser === undefined) { + throw new Error('Unknown schema format'); + } + return schemaParser.parse(input); + }); +} +exports.parseSchema = parseSchema; +function registerSchemaParser(parser, schemaParser) { + if (typeof schemaParser !== 'object' + || typeof schemaParser.validate !== 'function' + || typeof schemaParser.parse !== 'function' + || typeof schemaParser.getMimeTypes !== 'function') { + throw new Error('Custom parser must have "parse()", "validate()" and "getMimeTypes()" functions.'); + } + schemaParser.getMimeTypes().forEach(schemaFormat => { + parser.parserRegistry.set(schemaFormat, schemaParser); + }); +} +exports.registerSchemaParser = registerSchemaParser; +function getSchemaFormat(schematFormat, asyncapiVersion) { + if (typeof schematFormat === 'string') { + return schematFormat; + } + return getDefaultSchemaFormat(asyncapiVersion); +} +exports.getSchemaFormat = getSchemaFormat; +function getDefaultSchemaFormat(asyncapiVersion) { + return `application/vnd.aai.asyncapi;version=${asyncapiVersion}`; +} +exports.getDefaultSchemaFormat = getDefaultSchemaFormat; diff --git a/apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts b/apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts new file mode 100644 index 000000000..d8b894057 --- /dev/null +++ b/apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts @@ -0,0 +1,3 @@ +import type { RuleDefinition } from '@stoplight/spectral-core'; +import type { Parser } from '../parser'; +export declare function asyncApi2SchemaParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/cjs/schema-parser/spectral-rule-v2.js b/apps/parser/cjs/schema-parser/spectral-rule-v2.js new file mode 100644 index 000000000..5f4ed8016 --- /dev/null +++ b/apps/parser/cjs/schema-parser/spectral-rule-v2.js @@ -0,0 +1,79 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.asyncApi2SchemaParserRule = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const index_1 = require("./index"); +const utils_1 = require("../utils"); +function asyncApi2SchemaParserRule(parser) { + return { + description: 'Custom schema must be correctly formatted from the point of view of the used format.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // operations + '$.channels.*.[publish,subscribe].message', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe].message', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + // messages + '$.components.messages.*', + ], + then: { + function: rulesetFunction(parser), + }, + }; +} +exports.asyncApi2SchemaParserRule = asyncApi2SchemaParserRule; +function rulesetFunction(parser) { + return (0, spectral_core_1.createRulesetFunction)({ + input: { + type: 'object', + properties: { + schemaFormat: { + type: 'string', + }, + payload: true, // any value + } + }, + options: null + }, (targetVal = {}, _, ctx) => __awaiter(this, void 0, void 0, function* () { + if (!targetVal.payload) { + return []; + } + const path = [...ctx.path, 'payload']; + const document = ctx.document; + const parsedSpec = document.data; + const schemaFormat = (0, index_1.getSchemaFormat)(targetVal.schemaFormat, parsedSpec.asyncapi); + const defaultSchemaFormat = (0, index_1.getDefaultSchemaFormat)(parsedSpec.asyncapi); + const asyncapi = (0, utils_1.createDetailedAsyncAPI)(parsedSpec, document.__parserInput, document.source || undefined); + const input = { + asyncapi, + data: targetVal.payload, + meta: {}, + path, + schemaFormat, + defaultSchemaFormat, + }; + try { + return yield (0, index_1.validateSchema)(parser, input); + } + catch (err) { + return [ + { + message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, + path, + } + ]; + } + })); +} diff --git a/apps/parser/cjs/spec-types/index.d.ts b/apps/parser/cjs/spec-types/index.d.ts new file mode 100644 index 000000000..813b5f382 --- /dev/null +++ b/apps/parser/cjs/spec-types/index.d.ts @@ -0,0 +1,2 @@ +export * as v2 from './v2'; +export * as v3 from './v3'; diff --git a/apps/parser/cjs/spec-types/index.js b/apps/parser/cjs/spec-types/index.js new file mode 100644 index 000000000..498785478 --- /dev/null +++ b/apps/parser/cjs/spec-types/index.js @@ -0,0 +1,28 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.v3 = exports.v2 = void 0; +exports.v2 = __importStar(require("./v2")); +exports.v3 = __importStar(require("./v3")); diff --git a/apps/parser/cjs/spec-types/v2.d.ts b/apps/parser/cjs/spec-types/v2.d.ts new file mode 100644 index 000000000..56bf4d798 --- /dev/null +++ b/apps/parser/cjs/spec-types/v2.d.ts @@ -0,0 +1,363 @@ +import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; +export type AsyncAPIVersion = string; +export type Identifier = string; +export type DefaultContentType = string; +export interface AsyncAPIObject extends SpecificationExtensions { + asyncapi: AsyncAPIVersion; + id?: Identifier; + info: InfoObject; + defaultContentType?: DefaultContentType; + servers?: ServersObject; + channels: ChannelsObject; + components?: ComponentsObject; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject; +} +export interface InfoObject extends SpecificationExtensions { + title: string; + version: string; + description?: string; + termsOfService?: string; + contact?: ContactObject; + license?: LicenseObject; +} +export interface ContactObject extends SpecificationExtensions { + name?: string; + url?: string; + email?: string; +} +export interface LicenseObject extends SpecificationExtensions { + name: string; + url?: string; +} +export type ServersObject = Record; +export interface ServerObject extends SpecificationExtensions { + url: string; + protocol: string; + protocolVersion?: string; + description?: string; + variables?: Record; + security?: Array; + bindings?: ServerBindingsObject | ReferenceObject; + tags?: TagsObject; +} +export interface ServerVariableObject extends SpecificationExtensions { + enum?: Array; + default?: string; + description?: string; + examples?: Array; +} +export interface ServerBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export type ChannelsObject = Record; +export interface ChannelObject extends SpecificationExtensions { + description?: string; + servers?: Array; + subscribe?: OperationObject; + publish?: OperationObject; + parameters?: ParametersObject; + bindings?: ChannelBindingsObject | ReferenceObject; +} +export interface ChannelBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export interface OperationObject extends OperationTraitObject, SpecificationExtensions { + message?: MessageObject | ReferenceObject | { + oneOf: Array; + }; + traits?: Array; +} +export interface OperationTraitObject extends SpecificationExtensions { + operationId?: string; + summary?: string; + description?: string; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject; + bindings?: OperationBindingsObject | ReferenceObject; +} +export interface OperationBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export type ParametersObject = Record; +export interface ParameterObject extends SpecificationExtensions { + description?: string; + schema?: SchemaObject; + location?: string; +} +export interface MessageObject extends MessageTraitObject, SpecificationExtensions { + payload?: any; + traits?: Array; +} +export interface MessageTraitObject extends SpecificationExtensions { + messageId?: string; + headers?: SchemaObject; + correlationId?: CorrelationIDObject | ReferenceObject; + schemaFormat?: string; + contentType?: string; + name?: string; + title?: string; + summary?: string; + description?: string; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject; + bindings?: MessageBindingsObject | ReferenceObject; + examples?: Array; +} +export interface MessageExampleObject extends SpecificationExtensions { + name?: string; + summary?: string; + headers?: Record; + payload?: any; +} +export interface MessageBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export type TagsObject = Array; +export interface TagObject extends SpecificationExtensions { + name: string; + description?: string; + externalDocs?: ExternalDocumentationObject; +} +export interface ExternalDocumentationObject extends SpecificationExtensions { + url: string; + description?: string; +} +export interface ComponentsObject extends SpecificationExtensions { + channels?: Record; + servers?: Record; + schemas?: Record; + messages?: Record; + securitySchemes?: Record; + parameters?: Record; + serverVariables?: Record; + correlationIds?: Record; + operationTraits?: Record; + messageTraits?: Record; + serverBindings?: Record; + channelBindings?: Record; + operationBindings?: Record; + messageBindings?: Record; +} +export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; +export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; +export interface AsyncAPISchemaDefinition extends SpecificationExtensions { + $id?: string; + $schema?: JSONSchema7Version; + $comment?: string; + type?: JSONSchema7TypeName | JSONSchema7TypeName[]; + enum?: JSONSchema7Type[]; + const?: JSONSchema7Type; + multipleOf?: number; + maximum?: number; + exclusiveMaximum?: number; + minimum?: number; + exclusiveMinimum?: number; + maxLength?: number; + minLength?: number; + pattern?: string; + items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; + additionalItems?: AsyncAPISchemaObject; + maxItems?: number; + minItems?: number; + uniqueItems?: boolean; + contains?: AsyncAPISchemaObject; + maxProperties?: number; + minProperties?: number; + required?: string[]; + properties?: { + [key: string]: AsyncAPISchemaObject; + }; + patternProperties?: { + [key: string]: AsyncAPISchemaObject; + }; + additionalProperties?: AsyncAPISchemaObject; + dependencies?: { + [key: string]: AsyncAPISchemaObject | string[]; + }; + propertyNames?: AsyncAPISchemaObject; + if?: AsyncAPISchemaObject; + then?: AsyncAPISchemaObject; + else?: AsyncAPISchemaObject; + allOf?: AsyncAPISchemaObject[]; + anyOf?: AsyncAPISchemaObject[]; + oneOf?: AsyncAPISchemaObject[]; + not?: AsyncAPISchemaObject; + format?: string; + contentMediaType?: string; + contentEncoding?: string; + definitions?: { + [key: string]: AsyncAPISchemaObject; + }; + title?: string; + description?: string; + default?: JSONSchema7Type; + readOnly?: boolean; + writeOnly?: boolean; + examples?: Array; + discriminator?: string; + externalDocs?: ExternalDocumentationObject; + deprecated?: boolean; + [keyword: string]: any; +} +export interface SecuritySchemeObject extends SpecificationExtensions { + type: SecuritySchemeType; + description?: string; + name?: string; + in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; + scheme?: string; + bearerFormat?: string; + flows?: OAuthFlowsObject; + openIdConnectUrl?: string; +} +export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; +export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'header' | 'cookie'; +export interface SecuritySchemeObjectBase extends SpecificationExtensions { + description?: string; +} +export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'userPassword'; +} +export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'apiKey'; + in: 'user' | 'password'; +} +export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'X509'; +} +export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'symmetricEncryption'; +} +export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'asymmetricEncryption'; +} +export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'httpApiKey'; + name: string; + in: 'query' | 'header' | 'cookie'; +} +export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'http'; + scheme: string; + bearerFormat?: string; +} +export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'oauth2'; + flows: OAuthFlowsObject; +} +export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'openIdConnect'; + openIdConnectUrl: string; +} +export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'plain'; +} +export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha256'; +} +export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha512'; +} +export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'gssapi'; +} +export interface OAuthFlowsObject extends SpecificationExtensions { + implicit?: OAuthFlowObjectImplicit; + password?: OAuthFlowObjectPassword; + clientCredentials?: OAuthFlowObjectClientCredentials; + authorizationCode?: OAuthFlowObjectAuthorizationCode; +} +export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; +export interface OAuthFlowObjectBase extends SpecificationExtensions { + refreshUrl?: string; + scopes: Record; +} +export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; +} +export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; + tokenUrl: string; +} +export type SecurityRequirementObject = Record>; +export interface CorrelationIDObject extends SpecificationExtensions { + location: string; + description?: string; +} +export interface Binding { + bindingVersion?: string; +} +export interface SpecificationExtensions { + [extension: `x-${string}`]: SpecificationExtension; +} +export type SpecificationExtension = T; +export interface ReferenceObject { + $ref: string; +} diff --git a/apps/parser/cjs/spec-types/v2.js b/apps/parser/cjs/spec-types/v2.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/spec-types/v2.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/spec-types/v3.d.ts b/apps/parser/cjs/spec-types/v3.d.ts new file mode 100644 index 000000000..88b95e69a --- /dev/null +++ b/apps/parser/cjs/spec-types/v3.d.ts @@ -0,0 +1,404 @@ +import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; +export type AsyncAPIVersion = string; +export type Identifier = string; +export type DefaultContentType = string; +export interface AsyncAPIObject extends SpecificationExtensions { + asyncapi: AsyncAPIVersion; + id?: Identifier; + defaultContentType?: DefaultContentType; + info: InfoObject; + servers?: ServersObject; + channels?: ChannelsObject; + operations?: OperationsObject; + components?: ComponentsObject; +} +export interface InfoObject extends SpecificationExtensions { + title: string; + version: string; + description?: string; + termsOfService?: string; + contact?: ContactObject; + license?: LicenseObject; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; +} +export interface ContactObject extends SpecificationExtensions { + name?: string; + url?: string; + email?: string; +} +export interface LicenseObject extends SpecificationExtensions { + name: string; + url?: string; +} +export type ServersObject = Record; +export interface ServerObject extends SpecificationExtensions { + host: string; + protocol: string; + pathname?: string; + protocolVersion?: string; + description?: string; + variables?: Record; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: ServerBindingsObject | ReferenceObject; +} +export interface ServerVariableObject extends SpecificationExtensions { + enum?: Array; + default?: string; + description?: string; + examples?: Array; +} +export interface ServerBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type ChannelsObject = Record; +export interface ChannelObject extends SpecificationExtensions { + address?: string | null; + messages?: MessagesObject; + title?: string; + summary?: string; + description?: string; + servers?: Array; + parameters?: ParametersObject; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: ChannelBindingsObject | ReferenceObject; +} +export interface ChannelBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type OperationsObject = Record; +export interface OperationObject extends SpecificationExtensions { + action: 'send' | 'receive'; + channel: ChannelObject | ReferenceObject; + messages?: Array; + reply?: OperationReplyObject | ReferenceObject; + title?: string; + summary?: string; + description?: string; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: OperationBindingsObject | ReferenceObject; + traits?: Array; +} +export interface OperationTraitObject extends SpecificationExtensions { + title?: string; + summary?: string; + description?: string; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: OperationBindingsObject | ReferenceObject; +} +export interface OperationReplyObject extends SpecificationExtensions { + channel?: ChannelObject | ReferenceObject; + messages?: (MessageObject | ReferenceObject)[]; + address?: OperationReplyAddressObject | ReferenceObject; +} +export interface OperationReplyAddressObject extends SpecificationExtensions { + location: string; + description?: string; +} +export interface OperationBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type MessagesObject = Record; +export interface MessageObject extends MessageTraitObject, SpecificationExtensions { + payload?: any; + traits?: Array; +} +export interface MessageTraitObject extends SpecificationExtensions { + headers?: MultiFormatSchemaObject; + correlationId?: CorrelationIDObject | ReferenceObject; + contentType?: string; + name?: string; + title?: string; + summary?: string; + description?: string; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: MessageBindingsObject | ReferenceObject; + examples?: Array; +} +export interface MessageExampleObject extends SpecificationExtensions { + name?: string; + summary?: string; + headers?: Record; + payload?: any; +} +export interface MessageBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type ParametersObject = Record; +export interface ParameterObject extends SpecificationExtensions { + description?: string; + enum?: string[]; + default?: string; + examples?: string[]; + location?: string; +} +export type TagsObject = Array; +export interface TagObject extends SpecificationExtensions { + name: string; + description?: string; + externalDocs?: ExternalDocumentationObject | ReferenceObject; +} +export interface ExternalDocumentationObject extends SpecificationExtensions { + url: string; + description?: string; +} +export interface ComponentsObject extends SpecificationExtensions { + servers?: Record; + channels?: Record; + operations?: Record; + messages?: Record; + schemas?: Record; + securitySchemes?: Record; + serverVariables?: Record; + parameters?: Record; + replies?: Record; + replyAddresses?: Record; + correlationIds?: Record; + operationTraits?: Record; + messageTraits?: Record; + tags?: Record; + externalDocs?: Record; + serverBindings?: Record; + channelBindings?: Record; + operationBindings?: Record; + messageBindings?: Record; +} +export interface SecuritySchemeObject extends SpecificationExtensions { + type: SecuritySchemeType; + description?: string; + name?: string; + in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; + scheme?: string; + bearerFormat?: string; + flows?: OAuthFlowsObject; + openIdConnectUrl?: string; + scopes?: string[]; +} +export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; +export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'cookie'; +export interface SecuritySchemeObjectBase extends SpecificationExtensions { + description?: string; +} +export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'userPassword'; +} +export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'apiKey'; + in: 'user' | 'password'; +} +export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'X509'; +} +export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'symmetricEncryption'; +} +export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'asymmetricEncryption'; +} +export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'httpApiKey'; + name: string; + in: 'query' | 'header' | 'cookie'; +} +export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'http'; + scheme: string; + bearerFormat?: string; +} +export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'oauth2'; + flows: OAuthFlowsObject; + scopes: string[]; +} +export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'openIdConnect'; + openIdConnectUrl: string; +} +export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'plain'; +} +export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha256'; +} +export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha512'; +} +export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'gssapi'; +} +export interface OAuthFlowsObject extends SpecificationExtensions { + implicit?: OAuthFlowObjectImplicit; + password?: OAuthFlowObjectPassword; + clientCredentials?: OAuthFlowObjectClientCredentials; + authorizationCode?: OAuthFlowObjectAuthorizationCode; +} +export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; +export interface OAuthFlowObjectBase extends SpecificationExtensions { + refreshUrl?: string; + availableScopes: Record; +} +export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; +} +export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; + tokenUrl: string; +} +export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; +export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; +export type MultiFormatObject = { + schema: AsyncAPISchemaObject; + schemaFormat: string | undefined; +}; +export type MultiFormatSchemaObject = AsyncAPISchemaObject | MultiFormatObject; +export interface AsyncAPISchemaDefinition extends SpecificationExtensions { + $id?: string; + $schema?: JSONSchema7Version; + $comment?: string; + type?: JSONSchema7TypeName | JSONSchema7TypeName[]; + enum?: JSONSchema7Type[]; + const?: JSONSchema7Type; + multipleOf?: number; + maximum?: number; + exclusiveMaximum?: number; + minimum?: number; + exclusiveMinimum?: number; + maxLength?: number; + minLength?: number; + pattern?: string; + items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; + additionalItems?: AsyncAPISchemaObject; + maxItems?: number; + minItems?: number; + uniqueItems?: boolean; + contains?: AsyncAPISchemaObject; + maxProperties?: number; + minProperties?: number; + required?: string[]; + properties?: { + [key: string]: AsyncAPISchemaObject; + }; + patternProperties?: { + [key: string]: AsyncAPISchemaObject; + }; + additionalProperties?: AsyncAPISchemaObject; + dependencies?: { + [key: string]: AsyncAPISchemaObject | string[]; + }; + propertyNames?: AsyncAPISchemaObject; + if?: AsyncAPISchemaObject; + then?: AsyncAPISchemaObject; + else?: AsyncAPISchemaObject; + allOf?: AsyncAPISchemaObject[]; + anyOf?: AsyncAPISchemaObject[]; + oneOf?: AsyncAPISchemaObject[]; + not?: AsyncAPISchemaObject; + format?: string; + contentMediaType?: string; + contentEncoding?: string; + definitions?: { + [key: string]: AsyncAPISchemaObject; + }; + title?: string; + description?: string; + default?: JSONSchema7Type; + readOnly?: boolean; + writeOnly?: boolean; + examples?: Array; + discriminator?: string; + externalDocs?: ExternalDocumentationObject; + deprecated?: boolean; + [keyword: string]: any; +} +export interface Binding { + bindingVersion?: string; +} +export interface SpecificationExtensions { + [extension: `x-${string}`]: SpecificationExtension; +} +export type SpecificationExtension = T; +export interface ReferenceObject { + $ref: string; +} +export interface CorrelationIDObject extends SpecificationExtensions { + location: string; + description?: string; +} diff --git a/apps/parser/cjs/spec-types/v3.js b/apps/parser/cjs/spec-types/v3.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/spec-types/v3.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/spectral.d.ts b/apps/parser/cjs/spectral.d.ts new file mode 100644 index 000000000..8b7d9ec12 --- /dev/null +++ b/apps/parser/cjs/spectral.d.ts @@ -0,0 +1,3 @@ +import { Spectral } from '@stoplight/spectral-core'; +import type { Parser, ParserOptions } from './parser'; +export declare function createSpectral(parser: Parser, options?: ParserOptions): Spectral; diff --git a/apps/parser/cjs/spectral.js b/apps/parser/cjs/spectral.js new file mode 100644 index 000000000..22d5a5053 --- /dev/null +++ b/apps/parser/cjs/spectral.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createSpectral = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const ruleset_1 = require("./ruleset"); +const resolver_1 = require("./resolver"); +function createSpectral(parser, options = {}) { + var _a; + const resolverOptions = (_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver; + const spectral = new spectral_core_1.Spectral({ resolver: (0, resolver_1.createResolver)(resolverOptions) }); + const ruleset = (0, ruleset_1.createRuleset)(parser, options.ruleset); + spectral.setRuleset(ruleset); + return spectral; +} +exports.createSpectral = createSpectral; diff --git a/apps/parser/cjs/stringify.d.ts b/apps/parser/cjs/stringify.d.ts new file mode 100644 index 000000000..88e0df5c1 --- /dev/null +++ b/apps/parser/cjs/stringify.d.ts @@ -0,0 +1,9 @@ +import { AsyncAPIDocumentInterface } from './models'; +export interface StringifyOptions { + space?: string | number; +} +export declare function stringify(document: unknown, options?: StringifyOptions): string | undefined; +export declare function unstringify(document: unknown): AsyncAPIDocumentInterface | undefined; +export declare function copy(data: Record): any; +export declare function refReplacer(): (this: unknown, field: string, value: unknown) => unknown; +export declare function traverseStringifiedData(parent: any, field: string | undefined, root: any, objToPath: Map, pathToObj: Map): void; diff --git a/apps/parser/cjs/stringify.js b/apps/parser/cjs/stringify.js new file mode 100644 index 000000000..627156d55 --- /dev/null +++ b/apps/parser/cjs/stringify.js @@ -0,0 +1,105 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.traverseStringifiedData = exports.refReplacer = exports.copy = exports.unstringify = exports.stringify = void 0; +const document_1 = require("./document"); +const utils_1 = require("./utils"); +const constants_1 = require("./constants"); +function stringify(document, options = {}) { + if ((0, document_1.isAsyncAPIDocument)(document)) { + document = document.json(); + } + else if ((0, document_1.isParsedDocument)(document)) { + if ((0, document_1.isStringifiedDocument)(document)) { + return JSON.stringify(document); + } + } + else { + return; + } + return JSON.stringify(Object.assign(Object.assign({}, document), { [String(constants_1.xParserSpecStringified)]: true }), refReplacer(), options.space || 2); +} +exports.stringify = stringify; +function unstringify(document) { + let parsed = document; + if (typeof document === 'string') { + try { + parsed = JSON.parse(document); + } + catch (_) { + return; + } + } + if (!(0, document_1.isStringifiedDocument)(parsed)) { + return; + } + // shall copy of whole JSON + parsed = Object.assign({}, parsed); + // remove `x-parser-spec-stringified` extension + delete parsed[String(constants_1.xParserSpecStringified)]; + traverseStringifiedData(document, undefined, document, new Map(), new Map()); + return (0, document_1.createAsyncAPIDocument)((0, utils_1.createDetailedAsyncAPI)(parsed, document)); +} +exports.unstringify = unstringify; +function copy(data) { + const stringifiedData = JSON.stringify(data, refReplacer()); + const unstringifiedData = JSON.parse(stringifiedData); + traverseStringifiedData(unstringifiedData, undefined, unstringifiedData, new Map(), new Map()); + return unstringifiedData; +} +exports.copy = copy; +function refReplacer() { + const modelPaths = new Map(); + const paths = new Map(); + let init = null; + return function (field, value) { + // `this` points to parent object of given value - some object or array + const pathPart = modelPaths.get(this) + (Array.isArray(this) ? `[${field}]` : `.${field}`); + // check if `objOrPath` has "reference" + const isComplex = value === Object(value); + if (isComplex) { + modelPaths.set(value, pathPart); + } + const savedPath = paths.get(value) || ''; + if (!savedPath && isComplex) { + const valuePath = pathPart.replace(/undefined\.\.?/, ''); + paths.set(value, valuePath); + } + const prefixPath = savedPath[0] === '[' ? '$' : '$.'; + let val = savedPath ? `$ref:${prefixPath}${savedPath}` : value; + if (init === null) { + init = value; + } + else if (val === init) { + val = '$ref:$'; + } + return val; + }; +} +exports.refReplacer = refReplacer; +const refRoot = '$ref:$'; +function traverseStringifiedData(parent, field, root, objToPath, pathToObj) { + let objOrPath = parent; + let path = refRoot; + if (field !== undefined) { + // here can be string with `$ref` prefix or normal value + objOrPath = parent[String(field)]; + const concatenatedPath = field ? `.${field}` : ''; + path = objToPath.get(parent) + (Array.isArray(parent) ? `[${field}]` : concatenatedPath); + } + objToPath.set(objOrPath, path); + pathToObj.set(path, objOrPath); + const ref = pathToObj.get(objOrPath); + if (ref) { + parent[String(field)] = ref; + } + if (objOrPath === refRoot || ref === refRoot) { + parent[String(field)] = root; + } + // traverse all keys, only if object is array/object + if (objOrPath === Object(objOrPath)) { + for (const f in objOrPath) { + traverseStringifiedData(objOrPath, f, root, objToPath, pathToObj); + } + } +} +exports.traverseStringifiedData = traverseStringifiedData; diff --git a/apps/parser/cjs/types.d.ts b/apps/parser/cjs/types.d.ts new file mode 100644 index 000000000..b0d0d31ef --- /dev/null +++ b/apps/parser/cjs/types.d.ts @@ -0,0 +1,24 @@ +import type { ISpectralDiagnostic, IFunctionResult } from '@stoplight/spectral-core'; +import type { AsyncAPIDocumentInterface } from './models'; +import type { v2, v3 } from './spec-types'; +export type MaybeAsyncAPI = { + asyncapi: string; +} & Record; +export interface AsyncAPISemver { + version: string; + major: number; + minor: number; + patch: number; + rc?: number; +} +export interface DetailedAsyncAPI { + source?: string; + input?: string | MaybeAsyncAPI | AsyncAPIObject; + parsed: AsyncAPIObject; + semver: AsyncAPISemver; +} +export type Input = string | MaybeAsyncAPI | AsyncAPIDocumentInterface; +export type Diagnostic = ISpectralDiagnostic; +export type SchemaValidateResult = IFunctionResult; +export type AsyncAPIObject = v2.AsyncAPIObject | v3.AsyncAPIObject; +export type AsyncAPISchema = v2.AsyncAPISchemaObject | v3.AsyncAPISchemaObject; diff --git a/apps/parser/cjs/types.js b/apps/parser/cjs/types.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/apps/parser/cjs/types.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/utils.d.ts b/apps/parser/cjs/utils.d.ts new file mode 100644 index 000000000..56234e81c --- /dev/null +++ b/apps/parser/cjs/utils.d.ts @@ -0,0 +1,28 @@ +import { Document } from '@stoplight/spectral-core'; +import type { ISpectralDiagnostic } from '@stoplight/spectral-core'; +import type { BaseModel } from './models'; +import type { AsyncAPISemver, AsyncAPIObject, DetailedAsyncAPI, MaybeAsyncAPI, Diagnostic } from './types'; +export declare function createDetailedAsyncAPI(parsed: AsyncAPIObject, input?: string | MaybeAsyncAPI | AsyncAPIObject, source?: string): DetailedAsyncAPI; +export declare function getSemver(version: string): AsyncAPISemver; +export declare function normalizeInput(asyncapi: string | MaybeAsyncAPI): string; +export declare function hasErrorDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function hasWarningDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function hasInfoDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function hasHintDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function setExtension(id: string, value: unknown, model: BaseModel): void; +export declare function setExtensionOnJson(id: string, value: unknown, model: any): void; +export declare function mergePatch(origin: unknown, patch: unknown): T; +export declare function isObject(value: unknown): value is Record; +export declare function hasRef(value: unknown): value is { + $ref: string; +}; +export declare function toJSONPathArray(jsonPath: string): Array; +export declare function createUncaghtDiagnostic(err: unknown, message: string, document?: Document): Diagnostic[]; +export declare function tilde(str: string): string; +export declare function untilde(str: string): string; +export declare function findSubArrayIndex(arr: Array, subarr: Array, fromIndex?: number): number; +export declare function resolveServerUrl(url: string): { + host: string; + pathname: string | undefined; +}; +export declare function retrieveDeepData(value: Record, path: Array): Record | undefined; diff --git a/apps/parser/cjs/utils.js b/apps/parser/cjs/utils.js new file mode 100644 index 000000000..57ded568b --- /dev/null +++ b/apps/parser/cjs/utils.js @@ -0,0 +1,178 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.retrieveDeepData = exports.resolveServerUrl = exports.findSubArrayIndex = exports.untilde = exports.tilde = exports.createUncaghtDiagnostic = exports.toJSONPathArray = exports.hasRef = exports.isObject = exports.mergePatch = exports.setExtensionOnJson = exports.setExtension = exports.hasHintDiagnostic = exports.hasInfoDiagnostic = exports.hasWarningDiagnostic = exports.hasErrorDiagnostic = exports.normalizeInput = exports.getSemver = exports.createDetailedAsyncAPI = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const types_1 = require("@stoplight/types"); +function createDetailedAsyncAPI(parsed, input, source) { + return { + source, + input, + parsed, + semver: getSemver(parsed.asyncapi), + }; +} +exports.createDetailedAsyncAPI = createDetailedAsyncAPI; +function getSemver(version) { + const [major, minor, patchWithRc] = version.split('.'); + const [patch, rc] = patchWithRc.split('-rc'); + return { + version, + major: Number(major), + minor: Number(minor), + patch: Number(patch), + rc: rc && Number(rc), + }; +} +exports.getSemver = getSemver; +function normalizeInput(asyncapi) { + if (typeof asyncapi === 'string') { + return asyncapi; + } + return JSON.stringify(asyncapi, undefined, 2); +} +exports.normalizeInput = normalizeInput; +function hasErrorDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Error); +} +exports.hasErrorDiagnostic = hasErrorDiagnostic; +function hasWarningDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Warning); +} +exports.hasWarningDiagnostic = hasWarningDiagnostic; +function hasInfoDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Information); +} +exports.hasInfoDiagnostic = hasInfoDiagnostic; +function hasHintDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Hint); +} +exports.hasHintDiagnostic = hasHintDiagnostic; +function setExtension(id, value, model) { + const modelValue = model.json(); + setExtensionOnJson(id, value, modelValue); +} +exports.setExtension = setExtension; +function setExtensionOnJson(id, value, model) { + if (typeof model === 'object' && model) { + id = id.startsWith('x-') ? id : `x-${id}`; + model[String(id)] = value; + } +} +exports.setExtensionOnJson = setExtensionOnJson; +function mergePatch(origin, patch) { + // If the patch is not an object, it replaces the origin. + if (!isObject(patch)) { + return patch; + } + const result = !isObject(origin) + ? {} // Non objects are being replaced. + : Object.assign({}, origin); // Make sure we never modify the origin. + Object.keys(patch).forEach(key => { + const patchVal = patch[key]; + if (patchVal === null) { + delete result[key]; + } + else { + result[key] = mergePatch(result[key], patchVal); + } + }); + return result; +} +exports.mergePatch = mergePatch; +function isObject(value) { + return Boolean(value) && typeof value === 'object' && Array.isArray(value) === false; +} +exports.isObject = isObject; +function hasRef(value) { + return isObject(value) && '$ref' in value && typeof value.$ref === 'string'; +} +exports.hasRef = hasRef; +function toJSONPathArray(jsonPath) { + return splitPath(serializePath(jsonPath)); +} +exports.toJSONPathArray = toJSONPathArray; +function createUncaghtDiagnostic(err, message, document) { + if (!(err instanceof Error)) { + return []; + } + const range = document ? document.getRangeForJsonPath([]) : spectral_core_1.Document.DEFAULT_RANGE; + return [ + { + code: 'uncaught-error', + message: `${message}. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, + path: [], + severity: types_1.DiagnosticSeverity.Error, + range, + } + ]; +} +exports.createUncaghtDiagnostic = createUncaghtDiagnostic; +function tilde(str) { + return str.replace(/[~/]{1}/g, (sub) => { + switch (sub) { + case '/': return '~1'; + case '~': return '~0'; + } + return sub; + }); +} +exports.tilde = tilde; +function untilde(str) { + if (!str.includes('~')) + return str; + return str.replace(/~[01]/g, (sub) => { + switch (sub) { + case '~1': return '/'; + case '~0': return '~'; + } + return sub; + }); +} +exports.untilde = untilde; +function findSubArrayIndex(arr, subarr, fromIndex = 0) { + let i, found, j; + for (i = fromIndex; i < 1 + (arr.length - subarr.length); ++i) { + found = true; + for (j = 0; j < subarr.length; ++j) { + if (arr[i + j] !== subarr[j]) { + found = false; + break; + } + } + if (found) { + return i; + } + } + return -1; +} +exports.findSubArrayIndex = findSubArrayIndex; +function resolveServerUrl(url) { + // eslint-disable-next-line prefer-const + let [maybeProtocol, maybeHost] = url.split('://'); + if (!maybeHost) { + maybeHost = maybeProtocol; + } + const [host, ...pathnames] = maybeHost.split('/'); + if (pathnames.length) { + return { host, pathname: `/${pathnames.join('/')}` }; + } + return { host, pathname: undefined }; +} +exports.resolveServerUrl = resolveServerUrl; +function retrieveDeepData(value, path) { + let index = 0; + const length = path.length; + while (typeof value === 'object' && value && index < length) { + value = value[path[index++]]; + } + return index === length ? value : undefined; +} +exports.retrieveDeepData = retrieveDeepData; +function serializePath(path) { + if (path.startsWith('#')) + return path.substring(1); + return path; +} +function splitPath(path) { + return path.split('/').filter(Boolean).map(untilde); +} diff --git a/apps/parser/cjs/validate.d.ts b/apps/parser/cjs/validate.d.ts new file mode 100644 index 000000000..efb050810 --- /dev/null +++ b/apps/parser/cjs/validate.d.ts @@ -0,0 +1,25 @@ +import { Document } from '@stoplight/spectral-core'; +import type { Spectral, IRunOpts } from '@stoplight/spectral-core'; +import type { Parser } from './parser'; +import type { ResolverOptions } from './resolver'; +import type { Input, Diagnostic } from './types'; +export interface ValidateOptions extends IRunOpts { + source?: string; + allowedSeverity?: { + error?: boolean; + warning?: boolean; + info?: boolean; + hint?: boolean; + }; + __unstable?: { + resolver?: Omit; + }; +} +export interface ValidateOutput { + validated: unknown; + diagnostics: Diagnostic[]; + extras: { + document: Document; + }; +} +export declare function validate(parser: Parser, parserSpectral: Spectral, asyncapi: Input, options?: ValidateOptions): Promise; diff --git a/apps/parser/cjs/validate.js b/apps/parser/cjs/validate.js new file mode 100644 index 000000000..5a79e3a25 --- /dev/null +++ b/apps/parser/cjs/validate.js @@ -0,0 +1,52 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validate = void 0; +const spectral_core_1 = require("@stoplight/spectral-core"); +const spectral_parsers_1 = require("@stoplight/spectral-parsers"); +const spectral_1 = require("./spectral"); +const utils_1 = require("./utils"); +const defaultOptions = { + allowedSeverity: { + error: false, + warning: true, + info: true, + hint: true, + }, + __unstable: {}, +}; +function validate(parser, parserSpectral, asyncapi, options = {}) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + let document; + try { + const { allowedSeverity } = (0, utils_1.mergePatch)(defaultOptions, options); + const stringifiedDocument = (0, utils_1.normalizeInput)(asyncapi); + document = new spectral_core_1.Document(stringifiedDocument, spectral_parsers_1.Yaml, options.source); + // add input data (asyncapi argument) to the document to reuse it in rules + document.__parserInput = asyncapi; + const spectral = ((_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver) ? (0, spectral_1.createSpectral)(parser, options) : parserSpectral; + // eslint-disable-next-line prefer-const + let { resolved: validated, results } = yield spectral.runWithResolved(document, {}); + if ((!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.error) && (0, utils_1.hasErrorDiagnostic)(results)) || + (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.warning) && (0, utils_1.hasWarningDiagnostic)(results)) || + (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.info) && (0, utils_1.hasInfoDiagnostic)(results)) || + (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.hint) && (0, utils_1.hasHintDiagnostic)(results))) { + validated = undefined; + } + return { validated, diagnostics: results, extras: { document: document } }; + } + catch (err) { + return { validated: undefined, diagnostics: (0, utils_1.createUncaghtDiagnostic)(err, 'Error thrown during AsyncAPI document validation', document), extras: { document: document } }; + } + }); +} +exports.validate = validate; diff --git a/apps/parser/esm/constants.d.ts b/apps/parser/esm/constants.d.ts new file mode 100644 index 000000000..ed323fa96 --- /dev/null +++ b/apps/parser/esm/constants.d.ts @@ -0,0 +1,15 @@ +export declare const xParserSpecParsed = "x-parser-spec-parsed"; +export declare const xParserSpecStringified = "x-parser-spec-stringified"; +export declare const xParserApiVersion = "x-parser-api-version"; +export declare const xParserMessageName = "x-parser-message-name"; +export declare const xParserMessageParsed = "x-parser-message-parsed"; +export declare const xParserSchemaId = "x-parser-schema-id"; +export declare const xParserOriginalSchemaFormat = "x-parser-original-schema-format"; +export declare const xParserOriginalPayload = "x-parser-original-payload"; +export declare const xParserOriginalTraits = "x-parser-original-traits"; +export declare const xParserCircular = "x-parser-circular"; +export declare const xParserCircularProps = "x-parser-circular-props"; +export declare const xParserObjectUniqueId = "x-parser-unique-object-id"; +export declare const EXTENSION_REGEX: RegExp; +export declare const specVersions: string[]; +export declare const lastVersion: string; diff --git a/apps/parser/esm/constants.js b/apps/parser/esm/constants.js new file mode 100644 index 000000000..f8d1b2bbd --- /dev/null +++ b/apps/parser/esm/constants.js @@ -0,0 +1,17 @@ +import specs from '@asyncapi/specs'; +export const xParserSpecParsed = 'x-parser-spec-parsed'; +export const xParserSpecStringified = 'x-parser-spec-stringified'; +export const xParserApiVersion = 'x-parser-api-version'; +export const xParserMessageName = 'x-parser-message-name'; +export const xParserMessageParsed = 'x-parser-message-parsed'; +export const xParserSchemaId = 'x-parser-schema-id'; +export const xParserOriginalSchemaFormat = 'x-parser-original-schema-format'; +export const xParserOriginalPayload = 'x-parser-original-payload'; +export const xParserOriginalTraits = 'x-parser-original-traits'; +export const xParserCircular = 'x-parser-circular'; +export const xParserCircularProps = 'x-parser-circular-props'; +export const xParserObjectUniqueId = 'x-parser-unique-object-id'; +export const EXTENSION_REGEX = /^x-[\w\d.\-_]+$/; +// Only >=2.0.0 versions are supported +export const specVersions = Object.keys(specs.schemas); +export const lastVersion = specVersions[specVersions.length - 1]; diff --git a/apps/parser/esm/custom-operations/anonymous-naming.d.ts b/apps/parser/esm/custom-operations/anonymous-naming.d.ts new file mode 100644 index 000000000..25722cee7 --- /dev/null +++ b/apps/parser/esm/custom-operations/anonymous-naming.d.ts @@ -0,0 +1,2 @@ +import type { AsyncAPIDocumentInterface } from '../models'; +export declare function anonymousNaming(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/esm/custom-operations/anonymous-naming.js b/apps/parser/esm/custom-operations/anonymous-naming.js new file mode 100644 index 000000000..8f4bc18a9 --- /dev/null +++ b/apps/parser/esm/custom-operations/anonymous-naming.js @@ -0,0 +1,62 @@ +import { xParserMessageName, xParserSchemaId } from '../constants'; +import { traverseAsyncApiDocument } from '../iterator'; +import { setExtension, setExtensionOnJson } from '../utils'; +export function anonymousNaming(document) { + assignNameToComponentMessages(document); + assignNameToAnonymousMessages(document); + assignUidToComponentSchemas(document); + assignUidToComponentParameterSchemas(document); + assignUidToChannelParameterSchemas(document); + assignUidToAnonymousSchemas(document); +} +function assignNameToComponentMessages(document) { + document.components().messages().forEach(message => { + if (message.name() === undefined) { + setExtension(xParserMessageName, message.id(), message); + } + }); +} +function assignNameToAnonymousMessages(document) { + let anonymousMessageCounter = 0; + document.messages().forEach(message => { + var _a; + if (message.name() === undefined && ((_a = message.extensions().get(xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()) === undefined) { + setExtension(xParserMessageName, message.id() || ``, message); + } + }); +} +function assignUidToComponentParameterSchemas(document) { + document.components().channelParameters().forEach(parameter => { + const schema = parameter.schema(); + if (schema && !schema.id()) { + setExtension(xParserSchemaId, parameter.id(), schema); + } + }); +} +function assignUidToChannelParameterSchemas(document) { + document.channels().forEach(channel => { + channel.parameters().forEach(parameter => { + const schema = parameter.schema(); + if (schema && !schema.id()) { + setExtension(xParserSchemaId, parameter.id(), schema); + } + }); + }); +} +function assignUidToComponentSchemas(document) { + document.components().schemas().forEach(schema => { + setExtension(xParserSchemaId, schema.id(), schema); + }); +} +function assignUidToAnonymousSchemas(doc) { + let anonymousSchemaCounter = 0; + function callback(schema) { + const json = schema.json(); + const isMultiFormatSchema = json.schema !== undefined; + const underlyingSchema = isMultiFormatSchema ? json.schema : json; + if (!schema.id()) { + setExtensionOnJson(xParserSchemaId, ``, underlyingSchema); + } + } + traverseAsyncApiDocument(doc, callback); +} diff --git a/apps/parser/esm/custom-operations/apply-traits.d.ts b/apps/parser/esm/custom-operations/apply-traits.d.ts new file mode 100644 index 000000000..1a7ff5ebe --- /dev/null +++ b/apps/parser/esm/custom-operations/apply-traits.d.ts @@ -0,0 +1,3 @@ +import type { v2, v3 } from '../spec-types'; +export declare function applyTraitsV2(asyncapi: v2.AsyncAPIObject): void; +export declare function applyTraitsV3(asyncapi: v3.AsyncAPIObject): void; diff --git a/apps/parser/esm/custom-operations/apply-traits.js b/apps/parser/esm/custom-operations/apply-traits.js new file mode 100644 index 000000000..6c313788f --- /dev/null +++ b/apps/parser/esm/custom-operations/apply-traits.js @@ -0,0 +1,95 @@ +import { JSONPath } from 'jsonpath-plus'; +import { mergePatch } from '../utils'; +const v2TraitPaths = [ + // operations + '$.channels.*.[publish,subscribe]', + '$.components.channels.*.[publish,subscribe]', + // messages + '$.channels.*.[publish,subscribe].message', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe].message', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.messages.*', +]; +export function applyTraitsV2(asyncapi) { + applyAllTraitsV2(asyncapi, v2TraitPaths); +} +function applyAllTraitsV2(asyncapi, paths) { + const visited = new Set(); + paths.forEach(path => { + JSONPath({ + path, + json: asyncapi, + resultType: 'value', + callback(value) { + if (visited.has(value)) { + return; + } + visited.add(value); + applyTraitsToObjectV2(value); + }, + }); + }); +} +function applyTraitsToObjectV2(value) { + if (Array.isArray(value.traits)) { + for (const trait of value.traits) { + for (const key in trait) { + value[String(key)] = mergePatch(value[String(key)], trait[String(key)]); + } + } + } +} +const v3TraitPaths = [ + // operations + '$.operations.*', + '$.operations.*.channel.*', + '$.operations.*.channel.messages.*', + '$.operations.*.messages.*', + '$.components.operations.*', + '$.components.operations.*.channel.*', + '$.components.operations.*.channel.messages.*', + '$.components.operations.*.messages.*', + // Channels + '$.channels.*.messages.*', + '$.components.channels.*.messages.*', + // messages + '$.components.messages.*', +]; +export function applyTraitsV3(asyncapi) { + applyAllTraitsV3(asyncapi, v3TraitPaths); +} +function applyAllTraitsV3(asyncapi, paths) { + const visited = new Set(); + paths.forEach(path => { + JSONPath({ + path, + json: asyncapi, + resultType: 'value', + callback(value) { + if (visited.has(value)) { + return; + } + visited.add(value); + applyTraitsToObjectV3(value); + }, + }); + }); +} +function applyTraitsToObjectV3(value) { + if (!Array.isArray(value.traits)) { + return; + } + // shallow copy of object + const copy = Object.assign({}, value); + // reset the object but preserve the reference + for (const key in value) { + delete value[key]; + } + // merge root object at the end + for (const trait of [...copy.traits, copy]) { + for (const key in trait) { + value[String(key)] = mergePatch(value[String(key)], trait[String(key)]); + } + } +} diff --git a/apps/parser/esm/custom-operations/apply-unique-ids.d.ts b/apps/parser/esm/custom-operations/apply-unique-ids.d.ts new file mode 100644 index 000000000..954f25248 --- /dev/null +++ b/apps/parser/esm/custom-operations/apply-unique-ids.d.ts @@ -0,0 +1,6 @@ +/** + * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. + * + * For v3; Apply unique ids to all channel's, operations, and message's. + */ +export declare function applyUniqueIds(structure: any): void; diff --git a/apps/parser/esm/custom-operations/apply-unique-ids.js b/apps/parser/esm/custom-operations/apply-unique-ids.js new file mode 100644 index 000000000..f24294a48 --- /dev/null +++ b/apps/parser/esm/custom-operations/apply-unique-ids.js @@ -0,0 +1,35 @@ +import { xParserObjectUniqueId } from '../constants'; +/** + * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. + * + * For v3; Apply unique ids to all channel's, operations, and message's. + */ +export function applyUniqueIds(structure) { + const asyncapiVersion = structure.asyncapi.charAt(0); + switch (asyncapiVersion) { + case '3': + applyUniqueIdToChannels(structure.channels); + applyUniqueIdToObjects(structure.operations); + if (structure.components) { + applyUniqueIdToObjects(structure.components.messages); + applyUniqueIdToObjects(structure.components.operations); + applyUniqueIdToChannels(structure.components.channels); + } + break; + } +} +function applyUniqueIdToChannels(channels) { + for (const [channelId, channel] of Object.entries((channels !== null && channels !== void 0 ? channels : {}))) { + if (!channel[xParserObjectUniqueId]) { + channel[xParserObjectUniqueId] = channelId; + } + applyUniqueIdToObjects(channel.messages); + } +} +function applyUniqueIdToObjects(objects) { + for (const [objectKey, object] of Object.entries((objects !== null && objects !== void 0 ? objects : {}))) { + if (!object[xParserObjectUniqueId]) { + object[xParserObjectUniqueId] = objectKey; + } + } +} diff --git a/apps/parser/esm/custom-operations/check-circular-refs.d.ts b/apps/parser/esm/custom-operations/check-circular-refs.d.ts new file mode 100644 index 000000000..b1189cdac --- /dev/null +++ b/apps/parser/esm/custom-operations/check-circular-refs.d.ts @@ -0,0 +1,2 @@ +import type { AsyncAPIDocumentInterface } from '../models'; +export declare function checkCircularRefs(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/esm/custom-operations/check-circular-refs.js b/apps/parser/esm/custom-operations/check-circular-refs.js new file mode 100644 index 000000000..148a5f847 --- /dev/null +++ b/apps/parser/esm/custom-operations/check-circular-refs.js @@ -0,0 +1,20 @@ +import { setExtension } from '../utils'; +import { xParserCircular } from '../constants'; +export function checkCircularRefs(document) { + if (hasInlineRef(document.json())) { + setExtension(xParserCircular, true, document); + } +} +function hasInlineRef(data) { + if (data && typeof data === 'object' && !Array.isArray(data)) { + if (Object.prototype.hasOwnProperty.call(data, '$ref')) { + return true; + } + for (const p in data) { + if (hasInlineRef(data[p])) { + return true; + } + } + } + return false; +} diff --git a/apps/parser/esm/custom-operations/index.d.ts b/apps/parser/esm/custom-operations/index.d.ts new file mode 100644 index 000000000..6767e00ce --- /dev/null +++ b/apps/parser/esm/custom-operations/index.d.ts @@ -0,0 +1,7 @@ +import type { RulesetFunctionContext } from '@stoplight/spectral-core'; +import type { Parser } from '../parser'; +import type { ParseOptions } from '../parse'; +import type { AsyncAPIDocumentInterface } from '../models'; +import type { DetailedAsyncAPI } from '../types'; +export { applyUniqueIds } from './apply-unique-ids'; +export declare function customOperations(parser: Parser, document: AsyncAPIDocumentInterface, detailed: DetailedAsyncAPI, inventory: RulesetFunctionContext['documentInventory'], options: ParseOptions): Promise; diff --git a/apps/parser/esm/custom-operations/index.js b/apps/parser/esm/custom-operations/index.js new file mode 100644 index 000000000..192bdd60b --- /dev/null +++ b/apps/parser/esm/custom-operations/index.js @@ -0,0 +1,55 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { applyTraitsV2, applyTraitsV3 } from './apply-traits'; +import { resolveCircularRefs } from './resolve-circular-refs'; +import { parseSchemasV2, parseSchemasV3 } from './parse-schema'; +import { anonymousNaming } from './anonymous-naming'; +import { checkCircularRefs } from './check-circular-refs'; +export { applyUniqueIds } from './apply-unique-ids'; +export function customOperations(parser, document, detailed, inventory, options) { + return __awaiter(this, void 0, void 0, function* () { + switch (detailed.semver.major) { + case 2: return operationsV2(parser, document, detailed, inventory, options); + case 3: return operationsV3(parser, document, detailed, inventory, options); + } + }); +} +function operationsV2(parser, document, detailed, inventory, options) { + return __awaiter(this, void 0, void 0, function* () { + checkCircularRefs(document); + if (options.applyTraits) { + applyTraitsV2(detailed.parsed); + } + if (options.parseSchemas) { + yield parseSchemasV2(parser, detailed); + } + // anonymous naming and resolving circular references should be done after custom schemas parsing + if (inventory) { + resolveCircularRefs(document, inventory); + } + anonymousNaming(document); + }); +} +function operationsV3(parser, document, detailed, inventory, options) { + return __awaiter(this, void 0, void 0, function* () { + checkCircularRefs(document); + if (options.applyTraits) { + applyTraitsV3(detailed.parsed); + } + if (options.parseSchemas) { + yield parseSchemasV3(parser, detailed); + } + // anonymous naming and resolving circular references should be done after custom schemas parsing + if (inventory) { + resolveCircularRefs(document, inventory); + } + anonymousNaming(document); + }); +} diff --git a/apps/parser/esm/custom-operations/parse-schema.d.ts b/apps/parser/esm/custom-operations/parse-schema.d.ts new file mode 100644 index 000000000..48c8eae6b --- /dev/null +++ b/apps/parser/esm/custom-operations/parse-schema.d.ts @@ -0,0 +1,4 @@ +import type { Parser } from '../parser'; +import type { DetailedAsyncAPI } from '../types'; +export declare function parseSchemasV2(parser: Parser, detailed: DetailedAsyncAPI): Promise; +export declare function parseSchemasV3(parser: Parser, detailed: DetailedAsyncAPI): Promise; diff --git a/apps/parser/esm/custom-operations/parse-schema.js b/apps/parser/esm/custom-operations/parse-schema.js new file mode 100644 index 000000000..a00ebab92 --- /dev/null +++ b/apps/parser/esm/custom-operations/parse-schema.js @@ -0,0 +1,153 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { JSONPath } from 'jsonpath-plus'; +import { xParserOriginalPayload } from '../constants'; +import { parseSchema, getSchemaFormat, getDefaultSchemaFormat } from '../schema-parser'; +const customSchemasPathsV2 = [ + // operations + '$.channels.*.[publish,subscribe].message', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe].message', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + // messages + '$.components.messages.*', +]; +const customSchemasPathsV3 = [ + // channels + '$.channels.*.messages.*.payload', + '$.channels.*.messages.*.headers', + '$.components.channels.*.messages.*.payload', + '$.components.channels.*.messages.*.headers', + // operations + '$.operations.*.messages.*.payload', + '$.operations.*.messages.*.headers', + '$.components.operations.*.messages.*.payload', + '$.components.operations.*.messages.*.headers', + // messages + '$.components.messages.*.payload', + '$.components.messages.*.headers.*', + // schemas + '$.components.schemas.*', +]; +export function parseSchemasV2(parser, detailed) { + return __awaiter(this, void 0, void 0, function* () { + const defaultSchemaFormat = getDefaultSchemaFormat(detailed.semver.version); + const parseItems = []; + const visited = new Set(); + customSchemasPathsV2.forEach(path => { + JSONPath({ + path, + json: detailed.parsed, + resultType: 'all', + callback(result) { + const value = result.value; + if (visited.has(value)) { + return; + } + visited.add(value); + const payload = value.payload; + if (!payload) { + return; + } + const schemaFormat = getSchemaFormat(value.schemaFormat, detailed.semver.version); + parseItems.push({ + input: { + asyncapi: detailed, + data: payload, + meta: { + message: value, + }, + path: [...splitPath(result.path), 'payload'], + schemaFormat, + defaultSchemaFormat, + }, + value, + }); + }, + }); + }); + return Promise.all(parseItems.map(item => parseSchemaV2(parser, item))); + }); +} +export function parseSchemasV3(parser, detailed) { + return __awaiter(this, void 0, void 0, function* () { + const defaultSchemaFormat = getDefaultSchemaFormat(detailed.semver.version); + const parseItems = []; + const visited = new Set(); + customSchemasPathsV3.forEach(path => { + JSONPath({ + path, + json: detailed.parsed, + resultType: 'all', + callback(result) { + const value = result.value; + if (visited.has(value)) { + return; + } + visited.add(value); + const schema = value.schema; + if (!schema) { + return; + } + let schemaFormat = value.schemaFormat; + if (!schemaFormat) { + return; + } + schemaFormat = getSchemaFormat(value.schemaFormat, detailed.semver.version); + parseItems.push({ + input: { + asyncapi: detailed, + data: schema, + meta: { + message: value, + }, + path: [...splitPath(result.path), 'schema'], + schemaFormat, + defaultSchemaFormat, + }, + value, + }); + }, + }); + }); + return Promise.all(parseItems.map(item => parseSchemaV3(parser, item))); + }); +} +function parseSchemaV3(parser, item) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const originalData = item.input.data; + const parsedData = yield parseSchema(parser, item.input); + if (((_a = item.value) === null || _a === void 0 ? void 0 : _a.schema) !== undefined) { + item.value.schema = parsedData; + } + else { + item.value = parsedData; + } + // save original payload only when data is different (returned by custom parsers) + if (originalData !== parsedData) { + item.value[xParserOriginalPayload] = originalData; + } + }); +} +function parseSchemaV2(parser, item) { + return __awaiter(this, void 0, void 0, function* () { + const originalData = item.input.data; + const parsedData = item.value.payload = yield parseSchema(parser, item.input); + // save original payload only when data is different (returned by custom parsers) + if (originalData !== parsedData) { + item.value[xParserOriginalPayload] = originalData; + } + }); +} +function splitPath(path) { + // remove $[' from beginning and '] at the end and split by '][' + return path.slice(3).slice(0, -2).split('\'][\''); +} diff --git a/apps/parser/esm/custom-operations/resolve-circular-refs.d.ts b/apps/parser/esm/custom-operations/resolve-circular-refs.d.ts new file mode 100644 index 000000000..f47f88291 --- /dev/null +++ b/apps/parser/esm/custom-operations/resolve-circular-refs.d.ts @@ -0,0 +1,3 @@ +import type { RulesetFunctionContext } from '@stoplight/spectral-core'; +import type { AsyncAPIDocumentInterface } from '../models'; +export declare function resolveCircularRefs(document: AsyncAPIDocumentInterface, inventory: RulesetFunctionContext['documentInventory']): void; diff --git a/apps/parser/esm/custom-operations/resolve-circular-refs.js b/apps/parser/esm/custom-operations/resolve-circular-refs.js new file mode 100644 index 000000000..04c58958d --- /dev/null +++ b/apps/parser/esm/custom-operations/resolve-circular-refs.js @@ -0,0 +1,52 @@ +import { setExtension, toJSONPathArray, retrieveDeepData, findSubArrayIndex } from '../utils'; +import { xParserCircular } from '../constants'; +export function resolveCircularRefs(document, inventory) { + const documentJson = document.json(); + const ctx = { document: documentJson, hasCircular: false, inventory, visited: new Set() }; + traverse(documentJson, [], null, '', ctx); + if (ctx.hasCircular) { + setExtension(xParserCircular, true, document); + } +} +function traverse(data, path, parent, property, ctx) { + if (typeof data !== 'object' || !data || ctx.visited.has(data)) { + return; + } + ctx.visited.add(data); + if (Array.isArray(data)) { + data.forEach((item, idx) => traverse(item, [...path, idx], data, idx, ctx)); + } + if ('$ref' in data) { + ctx.hasCircular = true; + const resolvedRef = retrieveCircularRef(data, path, ctx); + if (resolvedRef) { + parent[property] = resolvedRef; + } + } + else { + for (const p in data) { + traverse(data[p], [...path, p], data, p, ctx); + } + } + ctx.visited.delete(data); +} +function retrieveCircularRef(data, path, ctx) { + const $refPath = toJSONPathArray(data.$ref); + const item = ctx.inventory.findAssociatedItemForPath(path, true); + // root document case + if (item === null) { + return retrieveDeepData(ctx.document, $refPath); + } + // referenced document case + if (item) { + const subArrayIndex = findSubArrayIndex(path, $refPath); + let dataPath; + if (subArrayIndex === -1) { // create subarray based on location of the assiociated document - use item.path + dataPath = [...path.slice(0, path.length - item.path.length), ...$refPath]; + } + else { // create subarray based on $refPath + dataPath = path.slice(0, subArrayIndex + $refPath.length); + } + return retrieveDeepData(ctx.document, dataPath); + } +} diff --git a/apps/parser/esm/document.d.ts b/apps/parser/esm/document.d.ts new file mode 100644 index 000000000..482b4477d --- /dev/null +++ b/apps/parser/esm/document.d.ts @@ -0,0 +1,9 @@ +import type { AsyncAPIDocumentInterface } from './models'; +import type { OldAsyncAPIDocument } from './old-api'; +import type { DetailedAsyncAPI, AsyncAPIObject } from './types'; +export declare function createAsyncAPIDocument(asyncapi: DetailedAsyncAPI): AsyncAPIDocumentInterface; +export declare function toAsyncAPIDocument(maybeDoc: unknown): AsyncAPIDocumentInterface | undefined; +export declare function isAsyncAPIDocument(maybeDoc: unknown): maybeDoc is AsyncAPIDocumentInterface; +export declare function isOldAsyncAPIDocument(maybeDoc: unknown): maybeDoc is OldAsyncAPIDocument; +export declare function isParsedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; +export declare function isStringifiedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; diff --git a/apps/parser/esm/document.js b/apps/parser/esm/document.js new file mode 100644 index 000000000..9cc97d9dd --- /dev/null +++ b/apps/parser/esm/document.js @@ -0,0 +1,62 @@ +import { AsyncAPIDocumentV2, AsyncAPIDocumentV3, ParserAPIVersion } from './models'; +import { unstringify } from './stringify'; +import { createDetailedAsyncAPI } from './utils'; +import { xParserSpecParsed, xParserSpecStringified, xParserApiVersion, } from './constants'; +export function createAsyncAPIDocument(asyncapi) { + switch (asyncapi.semver.major) { + case 2: + return new AsyncAPIDocumentV2(asyncapi.parsed, { asyncapi, pointer: '/' }); + case 3: + return new AsyncAPIDocumentV3(asyncapi.parsed, { asyncapi, pointer: '/' }); + default: + throw new Error(`Unsupported AsyncAPI version: ${asyncapi.semver.version}`); + } +} +export function toAsyncAPIDocument(maybeDoc) { + if (isAsyncAPIDocument(maybeDoc)) { + return maybeDoc; + } + if (!isParsedDocument(maybeDoc)) { + return unstringify(maybeDoc); + } + return createAsyncAPIDocument(createDetailedAsyncAPI(maybeDoc, maybeDoc)); +} +export function isAsyncAPIDocument(maybeDoc) { + if (!maybeDoc) { + return false; + } + if (maybeDoc instanceof AsyncAPIDocumentV2 || maybeDoc instanceof AsyncAPIDocumentV3) { + return true; + } + if (maybeDoc && typeof maybeDoc.json === 'function') { + const versionOfParserAPI = maybeDoc.json()[xParserApiVersion]; + return versionOfParserAPI === ParserAPIVersion; + } + return false; +} +export function isOldAsyncAPIDocument(maybeDoc) { + if (maybeDoc && typeof maybeDoc.json === 'function') { + const versionOfParserAPI = maybeDoc.json()[xParserApiVersion]; + return versionOfParserAPI === undefined || versionOfParserAPI === 0; + } + return false; +} +export function isParsedDocument(maybeDoc) { + if (typeof maybeDoc !== 'object' || maybeDoc === null) { + return false; + } + return Boolean(maybeDoc[xParserSpecParsed]); +} +export function isStringifiedDocument(maybeDoc) { + try { + maybeDoc = typeof maybeDoc === 'string' ? JSON.parse(maybeDoc) : maybeDoc; + if (typeof maybeDoc !== 'object' || maybeDoc === null) { + return false; + } + return (Boolean(maybeDoc[xParserSpecParsed]) && + Boolean(maybeDoc[xParserSpecStringified])); + } + catch (_) { + return false; + } +} diff --git a/apps/parser/esm/from.d.ts b/apps/parser/esm/from.d.ts new file mode 100644 index 000000000..f7eb1b051 --- /dev/null +++ b/apps/parser/esm/from.d.ts @@ -0,0 +1,13 @@ +import { readFile } from 'fs'; +import type { RequestInit } from 'node-fetch'; +import type { Parser } from './parser'; +import type { ParseOptions, ParseOutput } from './parse'; +import type { ValidateOptions } from './validate'; +import type { Diagnostic } from './types'; +interface FromResult { + parse: (options?: ParseOptions) => Promise; + validate: (options?: ValidateOptions) => Promise; +} +export declare function fromURL(parser: Parser, source: string, options?: RequestInit): FromResult; +export declare function fromFile(parser: Parser, source: string, options?: Parameters[1]): FromResult; +export {}; diff --git a/apps/parser/esm/from.js b/apps/parser/esm/from.js new file mode 100644 index 000000000..2543fed78 --- /dev/null +++ b/apps/parser/esm/from.js @@ -0,0 +1,66 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { readFile } from 'fs'; +import { promisify } from 'util'; +export function fromURL(parser, source, options) { + function fetchUrl() { + return __awaiter(this, void 0, void 0, function* () { + const fetchFn = yield getFetch(); + return (yield fetchFn(source, options)).text(); + }); + } + return { + parse(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield fetchUrl(); + return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); + }); + }, + validate(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield fetchUrl(); + return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); + }); + } + }; +} +export function fromFile(parser, source, options) { + function readFileFn() { + return __awaiter(this, void 0, void 0, function* () { + return (yield promisify(readFile)(source, options)).toString(); + }); + } + return { + parse(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield readFileFn(); + return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); + }); + }, + validate(options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const schema = yield readFileFn(); + return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); + }); + } + }; +} +let __fetchFn; +function getFetch() { + return __awaiter(this, void 0, void 0, function* () { + if (__fetchFn) { + return __fetchFn; + } + if (typeof fetch === 'undefined') { + return __fetchFn = (yield import('node-fetch')).default; + } + return (__fetchFn = fetch); + }); +} diff --git a/apps/parser/esm/index.d.ts b/apps/parser/esm/index.d.ts new file mode 100644 index 000000000..a53f0608a --- /dev/null +++ b/apps/parser/esm/index.d.ts @@ -0,0 +1,16 @@ +import { DiagnosticSeverity } from '@stoplight/types'; +import { Parser } from './parser'; +export * from './models'; +export { Parser }; +export { stringify, unstringify } from './stringify'; +export { fromURL, fromFile } from './from'; +export { createAsyncAPIDocument, toAsyncAPIDocument, isAsyncAPIDocument, isOldAsyncAPIDocument } from './document'; +export { DiagnosticSeverity }; +export * from './old-api'; +export type { AsyncAPISemver, Input, Diagnostic, SchemaValidateResult, AsyncAPISchema } from './types'; +export type { ValidateOptions, ValidateOutput } from './validate'; +export type { ParseOptions, ParseOutput } from './parse'; +export type { StringifyOptions } from './stringify'; +export type { ValidateSchemaInput, ParseSchemaInput, SchemaParser } from './schema-parser'; +export type { v2 as SpecTypesV2 } from './spec-types'; +export default Parser; diff --git a/apps/parser/esm/index.js b/apps/parser/esm/index.js new file mode 100644 index 000000000..4eecf3659 --- /dev/null +++ b/apps/parser/esm/index.js @@ -0,0 +1,10 @@ +import { DiagnosticSeverity } from '@stoplight/types'; +import { Parser } from './parser'; +export * from './models'; +export { Parser }; +export { stringify, unstringify } from './stringify'; +export { fromURL, fromFile } from './from'; +export { createAsyncAPIDocument, toAsyncAPIDocument, isAsyncAPIDocument, isOldAsyncAPIDocument } from './document'; +export { DiagnosticSeverity }; +export * from './old-api'; +export default Parser; diff --git a/apps/parser/esm/iterator.d.ts b/apps/parser/esm/iterator.d.ts new file mode 100644 index 000000000..1d2c98ddd --- /dev/null +++ b/apps/parser/esm/iterator.d.ts @@ -0,0 +1,42 @@ +import type { AsyncAPIDocumentInterface } from './models/asyncapi'; +import type { SchemaInterface } from './models/schema'; +/** + * The different kind of stages when crawling a schema. + */ +export declare enum SchemaIteratorCallbackType { + NEW_SCHEMA = "NEW_SCHEMA", + END_SCHEMA = "END_SCHEMA" +} +/** + * The different types of schemas you can iterate + */ +export declare enum SchemaTypesToIterate { + Parameters = "parameters", + Payloads = "payloads", + Headers = "headers", + Components = "components", + Objects = "objects", + Arrays = "arrays", + OneOfs = "oneOfs", + AllOfs = "allOfs", + AnyOfs = "anyOfs", + Nots = "nots", + PropertyNames = "propertyNames", + PatternProperties = "patternProperties", + Contains = "contains", + Ifs = "ifs", + Thenes = "thenes", + Elses = "elses", + Dependencies = "dependencies", + Definitions = "definitions" +} +export type TraverseOptions = { + callback: TraverseCallback; + schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; + seenSchemas: Set; +}; +export type TraverseCallback = (schema: SchemaInterface, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +export declare function traverseAsyncApiDocument(doc: AsyncAPIDocumentInterface, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/esm/iterator.js b/apps/parser/esm/iterator.js new file mode 100644 index 000000000..97e19175d --- /dev/null +++ b/apps/parser/esm/iterator.js @@ -0,0 +1,224 @@ +/** + * The different kind of stages when crawling a schema. + */ +export var SchemaIteratorCallbackType; +(function (SchemaIteratorCallbackType) { + SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; + SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; +})(SchemaIteratorCallbackType || (SchemaIteratorCallbackType = {})); +/** + * The different types of schemas you can iterate + */ +export var SchemaTypesToIterate; +(function (SchemaTypesToIterate) { + SchemaTypesToIterate["Parameters"] = "parameters"; + SchemaTypesToIterate["Payloads"] = "payloads"; + SchemaTypesToIterate["Headers"] = "headers"; + SchemaTypesToIterate["Components"] = "components"; + SchemaTypesToIterate["Objects"] = "objects"; + SchemaTypesToIterate["Arrays"] = "arrays"; + SchemaTypesToIterate["OneOfs"] = "oneOfs"; + SchemaTypesToIterate["AllOfs"] = "allOfs"; + SchemaTypesToIterate["AnyOfs"] = "anyOfs"; + SchemaTypesToIterate["Nots"] = "nots"; + SchemaTypesToIterate["PropertyNames"] = "propertyNames"; + SchemaTypesToIterate["PatternProperties"] = "patternProperties"; + SchemaTypesToIterate["Contains"] = "contains"; + SchemaTypesToIterate["Ifs"] = "ifs"; + SchemaTypesToIterate["Thenes"] = "thenes"; + SchemaTypesToIterate["Elses"] = "elses"; + SchemaTypesToIterate["Dependencies"] = "dependencies"; + SchemaTypesToIterate["Definitions"] = "definitions"; +})(SchemaTypesToIterate || (SchemaTypesToIterate = {})); +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +export function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { + if (schemaTypesToIterate.length === 0) { + schemaTypesToIterate = Object.values(SchemaTypesToIterate); + } + const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; + if (!doc.channels().isEmpty()) { + doc.channels().all().forEach(channel => { + traverseChannel(channel, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Components) && !doc.components().isEmpty()) { + const components = doc.components(); + Object.values(components.messages().all() || {}).forEach(message => { + traverseMessage(message, options); + }); + Object.values(components.schemas().all() || {}).forEach(schema => { + traverseSchema(schema, null, options); + }); + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { + Object.values(components.channelParameters().filterBy((param) => { return param.hasSchema(); })).forEach(parameter => { + traverseSchema(parameter.schema(), null, options); + }); + } + Object.values(components.messageTraits().all() || {}).forEach(messageTrait => { + traverseMessageTrait(messageTrait, options); + }); + } +} +/* eslint-disable sonarjs/cognitive-complexity */ +/** + * Traverse current schema and all nested schemas. + */ +function traverseSchema(schema, propOrIndex, options) { + if (!schema) + return; + const { schemaTypesToIterate, callback, seenSchemas } = options; + // handle circular references + const jsonSchema = schema.json(); + if (seenSchemas.has(jsonSchema)) + return; + seenSchemas.add(jsonSchema); + // `type` isn't required so save type as array in the fallback + let types = schema.type() || []; + // change primitive type to array of types for easier handling + if (!Array.isArray(types)) { + types = [types]; + } + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) + return; + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) + return; + // check callback `NEW_SCHEMA` case + if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) + return; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) { + recursiveSchemaObject(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) { + recursiveSchemaArray(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.OneOfs)) { + (schema.oneOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.AnyOfs)) { + (schema.anyOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.AllOfs)) { + (schema.allOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Nots) && schema.not()) { + traverseSchema(schema.not(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Ifs) && schema.if()) { + traverseSchema(schema.if(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Thenes) && schema.then()) { + traverseSchema(schema.then(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Elses) && schema.else()) { + traverseSchema(schema.else(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Dependencies)) { + Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { + // do not iterate dependent required + if (dep && !Array.isArray(dep)) { + traverseSchema(dep, depName, options); + } + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Definitions)) { + Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { + traverseSchema(def, defName, options); + }); + } + callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); + seenSchemas.delete(jsonSchema); +} +/* eslint-enable sonarjs/cognitive-complexity */ +/** + * Recursively go through schema of object type and execute callback. + */ +function recursiveSchemaObject(schema, options) { + Object.entries(schema.properties() || {}).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + const additionalProperties = schema.additionalProperties(); + if (typeof additionalProperties === 'object') { + traverseSchema(additionalProperties, null, options); + } + const schemaTypesToIterate = options.schemaTypesToIterate; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.PropertyNames) && schema.propertyNames()) { + traverseSchema(schema.propertyNames(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.PatternProperties)) { + Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + } +} +/** + * Recursively go through schema of array type and execute callback. + */ +function recursiveSchemaArray(schema, options) { + const items = schema.items(); + if (items) { + if (Array.isArray(items)) { + items.forEach((item, idx) => { + traverseSchema(item, idx, options); + }); + } + else { + traverseSchema(items, null, options); + } + } + const additionalItems = schema.additionalItems(); + if (typeof additionalItems === 'object') { + traverseSchema(additionalItems, null, options); + } + if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { + traverseSchema(schema.contains(), null, options); + } +} +/** + * Go through each schema in channel + */ +function traverseChannel(channel, options) { + if (!channel) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { + Object.values(channel.parameters().filterBy((param) => { return param.hasSchema(); }) || {}).forEach(parameter => { + traverseSchema(parameter.schema(), null, options); + }); + } + channel.messages().all().forEach(message => { + traverseMessage(message, options); + }); +} +/** + * Go through each schema in a message + */ +function traverseMessage(message, options) { + if (!message) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && message.hasHeaders()) { + traverseSchema(message.headers(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Payloads) && message.hasPayload()) { + traverseSchema(message.payload(), null, options); + } +} +/** + * Go through each schema in a messageTrait + */ +function traverseMessageTrait(messageTrait, options) { + if (!messageTrait) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && messageTrait.hasHeaders()) { + traverseSchema(messageTrait.headers(), null, options); + } +} diff --git a/apps/parser/esm/models/asyncapi.d.ts b/apps/parser/esm/models/asyncapi.d.ts new file mode 100644 index 000000000..e35f74e27 --- /dev/null +++ b/apps/parser/esm/models/asyncapi.d.ts @@ -0,0 +1,30 @@ +import type { BaseModel } from './base'; +import type { InfoInterface } from './info'; +import type { ChannelsInterface } from './channels'; +import type { ComponentsInterface } from './components'; +import type { MessagesInterface } from './messages'; +import type { ExtensionsMixinInterface } from './mixins'; +import type { OperationsInterface } from './operations'; +import type { SchemasInterface } from './schemas'; +import type { SecuritySchemesInterface } from './security-schemes'; +import type { ServersInterface } from './servers'; +import type { v2, v3 } from '../spec-types'; +export declare const ParserAPIVersion = 3; +export interface AsyncAPIDocumentInterface extends BaseModel, ExtensionsMixinInterface { + version(): string; + defaultContentType(): string | undefined; + hasDefaultContentType(): boolean; + info(): InfoInterface; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + securitySchemes(): SecuritySchemesInterface; + components(): ComponentsInterface; + allServers(): ServersInterface; + allChannels(): ChannelsInterface; + allOperations(): OperationsInterface; + allMessages(): MessagesInterface; + allSchemas(): SchemasInterface; +} diff --git a/apps/parser/esm/models/asyncapi.js b/apps/parser/esm/models/asyncapi.js new file mode 100644 index 000000000..fa4addf6a --- /dev/null +++ b/apps/parser/esm/models/asyncapi.js @@ -0,0 +1,2 @@ +// https://github.com/asyncapi/parser-api/releases/tag/v3.0.0 +export const ParserAPIVersion = 3; diff --git a/apps/parser/esm/models/base.d.ts b/apps/parser/esm/models/base.d.ts new file mode 100644 index 000000000..29aa35fa2 --- /dev/null +++ b/apps/parser/esm/models/base.d.ts @@ -0,0 +1,17 @@ +import type { Constructor, InferModelData, InferModelMetadata } from './utils'; +import type { DetailedAsyncAPI } from '../types'; +export interface ModelMetadata { + asyncapi: DetailedAsyncAPI; + pointer: string; +} +export declare abstract class BaseModel = {}> { + protected readonly _json: J; + protected readonly _meta: ModelMetadata & M; + constructor(_json: J, _meta?: ModelMetadata & M); + json(): T; + json(key: K): J[K]; + meta(): ModelMetadata & M; + meta(key: K): (ModelMetadata & M)[K]; + jsonPath(field?: string | undefined): string; + protected createModel(Model: Constructor, value: InferModelData, meta: Omit & InferModelMetadata): T; +} diff --git a/apps/parser/esm/models/base.js b/apps/parser/esm/models/base.js new file mode 100644 index 000000000..49f1d0dcd --- /dev/null +++ b/apps/parser/esm/models/base.js @@ -0,0 +1,29 @@ +export class BaseModel { + constructor(_json, _meta = {}) { + this._json = _json; + this._meta = _meta; + } + json(key) { + if (key === undefined) + return this._json; + if (this._json === null || this._json === undefined) + return this._json; + return this._json[key]; + } + meta(key) { + if (key === undefined) + return this._meta; + if (!this._meta) + return; + return this._meta[key]; + } + jsonPath(field) { + if (typeof field !== 'string') { + return this._meta.pointer; + } + return `${this._meta.pointer}/${field}`; + } + createModel(Model, value, meta) { + return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: this._meta.asyncapi })); + } +} diff --git a/apps/parser/esm/models/binding.d.ts b/apps/parser/esm/models/binding.d.ts new file mode 100644 index 000000000..d63cbb8d2 --- /dev/null +++ b/apps/parser/esm/models/binding.d.ts @@ -0,0 +1,7 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface BindingInterface = Record> extends BaseModel, ExtensionsMixinInterface { + protocol(): string; + version(): string; + value(): V; +} diff --git a/apps/parser/esm/models/binding.js b/apps/parser/esm/models/binding.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/binding.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/bindings.d.ts b/apps/parser/esm/models/bindings.d.ts new file mode 100644 index 000000000..a9e00490d --- /dev/null +++ b/apps/parser/esm/models/bindings.d.ts @@ -0,0 +1,5 @@ +import type { Collection } from './collection'; +import type { BindingInterface } from './binding'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface BindingsInterface extends Collection, ExtensionsMixinInterface { +} diff --git a/apps/parser/esm/models/bindings.js b/apps/parser/esm/models/bindings.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/bindings.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/channel-parameter.d.ts b/apps/parser/esm/models/channel-parameter.d.ts new file mode 100644 index 000000000..3c787dbd1 --- /dev/null +++ b/apps/parser/esm/models/channel-parameter.d.ts @@ -0,0 +1,10 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +import type { SchemaInterface } from './schema'; +export interface ChannelParameterInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + hasSchema(): boolean; + schema(): SchemaInterface | undefined; + hasLocation(): boolean; + location(): string | undefined; +} diff --git a/apps/parser/esm/models/channel-parameter.js b/apps/parser/esm/models/channel-parameter.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/channel-parameter.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/channel-parameters.d.ts b/apps/parser/esm/models/channel-parameters.d.ts new file mode 100644 index 000000000..516c547bf --- /dev/null +++ b/apps/parser/esm/models/channel-parameters.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { ChannelParameterInterface } from './channel-parameter'; +export type ChannelParametersInterface = Collection; diff --git a/apps/parser/esm/models/channel-parameters.js b/apps/parser/esm/models/channel-parameters.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/channel-parameters.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/channel.d.ts b/apps/parser/esm/models/channel.d.ts new file mode 100644 index 000000000..e4e434b88 --- /dev/null +++ b/apps/parser/esm/models/channel.d.ts @@ -0,0 +1,14 @@ +import type { BaseModel } from './base'; +import type { ChannelParametersInterface } from './channel-parameters'; +import type { MessagesInterface } from './messages'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +import type { OperationsInterface } from './operations'; +import type { ServersInterface } from './servers'; +export interface ChannelInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + address(): string | null | undefined; + servers(): ServersInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + parameters(): ChannelParametersInterface; +} diff --git a/apps/parser/esm/models/channel.js b/apps/parser/esm/models/channel.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/channel.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/channels.d.ts b/apps/parser/esm/models/channels.d.ts new file mode 100644 index 000000000..028bd4a96 --- /dev/null +++ b/apps/parser/esm/models/channels.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { ChannelInterface } from './channel'; +export interface ChannelsInterface extends Collection { + filterBySend(): ChannelInterface[]; + filterByReceive(): ChannelInterface[]; +} diff --git a/apps/parser/esm/models/channels.js b/apps/parser/esm/models/channels.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/channels.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/collection.d.ts b/apps/parser/esm/models/collection.d.ts new file mode 100644 index 000000000..6c23e3b73 --- /dev/null +++ b/apps/parser/esm/models/collection.d.ts @@ -0,0 +1,19 @@ +import type { BaseModel } from './base'; +import type { DetailedAsyncAPI } from '../types'; +export interface CollectionMetadata { + originalData?: Record; + asyncapi?: DetailedAsyncAPI; + pointer?: string; +} +export declare abstract class Collection = {}> extends Array { + protected readonly collections: T[]; + protected readonly _meta: CollectionMetadata & M; + constructor(collections: T[], _meta?: CollectionMetadata & M); + abstract get(id: string): T | undefined; + has(id: string): boolean; + all(): T[]; + isEmpty(): boolean; + filterBy(filter: (item: T) => boolean): T[]; + meta(): CollectionMetadata & M; + meta & M)>(key: K): (CollectionMetadata & M)[K]; +} diff --git a/apps/parser/esm/models/collection.js b/apps/parser/esm/models/collection.js new file mode 100644 index 000000000..4ff40348f --- /dev/null +++ b/apps/parser/esm/models/collection.js @@ -0,0 +1,26 @@ +export class Collection extends Array { + constructor(collections, _meta = {}) { + super(...collections); + this.collections = collections; + this._meta = _meta; + } + has(id) { + return typeof this.get(id) !== 'undefined'; + } + all() { + return this.collections; + } + isEmpty() { + return this.collections.length === 0; + } + filterBy(filter) { + return this.collections.filter(filter); + } + meta(key) { + if (key === undefined) + return this._meta; + if (!this._meta) + return; + return this._meta[String(key)]; + } +} diff --git a/apps/parser/esm/models/components.d.ts b/apps/parser/esm/models/components.d.ts new file mode 100644 index 000000000..ce8c4f7e7 --- /dev/null +++ b/apps/parser/esm/models/components.d.ts @@ -0,0 +1,32 @@ +import type { BaseModel } from './base'; +import type { BindingsInterface } from './bindings'; +import type { ExtensionsMixinInterface } from './mixins'; +import type { ServersInterface } from './servers'; +import type { ChannelsInterface } from './channels'; +import type { MessagesInterface } from './messages'; +import type { SchemasInterface } from './schemas'; +import type { ChannelParametersInterface } from './channel-parameters'; +import type { ServerVariablesInterface } from './server-variables'; +import type { OperationTraitsInterface } from './operation-traits'; +import type { MessageTraitsInterface } from './message-traits'; +import type { SecuritySchemesInterface } from './security-schemes'; +import type { CorrelationIdsInterface } from './correlation-ids'; +import type { OperationsInterface } from './operations'; +export interface ComponentsInterface extends BaseModel, ExtensionsMixinInterface { + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + channelParameters(): ChannelParametersInterface; + serverVariables(): ServerVariablesInterface; + operations(): OperationsInterface; + operationTraits(): OperationTraitsInterface; + messageTraits(): MessageTraitsInterface; + correlationIds(): CorrelationIdsInterface; + securitySchemes(): SecuritySchemesInterface; + serverBindings(): Record; + channelBindings(): Record; + operationBindings(): Record; + messageBindings(): Record; + isEmpty(): boolean; +} diff --git a/apps/parser/esm/models/components.js b/apps/parser/esm/models/components.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/components.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/contact.d.ts b/apps/parser/esm/models/contact.d.ts new file mode 100644 index 000000000..79bf79984 --- /dev/null +++ b/apps/parser/esm/models/contact.d.ts @@ -0,0 +1,10 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface ContactInterface extends BaseModel, ExtensionsMixinInterface { + hasName(): boolean; + name(): string | undefined; + hasUrl(): boolean; + url(): string | undefined; + hasEmail(): boolean; + email(): string | undefined; +} diff --git a/apps/parser/esm/models/contact.js b/apps/parser/esm/models/contact.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/contact.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/correlation-id.d.ts b/apps/parser/esm/models/correlation-id.d.ts new file mode 100644 index 000000000..526f641b6 --- /dev/null +++ b/apps/parser/esm/models/correlation-id.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface CorrelationIdInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + location(): string | undefined; +} diff --git a/apps/parser/esm/models/correlation-id.js b/apps/parser/esm/models/correlation-id.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/correlation-id.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/correlation-ids.d.ts b/apps/parser/esm/models/correlation-ids.d.ts new file mode 100644 index 000000000..47e02a09f --- /dev/null +++ b/apps/parser/esm/models/correlation-ids.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { CorrelationIdInterface } from './correlation-id'; +export type CorrelationIdsInterface = Collection; diff --git a/apps/parser/esm/models/correlation-ids.js b/apps/parser/esm/models/correlation-ids.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/correlation-ids.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/extension.d.ts b/apps/parser/esm/models/extension.d.ts new file mode 100644 index 000000000..a59abffb2 --- /dev/null +++ b/apps/parser/esm/models/extension.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +export interface ExtensionInterface extends BaseModel { + id(): string; + value(): V; +} diff --git a/apps/parser/esm/models/extension.js b/apps/parser/esm/models/extension.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/extension.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/extensions.d.ts b/apps/parser/esm/models/extensions.d.ts new file mode 100644 index 000000000..abb62df18 --- /dev/null +++ b/apps/parser/esm/models/extensions.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { ExtensionInterface } from './extension'; +export type ExtensionsInterface = Collection; diff --git a/apps/parser/esm/models/extensions.js b/apps/parser/esm/models/extensions.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/extensions.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/external-docs.d.ts b/apps/parser/esm/models/external-docs.d.ts new file mode 100644 index 000000000..bca1e1fef --- /dev/null +++ b/apps/parser/esm/models/external-docs.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + url(): string; +} diff --git a/apps/parser/esm/models/external-docs.js b/apps/parser/esm/models/external-docs.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/external-docs.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/external-documentation.d.ts b/apps/parser/esm/models/external-documentation.d.ts new file mode 100644 index 000000000..b48a51fde --- /dev/null +++ b/apps/parser/esm/models/external-documentation.d.ts @@ -0,0 +1,6 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string | undefined; + url(): string; +} diff --git a/apps/parser/esm/models/external-documentation.js b/apps/parser/esm/models/external-documentation.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/external-documentation.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/external-documentations.d.ts b/apps/parser/esm/models/external-documentations.d.ts new file mode 100644 index 000000000..c6d0f9cf5 --- /dev/null +++ b/apps/parser/esm/models/external-documentations.d.ts @@ -0,0 +1,6 @@ +import { Collection } from './collection'; +import type { ExternalDocumentationInterface } from './external-docs'; +export type ExternalDocumentationsInterface = Collection; +export declare class ExternalDocumentations extends Collection implements ExternalDocumentationsInterface { + get(id: string): ExternalDocumentationInterface | undefined; +} diff --git a/apps/parser/esm/models/external-documentations.js b/apps/parser/esm/models/external-documentations.js new file mode 100644 index 000000000..6dee826f0 --- /dev/null +++ b/apps/parser/esm/models/external-documentations.js @@ -0,0 +1,6 @@ +import { Collection } from './collection'; +export class ExternalDocumentations extends Collection { + get(id) { + return this.collections.find(externalDocs => externalDocs.meta('id') === id); + } +} diff --git a/apps/parser/esm/models/index.d.ts b/apps/parser/esm/models/index.d.ts new file mode 100644 index 000000000..b07f3d24a --- /dev/null +++ b/apps/parser/esm/models/index.d.ts @@ -0,0 +1,48 @@ +export * from './v2'; +export * from './v3'; +export * from './asyncapi'; +export * from './base'; +export * from './binding'; +export * from './bindings'; +export * from './channel-parameter'; +export * from './channel-parameters'; +export * from './channel'; +export * from './channels'; +export * from './collection'; +export * from './components'; +export * from './contact'; +export * from './correlation-id'; +export * from './correlation-ids'; +export * from './extension'; +export * from './extensions'; +export * from './external-docs'; +export * from './info'; +export * from './license'; +export * from './message-example'; +export * from './message-examples'; +export * from './message-trait'; +export * from './message-traits'; +export * from './message'; +export * from './messages'; +export * from './oauth-flow'; +export * from './oauth-flows'; +export * from './operation-replies'; +export * from './operation-reply-address'; +export * from './operation-reply-addresses'; +export * from './operation-reply'; +export * from './operation-trait'; +export * from './operation-traits'; +export * from './operation'; +export * from './operations'; +export * from './schema'; +export * from './schemas'; +export * from './security-requirement'; +export * from './security-requirements'; +export * from './security-scheme'; +export * from './security-schemes'; +export * from './server-variable'; +export * from './server-variables'; +export * from './server'; +export * from './servers'; +export * from './tag'; +export * from './tags'; diff --git a/apps/parser/esm/models/index.js b/apps/parser/esm/models/index.js new file mode 100644 index 000000000..b07f3d24a --- /dev/null +++ b/apps/parser/esm/models/index.js @@ -0,0 +1,48 @@ +export * from './v2'; +export * from './v3'; +export * from './asyncapi'; +export * from './base'; +export * from './binding'; +export * from './bindings'; +export * from './channel-parameter'; +export * from './channel-parameters'; +export * from './channel'; +export * from './channels'; +export * from './collection'; +export * from './components'; +export * from './contact'; +export * from './correlation-id'; +export * from './correlation-ids'; +export * from './extension'; +export * from './extensions'; +export * from './external-docs'; +export * from './info'; +export * from './license'; +export * from './message-example'; +export * from './message-examples'; +export * from './message-trait'; +export * from './message-traits'; +export * from './message'; +export * from './messages'; +export * from './oauth-flow'; +export * from './oauth-flows'; +export * from './operation-replies'; +export * from './operation-reply-address'; +export * from './operation-reply-addresses'; +export * from './operation-reply'; +export * from './operation-trait'; +export * from './operation-traits'; +export * from './operation'; +export * from './operations'; +export * from './schema'; +export * from './schemas'; +export * from './security-requirement'; +export * from './security-requirements'; +export * from './security-scheme'; +export * from './security-schemes'; +export * from './server-variable'; +export * from './server-variables'; +export * from './server'; +export * from './servers'; +export * from './tag'; +export * from './tags'; diff --git a/apps/parser/esm/models/info.d.ts b/apps/parser/esm/models/info.d.ts new file mode 100644 index 000000000..33ce92d33 --- /dev/null +++ b/apps/parser/esm/models/info.d.ts @@ -0,0 +1,16 @@ +import type { ContactInterface } from './contact'; +import type { LicenseInterface } from './license'; +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; +export interface InfoInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { + title(): string; + version(): string; + hasId(): boolean; + id(): string | undefined; + hasTermsOfService(): boolean; + termsOfService(): string | undefined; + hasContact(): boolean; + contact(): ContactInterface | undefined; + hasLicense(): boolean; + license(): LicenseInterface | undefined; +} diff --git a/apps/parser/esm/models/info.js b/apps/parser/esm/models/info.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/info.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/license.d.ts b/apps/parser/esm/models/license.d.ts new file mode 100644 index 000000000..55d4949b0 --- /dev/null +++ b/apps/parser/esm/models/license.d.ts @@ -0,0 +1,7 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface LicenseInterface extends BaseModel, ExtensionsMixinInterface { + name(): string; + hasUrl(): boolean; + url(): string | undefined; +} diff --git a/apps/parser/esm/models/license.js b/apps/parser/esm/models/license.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/license.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/message-example.d.ts b/apps/parser/esm/models/message-example.d.ts new file mode 100644 index 000000000..f929d876f --- /dev/null +++ b/apps/parser/esm/models/message-example.d.ts @@ -0,0 +1,12 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface MessageExampleInterface extends BaseModel, ExtensionsMixinInterface { + hasName(): boolean; + name(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasHeaders(): boolean; + headers(): Record | undefined; + hasPayload(): boolean; + payload(): Record | undefined; +} diff --git a/apps/parser/esm/models/message-example.js b/apps/parser/esm/models/message-example.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/message-example.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/message-examples.d.ts b/apps/parser/esm/models/message-examples.d.ts new file mode 100644 index 000000000..ff4359d25 --- /dev/null +++ b/apps/parser/esm/models/message-examples.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { MessageExampleInterface } from './message-example'; +export type MessageExamplesInterface = Collection; diff --git a/apps/parser/esm/models/message-examples.js b/apps/parser/esm/models/message-examples.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/message-examples.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/message-trait.d.ts b/apps/parser/esm/models/message-trait.d.ts new file mode 100644 index 000000000..05632cb4c --- /dev/null +++ b/apps/parser/esm/models/message-trait.d.ts @@ -0,0 +1,24 @@ +import type { BaseModel } from './base'; +import type { CorrelationIdInterface } from './correlation-id'; +import type { MessageExamplesInterface } from './message-examples'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; +import type { SchemaInterface } from './schema'; +export interface MessageTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { + id(): string; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + hasMessageId(): boolean; + hasCorrelationId(): boolean; + correlationId(): CorrelationIdInterface | undefined; + hasContentType(): boolean; + contentType(): string | undefined; + hasHeaders(): boolean; + headers(): SchemaInterface | undefined; + hasName(): boolean; + name(): string | undefined; + hasTitle(): boolean; + title(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + examples(): MessageExamplesInterface; +} diff --git a/apps/parser/esm/models/message-trait.js b/apps/parser/esm/models/message-trait.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/message-trait.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/message-traits.d.ts b/apps/parser/esm/models/message-traits.d.ts new file mode 100644 index 000000000..78f21908e --- /dev/null +++ b/apps/parser/esm/models/message-traits.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { MessageTraitInterface } from './message-trait'; +export type MessageTraitsInterface = Collection; diff --git a/apps/parser/esm/models/message-traits.js b/apps/parser/esm/models/message-traits.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/message-traits.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/message.d.ts b/apps/parser/esm/models/message.d.ts new file mode 100644 index 000000000..c030c3912 --- /dev/null +++ b/apps/parser/esm/models/message.d.ts @@ -0,0 +1,15 @@ +import type { BaseModel } from './base'; +import type { ChannelsInterface } from './channels'; +import type { MessageTraitsInterface } from './message-traits'; +import type { MessageTraitInterface } from './message-trait'; +import type { OperationsInterface } from './operations'; +import type { SchemaInterface } from './schema'; +import type { ServersInterface } from './servers'; +export interface MessageInterface extends BaseModel, MessageTraitInterface { + hasPayload(): boolean; + payload(): SchemaInterface | undefined; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + traits(): MessageTraitsInterface; +} diff --git a/apps/parser/esm/models/message.js b/apps/parser/esm/models/message.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/message.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/messages.d.ts b/apps/parser/esm/models/messages.d.ts new file mode 100644 index 000000000..614bbd142 --- /dev/null +++ b/apps/parser/esm/models/messages.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { MessageInterface } from './message'; +export interface MessagesInterface extends Collection { + filterBySend(): MessageInterface[]; + filterByReceive(): MessageInterface[]; +} diff --git a/apps/parser/esm/models/messages.js b/apps/parser/esm/models/messages.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/messages.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/mixins.d.ts b/apps/parser/esm/models/mixins.d.ts new file mode 100644 index 000000000..558a30c2a --- /dev/null +++ b/apps/parser/esm/models/mixins.d.ts @@ -0,0 +1,31 @@ +import type { BindingsInterface } from './bindings'; +import type { ExtensionsInterface } from './extensions'; +import type { ExternalDocumentationInterface } from './external-docs'; +import type { TagsInterface } from './tags'; +export interface BindingsMixinInterface { + bindings(): BindingsInterface; +} +export interface CoreMixinInterface extends BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, SummaryMixinInterface, TagsMixinInterface, TitleMixinInterface { +} +export interface DescriptionMixinInterface { + hasDescription(): boolean; + description(): string | undefined; +} +export interface ExtensionsMixinInterface { + extensions(): ExtensionsInterface; +} +export interface ExternalDocumentationMixinInterface { + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; +} +export interface SummaryMixinInterface { + hasSummary(): boolean; + summary(): string | undefined; +} +export interface TagsMixinInterface { + tags(): TagsInterface; +} +export interface TitleMixinInterface { + hasTitle(): boolean; + title(): string | undefined; +} diff --git a/apps/parser/esm/models/mixins.js b/apps/parser/esm/models/mixins.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/mixins.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/oauth-flow.d.ts b/apps/parser/esm/models/oauth-flow.d.ts new file mode 100644 index 000000000..3151c3d76 --- /dev/null +++ b/apps/parser/esm/models/oauth-flow.d.ts @@ -0,0 +1,11 @@ +import { BaseModel } from './base'; +import { ExtensionsMixinInterface } from './mixins'; +export interface OAuthFlowInterface = Record> extends BaseModel, ExtensionsMixinInterface { + hasAuthorizationUrl(): boolean; + authorizationUrl(): string | undefined; + hasTokenUrl(): boolean; + tokenUrl(): string | undefined; + hasRefreshUrl(): boolean; + refreshUrl(): string | undefined; + scopes(): Record | undefined; +} diff --git a/apps/parser/esm/models/oauth-flow.js b/apps/parser/esm/models/oauth-flow.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/oauth-flow.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/oauth-flows.d.ts b/apps/parser/esm/models/oauth-flows.d.ts new file mode 100644 index 000000000..9d4a9c332 --- /dev/null +++ b/apps/parser/esm/models/oauth-flows.d.ts @@ -0,0 +1,13 @@ +import type { BaseModel } from './base'; +import type { OAuthFlowInterface } from './oauth-flow'; +import type { ExtensionsMixinInterface } from './mixins'; +export interface OAuthFlowsInterface extends BaseModel, ExtensionsMixinInterface { + hasAuthorizationCode(): boolean; + authorizationCode(): OAuthFlowInterface | undefined; + hasClientCredentials(): boolean; + clientCredentials(): OAuthFlowInterface | undefined; + hasImplicit(): boolean; + implicit(): OAuthFlowInterface | undefined; + hasPassword(): boolean; + password(): OAuthFlowInterface | undefined; +} diff --git a/apps/parser/esm/models/oauth-flows.js b/apps/parser/esm/models/oauth-flows.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/oauth-flows.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operation-replies.d.ts b/apps/parser/esm/models/operation-replies.d.ts new file mode 100644 index 000000000..2472878d5 --- /dev/null +++ b/apps/parser/esm/models/operation-replies.d.ts @@ -0,0 +1,3 @@ +import { Collection } from './collection'; +import type { OperationReplyInterface } from './operation-reply'; +export type OperationRepliesInterface = Collection; diff --git a/apps/parser/esm/models/operation-replies.js b/apps/parser/esm/models/operation-replies.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operation-replies.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operation-reply-address.d.ts b/apps/parser/esm/models/operation-reply-address.d.ts new file mode 100644 index 000000000..b7ea5dd00 --- /dev/null +++ b/apps/parser/esm/models/operation-reply-address.d.ts @@ -0,0 +1,6 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface OperationReplyAddressInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string | undefined; + location(): string; +} diff --git a/apps/parser/esm/models/operation-reply-address.js b/apps/parser/esm/models/operation-reply-address.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operation-reply-address.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operation-reply-addresses.d.ts b/apps/parser/esm/models/operation-reply-addresses.d.ts new file mode 100644 index 000000000..8497f33cc --- /dev/null +++ b/apps/parser/esm/models/operation-reply-addresses.d.ts @@ -0,0 +1,3 @@ +import { Collection } from './collection'; +import type { OperationReplyAddressInterface } from './operation-reply-address'; +export type OperationReplyAddressesInterface = Collection; diff --git a/apps/parser/esm/models/operation-reply-addresses.js b/apps/parser/esm/models/operation-reply-addresses.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operation-reply-addresses.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operation-reply.d.ts b/apps/parser/esm/models/operation-reply.d.ts new file mode 100644 index 000000000..c66403879 --- /dev/null +++ b/apps/parser/esm/models/operation-reply.d.ts @@ -0,0 +1,13 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface } from './mixins'; +import type { ChannelInterface } from './channel'; +import type { MessagesInterface } from './messages'; +import type { OperationReplyAddressInterface } from './operation-reply-address'; +export interface OperationReplyInterface extends BaseModel, ExtensionsMixinInterface { + id(): string | undefined; + hasAddress(): boolean; + address(): OperationReplyAddressInterface | undefined; + hasChannel(): boolean; + channel(): ChannelInterface | undefined; + messages(): MessagesInterface; +} diff --git a/apps/parser/esm/models/operation-reply.js b/apps/parser/esm/models/operation-reply.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operation-reply.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operation-trait.d.ts b/apps/parser/esm/models/operation-trait.d.ts new file mode 100644 index 000000000..32f220ba0 --- /dev/null +++ b/apps/parser/esm/models/operation-trait.d.ts @@ -0,0 +1,11 @@ +import type { BaseModel } from './base'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; +import { SecurityRequirements } from './v2/security-requirements'; +export interface OperationTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { + id(): string | undefined; + hasOperationId(): boolean; + operationId(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + security(): SecurityRequirements[]; +} diff --git a/apps/parser/esm/models/operation-trait.js b/apps/parser/esm/models/operation-trait.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operation-trait.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operation-traits.d.ts b/apps/parser/esm/models/operation-traits.d.ts new file mode 100644 index 000000000..30716170f --- /dev/null +++ b/apps/parser/esm/models/operation-traits.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { OperationTraitInterface } from './operation-trait'; +export type OperationTraitsInterface = Collection; diff --git a/apps/parser/esm/models/operation-traits.js b/apps/parser/esm/models/operation-traits.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operation-traits.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operation.d.ts b/apps/parser/esm/models/operation.d.ts new file mode 100644 index 000000000..6cb9e3c97 --- /dev/null +++ b/apps/parser/esm/models/operation.d.ts @@ -0,0 +1,18 @@ +import type { BaseModel } from './base'; +import type { ChannelsInterface } from './channels'; +import type { MessagesInterface } from './messages'; +import type { OperationReplyInterface } from './operation-reply'; +import type { OperationTraitsInterface } from './operation-traits'; +import type { OperationTraitInterface } from './operation-trait'; +import type { ServersInterface } from './servers'; +export type OperationAction = 'send' | 'receive' | 'publish' | 'subscribe'; +export interface OperationInterface extends BaseModel, OperationTraitInterface { + action(): OperationAction; + isSend(): boolean; + isReceive(): boolean; + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + reply(): OperationReplyInterface | undefined; + traits(): OperationTraitsInterface; +} diff --git a/apps/parser/esm/models/operation.js b/apps/parser/esm/models/operation.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operation.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/operations.d.ts b/apps/parser/esm/models/operations.d.ts new file mode 100644 index 000000000..378a78e84 --- /dev/null +++ b/apps/parser/esm/models/operations.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { OperationInterface } from './operation'; +export interface OperationsInterface extends Collection { + filterBySend(): OperationInterface[]; + filterByReceive(): OperationInterface[]; +} diff --git a/apps/parser/esm/models/operations.js b/apps/parser/esm/models/operations.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/operations.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/schema.d.ts b/apps/parser/esm/models/schema.d.ts new file mode 100644 index 000000000..3ff32aa99 --- /dev/null +++ b/apps/parser/esm/models/schema.d.ts @@ -0,0 +1,57 @@ +import type { BaseModel } from './base'; +import type { ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; +import type { v2 } from '../spec-types'; +export interface SchemaInterface extends BaseModel, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { + $comment(): string | undefined; + $id(): string | undefined; + $schema(): string; + additionalItems(): boolean | SchemaInterface; + additionalProperties(): boolean | SchemaInterface; + allOf(): Array | undefined; + anyOf(): Array | undefined; + const(): any; + contains(): SchemaInterface | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + default(): any; + definitions(): Record | undefined; + description(): string | undefined; + dependencies(): Record> | undefined; + deprecated(): boolean; + discriminator(): string | undefined; + else(): SchemaInterface | undefined; + enum(): Array | undefined; + examples(): Array | undefined; + exclusiveMaximum(): number | undefined; + exclusiveMinimum(): number | undefined; + format(): string | undefined; + id(): string; + isBooleanSchema(): boolean; + if(): SchemaInterface | undefined; + isCircular(): boolean; + items(): SchemaInterface | Array | undefined; + maximum(): number | undefined; + maxItems(): number | undefined; + maxLength(): number | undefined; + maxProperties(): number | undefined; + minimum(): number | undefined; + minItems(): number | undefined; + minLength(): number | undefined; + minProperties(): number | undefined; + multipleOf(): number | undefined; + not(): SchemaInterface | undefined; + oneOf(): Array | undefined; + pattern(): string | undefined; + patternProperties(): Record | undefined; + properties(): Record | undefined; + property(name: string): SchemaInterface | undefined; + propertyNames(): SchemaInterface | undefined; + readOnly(): boolean | undefined; + required(): Array | undefined; + schemaFormat(): string; + then(): SchemaInterface | undefined; + title(): string | undefined; + type(): string | Array | undefined; + uniqueItems(): boolean | undefined; + writeOnly(): boolean | undefined; +} diff --git a/apps/parser/esm/models/schema.js b/apps/parser/esm/models/schema.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/schema.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/schemas.d.ts b/apps/parser/esm/models/schemas.d.ts new file mode 100644 index 000000000..c7ecb6460 --- /dev/null +++ b/apps/parser/esm/models/schemas.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { SchemaInterface } from './schema'; +export type SchemasInterface = Collection; diff --git a/apps/parser/esm/models/schemas.js b/apps/parser/esm/models/schemas.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/schemas.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/security-requirement.d.ts b/apps/parser/esm/models/security-requirement.d.ts new file mode 100644 index 000000000..e56dbf50e --- /dev/null +++ b/apps/parser/esm/models/security-requirement.d.ts @@ -0,0 +1,6 @@ +import type { BaseModel } from './base'; +import type { SecuritySchemeInterface } from './security-scheme'; +export interface SecurityRequirementInterface extends BaseModel { + scheme(): SecuritySchemeInterface; + scopes(): string[]; +} diff --git a/apps/parser/esm/models/security-requirement.js b/apps/parser/esm/models/security-requirement.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/security-requirement.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/security-requirements.d.ts b/apps/parser/esm/models/security-requirements.d.ts new file mode 100644 index 000000000..1c0516602 --- /dev/null +++ b/apps/parser/esm/models/security-requirements.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { SecurityRequirementInterface } from './security-requirement'; +export type SecurityRequirementsInterface = Collection; diff --git a/apps/parser/esm/models/security-requirements.js b/apps/parser/esm/models/security-requirements.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/security-requirements.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/security-scheme.d.ts b/apps/parser/esm/models/security-scheme.d.ts new file mode 100644 index 000000000..982b778ca --- /dev/null +++ b/apps/parser/esm/models/security-scheme.d.ts @@ -0,0 +1,19 @@ +import type { BaseModel } from './base'; +import type { OAuthFlowsInterface } from './oauth-flows'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface SecuritySchemeInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + type(): string; + hasName(): boolean; + name(): string | undefined; + hasIn(): boolean; + in(): string | undefined; + hasScheme(): boolean; + scheme(): string | undefined; + hasBearerFormat(): boolean; + bearerFormat(): string | undefined; + hasFlows(): boolean; + flows(): OAuthFlowsInterface | undefined; + hasOpenIdConnectUrl(): boolean; + openIdConnectUrl(): string | undefined; +} diff --git a/apps/parser/esm/models/security-scheme.js b/apps/parser/esm/models/security-scheme.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/security-scheme.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/security-schemes.d.ts b/apps/parser/esm/models/security-schemes.d.ts new file mode 100644 index 000000000..49ecf7a6d --- /dev/null +++ b/apps/parser/esm/models/security-schemes.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { SecuritySchemeInterface } from './security-scheme'; +export type SecuritySchemesInterface = Collection; diff --git a/apps/parser/esm/models/security-schemes.js b/apps/parser/esm/models/security-schemes.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/security-schemes.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/server-variable.d.ts b/apps/parser/esm/models/server-variable.d.ts new file mode 100644 index 000000000..85faa6989 --- /dev/null +++ b/apps/parser/esm/models/server-variable.d.ts @@ -0,0 +1,10 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; +export interface ServerVariableInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { + id(): string; + hasDefaultValue(): boolean; + defaultValue(): string | undefined; + hasAllowedValues(): boolean; + allowedValues(): Array; + examples(): Array; +} diff --git a/apps/parser/esm/models/server-variable.js b/apps/parser/esm/models/server-variable.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/server-variable.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/server-variables.d.ts b/apps/parser/esm/models/server-variables.d.ts new file mode 100644 index 000000000..24c0c40b9 --- /dev/null +++ b/apps/parser/esm/models/server-variables.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { ServerVariableInterface } from './server-variable'; +export type ServerVariablesInterface = Collection; diff --git a/apps/parser/esm/models/server-variables.js b/apps/parser/esm/models/server-variables.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/server-variables.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/server.d.ts b/apps/parser/esm/models/server.d.ts new file mode 100644 index 000000000..e93560576 --- /dev/null +++ b/apps/parser/esm/models/server.d.ts @@ -0,0 +1,22 @@ +import type { BaseModel } from './base'; +import type { ChannelsInterface } from './channels'; +import type { MessagesInterface } from './messages'; +import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, TagsMixinInterface } from './mixins'; +import type { OperationsInterface } from './operations'; +import type { ServerVariablesInterface } from './server-variables'; +import type { SecurityRequirementsInterface } from './security-requirements'; +export interface ServerInterface extends BaseModel, DescriptionMixinInterface, BindingsMixinInterface, ExtensionsMixinInterface, TagsMixinInterface { + id(): string; + url(): string; + host(): string; + hasPathname(): boolean; + pathname(): string | undefined; + protocol(): string; + protocolVersion(): string | undefined; + hasProtocolVersion(): boolean; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + variables(): ServerVariablesInterface; + security(): SecurityRequirementsInterface[]; +} diff --git a/apps/parser/esm/models/server.js b/apps/parser/esm/models/server.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/server.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/servers.d.ts b/apps/parser/esm/models/servers.d.ts new file mode 100644 index 000000000..3108b996e --- /dev/null +++ b/apps/parser/esm/models/servers.d.ts @@ -0,0 +1,6 @@ +import type { Collection } from './collection'; +import type { ServerInterface } from './server'; +export interface ServersInterface extends Collection { + filterBySend(): ServerInterface[]; + filterByReceive(): ServerInterface[]; +} diff --git a/apps/parser/esm/models/servers.js b/apps/parser/esm/models/servers.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/servers.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/tag.d.ts b/apps/parser/esm/models/tag.d.ts new file mode 100644 index 000000000..019512db2 --- /dev/null +++ b/apps/parser/esm/models/tag.d.ts @@ -0,0 +1,5 @@ +import type { BaseModel } from './base'; +import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; +export interface TagInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { + name(): string; +} diff --git a/apps/parser/esm/models/tag.js b/apps/parser/esm/models/tag.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/tag.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/tags.d.ts b/apps/parser/esm/models/tags.d.ts new file mode 100644 index 000000000..09b764464 --- /dev/null +++ b/apps/parser/esm/models/tags.d.ts @@ -0,0 +1,3 @@ +import type { Collection } from './collection'; +import type { TagInterface } from './tag'; +export type TagsInterface = Collection; diff --git a/apps/parser/esm/models/tags.js b/apps/parser/esm/models/tags.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/models/tags.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/models/utils.d.ts b/apps/parser/esm/models/utils.d.ts new file mode 100644 index 000000000..554b09178 --- /dev/null +++ b/apps/parser/esm/models/utils.d.ts @@ -0,0 +1,13 @@ +import type { BaseModel, ModelMetadata } from './base'; +import type { DetailedAsyncAPI } from '../types'; +import { AsyncAPIDocumentInterface } from './asyncapi'; +import { SchemasInterface } from '../models'; +export interface Constructor extends Function { + new (...any: any[]): T; +} +export type InferModelData = T extends BaseModel ? J : never; +export type InferModelMetadata = T extends BaseModel ? M : never; +export declare function createModel(Model: Constructor, value: InferModelData, meta: Omit & { + asyncapi?: DetailedAsyncAPI; +} & InferModelMetadata, parent?: BaseModel): T; +export declare function schemasFromDocument(document: AsyncAPIDocumentInterface, SchemasModel: Constructor, includeComponents: boolean): T; diff --git a/apps/parser/esm/models/utils.js b/apps/parser/esm/models/utils.js new file mode 100644 index 000000000..f2f716133 --- /dev/null +++ b/apps/parser/esm/models/utils.js @@ -0,0 +1,21 @@ +import { SchemaTypesToIterate, traverseAsyncApiDocument } from '../iterator'; +export function createModel(Model, value, meta, parent) { + return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: meta.asyncapi || (parent === null || parent === void 0 ? void 0 : parent.meta().asyncapi) })); +} +export function schemasFromDocument(document, SchemasModel, includeComponents) { + const jsonInstances = new Set(); + const schemas = new Set(); + function callback(schema) { + // comparing the reference (and not just the value) to the .json() object + if (!jsonInstances.has(schema.json())) { + jsonInstances.add(schema.json()); + schemas.add(schema); // unique schemas + } + } + let toIterate = Object.values(SchemaTypesToIterate); + if (!includeComponents) { + toIterate = toIterate.filter(s => s !== SchemaTypesToIterate.Components); + } + traverseAsyncApiDocument(document, callback, toIterate); + return new SchemasModel(Array.from(schemas)); +} diff --git a/apps/parser/esm/models/v2/asyncapi.d.ts b/apps/parser/esm/models/v2/asyncapi.d.ts new file mode 100644 index 000000000..b2073140a --- /dev/null +++ b/apps/parser/esm/models/v2/asyncapi.d.ts @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import type { AsyncAPIDocumentInterface } from '../asyncapi'; +import type { InfoInterface } from '../info'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { ComponentsInterface } from '../components'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { SchemasInterface } from '../schemas'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { + version(): string; + defaultContentType(): string | undefined; + hasDefaultContentType(): boolean; + info(): InfoInterface; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + securitySchemes(): SecuritySchemesInterface; + components(): ComponentsInterface; + allServers(): ServersInterface; + allChannels(): ChannelsInterface; + allOperations(): OperationsInterface; + allMessages(): MessagesInterface; + allSchemas(): SchemasInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/asyncapi.js b/apps/parser/esm/models/v2/asyncapi.js new file mode 100644 index 000000000..387dcbc92 --- /dev/null +++ b/apps/parser/esm/models/v2/asyncapi.js @@ -0,0 +1,82 @@ +import { BaseModel } from '../base'; +import { Info } from './info'; +import { Channels } from './channels'; +import { Channel } from './channel'; +import { Components } from './components'; +import { Messages } from './messages'; +import { Operations } from './operations'; +import { Servers } from './servers'; +import { Server } from './server'; +import { SecuritySchemes } from './security-schemes'; +import { SecurityScheme } from './security-scheme'; +import { Schemas } from './schemas'; +import { extensions } from './mixins'; +import { tilde } from '../../utils'; +import { schemasFromDocument } from '../utils'; +export class AsyncAPIDocument extends BaseModel { + version() { + return this._json.asyncapi; + } + defaultContentType() { + return this._json.defaultContentType; + } + hasDefaultContentType() { + return !!this._json.defaultContentType; + } + info() { + return this.createModel(Info, this._json.info, { pointer: '/info' }); + } + servers() { + return new Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(Server, server, { id: serverName, pointer: `/servers/${serverName}` }))); + } + channels() { + return new Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${tilde(channelAddress)}` }))); + } + operations() { + const operations = []; + this.channels().forEach(channel => operations.push(...channel.operations())); + return new Operations(operations); + } + messages() { + const messages = []; + this.operations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); + return new Messages(messages); + } + schemas() { + return schemasFromDocument(this, Schemas, false); + } + securitySchemes() { + var _a; + return new SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); + } + components() { + return this.createModel(Components, this._json.components || {}, { pointer: '/components' }); + } + allServers() { + const servers = this.servers().all(); + this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); + return new Servers(servers); + } + allChannels() { + const channels = this.channels().all(); + this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); + return new Channels(channels); + } + allOperations() { + const operations = []; + this.allChannels().forEach(channel => operations.push(...channel.operations())); + return new Operations(operations); + } + allMessages() { + const messages = []; + this.allOperations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); + this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); + return new Messages(messages); + } + allSchemas() { + return schemasFromDocument(this, Schemas, true); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/binding.d.ts b/apps/parser/esm/models/v2/binding.d.ts new file mode 100644 index 000000000..6e13a3caf --- /dev/null +++ b/apps/parser/esm/models/v2/binding.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class Binding = Record> extends BaseModel implements BindingInterface { + protocol(): string; + version(): string; + value(): V; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/binding.js b/apps/parser/esm/models/v2/binding.js new file mode 100644 index 000000000..a205c21e8 --- /dev/null +++ b/apps/parser/esm/models/v2/binding.js @@ -0,0 +1,18 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class Binding extends BaseModel { + protocol() { + return this._meta.protocol; + } + version() { + return this._json.bindingVersion || 'latest'; + } + value() { + const value = Object.assign({}, this._json); + delete value.bindingVersion; + return value; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/bindings.d.ts b/apps/parser/esm/models/v2/bindings.d.ts new file mode 100644 index 000000000..366f2d369 --- /dev/null +++ b/apps/parser/esm/models/v2/bindings.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { BindingsInterface } from '../bindings'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +export declare class Bindings extends Collection implements BindingsInterface { + get = Record>(name: string): BindingInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/bindings.js b/apps/parser/esm/models/v2/bindings.js new file mode 100644 index 000000000..19e2407a9 --- /dev/null +++ b/apps/parser/esm/models/v2/bindings.js @@ -0,0 +1,19 @@ +import { Collection } from '../collection'; +import { Extensions } from './extensions'; +import { Extension } from './extension'; +import { createModel } from '../utils'; +import { EXTENSION_REGEX } from '../../constants'; +export class Bindings extends Collection { + get(name) { + return this.collections.find(binding => binding.protocol() === name); + } + extensions() { + const extensions = []; + Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { + if (EXTENSION_REGEX.test(id)) { + extensions.push(createModel(Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); + } + }); + return new Extensions(extensions); + } +} diff --git a/apps/parser/esm/models/v2/channel-parameter.d.ts b/apps/parser/esm/models/v2/channel-parameter.d.ts new file mode 100644 index 000000000..ba1abeedd --- /dev/null +++ b/apps/parser/esm/models/v2/channel-parameter.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ChannelParameterInterface } from '../channel-parameter'; +import type { SchemaInterface } from '../schema'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { + id(): string; + hasSchema(): boolean; + schema(): SchemaInterface | undefined; + hasLocation(): boolean; + location(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/channel-parameter.js b/apps/parser/esm/models/v2/channel-parameter.js new file mode 100644 index 000000000..2db8d16f4 --- /dev/null +++ b/apps/parser/esm/models/v2/channel-parameter.js @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import { Schema } from './schema'; +import { hasDescription, description, extensions } from './mixins'; +export class ChannelParameter extends BaseModel { + id() { + return this._meta.id; + } + hasSchema() { + return !!this._json.schema; + } + schema() { + if (!this._json.schema) + return undefined; + return this.createModel(Schema, this._json.schema, { pointer: `${this._meta.pointer}/schema` }); + } + hasLocation() { + return !!this._json.location; + } + location() { + return this._json.location; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/channel-parameters.d.ts b/apps/parser/esm/models/v2/channel-parameters.d.ts new file mode 100644 index 000000000..93abd0a6e --- /dev/null +++ b/apps/parser/esm/models/v2/channel-parameters.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ChannelParameterInterface } from '../channel-parameter'; +export declare class ChannelParameters extends Collection implements ChannelParametersInterface { + get(id: string): ChannelParameterInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/channel-parameters.js b/apps/parser/esm/models/v2/channel-parameters.js new file mode 100644 index 000000000..4f6403734 --- /dev/null +++ b/apps/parser/esm/models/v2/channel-parameters.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class ChannelParameters extends Collection { + get(id) { + return this.collections.find(parameter => parameter.id() === id); + } +} diff --git a/apps/parser/esm/models/v2/channel.d.ts b/apps/parser/esm/models/v2/channel.d.ts new file mode 100644 index 000000000..669ca948b --- /dev/null +++ b/apps/parser/esm/models/v2/channel.d.ts @@ -0,0 +1,24 @@ +import { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { ChannelInterface } from '../channel'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ExtensionsInterface } from '../extensions'; +import type { MessagesInterface } from '../messages'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { v2 } from '../../spec-types'; +export declare class Channel extends BaseModel implements ChannelInterface { + id(): string; + address(): string; + hasDescription(): boolean; + description(): string | undefined; + servers(): ServersInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + parameters(): ChannelParametersInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/channel.js b/apps/parser/esm/models/v2/channel.js new file mode 100644 index 000000000..1cc3f2e91 --- /dev/null +++ b/apps/parser/esm/models/v2/channel.js @@ -0,0 +1,64 @@ +import { BaseModel } from '../base'; +import { ChannelParameters } from './channel-parameters'; +import { ChannelParameter } from './channel-parameter'; +import { Messages } from './messages'; +import { Operations } from './operations'; +import { Operation } from './operation'; +import { Servers } from './servers'; +import { Server } from './server'; +import { bindings, hasDescription, description, extensions } from './mixins'; +export class Channel extends BaseModel { + id() { + return this._meta.id; + } + address() { + return this._meta.address; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + servers() { + var _a; + const servers = []; + const allowedServers = this._json.servers || []; + Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.servers) || {}).forEach(([serverName, server]) => { + if (allowedServers.length === 0 || allowedServers.includes(serverName)) { + servers.push(this.createModel(Server, server, { id: serverName, pointer: `/servers/${serverName}` })); + } + }); + return new Servers(servers); + } + operations() { + const operations = []; + ['publish', 'subscribe'].forEach(operationAction => { + const operation = this._json[operationAction]; + const id = (operation && operation.operationId) || operationAction; + if (operation) { + operations.push(this.createModel(Operation, operation, { id, action: operationAction, pointer: `${this._meta.pointer}/${operationAction}` })); + } + }); + return new Operations(operations); + } + messages() { + const messages = []; + this.operations().forEach(operation => messages.push(...operation.messages().all())); + return new Messages(messages); + } + parameters() { + return new ChannelParameters(Object.entries(this._json.parameters || {}).map(([channelParameterName, channelParameter]) => { + return this.createModel(ChannelParameter, channelParameter, { + id: channelParameterName, + pointer: `${this._meta.pointer}/parameters/${channelParameterName}` + }); + })); + } + bindings() { + return bindings(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/channels.d.ts b/apps/parser/esm/models/v2/channels.d.ts new file mode 100644 index 000000000..01b199506 --- /dev/null +++ b/apps/parser/esm/models/v2/channels.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { ChannelsInterface } from '../channels'; +import type { ChannelInterface } from '../channel'; +export declare class Channels extends Collection implements ChannelsInterface { + get(id: string): ChannelInterface | undefined; + filterBySend(): ChannelInterface[]; + filterByReceive(): ChannelInterface[]; +} diff --git a/apps/parser/esm/models/v2/channels.js b/apps/parser/esm/models/v2/channels.js new file mode 100644 index 000000000..fa86c7cae --- /dev/null +++ b/apps/parser/esm/models/v2/channels.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Channels extends Collection { + get(id) { + return this.collections.find(channel => channel.id() === id); + } + filterBySend() { + return this.filterBy(channel => channel.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(channel => channel.operations().filterByReceive().length > 0); + } +} diff --git a/apps/parser/esm/models/v2/components.d.ts b/apps/parser/esm/models/v2/components.d.ts new file mode 100644 index 000000000..1865e8b6f --- /dev/null +++ b/apps/parser/esm/models/v2/components.d.ts @@ -0,0 +1,39 @@ +import { BaseModel } from '../base'; +import { Collection } from '../collection'; +import type { BindingsInterface } from '../bindings'; +import type { ComponentsInterface } from '../components'; +import type { ExtensionsInterface } from '../extensions'; +import type { Constructor } from '../utils'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { SchemasInterface } from '../schemas'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationsInterface } from '../operations'; +import type { CorrelationIdsInterface } from '../correlation-ids'; +import type { v2 } from '../../spec-types'; +export declare class Components extends BaseModel implements ComponentsInterface { + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + channelParameters(): ChannelParametersInterface; + serverVariables(): ServerVariablesInterface; + operationTraits(): OperationTraitsInterface; + messageTraits(): MessageTraitsInterface; + correlationIds(): CorrelationIdsInterface; + securitySchemes(): SecuritySchemesInterface; + serverBindings(): Record; + channelBindings(): Record; + operationBindings(): Record; + messageBindings(): Record; + extensions(): ExtensionsInterface; + isEmpty(): boolean; + protected createCollection, T extends BaseModel>(itemsName: keyof v2.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; + protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; +} diff --git a/apps/parser/esm/models/v2/components.js b/apps/parser/esm/models/v2/components.js new file mode 100644 index 000000000..23d5871de --- /dev/null +++ b/apps/parser/esm/models/v2/components.js @@ -0,0 +1,95 @@ +import { BaseModel } from '../base'; +import { Bindings } from './bindings'; +import { Binding } from './binding'; +import { Channel } from './channel'; +import { ChannelParameter } from './channel-parameter'; +import { CorrelationId } from './correlation-id'; +import { MessageTrait } from './message-trait'; +import { OperationTrait } from './operation-trait'; +import { Schema } from './schema'; +import { SecurityScheme } from './security-scheme'; +import { Server } from './server'; +import { ServerVariable } from './server-variable'; +import { extensions } from './mixins'; +import { Servers } from './servers'; +import { Channels } from './channels'; +import { Messages } from './messages'; +import { Schemas } from './schemas'; +import { ChannelParameters } from './channel-parameters'; +import { ServerVariables } from './server-variables'; +import { OperationTraits } from './operation-traits'; +import { MessageTraits } from './message-traits'; +import { SecuritySchemes } from './security-schemes'; +import { CorrelationIds } from './correlation-ids'; +import { Operations } from './operations'; +import { Message } from './message'; +import { tilde } from '../../utils'; +export class Components extends BaseModel { + servers() { + return this.createCollection('servers', Servers, Server); + } + channels() { + return new Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(Channel, channel, { id: channelAddress, address: '', pointer: `/components/channels/${tilde(channelAddress)}` }))); + } + operations() { + return new Operations([]); + } + messages() { + return this.createCollection('messages', Messages, Message); + } + schemas() { + return this.createCollection('schemas', Schemas, Schema); + } + channelParameters() { + return this.createCollection('parameters', ChannelParameters, ChannelParameter); + } + serverVariables() { + return this.createCollection('serverVariables', ServerVariables, ServerVariable); + } + operationTraits() { + return this.createCollection('operationTraits', OperationTraits, OperationTrait); + } + messageTraits() { + return this.createCollection('messageTraits', MessageTraits, MessageTrait); + } + correlationIds() { + return this.createCollection('correlationIds', CorrelationIds, CorrelationId); + } + securitySchemes() { + return this.createCollection('securitySchemes', SecuritySchemes, SecurityScheme); + } + serverBindings() { + return this.createBindings('serverBindings'); + } + channelBindings() { + return this.createBindings('channelBindings'); + } + operationBindings() { + return this.createBindings('operationBindings'); + } + messageBindings() { + return this.createBindings('messageBindings'); + } + extensions() { + return extensions(this); + } + isEmpty() { + return Object.keys(this._json).length === 0; + } + createCollection(itemsName, collectionModel, itemModel) { + const collectionItems = []; + Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { + collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${id}` })); + }); + return new collectionModel(collectionItems); + } + createBindings(itemsName) { + return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { + const bindingsData = item || {}; + const asyncapi = this.meta('asyncapi'); + const pointer = `components/${itemsName}/${name}`; + bindings[name] = new Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); + return bindings; + }, {}); + } +} diff --git a/apps/parser/esm/models/v2/contact.d.ts b/apps/parser/esm/models/v2/contact.d.ts new file mode 100644 index 000000000..cde7fe085 --- /dev/null +++ b/apps/parser/esm/models/v2/contact.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class Contact extends BaseModel implements ContactInterface { + hasName(): boolean; + name(): string | undefined; + hasUrl(): boolean; + url(): string | undefined; + hasEmail(): boolean; + email(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/contact.js b/apps/parser/esm/models/v2/contact.js new file mode 100644 index 000000000..5c92d0a87 --- /dev/null +++ b/apps/parser/esm/models/v2/contact.js @@ -0,0 +1,25 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class Contact extends BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + hasEmail() { + return !!this._json.email; + } + email() { + return this._json.email; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/correlation-id.d.ts b/apps/parser/esm/models/v2/correlation-id.d.ts new file mode 100644 index 000000000..74959d265 --- /dev/null +++ b/apps/parser/esm/models/v2/correlation-id.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { + location(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/correlation-id.js b/apps/parser/esm/models/v2/correlation-id.js new file mode 100644 index 000000000..461d35c06 --- /dev/null +++ b/apps/parser/esm/models/v2/correlation-id.js @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +export class CorrelationId extends BaseModel { + location() { + return this._json.location; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/correlation-ids.d.ts b/apps/parser/esm/models/v2/correlation-ids.d.ts new file mode 100644 index 000000000..77f81c952 --- /dev/null +++ b/apps/parser/esm/models/v2/correlation-ids.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { CorrelationIdsInterface } from '../correlation-ids'; +import type { CorrelationIdInterface } from '../correlation-id'; +export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { + get(id: string): CorrelationIdInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/correlation-ids.js b/apps/parser/esm/models/v2/correlation-ids.js new file mode 100644 index 000000000..003666fc6 --- /dev/null +++ b/apps/parser/esm/models/v2/correlation-ids.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class CorrelationIds extends Collection { + get(id) { + return this.collections.find(correlationId => correlationId.meta('id') === id); + } +} diff --git a/apps/parser/esm/models/v2/extension.d.ts b/apps/parser/esm/models/v2/extension.d.ts new file mode 100644 index 000000000..9d45395be --- /dev/null +++ b/apps/parser/esm/models/v2/extension.d.ts @@ -0,0 +1,9 @@ +import { BaseModel } from '../base'; +import type { ExtensionInterface } from '../extension'; +import type { v2 } from '../../spec-types'; +export declare class Extension extends BaseModel, { + id: string; +}> implements ExtensionInterface { + id(): string; + value(): V; +} diff --git a/apps/parser/esm/models/v2/extension.js b/apps/parser/esm/models/v2/extension.js new file mode 100644 index 000000000..c1125bbb4 --- /dev/null +++ b/apps/parser/esm/models/v2/extension.js @@ -0,0 +1,9 @@ +import { BaseModel } from '../base'; +export class Extension extends BaseModel { + id() { + return this._meta.id; + } + value() { + return this._json; + } +} diff --git a/apps/parser/esm/models/v2/extensions.d.ts b/apps/parser/esm/models/v2/extensions.d.ts new file mode 100644 index 000000000..3033f8a44 --- /dev/null +++ b/apps/parser/esm/models/v2/extensions.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExtensionInterface } from '../extension'; +export declare class Extensions extends Collection implements ExtensionsInterface { + get(id: string): ExtensionInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/extensions.js b/apps/parser/esm/models/v2/extensions.js new file mode 100644 index 000000000..c08bbc30b --- /dev/null +++ b/apps/parser/esm/models/v2/extensions.js @@ -0,0 +1,7 @@ +import { Collection } from '../collection'; +export class Extensions extends Collection { + get(id) { + id = id.startsWith('x-') ? id : `x-${id}`; + return this.collections.find(ext => ext.id() === id); + } +} diff --git a/apps/parser/esm/models/v2/external-docs.d.ts b/apps/parser/esm/models/v2/external-docs.d.ts new file mode 100644 index 000000000..279640c89 --- /dev/null +++ b/apps/parser/esm/models/v2/external-docs.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { ExtensionsInterface } from '../extensions'; +import type { v2 } from '../../spec-types'; +export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { + url(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/external-docs.js b/apps/parser/esm/models/v2/external-docs.js new file mode 100644 index 000000000..4f179e56d --- /dev/null +++ b/apps/parser/esm/models/v2/external-docs.js @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +export class ExternalDocumentation extends BaseModel { + url() { + return this._json.url; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/index.d.ts b/apps/parser/esm/models/v2/index.d.ts new file mode 100644 index 000000000..5ce2f2622 --- /dev/null +++ b/apps/parser/esm/models/v2/index.d.ts @@ -0,0 +1,37 @@ +export { AsyncAPIDocument as AsyncAPIDocumentV2 } from './asyncapi'; +export { Binding as BindingV2 } from './binding'; +export { Bindings as BindingsV2 } from './bindings'; +export { ChannelParameter as ChannelParameterV2 } from './channel-parameter'; +export { ChannelParameters as ChannelParametersV2 } from './channel-parameters'; +export { Channel as ChannelV2 } from './channel'; +export { Channels as ChannelsV2 } from './channels'; +export { Components as ComponentsV2 } from './components'; +export { Contact as ContactV2 } from './contact'; +export { CorrelationId as CorrelationIdV2 } from './correlation-id'; +export { Extension as ExtensionV2 } from './extension'; +export { Extensions as ExtensionsV2 } from './extensions'; +export { ExternalDocumentation as ExternalDocumentationV2 } from './external-docs'; +export { Info as InfoV2 } from './info'; +export { License as LicenseV2 } from './license'; +export { MessageExample as MessageExampleV2 } from './message-example'; +export { MessageExamples as MessageExamplesV2 } from './message-examples'; +export { MessageTrait as MessageTraitV2 } from './message-trait'; +export { MessageTraits as MessageTraitsV2 } from './message-traits'; +export { Message as MessageV2 } from './message'; +export { Messages as MessagesV2 } from './messages'; +export { OAuthFlow as OAuthFlowV2 } from './oauth-flow'; +export { OAuthFlows as OAuthFlowsV2 } from './oauth-flows'; +export { OperationTrait as OperationTraitV2 } from './operation-trait'; +export { OperationTraits as OperationTraitsV2 } from './operation-traits'; +export { Operation as OperationV2 } from './operation'; +export { Operations as OperationsV2 } from './operations'; +export { Schema as SchemaV2 } from './schema'; +export { Schemas as SchemasV2 } from './schemas'; +export { SecurityScheme as SecuritySchemeV2 } from './security-scheme'; +export { SecuritySchemes as SecuritySchemesV2 } from './security-schemes'; +export { ServerVariable as ServerVariableV2 } from './server-variable'; +export { ServerVariables as ServerVariablesV2 } from './server-variables'; +export { Server as ServerV2 } from './server'; +export { Servers as ServersV2 } from './servers'; +export { Tag as TagV2 } from './tag'; +export { Tags as TagsV2 } from './tags'; diff --git a/apps/parser/esm/models/v2/index.js b/apps/parser/esm/models/v2/index.js new file mode 100644 index 000000000..5ce2f2622 --- /dev/null +++ b/apps/parser/esm/models/v2/index.js @@ -0,0 +1,37 @@ +export { AsyncAPIDocument as AsyncAPIDocumentV2 } from './asyncapi'; +export { Binding as BindingV2 } from './binding'; +export { Bindings as BindingsV2 } from './bindings'; +export { ChannelParameter as ChannelParameterV2 } from './channel-parameter'; +export { ChannelParameters as ChannelParametersV2 } from './channel-parameters'; +export { Channel as ChannelV2 } from './channel'; +export { Channels as ChannelsV2 } from './channels'; +export { Components as ComponentsV2 } from './components'; +export { Contact as ContactV2 } from './contact'; +export { CorrelationId as CorrelationIdV2 } from './correlation-id'; +export { Extension as ExtensionV2 } from './extension'; +export { Extensions as ExtensionsV2 } from './extensions'; +export { ExternalDocumentation as ExternalDocumentationV2 } from './external-docs'; +export { Info as InfoV2 } from './info'; +export { License as LicenseV2 } from './license'; +export { MessageExample as MessageExampleV2 } from './message-example'; +export { MessageExamples as MessageExamplesV2 } from './message-examples'; +export { MessageTrait as MessageTraitV2 } from './message-trait'; +export { MessageTraits as MessageTraitsV2 } from './message-traits'; +export { Message as MessageV2 } from './message'; +export { Messages as MessagesV2 } from './messages'; +export { OAuthFlow as OAuthFlowV2 } from './oauth-flow'; +export { OAuthFlows as OAuthFlowsV2 } from './oauth-flows'; +export { OperationTrait as OperationTraitV2 } from './operation-trait'; +export { OperationTraits as OperationTraitsV2 } from './operation-traits'; +export { Operation as OperationV2 } from './operation'; +export { Operations as OperationsV2 } from './operations'; +export { Schema as SchemaV2 } from './schema'; +export { Schemas as SchemasV2 } from './schemas'; +export { SecurityScheme as SecuritySchemeV2 } from './security-scheme'; +export { SecuritySchemes as SecuritySchemesV2 } from './security-schemes'; +export { ServerVariable as ServerVariableV2 } from './server-variable'; +export { ServerVariables as ServerVariablesV2 } from './server-variables'; +export { Server as ServerV2 } from './server'; +export { Servers as ServersV2 } from './servers'; +export { Tag as TagV2 } from './tag'; +export { Tags as TagsV2 } from './tags'; diff --git a/apps/parser/esm/models/v2/info.d.ts b/apps/parser/esm/models/v2/info.d.ts new file mode 100644 index 000000000..6f87dbdd8 --- /dev/null +++ b/apps/parser/esm/models/v2/info.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { InfoInterface } from '../info'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { LicenseInterface } from '../license'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class Info extends BaseModel implements InfoInterface { + title(): string; + version(): string; + hasId(): boolean; + id(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasTermsOfService(): boolean; + termsOfService(): string | undefined; + hasContact(): boolean; + contact(): ContactInterface | undefined; + hasLicense(): boolean; + license(): LicenseInterface | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + tags(): TagsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/info.js b/apps/parser/esm/models/v2/info.js new file mode 100644 index 000000000..e579f06cf --- /dev/null +++ b/apps/parser/esm/models/v2/info.js @@ -0,0 +1,65 @@ +import { BaseModel } from '../base'; +import { Contact } from './contact'; +import { ExternalDocumentation } from './external-docs'; +import { License } from './license'; +import { Tags } from './tags'; +import { Tag } from './tag'; +import { hasDescription, description, extensions } from './mixins'; +export class Info extends BaseModel { + title() { + return this._json.title; + } + version() { + return this._json.version; + } + hasId() { + return !!this._meta.asyncapi.parsed.id; + } + id() { + return this._meta.asyncapi.parsed.id; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasTermsOfService() { + return !!this._json.termsOfService; + } + termsOfService() { + return this._json.termsOfService; + } + hasContact() { + return Object.keys(this._json.contact || {}).length > 0; + } + contact() { + const contact = this._json.contact; + return contact && this.createModel(Contact, contact, { pointer: '/info/contact' }); + } + hasLicense() { + return Object.keys(this._json.license || {}).length > 0; + } + license() { + const license = this._json.license; + return license && this.createModel(License, license, { pointer: '/info/license' }); + } + hasExternalDocs() { + const asyncapiV2 = this._meta.asyncapi.parsed; + return Object.keys(asyncapiV2.externalDocs || {}).length > 0; + } + externalDocs() { + if (this.hasExternalDocs()) { + const asyncapiV2 = this._meta.asyncapi.parsed; + return this.createModel(ExternalDocumentation, asyncapiV2.externalDocs, { pointer: '/externalDocs' }); + } + } + tags() { + const asyncapiV2 = this._meta.asyncapi.parsed; + const tags = asyncapiV2.tags || []; + return new Tags(tags.map((tag, idx) => this.createModel(Tag, tag, { pointer: `/tags/${idx}` }))); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/license.d.ts b/apps/parser/esm/models/v2/license.d.ts new file mode 100644 index 000000000..351865595 --- /dev/null +++ b/apps/parser/esm/models/v2/license.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { LicenseInterface } from '../license'; +import type { v2 } from '../../spec-types'; +export declare class License extends BaseModel implements LicenseInterface { + name(): string; + hasUrl(): boolean; + url(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/license.js b/apps/parser/esm/models/v2/license.js new file mode 100644 index 000000000..4b4471083 --- /dev/null +++ b/apps/parser/esm/models/v2/license.js @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class License extends BaseModel { + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/message-example.d.ts b/apps/parser/esm/models/v2/message-example.d.ts new file mode 100644 index 000000000..e8a843b55 --- /dev/null +++ b/apps/parser/esm/models/v2/message-example.d.ts @@ -0,0 +1,15 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { MessageExampleInterface } from '../message-example'; +import type { v2 } from '../../spec-types'; +export declare class MessageExample extends BaseModel implements MessageExampleInterface { + hasName(): boolean; + name(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasHeaders(): boolean; + headers(): Record | undefined; + hasPayload(): boolean; + payload(): Record | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/message-example.js b/apps/parser/esm/models/v2/message-example.js new file mode 100644 index 000000000..1ac519e15 --- /dev/null +++ b/apps/parser/esm/models/v2/message-example.js @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class MessageExample extends BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + return this._json.headers; + } + hasPayload() { + return !!this._json.payload; + } + payload() { + return this._json.payload; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/message-examples.d.ts b/apps/parser/esm/models/v2/message-examples.d.ts new file mode 100644 index 000000000..0784e9dc1 --- /dev/null +++ b/apps/parser/esm/models/v2/message-examples.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageExampleInterface } from '../message-example'; +export declare class MessageExamples extends Collection implements MessageExamplesInterface { + get(name: string): MessageExampleInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/message-examples.js b/apps/parser/esm/models/v2/message-examples.js new file mode 100644 index 000000000..2ba751d5b --- /dev/null +++ b/apps/parser/esm/models/v2/message-examples.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class MessageExamples extends Collection { + get(name) { + return this.collections.find(example => example.name() === name); + } +} diff --git a/apps/parser/esm/models/v2/message-trait.d.ts b/apps/parser/esm/models/v2/message-trait.d.ts new file mode 100644 index 000000000..ec31f7553 --- /dev/null +++ b/apps/parser/esm/models/v2/message-trait.d.ts @@ -0,0 +1,38 @@ +import { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageTraitInterface } from '../message-trait'; +import type { SchemaInterface } from '../schema'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class MessageTrait extends BaseModel implements MessageTraitInterface { + id(): string; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + hasMessageId(): boolean; + hasCorrelationId(): boolean; + correlationId(): CorrelationIdInterface | undefined; + hasContentType(): boolean; + contentType(): string | undefined; + hasHeaders(): boolean; + headers(): SchemaInterface | undefined; + hasName(): boolean; + name(): string | undefined; + hasTitle(): boolean; + title(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + examples(): MessageExamplesInterface; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/message-trait.js b/apps/parser/esm/models/v2/message-trait.js new file mode 100644 index 000000000..5e4982f6e --- /dev/null +++ b/apps/parser/esm/models/v2/message-trait.js @@ -0,0 +1,89 @@ +import { BaseModel } from '../base'; +import { CorrelationId } from './correlation-id'; +import { MessageExamples } from './message-examples'; +import { MessageExample } from './message-example'; +import { Schema } from './schema'; +import { xParserMessageName } from '../../constants'; +import { bindings, hasDescription, description, extensions, hasExternalDocs, externalDocs, tags } from './mixins'; +import { getDefaultSchemaFormat } from '../../schema-parser'; +export class MessageTrait extends BaseModel { + id() { + return this._json.messageId || this._meta.id || this.json(xParserMessageName); + } + hasSchemaFormat() { + return this.schemaFormat() !== undefined; + } + schemaFormat() { + return this._json.schemaFormat || getDefaultSchemaFormat(this._meta.asyncapi.semver.version); + } + hasMessageId() { + return !!this._json.messageId; + } + hasCorrelationId() { + return !!this._json.correlationId; + } + correlationId() { + if (!this._json.correlationId) + return undefined; + return this.createModel(CorrelationId, this._json.correlationId, { pointer: `${this._meta.pointer}/correlationId` }); + } + hasContentType() { + return !!this._json.contentType; + } + contentType() { + var _a; + return this._json.contentType || ((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.defaultContentType); + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + if (!this._json.headers) + return undefined; + return this.createModel(Schema, this._json.headers, { pointer: `${this._meta.pointer}/headers` }); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasTitle() { + return !!this._json.title; + } + title() { + return this._json.title; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } + examples() { + return new MessageExamples((this._json.examples || []).map((example, index) => { + return this.createModel(MessageExample, example, { pointer: `${this._meta.pointer}/examples/${index}` }); + })); + } + tags() { + return tags(this); + } + bindings() { + return bindings(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/message-traits.d.ts b/apps/parser/esm/models/v2/message-traits.d.ts new file mode 100644 index 000000000..8601210f2 --- /dev/null +++ b/apps/parser/esm/models/v2/message-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { MessageTraitInterface } from '../message-trait'; +export declare class MessageTraits extends Collection implements MessageTraitsInterface { + get(id: string): MessageTraitInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/message-traits.js b/apps/parser/esm/models/v2/message-traits.js new file mode 100644 index 000000000..fc8828184 --- /dev/null +++ b/apps/parser/esm/models/v2/message-traits.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class MessageTraits extends Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} diff --git a/apps/parser/esm/models/v2/message.d.ts b/apps/parser/esm/models/v2/message.d.ts new file mode 100644 index 000000000..9d7ee229a --- /dev/null +++ b/apps/parser/esm/models/v2/message.d.ts @@ -0,0 +1,16 @@ +import { MessageTrait } from './message-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessageInterface } from '../message'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { SchemaInterface } from '../schema'; +import type { v2 } from '../../spec-types'; +export declare class Message extends MessageTrait implements MessageInterface { + hasPayload(): boolean; + payload(): SchemaInterface | undefined; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + traits(): MessageTraitsInterface; +} diff --git a/apps/parser/esm/models/v2/message.js b/apps/parser/esm/models/v2/message.js new file mode 100644 index 000000000..450eaa9f0 --- /dev/null +++ b/apps/parser/esm/models/v2/message.js @@ -0,0 +1,63 @@ +import { Channels } from './channels'; +import { Operations } from './operations'; +import { Operation } from './operation'; +import { MessageTraits } from './message-traits'; +import { MessageTrait } from './message-trait'; +import { Servers } from './servers'; +import { Schema } from './schema'; +import { tilde } from '../../utils'; +export class Message extends MessageTrait { + hasPayload() { + return !!this._json.payload; + } + payload() { + if (!this._json.payload) + return undefined; + return this.createModel(Schema, this._json.payload, { pointer: `${this._meta.pointer}/payload`, schemaFormat: this._json.schemaFormat }); + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + if (!serversData.includes(server.json())) { + serversData.push(server.json()); + servers.push(server); + } + }); + }); + return new Servers(servers); + } + channels() { + const channels = []; + const channelsData = []; + this.operations().all().forEach(operation => { + operation.channels().forEach(channel => { + if (!channelsData.includes(channel.json())) { + channelsData.push(channel.json()); + channels.push(channel); + } + }); + }); + return new Channels(channels); + } + operations() { + var _a; + const operations = []; + Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { + ['subscribe', 'publish'].forEach(operationAction => { + const operation = channel[operationAction]; + if (operation && (operation.message === this._json || + (operation.message.oneOf || []).includes(this._json))) { + operations.push(this.createModel(Operation, operation, { id: '', pointer: `/channels/${tilde(channelAddress)}/${operationAction}`, action: operationAction })); + } + }); + }); + return new Operations(operations); + } + traits() { + return new MessageTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(MessageTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}` }); + })); + } +} diff --git a/apps/parser/esm/models/v2/messages.d.ts b/apps/parser/esm/models/v2/messages.d.ts new file mode 100644 index 000000000..d988f36fb --- /dev/null +++ b/apps/parser/esm/models/v2/messages.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { MessagesInterface } from '../messages'; +import type { MessageInterface } from '../message'; +export declare class Messages extends Collection implements MessagesInterface { + get(name: string): MessageInterface | undefined; + filterBySend(): MessageInterface[]; + filterByReceive(): MessageInterface[]; +} diff --git a/apps/parser/esm/models/v2/messages.js b/apps/parser/esm/models/v2/messages.js new file mode 100644 index 000000000..5d2fb8d72 --- /dev/null +++ b/apps/parser/esm/models/v2/messages.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Messages extends Collection { + get(name) { + return this.collections.find(message => message.id() === name); + } + filterBySend() { + return this.filterBy(message => message.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(message => message.operations().filterByReceive().length > 0); + } +} diff --git a/apps/parser/esm/models/v2/mixins.d.ts b/apps/parser/esm/models/v2/mixins.d.ts new file mode 100644 index 000000000..08b4d9d43 --- /dev/null +++ b/apps/parser/esm/models/v2/mixins.d.ts @@ -0,0 +1,25 @@ +import type { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare function bindings(model: BaseModel<{ + bindings?: Record; +}>): BindingsInterface; +export declare function hasDescription(model: BaseModel<{ + description?: string; +}>): boolean; +export declare function description(model: BaseModel<{ + description?: string; +}>): string | undefined; +export declare function extensions(model: BaseModel): ExtensionsInterface; +export declare function hasExternalDocs(model: BaseModel<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): boolean; +export declare function externalDocs(model: BaseModel<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): ExternalDocumentationInterface | undefined; +export declare function tags(model: BaseModel<{ + tags?: v2.TagsObject; +}>): TagsInterface; diff --git a/apps/parser/esm/models/v2/mixins.js b/apps/parser/esm/models/v2/mixins.js new file mode 100644 index 000000000..16b4d40d0 --- /dev/null +++ b/apps/parser/esm/models/v2/mixins.js @@ -0,0 +1,39 @@ +import { Bindings } from './bindings'; +import { Binding } from './binding'; +import { Extensions } from './extensions'; +import { Extension } from './extension'; +import { ExternalDocumentation } from './external-docs'; +import { Tags } from './tags'; +import { Tag } from './tag'; +import { createModel } from '../utils'; +import { EXTENSION_REGEX } from '../../constants'; +export function bindings(model) { + const bindings = model.json('bindings') || {}; + return new Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => createModel(Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); +} +export function hasDescription(model) { + return Boolean(description(model)); +} +export function description(model) { + return model.json('description'); +} +export function extensions(model) { + const extensions = []; + Object.entries(model.json()).forEach(([id, value]) => { + if (EXTENSION_REGEX.test(id)) { + extensions.push(createModel(Extension, value, { id, pointer: model.jsonPath(id) }, model)); + } + }); + return new Extensions(extensions); +} +export function hasExternalDocs(model) { + return Object.keys(model.json('externalDocs') || {}).length > 0; +} +export function externalDocs(model) { + if (hasExternalDocs(model)) { + return new ExternalDocumentation(model.json('externalDocs')); + } +} +export function tags(model) { + return new Tags((model.json('tags') || []).map((tag, idx) => createModel(Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); +} diff --git a/apps/parser/esm/models/v2/oauth-flow.d.ts b/apps/parser/esm/models/v2/oauth-flow.d.ts new file mode 100644 index 000000000..32f8ec6ff --- /dev/null +++ b/apps/parser/esm/models/v2/oauth-flow.d.ts @@ -0,0 +1,14 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v2 } from '../../spec-types'; +export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { + hasAuthorizationUrl(): boolean; + authorizationUrl(): string | undefined; + hasTokenUrl(): boolean; + tokenUrl(): string | undefined; + hasRefreshUrl(): boolean; + refreshUrl(): string | undefined; + scopes(): Record | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/oauth-flow.js b/apps/parser/esm/models/v2/oauth-flow.js new file mode 100644 index 000000000..916f94d1b --- /dev/null +++ b/apps/parser/esm/models/v2/oauth-flow.js @@ -0,0 +1,28 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class OAuthFlow extends BaseModel { + hasAuthorizationUrl() { + return !!this.json().authorizationUrl; + } + authorizationUrl() { + return this.json().authorizationUrl; + } + hasTokenUrl() { + return !!this.json().tokenUrl; + } + tokenUrl() { + return this.json().tokenUrl; + } + hasRefreshUrl() { + return !!this._json.refreshUrl; + } + refreshUrl() { + return this._json.refreshUrl; + } + scopes() { + return this._json.scopes; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/oauth-flows.d.ts b/apps/parser/esm/models/v2/oauth-flows.d.ts new file mode 100644 index 000000000..9ff0b07ed --- /dev/null +++ b/apps/parser/esm/models/v2/oauth-flows.d.ts @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v2 } from '../../spec-types'; +export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { + hasAuthorizationCode(): boolean; + authorizationCode(): OAuthFlowInterface | undefined; + hasClientCredentials(): boolean; + clientCredentials(): OAuthFlowInterface | undefined; + hasImplicit(): boolean; + implicit(): OAuthFlowInterface | undefined; + hasPassword(): boolean; + password(): OAuthFlowInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/oauth-flows.js b/apps/parser/esm/models/v2/oauth-flows.js new file mode 100644 index 000000000..ab5147e0e --- /dev/null +++ b/apps/parser/esm/models/v2/oauth-flows.js @@ -0,0 +1,40 @@ +import { BaseModel } from '../base'; +import { OAuthFlow } from './oauth-flow'; +import { extensions } from './mixins'; +export class OAuthFlows extends BaseModel { + hasAuthorizationCode() { + return !!this._json.authorizationCode; + } + authorizationCode() { + if (!this._json.authorizationCode) + return undefined; + return new OAuthFlow(this._json.authorizationCode); + } + hasClientCredentials() { + return !!this._json.clientCredentials; + } + clientCredentials() { + if (!this._json.clientCredentials) + return undefined; + return new OAuthFlow(this._json.clientCredentials); + } + hasImplicit() { + return !!this._json.implicit; + } + implicit() { + if (!this._json.implicit) + return undefined; + return new OAuthFlow(this._json.implicit); + } + hasPassword() { + return !!this._json.password; + } + password() { + if (!this._json.password) + return undefined; + return new OAuthFlow(this._json.password); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/operation-trait.d.ts b/apps/parser/esm/models/v2/operation-trait.d.ts new file mode 100644 index 000000000..400020182 --- /dev/null +++ b/apps/parser/esm/models/v2/operation-trait.d.ts @@ -0,0 +1,27 @@ +import { BaseModel } from '../base'; +import { SecurityRequirements } from './security-requirements'; +import type { BindingsInterface } from '../bindings'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { OperationAction } from '../operation'; +import type { OperationTraitInterface } from '../operation-trait'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class OperationTrait extends BaseModel implements OperationTraitInterface { + id(): string; + hasOperationId(): boolean; + operationId(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + security(): SecurityRequirements[]; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/operation-trait.js b/apps/parser/esm/models/v2/operation-trait.js new file mode 100644 index 000000000..2fd55689f --- /dev/null +++ b/apps/parser/esm/models/v2/operation-trait.js @@ -0,0 +1,55 @@ +import { BaseModel } from '../base'; +import { SecurityScheme } from './security-scheme'; +import { SecurityRequirements } from './security-requirements'; +import { SecurityRequirement } from './security-requirement'; +import { bindings, hasDescription, description, extensions, hasExternalDocs, externalDocs, tags } from './mixins'; +export class OperationTrait extends BaseModel { + id() { + return this.operationId() || this._meta.id; + } + hasOperationId() { + return !!this._json.operationId; + } + operationId() { + return this._json.operationId; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } + security() { + var _a, _b, _c, _d; + const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); + return (this._json.security || []).map((requirement, index) => { + const requirements = []; + Object.entries(requirement).forEach(([security, scopes]) => { + const scheme = this.createModel(SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); + requirements.push(this.createModel(SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); + }); + return new SecurityRequirements(requirements); + }); + } + tags() { + return tags(this); + } + bindings() { + return bindings(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/operation-traits.d.ts b/apps/parser/esm/models/v2/operation-traits.d.ts new file mode 100644 index 000000000..0de03b0ff --- /dev/null +++ b/apps/parser/esm/models/v2/operation-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { OperationTraitInterface } from '../operation-trait'; +export declare class OperationTraits extends Collection implements OperationTraitsInterface { + get(id: string): OperationTraitInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/operation-traits.js b/apps/parser/esm/models/v2/operation-traits.js new file mode 100644 index 000000000..e663f6589 --- /dev/null +++ b/apps/parser/esm/models/v2/operation-traits.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class OperationTraits extends Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} diff --git a/apps/parser/esm/models/v2/operation.d.ts b/apps/parser/esm/models/v2/operation.d.ts new file mode 100644 index 000000000..5976f4a7b --- /dev/null +++ b/apps/parser/esm/models/v2/operation.d.ts @@ -0,0 +1,18 @@ +import { OperationTrait } from './operation-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { OperationInterface, OperationAction } from '../operation'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { ServersInterface } from '../servers'; +import type { v2 } from '../../spec-types'; +export declare class Operation extends OperationTrait implements OperationInterface { + action(): OperationAction; + isSend(): boolean; + isReceive(): boolean; + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + reply(): OperationReplyInterface | undefined; + traits(): OperationTraitsInterface; +} diff --git a/apps/parser/esm/models/v2/operation.js b/apps/parser/esm/models/v2/operation.js new file mode 100644 index 000000000..394905813 --- /dev/null +++ b/apps/parser/esm/models/v2/operation.js @@ -0,0 +1,65 @@ +import { Channels } from './channels'; +import { Channel } from './channel'; +import { Messages } from './messages'; +import { Message } from './message'; +import { OperationTraits } from './operation-traits'; +import { OperationTrait } from './operation-trait'; +import { Servers } from './servers'; +import { tilde } from '../../utils'; +export class Operation extends OperationTrait { + action() { + return this._meta.action; + } + isSend() { + return this.action() === 'subscribe'; + } + isReceive() { + return this.action() === 'publish'; + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + if (!serversData.includes(server.json())) { + serversData.push(server.json()); + servers.push(server); + } + }); + }); + return new Servers(servers); + } + channels() { + const channels = []; + Object.entries(this._meta.asyncapi.parsed.channels || {}).forEach(([channelAddress, channel]) => { + if (channel.subscribe === this._json || channel.publish === this._json) { + channels.push(this.createModel(Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${tilde(channelAddress)}` })); + } + }); + return new Channels(channels); + } + messages() { + let isOneOf = false; + let messages = []; + if (this._json.message) { + if (Array.isArray(this._json.message.oneOf)) { + messages = this._json.message.oneOf; + isOneOf = true; + } + else { + messages = [this._json.message]; + } + } + return new Messages(messages.map((message, index) => { + return this.createModel(Message, message, { id: '', pointer: `${this._meta.pointer}/message${isOneOf ? `/oneOf/${index}` : ''}` }); + })); + } + reply() { + return; + } + traits() { + return new OperationTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(OperationTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}`, action: '' }); + })); + } +} diff --git a/apps/parser/esm/models/v2/operations.d.ts b/apps/parser/esm/models/v2/operations.d.ts new file mode 100644 index 000000000..161cb9b2e --- /dev/null +++ b/apps/parser/esm/models/v2/operations.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { OperationsInterface } from '../operations'; +import type { OperationInterface } from '../operation'; +export declare class Operations extends Collection implements OperationsInterface { + get(id: string): OperationInterface | undefined; + filterBySend(): OperationInterface[]; + filterByReceive(): OperationInterface[]; +} diff --git a/apps/parser/esm/models/v2/operations.js b/apps/parser/esm/models/v2/operations.js new file mode 100644 index 000000000..48e51ae25 --- /dev/null +++ b/apps/parser/esm/models/v2/operations.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Operations extends Collection { + get(id) { + return this.collections.find(operation => operation.id() === id); + } + filterBySend() { + return this.filterBy(operation => operation.isSend()); + } + filterByReceive() { + return this.filterBy(operation => operation.isReceive()); + } +} diff --git a/apps/parser/esm/models/v2/schema.d.ts b/apps/parser/esm/models/v2/schema.d.ts new file mode 100644 index 000000000..ee799837c --- /dev/null +++ b/apps/parser/esm/models/v2/schema.d.ts @@ -0,0 +1,66 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { SchemaInterface } from '../schema'; +import type { v2 } from '../../spec-types'; +export declare class Schema extends BaseModel implements SchemaInterface { + id(): string; + $comment(): string | undefined; + $id(): string | undefined; + $schema(): string; + additionalItems(): boolean | SchemaInterface; + additionalProperties(): boolean | SchemaInterface; + allOf(): Array | undefined; + anyOf(): Array | undefined; + const(): any; + contains(): SchemaInterface | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + default(): any; + definitions(): Record | undefined; + description(): string | undefined; + dependencies(): Record> | undefined; + deprecated(): boolean; + discriminator(): string | undefined; + else(): SchemaInterface | undefined; + enum(): Array | undefined; + examples(): Array | undefined; + exclusiveMaximum(): number | undefined; + exclusiveMinimum(): number | undefined; + format(): string | undefined; + isBooleanSchema(): boolean; + if(): SchemaInterface | undefined; + isCircular(): boolean; + items(): SchemaInterface | Array | undefined; + maximum(): number | undefined; + maxItems(): number | undefined; + maxLength(): number | undefined; + maxProperties(): number | undefined; + minimum(): number | undefined; + minItems(): number | undefined; + minLength(): number | undefined; + minProperties(): number | undefined; + multipleOf(): number | undefined; + not(): SchemaInterface | undefined; + oneOf(): Array | undefined; + pattern(): string | undefined; + patternProperties(): Record | undefined; + properties(): Record | undefined; + property(name: string): SchemaInterface | undefined; + propertyNames(): SchemaInterface | undefined; + readOnly(): boolean | undefined; + required(): Array | undefined; + schemaFormat(): string; + then(): SchemaInterface | undefined; + title(): string | undefined; + type(): string | Array | undefined; + uniqueItems(): boolean | undefined; + writeOnly(): boolean | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/schema.js b/apps/parser/esm/models/v2/schema.js new file mode 100644 index 000000000..2773dc316 --- /dev/null +++ b/apps/parser/esm/models/v2/schema.js @@ -0,0 +1,308 @@ +import { BaseModel } from '../base'; +import { xParserSchemaId } from '../../constants'; +import { extensions, hasExternalDocs, externalDocs } from './mixins'; +import { getDefaultSchemaFormat } from '../../schema-parser'; +export class Schema extends BaseModel { + id() { + return this.$id() || this._meta.id || this.json(xParserSchemaId); + } + $comment() { + if (typeof this._json === 'boolean') + return; + return this._json.$comment; + } + $id() { + if (typeof this._json === 'boolean') + return; + return this._json.$id; + } + $schema() { + if (typeof this._json === 'boolean') + return 'http://json-schema.org/draft-07/schema#'; + return this._json.$schema || 'http://json-schema.org/draft-07/schema#'; + } + additionalItems() { + if (typeof this._json === 'boolean') + return this._json; + if (typeof this._json.additionalItems === 'boolean') + return this._json.additionalItems; + if (this._json.additionalItems === undefined) + return true; + if (this._json.additionalItems === null) + return false; + return this.createModel(Schema, this._json.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); + } + additionalProperties() { + if (typeof this._json === 'boolean') + return this._json; + if (typeof this._json.additionalProperties === 'boolean') + return this._json.additionalProperties; + if (this._json.additionalProperties === undefined) + return true; + if (this._json.additionalProperties === null) + return false; + return this.createModel(Schema, this._json.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); + } + allOf() { + if (typeof this._json === 'boolean') + return; + if (!Array.isArray(this._json.allOf)) + return undefined; + return this._json.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); + } + anyOf() { + if (typeof this._json === 'boolean') + return; + if (!Array.isArray(this._json.anyOf)) + return undefined; + return this._json.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); + } + const() { + if (typeof this._json === 'boolean') + return; + return this._json.const; + } + contains() { + if (typeof this._json === 'boolean' || typeof this._json.contains !== 'object') + return; + return this.createModel(Schema, this._json.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); + } + contentEncoding() { + if (typeof this._json === 'boolean') + return; + return this._json.contentEncoding; + } + contentMediaType() { + if (typeof this._json === 'boolean') + return; + return this._json.contentMediaType; + } + default() { + if (typeof this._json === 'boolean') + return; + return this._json.default; + } + definitions() { + if (typeof this._json === 'boolean' || typeof this._json.definitions !== 'object') + return; + return Object.entries(this._json.definitions).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); + return acc; + }, {}); + } + description() { + if (typeof this._json === 'boolean') + return; + return this._json.description; + } + dependencies() { + if (typeof this._json === 'boolean') + return; + if (typeof this._json.dependencies !== 'object') + return undefined; + return Object.entries(this._json.dependencies).reduce((acc, [key, s]) => { + acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); + return acc; + }, {}); + } + deprecated() { + if (typeof this._json === 'boolean') + return false; + return this._json.deprecated || false; + } + discriminator() { + if (typeof this._json === 'boolean') + return; + return this._json.discriminator; + } + else() { + if (typeof this._json === 'boolean' || typeof this._json.else !== 'object') + return; + return this.createModel(Schema, this._json.else, { pointer: `${this._meta.pointer}/else`, parent: this }); + } + enum() { + if (typeof this._json === 'boolean') + return; + return this._json.enum; + } + examples() { + if (typeof this._json === 'boolean') + return; + return this._json.examples; + } + exclusiveMaximum() { + if (typeof this._json === 'boolean') + return; + return this._json.exclusiveMaximum; + } + exclusiveMinimum() { + if (typeof this._json === 'boolean') + return; + return this._json.exclusiveMinimum; + } + format() { + if (typeof this._json === 'boolean') + return; + return this._json.format; + } + isBooleanSchema() { + return typeof this._json === 'boolean'; + } + if() { + if (typeof this._json === 'boolean' || typeof this._json.if !== 'object') + return; + return this.createModel(Schema, this._json.if, { pointer: `${this._meta.pointer}/if`, parent: this }); + } + isCircular() { + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._json) + return true; + parent = parent._meta.parent; + } + return false; + } + items() { + if (typeof this._json === 'boolean' || typeof this._json.items !== 'object') + return; + if (Array.isArray(this._json.items)) { + return this._json.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); + } + return this.createModel(Schema, this._json.items, { pointer: `${this._meta.pointer}/items`, parent: this }); + } + maximum() { + if (typeof this._json === 'boolean') + return; + return this._json.maximum; + } + maxItems() { + if (typeof this._json === 'boolean') + return; + return this._json.maxItems; + } + maxLength() { + if (typeof this._json === 'boolean') + return; + return this._json.maxLength; + } + maxProperties() { + if (typeof this._json === 'boolean') + return; + return this._json.maxProperties; + } + minimum() { + if (typeof this._json === 'boolean') + return; + return this._json.minimum; + } + minItems() { + if (typeof this._json === 'boolean') + return; + return this._json.minItems; + } + minLength() { + if (typeof this._json === 'boolean') + return; + return this._json.minLength; + } + minProperties() { + if (typeof this._json === 'boolean') + return; + return this._json.minProperties; + } + multipleOf() { + if (typeof this._json === 'boolean') + return; + return this._json.multipleOf; + } + not() { + if (typeof this._json === 'boolean' || typeof this._json.not !== 'object') + return; + return this.createModel(Schema, this._json.not, { pointer: `${this._meta.pointer}/not`, parent: this }); + } + oneOf() { + if (typeof this._json === 'boolean') + return; + if (!Array.isArray(this._json.oneOf)) + return undefined; + return this._json.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); + } + pattern() { + if (typeof this._json === 'boolean') + return; + return this._json.pattern; + } + patternProperties() { + if (typeof this._json === 'boolean' || typeof this._json.patternProperties !== 'object') + return; + return Object.entries(this._json.patternProperties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); + return acc; + }, {}); + } + properties() { + if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object') + return; + return Object.entries(this._json.properties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); + return acc; + }, {}); + } + property(name) { + if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object' || typeof this._json.properties[name] !== 'object') + return; + return this.createModel(Schema, this._json.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); + } + propertyNames() { + if (typeof this._json === 'boolean' || typeof this._json.propertyNames !== 'object') + return; + return this.createModel(Schema, this._json.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); + } + readOnly() { + if (typeof this._json === 'boolean') + return false; + return this._json.readOnly || false; + } + required() { + if (typeof this._json === 'boolean') + return; + return this._json.required; + } + schemaFormat() { + return this._meta.schemaFormat || getDefaultSchemaFormat(this._meta.asyncapi.semver.version); + } + then() { + if (typeof this._json === 'boolean' || typeof this._json.then !== 'object') + return; + return this.createModel(Schema, this._json.then, { pointer: `${this._meta.pointer}/then`, parent: this }); + } + title() { + if (typeof this._json === 'boolean') + return; + return this._json.title; + } + type() { + if (typeof this._json === 'boolean') + return; + return this._json.type; + } + uniqueItems() { + if (typeof this._json === 'boolean') + return false; + return this._json.uniqueItems || false; + } + writeOnly() { + if (typeof this._json === 'boolean') + return false; + return this._json.writeOnly || false; + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/schemas.d.ts b/apps/parser/esm/models/v2/schemas.d.ts new file mode 100644 index 000000000..15c1d17bc --- /dev/null +++ b/apps/parser/esm/models/v2/schemas.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SchemasInterface } from '../schemas'; +import type { SchemaInterface } from '../schema'; +export declare class Schemas extends Collection implements SchemasInterface { + get(id: string): SchemaInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/schemas.js b/apps/parser/esm/models/v2/schemas.js new file mode 100644 index 000000000..6cb574e32 --- /dev/null +++ b/apps/parser/esm/models/v2/schemas.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class Schemas extends Collection { + get(id) { + return this.collections.find(schema => schema.id() === id); + } +} diff --git a/apps/parser/esm/models/v2/security-requirement.d.ts b/apps/parser/esm/models/v2/security-requirement.d.ts new file mode 100644 index 000000000..88cb3a757 --- /dev/null +++ b/apps/parser/esm/models/v2/security-requirement.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirement extends BaseModel<{ + scopes?: string[]; + scheme: SecuritySchemeInterface; +}, { + id?: string; +}> implements SecurityRequirementInterface { + scheme(): SecuritySchemeInterface; + scopes(): string[]; +} diff --git a/apps/parser/esm/models/v2/security-requirement.js b/apps/parser/esm/models/v2/security-requirement.js new file mode 100644 index 000000000..2ce62cdfa --- /dev/null +++ b/apps/parser/esm/models/v2/security-requirement.js @@ -0,0 +1,9 @@ +import { BaseModel } from '../base'; +export class SecurityRequirement extends BaseModel { + scheme() { + return this._json.scheme; + } + scopes() { + return this._json.scopes || []; + } +} diff --git a/apps/parser/esm/models/v2/security-requirements.d.ts b/apps/parser/esm/models/v2/security-requirements.d.ts new file mode 100644 index 000000000..882dd7bbc --- /dev/null +++ b/apps/parser/esm/models/v2/security-requirements.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecurityRequirementsInterface } from '../security-requirements'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { + get(id: string): SecurityRequirementInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/security-requirements.js b/apps/parser/esm/models/v2/security-requirements.js new file mode 100644 index 000000000..f8c1cbc47 --- /dev/null +++ b/apps/parser/esm/models/v2/security-requirements.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class SecurityRequirements extends Collection { + get(id) { + return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); + } +} diff --git a/apps/parser/esm/models/v2/security-scheme.d.ts b/apps/parser/esm/models/v2/security-scheme.d.ts new file mode 100644 index 000000000..5a5cc6c7e --- /dev/null +++ b/apps/parser/esm/models/v2/security-scheme.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { v2 } from '../../spec-types'; +export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { + id(): string; + type(): v2.SecuritySchemeType; + hasDescription(): boolean; + description(): string | undefined; + hasName(): boolean; + name(): string | undefined; + hasIn(): boolean; + in(): v2.SecuritySchemaLocation | undefined; + hasScheme(): boolean; + scheme(): string | undefined; + hasBearerFormat(): boolean; + bearerFormat(): string | undefined; + hasFlows(): boolean; + flows(): OAuthFlowsInterface | undefined; + hasOpenIdConnectUrl(): boolean; + openIdConnectUrl(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/security-scheme.js b/apps/parser/esm/models/v2/security-scheme.js new file mode 100644 index 000000000..e82e9bd38 --- /dev/null +++ b/apps/parser/esm/models/v2/security-scheme.js @@ -0,0 +1,58 @@ +import { BaseModel } from '../base'; +import { OAuthFlows } from './oauth-flows'; +import { hasDescription, description, extensions } from './mixins'; +export class SecurityScheme extends BaseModel { + id() { + return this._meta.id; + } + type() { + return this._json.type; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasIn() { + return !!this._json.in; + } + in() { + return this._json.in; + } + hasScheme() { + return !!this._json.scheme; + } + scheme() { + return this._json.scheme; + } + hasBearerFormat() { + return !!this._json.bearerFormat; + } + bearerFormat() { + return this._json.bearerFormat; + } + hasFlows() { + return !!this._json.flows; + } + flows() { + if (!this._json.flows) + return undefined; + return new OAuthFlows(this._json.flows); + } + hasOpenIdConnectUrl() { + return !!this._json.openIdConnectUrl; + } + openIdConnectUrl() { + return this._json.openIdConnectUrl; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/security-schemes.d.ts b/apps/parser/esm/models/v2/security-schemes.d.ts new file mode 100644 index 000000000..e9d23e914 --- /dev/null +++ b/apps/parser/esm/models/v2/security-schemes.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { SecuritySchemeInterface } from '../security-scheme'; +export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { + get(id: string): SecuritySchemeInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/security-schemes.js b/apps/parser/esm/models/v2/security-schemes.js new file mode 100644 index 000000000..fea91c4b7 --- /dev/null +++ b/apps/parser/esm/models/v2/security-schemes.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class SecuritySchemes extends Collection { + get(id) { + return this.collections.find(securityScheme => securityScheme.id() === id); + } +} diff --git a/apps/parser/esm/models/v2/server-variable.d.ts b/apps/parser/esm/models/v2/server-variable.d.ts new file mode 100644 index 000000000..973203637 --- /dev/null +++ b/apps/parser/esm/models/v2/server-variable.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ServerVariableInterface } from '../server-variable'; +import type { v2 } from '../../spec-types'; +export declare class ServerVariable extends BaseModel implements ServerVariableInterface { + id(): string; + hasDescription(): boolean; + description(): string | undefined; + hasDefaultValue(): boolean; + defaultValue(): string | undefined; + hasAllowedValues(): boolean; + allowedValues(): Array; + examples(): Array; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/server-variable.js b/apps/parser/esm/models/v2/server-variable.js new file mode 100644 index 000000000..df9caa08d --- /dev/null +++ b/apps/parser/esm/models/v2/server-variable.js @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +export class ServerVariable extends BaseModel { + id() { + return this._meta.id; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasDefaultValue() { + return !!this._json.default; + } + defaultValue() { + return this._json.default; + } + hasAllowedValues() { + return !!this._json.enum; + } + allowedValues() { + return this._json.enum || []; + } + examples() { + return this._json.examples || []; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/server-variables.d.ts b/apps/parser/esm/models/v2/server-variables.d.ts new file mode 100644 index 000000000..7e3ebe7f4 --- /dev/null +++ b/apps/parser/esm/models/v2/server-variables.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { ServerVariableInterface } from '../server-variable'; +export declare class ServerVariables extends Collection implements ServerVariablesInterface { + get(id: string): ServerVariableInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/server-variables.js b/apps/parser/esm/models/v2/server-variables.js new file mode 100644 index 000000000..3ae580ded --- /dev/null +++ b/apps/parser/esm/models/v2/server-variables.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class ServerVariables extends Collection { + get(id) { + return this.collections.find(variable => variable.id() === id); + } +} diff --git a/apps/parser/esm/models/v2/server.d.ts b/apps/parser/esm/models/v2/server.d.ts new file mode 100644 index 000000000..326ae4172 --- /dev/null +++ b/apps/parser/esm/models/v2/server.d.ts @@ -0,0 +1,33 @@ +import { BaseModel } from '../base'; +import { SecurityRequirements } from './security-requirements'; +import type { ChannelsInterface } from '../channels'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { ServerInterface } from '../server'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { ExtensionsInterface } from '../extensions'; +import type { BindingsInterface } from '../bindings'; +import type { TagsInterface } from '../tags'; +import type { v2 } from '../../spec-types'; +export declare class Server extends BaseModel implements ServerInterface { + id(): string; + url(): string; + host(): string; + hasPathname(): boolean; + pathname(): string | undefined; + protocol(): string; + hasProtocolVersion(): boolean; + protocolVersion(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + variables(): ServerVariablesInterface; + security(): SecurityRequirements[]; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v2/server.js b/apps/parser/esm/models/v2/server.js new file mode 100644 index 000000000..b53052279 --- /dev/null +++ b/apps/parser/esm/models/v2/server.js @@ -0,0 +1,98 @@ +import { BaseModel } from '../base'; +import { Channels } from './channels'; +import { Channel } from './channel'; +import { Messages } from './messages'; +import { Operations } from './operations'; +import { SecurityScheme } from './security-scheme'; +import { ServerVariables } from './server-variables'; +import { ServerVariable } from './server-variable'; +import { SecurityRequirements } from './security-requirements'; +import { SecurityRequirement } from './security-requirement'; +import { bindings, hasDescription, description, extensions, tags } from './mixins'; +import { tilde } from '../../utils'; +export class Server extends BaseModel { + id() { + return this._meta.id; + } + url() { + return this._json.url; + } + host() { + const url = new URL(this.url()); + return url.host; + } + hasPathname() { + return !!this.pathname(); + } + pathname() { + const url = new URL(this.url()); + return url.pathname; + } + protocol() { + return this._json.protocol; + } + hasProtocolVersion() { + return !!this._json.protocolVersion; + } + protocolVersion() { + return this._json.protocolVersion; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + channels() { + var _a; + const channels = []; + Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { + const allowedServers = channel.servers || []; + if (allowedServers.length === 0 || allowedServers.includes(this._meta.id)) { + channels.push(this.createModel(Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${tilde(channelAddress)}` })); + } + }); + return new Channels(channels); + } + operations() { + const operations = []; + this.channels().forEach(channel => { + operations.push(...channel.operations().all()); + }); + return new Operations(operations); + } + messages() { + const messages = []; + this.operations().forEach(operation => messages.push(...operation.messages().all())); + return new Messages(messages); + } + variables() { + return new ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { + return this.createModel(ServerVariable, serverVariable, { + id: serverVariableName, + pointer: `${this._meta.pointer}/variables/${serverVariableName}` + }); + })); + } + security() { + var _a, _b, _c, _d; + const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); + return (this._json.security || []).map((requirement, index) => { + const requirements = []; + Object.entries(requirement).forEach(([security, scopes]) => { + const scheme = this.createModel(SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); + requirements.push(this.createModel(SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); + }); + return new SecurityRequirements(requirements); + }); + } + tags() { + return tags(this); + } + bindings() { + return bindings(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v2/servers.d.ts b/apps/parser/esm/models/v2/servers.d.ts new file mode 100644 index 000000000..101c8aa9e --- /dev/null +++ b/apps/parser/esm/models/v2/servers.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import { ServerInterface } from '../server'; +import { ServersInterface } from '../servers'; +export declare class Servers extends Collection implements ServersInterface { + get(id: string): ServerInterface | undefined; + filterBySend(): ServerInterface[]; + filterByReceive(): ServerInterface[]; +} diff --git a/apps/parser/esm/models/v2/servers.js b/apps/parser/esm/models/v2/servers.js new file mode 100644 index 000000000..39df4d44f --- /dev/null +++ b/apps/parser/esm/models/v2/servers.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Servers extends Collection { + get(id) { + return this.collections.find(server => server.id() === id); + } + filterBySend() { + return this.filterBy(server => server.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(server => server.operations().filterByReceive().length > 0); + } +} diff --git a/apps/parser/esm/models/v2/tag.d.ts b/apps/parser/esm/models/v2/tag.d.ts new file mode 100644 index 000000000..a7eaf141f --- /dev/null +++ b/apps/parser/esm/models/v2/tag.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagInterface } from '../tag'; +import type { v2 } from '../../spec-types'; +export declare class Tag extends BaseModel implements TagInterface { + name(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/tag.js b/apps/parser/esm/models/v2/tag.js new file mode 100644 index 000000000..ea429df83 --- /dev/null +++ b/apps/parser/esm/models/v2/tag.js @@ -0,0 +1,22 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions, hasExternalDocs, externalDocs } from './mixins'; +export class Tag extends BaseModel { + name() { + return this._json.name; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } +} diff --git a/apps/parser/esm/models/v2/tags.d.ts b/apps/parser/esm/models/v2/tags.d.ts new file mode 100644 index 000000000..371794b27 --- /dev/null +++ b/apps/parser/esm/models/v2/tags.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { TagsInterface } from '../tags'; +import type { TagInterface } from '../tag'; +export declare class Tags extends Collection implements TagsInterface { + get(name: string): TagInterface | undefined; +} diff --git a/apps/parser/esm/models/v2/tags.js b/apps/parser/esm/models/v2/tags.js new file mode 100644 index 000000000..13229669b --- /dev/null +++ b/apps/parser/esm/models/v2/tags.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class Tags extends Collection { + get(name) { + return this.collections.find(tag => tag.name() === name); + } +} diff --git a/apps/parser/esm/models/v3/asyncapi.d.ts b/apps/parser/esm/models/v3/asyncapi.d.ts new file mode 100644 index 000000000..a8c9d8c3b --- /dev/null +++ b/apps/parser/esm/models/v3/asyncapi.d.ts @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import type { AsyncAPIDocumentInterface } from '../asyncapi'; +import type { InfoInterface } from '../info'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { ComponentsInterface } from '../components'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { ExtensionsInterface } from '../extensions'; +import type { SchemasInterface } from '../schemas'; +import type { v3 } from '../../spec-types'; +export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { + version(): string; + defaultContentType(): string | undefined; + hasDefaultContentType(): boolean; + info(): InfoInterface; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + securitySchemes(): SecuritySchemesInterface; + components(): ComponentsInterface; + allServers(): ServersInterface; + allChannels(): ChannelsInterface; + allOperations(): OperationsInterface; + allMessages(): MessagesInterface; + allSchemas(): SchemasInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/asyncapi.js b/apps/parser/esm/models/v3/asyncapi.js new file mode 100644 index 000000000..e14a692b4 --- /dev/null +++ b/apps/parser/esm/models/v3/asyncapi.js @@ -0,0 +1,89 @@ +import { BaseModel } from '../base'; +import { Info } from './info'; +import { Servers } from './servers'; +import { Server } from './server'; +import { Channels } from './channels'; +import { Channel } from './channel'; +import { Operations } from './operations'; +import { Operation } from './operation'; +import { Messages } from './messages'; +import { SecuritySchemes } from './security-schemes'; +import { SecurityScheme } from './security-scheme'; +import { Components } from './components'; +import { Schemas } from './schemas'; +import { extensions } from './mixins'; +import { tilde } from '../../utils'; +import { schemasFromDocument } from '../utils'; +export class AsyncAPIDocument extends BaseModel { + version() { + return this._json.asyncapi; + } + defaultContentType() { + return this._json.defaultContentType; + } + hasDefaultContentType() { + return !!this._json.defaultContentType; + } + info() { + return this.createModel(Info, this._json.info, { pointer: '/info' }); + } + servers() { + return new Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(Server, server, { id: serverName, pointer: `/servers/${tilde(serverName)}` }))); + } + channels() { + return new Channels(Object.entries(this._json.channels || {}).map(([channelId, channel]) => this.createModel(Channel, channel, { id: channelId, pointer: `/channels/${tilde(channelId)}` }))); + } + operations() { + return new Operations(Object.entries(this._json.operations || {}).map(([operationId, operation]) => this.createModel(Operation, operation, { id: operationId, pointer: `/operations/${tilde(operationId)}` }))); + } + messages() { + const messages = []; + const messagesData = []; + this.channels().forEach(channel => { + channel.messages().forEach(message => { + const messageData = message.json(); + if (!messagesData.includes(messageData)) { + messagesData.push(messageData); + messages.push(message); + } + }); + }); + return new Messages(messages); + } + schemas() { + return schemasFromDocument(this, Schemas, false); + } + securitySchemes() { + var _a; + return new SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); + } + components() { + return this.createModel(Components, this._json.components || {}, { pointer: '/components' }); + } + allServers() { + const servers = this.servers().all(); + this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); + return new Servers(servers); + } + allChannels() { + const channels = this.channels().all(); + this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); + return new Channels(channels); + } + allOperations() { + const operations = this.operations().all(); + this.components().operations().forEach(operation => !operations.some(o => o.json() === operation.json()) && operations.push(operation)); + return new Operations(operations); + } + allMessages() { + const messages = this.messages().all(); + this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); + return new Messages(messages); + } + allSchemas() { + return schemasFromDocument(this, Schemas, true); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/binding.d.ts b/apps/parser/esm/models/v3/binding.d.ts new file mode 100644 index 000000000..45be32fe8 --- /dev/null +++ b/apps/parser/esm/models/v3/binding.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class Binding = Record> extends BaseModel implements BindingInterface { + protocol(): string; + version(): string; + value(): V; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/binding.js b/apps/parser/esm/models/v3/binding.js new file mode 100644 index 000000000..a205c21e8 --- /dev/null +++ b/apps/parser/esm/models/v3/binding.js @@ -0,0 +1,18 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class Binding extends BaseModel { + protocol() { + return this._meta.protocol; + } + version() { + return this._json.bindingVersion || 'latest'; + } + value() { + const value = Object.assign({}, this._json); + delete value.bindingVersion; + return value; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/bindings.d.ts b/apps/parser/esm/models/v3/bindings.d.ts new file mode 100644 index 000000000..366f2d369 --- /dev/null +++ b/apps/parser/esm/models/v3/bindings.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { BindingsInterface } from '../bindings'; +import type { BindingInterface } from '../binding'; +import type { ExtensionsInterface } from '../extensions'; +export declare class Bindings extends Collection implements BindingsInterface { + get = Record>(name: string): BindingInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/bindings.js b/apps/parser/esm/models/v3/bindings.js new file mode 100644 index 000000000..19e2407a9 --- /dev/null +++ b/apps/parser/esm/models/v3/bindings.js @@ -0,0 +1,19 @@ +import { Collection } from '../collection'; +import { Extensions } from './extensions'; +import { Extension } from './extension'; +import { createModel } from '../utils'; +import { EXTENSION_REGEX } from '../../constants'; +export class Bindings extends Collection { + get(name) { + return this.collections.find(binding => binding.protocol() === name); + } + extensions() { + const extensions = []; + Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { + if (EXTENSION_REGEX.test(id)) { + extensions.push(createModel(Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); + } + }); + return new Extensions(extensions); + } +} diff --git a/apps/parser/esm/models/v3/channel-parameter.d.ts b/apps/parser/esm/models/v3/channel-parameter.d.ts new file mode 100644 index 000000000..35ca76669 --- /dev/null +++ b/apps/parser/esm/models/v3/channel-parameter.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ChannelParameterInterface } from '../channel-parameter'; +import type { SchemaInterface } from '../schema'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { + id(): string; + hasSchema(): boolean; + schema(): SchemaInterface | undefined; + hasLocation(): boolean; + location(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/channel-parameter.js b/apps/parser/esm/models/v3/channel-parameter.js new file mode 100644 index 000000000..83b2da8e1 --- /dev/null +++ b/apps/parser/esm/models/v3/channel-parameter.js @@ -0,0 +1,35 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +import { Schema } from './schema'; +export class ChannelParameter extends BaseModel { + id() { + return this._meta.id; + } + hasSchema() { + return true; + } + schema() { + return this.createModel(Schema, { + type: 'string', + description: this._json.description, + enum: this._json.enum, + default: this._json.default, + examples: this._json.examples + }, { pointer: `${this._meta.pointer}` }); + } + hasLocation() { + return !!this._json.location; + } + location() { + return this._json.location; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/channel-parameters.d.ts b/apps/parser/esm/models/v3/channel-parameters.d.ts new file mode 100644 index 000000000..93abd0a6e --- /dev/null +++ b/apps/parser/esm/models/v3/channel-parameters.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ChannelParameterInterface } from '../channel-parameter'; +export declare class ChannelParameters extends Collection implements ChannelParametersInterface { + get(id: string): ChannelParameterInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/channel-parameters.js b/apps/parser/esm/models/v3/channel-parameters.js new file mode 100644 index 000000000..4f6403734 --- /dev/null +++ b/apps/parser/esm/models/v3/channel-parameters.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class ChannelParameters extends Collection { + get(id) { + return this.collections.find(parameter => parameter.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/channel.d.ts b/apps/parser/esm/models/v3/channel.d.ts new file mode 100644 index 000000000..36b080f51 --- /dev/null +++ b/apps/parser/esm/models/v3/channel.d.ts @@ -0,0 +1,17 @@ +import { CoreModel } from './mixins'; +import type { ChannelInterface } from '../channel'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { MessagesInterface } from '../messages'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { v3 } from '../../spec-types'; +export declare class Channel extends CoreModel implements ChannelInterface { + id(): string; + address(): string | null | undefined; + servers(): ServersInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + parameters(): ChannelParametersInterface; +} diff --git a/apps/parser/esm/models/v3/channel.js b/apps/parser/esm/models/v3/channel.js new file mode 100644 index 000000000..0089d6411 --- /dev/null +++ b/apps/parser/esm/models/v3/channel.js @@ -0,0 +1,56 @@ +import { ChannelParameters } from './channel-parameters'; +import { ChannelParameter } from './channel-parameter'; +import { Messages } from './messages'; +import { Message } from './message'; +import { Operations } from './operations'; +import { Operation } from './operation'; +import { Servers } from './servers'; +import { Server } from './server'; +import { xParserObjectUniqueId } from '../../constants'; +import { CoreModel } from './mixins'; +export class Channel extends CoreModel { + id() { + return this._meta.id; + } + address() { + return this._json.address; + } + servers() { + var _a, _b, _c; + const servers = []; + const allowedServers = (_a = this._json.servers) !== null && _a !== void 0 ? _a : []; + Object.entries((_c = (_b = this._meta.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed.servers) !== null && _c !== void 0 ? _c : {}).forEach(([serverName, server]) => { + if (allowedServers.length === 0 || allowedServers.includes(server)) { + servers.push(this.createModel(Server, server, { id: serverName, pointer: `/servers/${serverName}` })); + } + }); + return new Servers(servers); + } + operations() { + var _a, _b, _c; + const operations = []; + Object.entries(((_c = (_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) !== null && _c !== void 0 ? _c : {})).forEach(([operationId, operation]) => { + const operationChannelId = operation.channel[xParserObjectUniqueId]; + const channelId = this._json[xParserObjectUniqueId]; + if (operationChannelId === channelId) { + operations.push(this.createModel(Operation, operation, { id: operationId, pointer: `/operations/${operationId}` })); + } + }); + return new Operations(operations); + } + messages() { + var _a; + return new Messages(Object.entries((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map(([messageName, message]) => { + return this.createModel(Message, message, { id: messageName, pointer: this.jsonPath(`messages/${messageName}`) }); + })); + } + parameters() { + var _a; + return new ChannelParameters(Object.entries((_a = this._json.parameters) !== null && _a !== void 0 ? _a : {}).map(([channelParameterName, channelParameter]) => { + return this.createModel(ChannelParameter, channelParameter, { + id: channelParameterName, + pointer: this.jsonPath(`parameters/${channelParameterName}`), + }); + })); + } +} diff --git a/apps/parser/esm/models/v3/channels.d.ts b/apps/parser/esm/models/v3/channels.d.ts new file mode 100644 index 000000000..01b199506 --- /dev/null +++ b/apps/parser/esm/models/v3/channels.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { ChannelsInterface } from '../channels'; +import type { ChannelInterface } from '../channel'; +export declare class Channels extends Collection implements ChannelsInterface { + get(id: string): ChannelInterface | undefined; + filterBySend(): ChannelInterface[]; + filterByReceive(): ChannelInterface[]; +} diff --git a/apps/parser/esm/models/v3/channels.js b/apps/parser/esm/models/v3/channels.js new file mode 100644 index 000000000..fa86c7cae --- /dev/null +++ b/apps/parser/esm/models/v3/channels.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Channels extends Collection { + get(id) { + return this.collections.find(channel => channel.id() === id); + } + filterBySend() { + return this.filterBy(channel => channel.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(channel => channel.operations().filterByReceive().length > 0); + } +} diff --git a/apps/parser/esm/models/v3/components.d.ts b/apps/parser/esm/models/v3/components.d.ts new file mode 100644 index 000000000..aea020b94 --- /dev/null +++ b/apps/parser/esm/models/v3/components.d.ts @@ -0,0 +1,47 @@ +import { BaseModel } from '../base'; +import { Collection } from '../collection'; +import { CorrelationIds } from './correlation-ids'; +import type { BindingsInterface } from '../bindings'; +import type { ComponentsInterface } from '../components'; +import type { ExtensionsInterface } from '../extensions'; +import type { Constructor } from '../utils'; +import type { ServersInterface } from '../servers'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { SchemasInterface } from '../schemas'; +import type { ChannelParametersInterface } from '../channel-parameters'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationRepliesInterface } from '../operation-replies'; +import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; +import type { OperationsInterface } from '../operations'; +import type { ExternalDocumentationsInterface } from '../external-documentations'; +import type { TagsInterface } from '../tags'; +import type { v3 } from '../../spec-types'; +export declare class Components extends BaseModel implements ComponentsInterface { + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + schemas(): SchemasInterface; + channelParameters(): ChannelParametersInterface; + serverVariables(): ServerVariablesInterface; + operationTraits(): OperationTraitsInterface; + messageTraits(): MessageTraitsInterface; + replies(): OperationRepliesInterface; + replyAddresses(): OperationReplyAddressesInterface; + correlationIds(): CorrelationIds; + securitySchemes(): SecuritySchemesInterface; + tags(): TagsInterface; + externalDocs(): ExternalDocumentationsInterface; + serverBindings(): Record; + channelBindings(): Record; + operationBindings(): Record; + messageBindings(): Record; + extensions(): ExtensionsInterface; + isEmpty(): boolean; + protected createCollection, T extends BaseModel>(itemsName: keyof v3.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; + protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; +} diff --git a/apps/parser/esm/models/v3/components.js b/apps/parser/esm/models/v3/components.js new file mode 100644 index 000000000..8a7f079aa --- /dev/null +++ b/apps/parser/esm/models/v3/components.js @@ -0,0 +1,116 @@ +import { BaseModel } from '../base'; +import { Bindings } from './bindings'; +import { Binding } from './binding'; +import { Channel } from './channel'; +import { ChannelParameter } from './channel-parameter'; +import { CorrelationId } from './correlation-id'; +import { MessageTrait } from './message-trait'; +import { OperationTrait } from './operation-trait'; +import { OperationReply } from './operation-reply'; +import { OperationReplyAddress } from './operation-reply-address'; +import { Schema } from './schema'; +import { SecurityScheme } from './security-scheme'; +import { Server } from './server'; +import { ServerVariable } from './server-variable'; +import { extensions } from './mixins'; +import { Servers } from './servers'; +import { Channels } from './channels'; +import { Messages } from './messages'; +import { Schemas } from './schemas'; +import { ChannelParameters } from './channel-parameters'; +import { ServerVariables } from './server-variables'; +import { OperationTraits } from './operation-traits'; +import { MessageTraits } from './message-traits'; +import { OperationReplies } from './operation-replies'; +import { OperationReplyAddresses } from './operation-reply-addresses'; +import { SecuritySchemes } from './security-schemes'; +import { CorrelationIds } from './correlation-ids'; +import { Operations } from './operations'; +import { Operation } from './operation'; +import { Message } from './message'; +import { ExternalDocumentations } from '../external-documentations'; +import { ExternalDocumentation } from './external-docs'; +import { Tags } from './tags'; +import { Tag } from './tag'; +import { tilde } from '../../utils'; +export class Components extends BaseModel { + servers() { + return this.createCollection('servers', Servers, Server); + } + channels() { + return this.createCollection('channels', Channels, Channel); + } + operations() { + return this.createCollection('operations', Operations, Operation); + } + messages() { + return this.createCollection('messages', Messages, Message); + } + schemas() { + return this.createCollection('schemas', Schemas, Schema); + } + channelParameters() { + return this.createCollection('parameters', ChannelParameters, ChannelParameter); + } + serverVariables() { + return this.createCollection('serverVariables', ServerVariables, ServerVariable); + } + operationTraits() { + return this.createCollection('operationTraits', OperationTraits, OperationTrait); + } + messageTraits() { + return this.createCollection('messageTraits', MessageTraits, MessageTrait); + } + replies() { + return this.createCollection('replies', OperationReplies, OperationReply); + } + replyAddresses() { + return this.createCollection('replyAddresses', OperationReplyAddresses, OperationReplyAddress); + } + correlationIds() { + return this.createCollection('correlationIds', CorrelationIds, CorrelationId); + } + securitySchemes() { + return this.createCollection('securitySchemes', SecuritySchemes, SecurityScheme); + } + tags() { + return this.createCollection('tags', Tags, Tag); + } + externalDocs() { + return this.createCollection('externalDocs', ExternalDocumentations, ExternalDocumentation); + } + serverBindings() { + return this.createBindings('serverBindings'); + } + channelBindings() { + return this.createBindings('channelBindings'); + } + operationBindings() { + return this.createBindings('operationBindings'); + } + messageBindings() { + return this.createBindings('messageBindings'); + } + extensions() { + return extensions(this); + } + isEmpty() { + return Object.keys(this._json).length === 0; + } + createCollection(itemsName, collectionModel, itemModel) { + const collectionItems = []; + Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { + collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${tilde(id)}` })); + }); + return new collectionModel(collectionItems); + } + createBindings(itemsName) { + return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { + const bindingsData = item || {}; + const asyncapi = this.meta('asyncapi'); + const pointer = `components/${itemsName}/${name}`; + bindings[name] = new Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); + return bindings; + }, {}); + } +} diff --git a/apps/parser/esm/models/v3/contact.d.ts b/apps/parser/esm/models/v3/contact.d.ts new file mode 100644 index 000000000..06946eaf9 --- /dev/null +++ b/apps/parser/esm/models/v3/contact.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class Contact extends BaseModel implements ContactInterface { + hasName(): boolean; + name(): string | undefined; + hasUrl(): boolean; + url(): string | undefined; + hasEmail(): boolean; + email(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/contact.js b/apps/parser/esm/models/v3/contact.js new file mode 100644 index 000000000..5c92d0a87 --- /dev/null +++ b/apps/parser/esm/models/v3/contact.js @@ -0,0 +1,25 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class Contact extends BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + hasEmail() { + return !!this._json.email; + } + email() { + return this._json.email; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/correlation-id.d.ts b/apps/parser/esm/models/v3/correlation-id.d.ts new file mode 100644 index 000000000..bebcdb660 --- /dev/null +++ b/apps/parser/esm/models/v3/correlation-id.d.ts @@ -0,0 +1,11 @@ +import { BaseModel } from '../base'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { + hasDescription(): boolean; + description(): string | undefined; + hasLocation(): boolean; + location(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/correlation-id.js b/apps/parser/esm/models/v3/correlation-id.js new file mode 100644 index 000000000..2c5f42ecb --- /dev/null +++ b/apps/parser/esm/models/v3/correlation-id.js @@ -0,0 +1,19 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +export class CorrelationId extends BaseModel { + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasLocation() { + return !!this._json.location; + } + location() { + return this._json.location; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/correlation-ids.d.ts b/apps/parser/esm/models/v3/correlation-ids.d.ts new file mode 100644 index 000000000..77f81c952 --- /dev/null +++ b/apps/parser/esm/models/v3/correlation-ids.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { CorrelationIdsInterface } from '../correlation-ids'; +import type { CorrelationIdInterface } from '../correlation-id'; +export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { + get(id: string): CorrelationIdInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/correlation-ids.js b/apps/parser/esm/models/v3/correlation-ids.js new file mode 100644 index 000000000..003666fc6 --- /dev/null +++ b/apps/parser/esm/models/v3/correlation-ids.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class CorrelationIds extends Collection { + get(id) { + return this.collections.find(correlationId => correlationId.meta('id') === id); + } +} diff --git a/apps/parser/esm/models/v3/extension.d.ts b/apps/parser/esm/models/v3/extension.d.ts new file mode 100644 index 000000000..9e5075c77 --- /dev/null +++ b/apps/parser/esm/models/v3/extension.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExtensionInterface } from '../extension'; +import type { v3 } from '../../spec-types'; +export declare class Extension extends BaseModel, { + id: string; +}> implements ExtensionInterface { + id(): string; + version(): string; + value(): V; +} diff --git a/apps/parser/esm/models/v3/extension.js b/apps/parser/esm/models/v3/extension.js new file mode 100644 index 000000000..013f5caa1 --- /dev/null +++ b/apps/parser/esm/models/v3/extension.js @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +export class Extension extends BaseModel { + id() { + return this._meta.id; + } + version() { + return 'to implement'; + } + value() { + return this._json; + } +} diff --git a/apps/parser/esm/models/v3/extensions.d.ts b/apps/parser/esm/models/v3/extensions.d.ts new file mode 100644 index 000000000..3033f8a44 --- /dev/null +++ b/apps/parser/esm/models/v3/extensions.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExtensionInterface } from '../extension'; +export declare class Extensions extends Collection implements ExtensionsInterface { + get(id: string): ExtensionInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/extensions.js b/apps/parser/esm/models/v3/extensions.js new file mode 100644 index 000000000..c08bbc30b --- /dev/null +++ b/apps/parser/esm/models/v3/extensions.js @@ -0,0 +1,7 @@ +import { Collection } from '../collection'; +export class Extensions extends Collection { + get(id) { + id = id.startsWith('x-') ? id : `x-${id}`; + return this.collections.find(ext => ext.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/external-docs.d.ts b/apps/parser/esm/models/v3/external-docs.d.ts new file mode 100644 index 000000000..6e0544e76 --- /dev/null +++ b/apps/parser/esm/models/v3/external-docs.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { ExtensionsInterface } from '../extensions'; +import type { v3 } from '../../spec-types'; +export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { + id(): string | undefined; + url(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/external-docs.js b/apps/parser/esm/models/v3/external-docs.js new file mode 100644 index 000000000..24c3a8fe6 --- /dev/null +++ b/apps/parser/esm/models/v3/external-docs.js @@ -0,0 +1,19 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +export class ExternalDocumentation extends BaseModel { + id() { + return this._meta.id; + } + url() { + return this._json.url; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/index.d.ts b/apps/parser/esm/models/v3/index.d.ts new file mode 100644 index 000000000..fb3848508 --- /dev/null +++ b/apps/parser/esm/models/v3/index.d.ts @@ -0,0 +1,41 @@ +export { AsyncAPIDocument as AsyncAPIDocumentV3 } from './asyncapi'; +export { Binding as BindingV3 } from './binding'; +export { Bindings as BindingsV3 } from './bindings'; +export { ChannelParameter as ChannelParameterV3 } from './channel-parameter'; +export { ChannelParameters as ChannelParametersV3 } from './channel-parameters'; +export { Channel as ChannelV3 } from './channel'; +export { Channels as ChannelsV3 } from './channels'; +export { Components as ComponentsV3 } from './components'; +export { Contact as ContactV3 } from './contact'; +export { CorrelationId as CorrelationIdV3 } from './correlation-id'; +export { Extension as ExtensionV3 } from './extension'; +export { Extensions as ExtensionsV3 } from './extensions'; +export { ExternalDocumentation as ExternalDocumentationV3 } from './external-docs'; +export { Info as InfoV3 } from './info'; +export { License as LicenseV3 } from './license'; +export { MessageExample as MessageExampleV3 } from './message-example'; +export { MessageExamples as MessageExamplesV3 } from './message-examples'; +export { MessageTrait as MessageTraitV3 } from './message-trait'; +export { MessageTraits as MessageTraitsV3 } from './message-traits'; +export { Message as MessageV3 } from './message'; +export { Messages as MessagesV3 } from './messages'; +export { OAuthFlow as OAuthFlowV3 } from './oauth-flow'; +export { OAuthFlows as OAuthFlowsV3 } from './oauth-flows'; +export { OperationTrait as OperationTraitV3 } from './operation-trait'; +export { OperationTraits as OperationTraitsV3 } from './operation-traits'; +export { OperationReplies as OperationRepliesV3 } from './operation-replies'; +export { OperationReplyAddress as OperationReplyAddressV3 } from './operation-reply-address'; +export { OperationReplyAddresses as OperationReplyAddressesV3 } from './operation-reply-addresses'; +export { OperationReply as OperationReplyV3 } from './operation-reply'; +export { Operation as OperationV3 } from './operation'; +export { Operations as OperationsV3 } from './operations'; +export { Schema as SchemaV3 } from './schema'; +export { Schemas as SchemasV3 } from './schemas'; +export { SecurityScheme as SecuritySchemeV3 } from './security-scheme'; +export { SecuritySchemes as SecuritySchemesV3 } from './security-schemes'; +export { ServerVariable as ServerVariableV3 } from './server-variable'; +export { ServerVariables as ServerVariablesV3 } from './server-variables'; +export { Server as ServerV3 } from './server'; +export { Servers as ServersV3 } from './servers'; +export { Tag as TagV3 } from './tag'; +export { Tags as TagsV3 } from './tags'; diff --git a/apps/parser/esm/models/v3/index.js b/apps/parser/esm/models/v3/index.js new file mode 100644 index 000000000..fb3848508 --- /dev/null +++ b/apps/parser/esm/models/v3/index.js @@ -0,0 +1,41 @@ +export { AsyncAPIDocument as AsyncAPIDocumentV3 } from './asyncapi'; +export { Binding as BindingV3 } from './binding'; +export { Bindings as BindingsV3 } from './bindings'; +export { ChannelParameter as ChannelParameterV3 } from './channel-parameter'; +export { ChannelParameters as ChannelParametersV3 } from './channel-parameters'; +export { Channel as ChannelV3 } from './channel'; +export { Channels as ChannelsV3 } from './channels'; +export { Components as ComponentsV3 } from './components'; +export { Contact as ContactV3 } from './contact'; +export { CorrelationId as CorrelationIdV3 } from './correlation-id'; +export { Extension as ExtensionV3 } from './extension'; +export { Extensions as ExtensionsV3 } from './extensions'; +export { ExternalDocumentation as ExternalDocumentationV3 } from './external-docs'; +export { Info as InfoV3 } from './info'; +export { License as LicenseV3 } from './license'; +export { MessageExample as MessageExampleV3 } from './message-example'; +export { MessageExamples as MessageExamplesV3 } from './message-examples'; +export { MessageTrait as MessageTraitV3 } from './message-trait'; +export { MessageTraits as MessageTraitsV3 } from './message-traits'; +export { Message as MessageV3 } from './message'; +export { Messages as MessagesV3 } from './messages'; +export { OAuthFlow as OAuthFlowV3 } from './oauth-flow'; +export { OAuthFlows as OAuthFlowsV3 } from './oauth-flows'; +export { OperationTrait as OperationTraitV3 } from './operation-trait'; +export { OperationTraits as OperationTraitsV3 } from './operation-traits'; +export { OperationReplies as OperationRepliesV3 } from './operation-replies'; +export { OperationReplyAddress as OperationReplyAddressV3 } from './operation-reply-address'; +export { OperationReplyAddresses as OperationReplyAddressesV3 } from './operation-reply-addresses'; +export { OperationReply as OperationReplyV3 } from './operation-reply'; +export { Operation as OperationV3 } from './operation'; +export { Operations as OperationsV3 } from './operations'; +export { Schema as SchemaV3 } from './schema'; +export { Schemas as SchemasV3 } from './schemas'; +export { SecurityScheme as SecuritySchemeV3 } from './security-scheme'; +export { SecuritySchemes as SecuritySchemesV3 } from './security-schemes'; +export { ServerVariable as ServerVariableV3 } from './server-variable'; +export { ServerVariables as ServerVariablesV3 } from './server-variables'; +export { Server as ServerV3 } from './server'; +export { Servers as ServersV3 } from './servers'; +export { Tag as TagV3 } from './tag'; +export { Tags as TagsV3 } from './tags'; diff --git a/apps/parser/esm/models/v3/info.d.ts b/apps/parser/esm/models/v3/info.d.ts new file mode 100644 index 000000000..241aea7f7 --- /dev/null +++ b/apps/parser/esm/models/v3/info.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ContactInterface } from '../contact'; +import type { InfoInterface } from '../info'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { LicenseInterface } from '../license'; +import type { TagsInterface } from '../tags'; +import type { v3 } from '../../spec-types'; +export declare class Info extends BaseModel implements InfoInterface { + title(): string; + version(): string; + hasId(): boolean; + id(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasTermsOfService(): boolean; + termsOfService(): string | undefined; + hasContact(): boolean; + contact(): ContactInterface | undefined; + hasLicense(): boolean; + license(): LicenseInterface | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + tags(): TagsInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/info.js b/apps/parser/esm/models/v3/info.js new file mode 100644 index 000000000..9e9c2cb0f --- /dev/null +++ b/apps/parser/esm/models/v3/info.js @@ -0,0 +1,56 @@ +import { BaseModel } from '../base'; +import { Contact } from './contact'; +import { License } from './license'; +import { hasDescription, description, extensions, hasExternalDocs, externalDocs, tags } from './mixins'; +export class Info extends BaseModel { + title() { + return this._json.title; + } + version() { + return this._json.version; + } + hasId() { + return !!this._meta.asyncapi.parsed.id; + } + id() { + return this._meta.asyncapi.parsed.id; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasTermsOfService() { + return !!this._json.termsOfService; + } + termsOfService() { + return this._json.termsOfService; + } + hasContact() { + return Object.keys(this._json.contact || {}).length > 0; + } + contact() { + const contact = this._json.contact; + return contact && this.createModel(Contact, contact, { pointer: this.jsonPath('contact') }); + } + hasLicense() { + return Object.keys(this._json.license || {}).length > 0; + } + license() { + const license = this._json.license; + return license && this.createModel(License, license, { pointer: this.jsonPath('license') }); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } + tags() { + return tags(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/license.d.ts b/apps/parser/esm/models/v3/license.d.ts new file mode 100644 index 000000000..aa8c7b619 --- /dev/null +++ b/apps/parser/esm/models/v3/license.d.ts @@ -0,0 +1,10 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { LicenseInterface } from '../license'; +import type { v3 } from '../../spec-types'; +export declare class License extends BaseModel implements LicenseInterface { + name(): string; + hasUrl(): boolean; + url(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/license.js b/apps/parser/esm/models/v3/license.js new file mode 100644 index 000000000..4b4471083 --- /dev/null +++ b/apps/parser/esm/models/v3/license.js @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class License extends BaseModel { + name() { + return this._json.name; + } + hasUrl() { + return !!this._json.url; + } + url() { + return this._json.url; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/message-example.d.ts b/apps/parser/esm/models/v3/message-example.d.ts new file mode 100644 index 000000000..5b41dcdea --- /dev/null +++ b/apps/parser/esm/models/v3/message-example.d.ts @@ -0,0 +1,15 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { MessageExampleInterface } from '../message-example'; +import type { v3 } from '../../spec-types'; +export declare class MessageExample extends BaseModel implements MessageExampleInterface { + hasName(): boolean; + name(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasHeaders(): boolean; + headers(): Record | undefined; + hasPayload(): boolean; + payload(): Record | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/message-example.js b/apps/parser/esm/models/v3/message-example.js new file mode 100644 index 000000000..1ac519e15 --- /dev/null +++ b/apps/parser/esm/models/v3/message-example.js @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class MessageExample extends BaseModel { + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + return this._json.headers; + } + hasPayload() { + return !!this._json.payload; + } + payload() { + return this._json.payload; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/message-examples.d.ts b/apps/parser/esm/models/v3/message-examples.d.ts new file mode 100644 index 000000000..0784e9dc1 --- /dev/null +++ b/apps/parser/esm/models/v3/message-examples.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageExampleInterface } from '../message-example'; +export declare class MessageExamples extends Collection implements MessageExamplesInterface { + get(name: string): MessageExampleInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/message-examples.js b/apps/parser/esm/models/v3/message-examples.js new file mode 100644 index 000000000..2ba751d5b --- /dev/null +++ b/apps/parser/esm/models/v3/message-examples.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class MessageExamples extends Collection { + get(name) { + return this.collections.find(example => example.name() === name); + } +} diff --git a/apps/parser/esm/models/v3/message-trait.d.ts b/apps/parser/esm/models/v3/message-trait.d.ts new file mode 100644 index 000000000..12ddcd2d1 --- /dev/null +++ b/apps/parser/esm/models/v3/message-trait.d.ts @@ -0,0 +1,23 @@ +import { CoreModel } from './mixins'; +import type { CorrelationIdInterface } from '../correlation-id'; +import type { MessageExamplesInterface } from '../message-examples'; +import type { MessageTraitInterface } from '../message-trait'; +import type { SchemaInterface } from '../schema'; +import type { v3 } from '../../spec-types'; +export declare class MessageTrait extends CoreModel implements MessageTraitInterface { + id(): string; + hasMessageId(): boolean; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + hasCorrelationId(): boolean; + correlationId(): CorrelationIdInterface | undefined; + hasContentType(): boolean; + contentType(): string | undefined; + hasHeaders(): boolean; + headers(): SchemaInterface | undefined; + hasName(): boolean; + name(): string | undefined; + examples(): MessageExamplesInterface; +} diff --git a/apps/parser/esm/models/v3/message-trait.js b/apps/parser/esm/models/v3/message-trait.js new file mode 100644 index 000000000..530c1062f --- /dev/null +++ b/apps/parser/esm/models/v3/message-trait.js @@ -0,0 +1,55 @@ +import { CorrelationId } from './correlation-id'; +import { MessageExamples } from './message-examples'; +import { MessageExample } from './message-example'; +import { Schema } from './schema'; +import { xParserMessageName } from '../../constants'; +import { CoreModel } from './mixins'; +export class MessageTrait extends CoreModel { + id() { + var _a; + return this._meta.id || ((_a = this.extensions().get(xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()); + } + hasMessageId() { + return false; + } + hasSchemaFormat() { + return false; + } + schemaFormat() { + return undefined; + } + hasCorrelationId() { + return !!this._json.correlationId; + } + correlationId() { + if (!this._json.correlationId) + return undefined; + return this.createModel(CorrelationId, this._json.correlationId, { pointer: this.jsonPath('correlationId') }); + } + hasContentType() { + return !!this._json.contentType; + } + contentType() { + var _a, _b; + return this._json.contentType || ((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.defaultContentType); + } + hasHeaders() { + return !!this._json.headers; + } + headers() { + if (!this._json.headers) + return undefined; + return this.createModel(Schema, this._json.headers, { pointer: this.jsonPath('headers') }); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + examples() { + return new MessageExamples((this._json.examples || []).map((example, index) => { + return this.createModel(MessageExample, example, { pointer: this.jsonPath(`examples/${index}`) }); + })); + } +} diff --git a/apps/parser/esm/models/v3/message-traits.d.ts b/apps/parser/esm/models/v3/message-traits.d.ts new file mode 100644 index 000000000..8601210f2 --- /dev/null +++ b/apps/parser/esm/models/v3/message-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { MessageTraitInterface } from '../message-trait'; +export declare class MessageTraits extends Collection implements MessageTraitsInterface { + get(id: string): MessageTraitInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/message-traits.js b/apps/parser/esm/models/v3/message-traits.js new file mode 100644 index 000000000..fc8828184 --- /dev/null +++ b/apps/parser/esm/models/v3/message-traits.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class MessageTraits extends Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/message.d.ts b/apps/parser/esm/models/v3/message.d.ts new file mode 100644 index 000000000..0a1f9a820 --- /dev/null +++ b/apps/parser/esm/models/v3/message.d.ts @@ -0,0 +1,18 @@ +import { MessageTrait } from './message-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessageInterface } from '../message'; +import type { MessageTraitsInterface } from '../message-traits'; +import type { OperationsInterface } from '../operations'; +import type { ServersInterface } from '../servers'; +import type { SchemaInterface } from '../schema'; +import type { v3 } from '../../spec-types'; +export declare class Message extends MessageTrait implements MessageInterface { + hasPayload(): boolean; + payload(): SchemaInterface | undefined; + hasSchemaFormat(): boolean; + schemaFormat(): string | undefined; + servers(): ServersInterface; + channels(): ChannelsInterface; + operations(): OperationsInterface; + traits(): MessageTraitsInterface; +} diff --git a/apps/parser/esm/models/v3/message.js b/apps/parser/esm/models/v3/message.js new file mode 100644 index 000000000..a1dc3a000 --- /dev/null +++ b/apps/parser/esm/models/v3/message.js @@ -0,0 +1,92 @@ +import { Channel } from './channel'; +import { Channels } from './channels'; +import { Operations } from './operations'; +import { Operation } from './operation'; +import { MessageTraits } from './message-traits'; +import { MessageTrait } from './message-trait'; +import { Servers } from './servers'; +import { Schema } from './schema'; +import { xParserObjectUniqueId } from '../../constants'; +export class Message extends MessageTrait { + hasPayload() { + return !!this._json.payload; + } + payload() { + if (!this._json.payload) + return undefined; + return this.createModel(Schema, this._json.payload, { pointer: this.jsonPath('payload') }); + } + hasSchemaFormat() { + // If it has a payload, schema format is expected (at least the default) + return this.hasPayload(); + } + schemaFormat() { + var _a; + if (this.hasSchemaFormat()) { + return (_a = this.payload()) === null || _a === void 0 ? void 0 : _a.schemaFormat(); + } + return undefined; + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + const serverData = server.json(); + if (!serversData.includes(serverData)) { + serversData.push(serverData); + servers.push(server); + } + }); + }); + return new Servers(servers); + } + channels() { + var _a, _b; + const thisMessageId = (this._json)[xParserObjectUniqueId]; + const channels = []; + const channelsData = []; + this.operations().forEach(operation => { + operation.channels().forEach(channel => { + const channelData = channel.json(); + // Comparing with the data (JSON) because same channel could exist but it will include the ID based on where it is declared. For example, asyncapi.channels contain ID field. + if (!channelsData.includes(channelData)) { + channelsData.push(channelData); + channels.push(channel); + } + }); + }); + Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelId, channelData]) => { + const channelModel = this.createModel(Channel, channelData, { id: channelId, pointer: `/channels/${channelId}` }); + if (!channelsData.includes(channelData) && channelModel.messages().some(m => { + const messageId = m[xParserObjectUniqueId]; + return messageId === thisMessageId; + })) { + channelsData.push(channelData); + channels.push(channelModel); + } + }); + return new Channels(channels); + } + operations() { + var _a, _b; + const thisMessageId = (this._json)[xParserObjectUniqueId]; + const operations = []; + Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) || {}).forEach(([operationId, operation]) => { + const operationModel = this.createModel(Operation, operation, { id: operationId, pointer: `/operations/${operationId}` }); + const operationHasMessage = operationModel.messages().some(m => { + const messageId = m[xParserObjectUniqueId]; + return messageId === thisMessageId; + }); + if (operationHasMessage) { + operations.push(operationModel); + } + }); + return new Operations(operations); + } + traits() { + return new MessageTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(MessageTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); + })); + } +} diff --git a/apps/parser/esm/models/v3/messages.d.ts b/apps/parser/esm/models/v3/messages.d.ts new file mode 100644 index 000000000..d988f36fb --- /dev/null +++ b/apps/parser/esm/models/v3/messages.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { MessagesInterface } from '../messages'; +import type { MessageInterface } from '../message'; +export declare class Messages extends Collection implements MessagesInterface { + get(name: string): MessageInterface | undefined; + filterBySend(): MessageInterface[]; + filterByReceive(): MessageInterface[]; +} diff --git a/apps/parser/esm/models/v3/messages.js b/apps/parser/esm/models/v3/messages.js new file mode 100644 index 000000000..5d2fb8d72 --- /dev/null +++ b/apps/parser/esm/models/v3/messages.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Messages extends Collection { + get(name) { + return this.collections.find(message => message.id() === name); + } + filterBySend() { + return this.filterBy(message => message.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(message => message.operations().filterByReceive().length > 0); + } +} diff --git a/apps/parser/esm/models/v3/mixins.d.ts b/apps/parser/esm/models/v3/mixins.d.ts new file mode 100644 index 000000000..a4fdfa8ea --- /dev/null +++ b/apps/parser/esm/models/v3/mixins.d.ts @@ -0,0 +1,48 @@ +import { BaseModel } from '../base'; +import type { BindingsInterface } from '../bindings'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagsInterface } from '../tags'; +import type { v3 } from '../../spec-types'; +type BindingsObject = v3.ServerBindingsObject | v3.ChannelBindingsObject | v3.OperationBindingsObject | v3.MessageBindingsObject | v3.ReferenceObject; +export interface CoreObject extends v3.SpecificationExtensions { + title?: string; + summary?: string; + description?: string; + externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; + tags?: v3.TagsObject; + bindings?: BindingsObject; +} +export declare abstract class CoreModel = {}> extends BaseModel { + hasTitle(): boolean; + title(): string | undefined; + hasSummary(): boolean; + summary(): string | undefined; + hasDescription(): boolean; + description(): string | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + tags(): TagsInterface; + bindings(): BindingsInterface; + extensions(): ExtensionsInterface; +} +export declare function bindings(model: BaseModel<{ + bindings?: BindingsObject; +}>): BindingsInterface; +export declare function hasDescription(model: BaseModel<{ + description?: string; +}>): boolean; +export declare function description(model: BaseModel<{ + description?: string; +}>): string | undefined; +export declare function extensions(model: BaseModel): ExtensionsInterface; +export declare function hasExternalDocs(model: BaseModel<{ + externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; +}>): boolean; +export declare function externalDocs(model: BaseModel<{ + externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; +}>): ExternalDocumentationInterface | undefined; +export declare function tags(model: BaseModel<{ + tags?: v3.TagsObject; +}>): TagsInterface; +export {}; diff --git a/apps/parser/esm/models/v3/mixins.js b/apps/parser/esm/models/v3/mixins.js new file mode 100644 index 000000000..74f2bbada --- /dev/null +++ b/apps/parser/esm/models/v3/mixins.js @@ -0,0 +1,75 @@ +import { BaseModel } from '../base'; +import { Bindings } from './bindings'; +import { Binding } from './binding'; +import { Extensions } from './extensions'; +import { Extension } from './extension'; +import { ExternalDocumentation } from './external-docs'; +import { Tags } from './tags'; +import { Tag } from './tag'; +import { createModel } from '../utils'; +import { EXTENSION_REGEX } from '../../constants'; +export class CoreModel extends BaseModel { + hasTitle() { + return !!this._json.title; + } + title() { + return this._json.title; + } + hasSummary() { + return !!this._json.summary; + } + summary() { + return this._json.summary; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } + tags() { + return tags(this); + } + bindings() { + return bindings(this); + } + extensions() { + return extensions(this); + } +} +export function bindings(model) { + const bindings = model.json('bindings') || {}; + return new Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => createModel(Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); +} +export function hasDescription(model) { + return Boolean(description(model)); +} +export function description(model) { + return model.json('description'); +} +export function extensions(model) { + const extensions = []; + Object.entries(model.json()).forEach(([id, value]) => { + if (EXTENSION_REGEX.test(id)) { + extensions.push(createModel(Extension, value, { id, pointer: model.jsonPath(id) }, model)); + } + }); + return new Extensions(extensions); +} +export function hasExternalDocs(model) { + return Object.keys(model.json('externalDocs') || {}).length > 0; +} +export function externalDocs(model) { + if (hasExternalDocs(model)) { + return new ExternalDocumentation(model.json('externalDocs')); + } +} +export function tags(model) { + return new Tags((model.json('tags') || []).map((tag, idx) => createModel(Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); +} diff --git a/apps/parser/esm/models/v3/oauth-flow.d.ts b/apps/parser/esm/models/v3/oauth-flow.d.ts new file mode 100644 index 000000000..feaa5cdd3 --- /dev/null +++ b/apps/parser/esm/models/v3/oauth-flow.d.ts @@ -0,0 +1,14 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v3 } from '../../spec-types'; +export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { + hasAuthorizationUrl(): boolean; + authorizationUrl(): string | undefined; + hasRefreshUrl(): boolean; + refreshUrl(): string | undefined; + scopes(): Record | undefined; + hasTokenUrl(): boolean; + tokenUrl(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/oauth-flow.js b/apps/parser/esm/models/v3/oauth-flow.js new file mode 100644 index 000000000..86bf6237c --- /dev/null +++ b/apps/parser/esm/models/v3/oauth-flow.js @@ -0,0 +1,28 @@ +import { BaseModel } from '../base'; +import { extensions } from './mixins'; +export class OAuthFlow extends BaseModel { + hasAuthorizationUrl() { + return !!this.json().authorizationUrl; + } + authorizationUrl() { + return this.json().authorizationUrl; + } + hasRefreshUrl() { + return !!this._json.refreshUrl; + } + refreshUrl() { + return this._json.refreshUrl; + } + scopes() { + return this._json.availableScopes; + } + hasTokenUrl() { + return !!this.json().tokenUrl; + } + tokenUrl() { + return this.json().tokenUrl; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/oauth-flows.d.ts b/apps/parser/esm/models/v3/oauth-flows.d.ts new file mode 100644 index 000000000..776ab8f9c --- /dev/null +++ b/apps/parser/esm/models/v3/oauth-flows.d.ts @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { OAuthFlowInterface } from '../oauth-flow'; +import type { v3 } from '../../spec-types'; +export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { + hasAuthorizationCode(): boolean; + authorizationCode(): OAuthFlowInterface | undefined; + hasClientCredentials(): boolean; + clientCredentials(): OAuthFlowInterface | undefined; + hasImplicit(): boolean; + implicit(): OAuthFlowInterface | undefined; + hasPassword(): boolean; + password(): OAuthFlowInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/oauth-flows.js b/apps/parser/esm/models/v3/oauth-flows.js new file mode 100644 index 000000000..ab5147e0e --- /dev/null +++ b/apps/parser/esm/models/v3/oauth-flows.js @@ -0,0 +1,40 @@ +import { BaseModel } from '../base'; +import { OAuthFlow } from './oauth-flow'; +import { extensions } from './mixins'; +export class OAuthFlows extends BaseModel { + hasAuthorizationCode() { + return !!this._json.authorizationCode; + } + authorizationCode() { + if (!this._json.authorizationCode) + return undefined; + return new OAuthFlow(this._json.authorizationCode); + } + hasClientCredentials() { + return !!this._json.clientCredentials; + } + clientCredentials() { + if (!this._json.clientCredentials) + return undefined; + return new OAuthFlow(this._json.clientCredentials); + } + hasImplicit() { + return !!this._json.implicit; + } + implicit() { + if (!this._json.implicit) + return undefined; + return new OAuthFlow(this._json.implicit); + } + hasPassword() { + return !!this._json.password; + } + password() { + if (!this._json.password) + return undefined; + return new OAuthFlow(this._json.password); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/operation-replies.d.ts b/apps/parser/esm/models/v3/operation-replies.d.ts new file mode 100644 index 000000000..591354641 --- /dev/null +++ b/apps/parser/esm/models/v3/operation-replies.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationRepliesInterface } from '../operation-replies'; +export declare class OperationReplies extends Collection implements OperationRepliesInterface { + get(id: string): OperationReplyInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/operation-replies.js b/apps/parser/esm/models/v3/operation-replies.js new file mode 100644 index 000000000..91c5ac253 --- /dev/null +++ b/apps/parser/esm/models/v3/operation-replies.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class OperationReplies extends Collection { + get(id) { + return this.collections.find(reply => reply.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/operation-reply-address.d.ts b/apps/parser/esm/models/v3/operation-reply-address.d.ts new file mode 100644 index 000000000..267391330 --- /dev/null +++ b/apps/parser/esm/models/v3/operation-reply-address.d.ts @@ -0,0 +1,13 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { OperationReplyAddressInterface } from '../operation-reply-address'; +import type { v3 } from '../../spec-types'; +export declare class OperationReplyAddress extends BaseModel implements OperationReplyAddressInterface { + id(): string | undefined; + location(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/operation-reply-address.js b/apps/parser/esm/models/v3/operation-reply-address.js new file mode 100644 index 000000000..740be1d2e --- /dev/null +++ b/apps/parser/esm/models/v3/operation-reply-address.js @@ -0,0 +1,19 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +export class OperationReplyAddress extends BaseModel { + id() { + return this._meta.id; + } + location() { + return this._json.location; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/operation-reply-addresses.d.ts b/apps/parser/esm/models/v3/operation-reply-addresses.d.ts new file mode 100644 index 000000000..c652ba48d --- /dev/null +++ b/apps/parser/esm/models/v3/operation-reply-addresses.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationReplyAddressInterface } from '../operation-reply-address'; +import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; +export declare class OperationReplyAddresses extends Collection implements OperationReplyAddressesInterface { + get(id: string): OperationReplyAddressInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/operation-reply-addresses.js b/apps/parser/esm/models/v3/operation-reply-addresses.js new file mode 100644 index 000000000..562775320 --- /dev/null +++ b/apps/parser/esm/models/v3/operation-reply-addresses.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class OperationReplyAddresses extends Collection { + get(id) { + return this.collections.find(reply => reply.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/operation-reply.d.ts b/apps/parser/esm/models/v3/operation-reply.d.ts new file mode 100644 index 000000000..f4ab7dc30 --- /dev/null +++ b/apps/parser/esm/models/v3/operation-reply.d.ts @@ -0,0 +1,18 @@ +import { BaseModel } from '../base'; +import { MessagesInterface } from '../messages'; +import type { ExtensionsInterface } from '../extensions'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationReplyAddressInterface } from '../operation-reply-address'; +import type { ChannelInterface } from '../channel'; +import type { v3 } from '../../spec-types'; +export declare class OperationReply extends BaseModel implements OperationReplyInterface { + id(): string | undefined; + hasAddress(): boolean; + address(): OperationReplyAddressInterface | undefined; + hasChannel(): boolean; + channel(): ChannelInterface | undefined; + messages(): MessagesInterface; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/operation-reply.js b/apps/parser/esm/models/v3/operation-reply.js new file mode 100644 index 000000000..9bf820a19 --- /dev/null +++ b/apps/parser/esm/models/v3/operation-reply.js @@ -0,0 +1,40 @@ +import { BaseModel } from '../base'; +import { Channel } from './channel'; +import { Message } from './message'; +import { Messages } from './messages'; +import { OperationReplyAddress } from './operation-reply-address'; +import { extensions } from './mixins'; +import { xParserObjectUniqueId } from '../../constants'; +export class OperationReply extends BaseModel { + id() { + return this._meta.id; + } + hasAddress() { + return !!this._json.address; + } + address() { + if (this._json.address) { + return this.createModel(OperationReplyAddress, this._json.address, { pointer: this.jsonPath('address') }); + } + } + hasChannel() { + return !!this._json.channel; + } + channel() { + if (this._json.channel) { + const channelId = this._json.channel[xParserObjectUniqueId]; + return this.createModel(Channel, this._json.channel, { id: channelId, pointer: this.jsonPath('channel') }); + } + return this._json.channel; + } + messages() { + var _a; + return new Messages(Object.values((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map((message) => { + const messageId = message[xParserObjectUniqueId]; + return this.createModel(Message, message, { id: messageId, pointer: this.jsonPath(`messages/${messageId}`) }); + })); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/operation-trait.d.ts b/apps/parser/esm/models/v3/operation-trait.d.ts new file mode 100644 index 000000000..3ba2432ad --- /dev/null +++ b/apps/parser/esm/models/v3/operation-trait.d.ts @@ -0,0 +1,12 @@ +import { SecurityRequirements } from './security-requirements'; +import { CoreModel } from './mixins'; +import type { OperationTraitInterface } from '../operation-trait'; +import type { v3 } from '../../spec-types'; +export declare class OperationTrait extends CoreModel implements OperationTraitInterface { + id(): string | undefined; + hasOperationId(): boolean; + operationId(): string | undefined; + security(): SecurityRequirements[]; +} diff --git a/apps/parser/esm/models/v3/operation-trait.js b/apps/parser/esm/models/v3/operation-trait.js new file mode 100644 index 000000000..ffe653dce --- /dev/null +++ b/apps/parser/esm/models/v3/operation-trait.js @@ -0,0 +1,22 @@ +import { SecurityScheme } from './security-scheme'; +import { SecurityRequirements } from './security-requirements'; +import { SecurityRequirement } from './security-requirement'; +import { CoreModel } from './mixins'; +export class OperationTrait extends CoreModel { + id() { + return this.operationId() || this._meta.id; + } + hasOperationId() { + return !!this._meta.id; + } + operationId() { + return this._meta.id; + } + security() { + return (this._json.security || []).map((security, index) => { + const scheme = this.createModel(SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); + const requirement = this.createModel(SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); + return new SecurityRequirements([requirement]); + }); + } +} diff --git a/apps/parser/esm/models/v3/operation-traits.d.ts b/apps/parser/esm/models/v3/operation-traits.d.ts new file mode 100644 index 000000000..0de03b0ff --- /dev/null +++ b/apps/parser/esm/models/v3/operation-traits.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { OperationTraitInterface } from '../operation-trait'; +export declare class OperationTraits extends Collection implements OperationTraitsInterface { + get(id: string): OperationTraitInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/operation-traits.js b/apps/parser/esm/models/v3/operation-traits.js new file mode 100644 index 000000000..e663f6589 --- /dev/null +++ b/apps/parser/esm/models/v3/operation-traits.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class OperationTraits extends Collection { + get(id) { + return this.collections.find(trait => trait.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/operation.d.ts b/apps/parser/esm/models/v3/operation.d.ts new file mode 100644 index 000000000..39181b612 --- /dev/null +++ b/apps/parser/esm/models/v3/operation.d.ts @@ -0,0 +1,19 @@ +import { OperationTrait } from './operation-trait'; +import type { ChannelsInterface } from '../channels'; +import type { MessagesInterface } from '../messages'; +import type { OperationInterface, OperationAction } from '../operation'; +import type { OperationReplyInterface } from '../operation-reply'; +import type { OperationTraitsInterface } from '../operation-traits'; +import type { ServersInterface } from '../servers'; +import type { v3 } from '../../spec-types'; +export declare class Operation extends OperationTrait implements OperationInterface { + action(): OperationAction; + isSend(): boolean; + isReceive(): boolean; + servers(): ServersInterface; + channels(): ChannelsInterface; + messages(): MessagesInterface; + hasReply(): boolean; + reply(): OperationReplyInterface | undefined; + traits(): OperationTraitsInterface; +} diff --git a/apps/parser/esm/models/v3/operation.js b/apps/parser/esm/models/v3/operation.js new file mode 100644 index 000000000..541e02b00 --- /dev/null +++ b/apps/parser/esm/models/v3/operation.js @@ -0,0 +1,70 @@ +import { Messages } from './messages'; +import { Message } from './message'; +import { Channels } from './channels'; +import { Channel } from './channel'; +import { OperationTraits } from './operation-traits'; +import { OperationTrait } from './operation-trait'; +import { OperationReply } from './operation-reply'; +import { Servers } from './servers'; +import { xParserObjectUniqueId } from '../../constants'; +export class Operation extends OperationTrait { + action() { + return this._json.action; + } + isSend() { + return this.action() === 'send'; + } + isReceive() { + return this.action() === 'receive'; + } + servers() { + const servers = []; + const serversData = []; + this.channels().forEach(channel => { + channel.servers().forEach(server => { + const serverData = server.json(); + if (!serversData.includes(serverData)) { + serversData.push(serverData); + servers.push(server); + } + }); + }); + return new Servers(servers); + } + channels() { + if (this._json.channel) { + const operationChannelId = this._json.channel[xParserObjectUniqueId]; + return new Channels([ + this.createModel(Channel, this._json.channel, { id: operationChannelId, pointer: `/channels/${operationChannelId}` }) + ]); + } + return new Channels([]); + } + messages() { + const messages = []; + if (Array.isArray(this._json.messages)) { + this._json.messages.forEach((message, index) => { + const messageId = message[xParserObjectUniqueId]; + messages.push(this.createModel(Message, message, { id: messageId, pointer: this.jsonPath(`messages/${index}`) })); + }); + return new Messages(messages); + } + this.channels().forEach(channel => { + messages.push(...channel.messages()); + }); + return new Messages(messages); + } + hasReply() { + return !!this._json.reply; + } + reply() { + if (this._json.reply) { + return this.createModel(OperationReply, this._json.reply, { pointer: this.jsonPath('reply') }); + } + } + traits() { + return new OperationTraits((this._json.traits || []).map((trait, index) => { + return this.createModel(OperationTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); + })); + } +} diff --git a/apps/parser/esm/models/v3/operations.d.ts b/apps/parser/esm/models/v3/operations.d.ts new file mode 100644 index 000000000..161cb9b2e --- /dev/null +++ b/apps/parser/esm/models/v3/operations.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import type { OperationsInterface } from '../operations'; +import type { OperationInterface } from '../operation'; +export declare class Operations extends Collection implements OperationsInterface { + get(id: string): OperationInterface | undefined; + filterBySend(): OperationInterface[]; + filterByReceive(): OperationInterface[]; +} diff --git a/apps/parser/esm/models/v3/operations.js b/apps/parser/esm/models/v3/operations.js new file mode 100644 index 000000000..48e51ae25 --- /dev/null +++ b/apps/parser/esm/models/v3/operations.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Operations extends Collection { + get(id) { + return this.collections.find(operation => operation.id() === id); + } + filterBySend() { + return this.filterBy(operation => operation.isSend()); + } + filterByReceive() { + return this.filterBy(operation => operation.isReceive()); + } +} diff --git a/apps/parser/esm/models/v3/schema.d.ts b/apps/parser/esm/models/v3/schema.d.ts new file mode 100644 index 000000000..be8d1ac43 --- /dev/null +++ b/apps/parser/esm/models/v3/schema.d.ts @@ -0,0 +1,76 @@ +import { BaseModel, ModelMetadata } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { SchemaInterface } from '../schema'; +import type { v3 } from '../../spec-types'; +export declare class Schema extends BaseModel implements SchemaInterface { + protected readonly _json: v3.MultiFormatSchemaObject; + protected readonly _meta: ModelMetadata & { + id?: string; + parent?: Schema; + }; + private _schemaFormat; + private _schemaObject; + constructor(_json: v3.MultiFormatSchemaObject, _meta?: ModelMetadata & { + id?: string; + parent?: Schema; + }); + id(): string; + $comment(): string | undefined; + $id(): string | undefined; + $schema(): string; + additionalItems(): boolean | SchemaInterface; + additionalProperties(): boolean | SchemaInterface; + allOf(): Array | undefined; + anyOf(): Array | undefined; + const(): any; + contains(): SchemaInterface | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + default(): any; + definitions(): Record | undefined; + description(): string | undefined; + dependencies(): Record> | undefined; + deprecated(): boolean; + discriminator(): string | undefined; + else(): SchemaInterface | undefined; + enum(): Array | undefined; + examples(): Array | undefined; + exclusiveMaximum(): number | undefined; + exclusiveMinimum(): number | undefined; + format(): string | undefined; + isBooleanSchema(): boolean; + if(): SchemaInterface | undefined; + isCircular(): boolean; + items(): SchemaInterface | Array | undefined; + maximum(): number | undefined; + maxItems(): number | undefined; + maxLength(): number | undefined; + maxProperties(): number | undefined; + minimum(): number | undefined; + minItems(): number | undefined; + minLength(): number | undefined; + minProperties(): number | undefined; + multipleOf(): number | undefined; + not(): SchemaInterface | undefined; + oneOf(): Array | undefined; + pattern(): string | undefined; + patternProperties(): Record | undefined; + properties(): Record | undefined; + property(name: string): SchemaInterface | undefined; + propertyNames(): SchemaInterface | undefined; + readOnly(): boolean | undefined; + required(): Array | undefined; + schemaFormat(): string; + then(): SchemaInterface | undefined; + title(): string | undefined; + type(): string | Array | undefined; + uniqueItems(): boolean | undefined; + writeOnly(): boolean | undefined; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/schema.js b/apps/parser/esm/models/v3/schema.js new file mode 100644 index 000000000..41f6ade4e --- /dev/null +++ b/apps/parser/esm/models/v3/schema.js @@ -0,0 +1,321 @@ +import { BaseModel } from '../base'; +import { xParserSchemaId } from '../../constants'; +import { extensions, hasExternalDocs, externalDocs } from './mixins'; +import { getDefaultSchemaFormat } from '../../schema-parser'; +export class Schema extends BaseModel { + // The following constructor is needed because, starting from AsyncAPI v3, schemas can be multi-format as well. + constructor(_json, _meta = {}) { + var _a, _b; + super(_json, _meta); + this._json = _json; + this._meta = _meta; + // Based on the shape of the JSON, we grab the data for the Schema from the root (Schema) or rather from `schema` field (MultiFormatSchema). + if (typeof _json === 'object' && typeof _json.schema === 'object') { + this._schemaObject = _json.schema; + this._schemaFormat = _json.schemaFormat; + } + else { + this._schemaObject = _json; + this._schemaFormat = getDefaultSchemaFormat((_b = (_a = _meta.asyncapi) === null || _a === void 0 ? void 0 : _a.semver) === null || _b === void 0 ? void 0 : _b.version); + } + } + id() { + return this.$id() || this._meta.id || this._schemaObject[xParserSchemaId]; + } + $comment() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.$comment; + } + $id() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.$id; + } + $schema() { + var _a; + if (typeof this._schemaObject === 'boolean') + return 'http://json-schema.org/draft-07/schema#'; + return (_a = this._schemaObject.$schema) !== null && _a !== void 0 ? _a : 'http://json-schema.org/draft-07/schema#'; + } + additionalItems() { + if (typeof this._schemaObject === 'boolean') + return this._schemaObject; + if (this._schemaObject.additionalItems === undefined) + return true; + if (typeof this._schemaObject.additionalItems === 'boolean') + return this._schemaObject.additionalItems; + return this.createModel(Schema, this._schemaObject.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); + } + additionalProperties() { + if (typeof this._schemaObject === 'boolean') + return this._schemaObject; + if (this._schemaObject.additionalProperties === undefined) + return true; + if (typeof this._schemaObject.additionalProperties === 'boolean') + return this._schemaObject.additionalProperties; + return this.createModel(Schema, this._schemaObject.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); + } + allOf() { + if (typeof this._schemaObject === 'boolean') + return; + if (!Array.isArray(this._schemaObject.allOf)) + return undefined; + return this._schemaObject.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); + } + anyOf() { + if (typeof this._schemaObject === 'boolean') + return; + if (!Array.isArray(this._schemaObject.anyOf)) + return undefined; + return this._schemaObject.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); + } + const() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.const; + } + contains() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.contains !== 'object') + return; + return this.createModel(Schema, this._schemaObject.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); + } + contentEncoding() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.contentEncoding; + } + contentMediaType() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.contentMediaType; + } + default() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.default; + } + definitions() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.definitions !== 'object') + return; + return Object.entries(this._schemaObject.definitions).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); + return acc; + }, {}); + } + description() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.description; + } + dependencies() { + if (typeof this._schemaObject === 'boolean') + return; + if (typeof this._schemaObject.dependencies !== 'object') + return undefined; + return Object.entries(this._schemaObject.dependencies).reduce((acc, [key, s]) => { + acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); + return acc; + }, {}); + } + deprecated() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.deprecated || false; + } + discriminator() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.discriminator; + } + else() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.else !== 'object') + return; + return this.createModel(Schema, this._schemaObject.else, { pointer: `${this._meta.pointer}/else`, parent: this }); + } + enum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.enum; + } + examples() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.examples; + } + exclusiveMaximum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.exclusiveMaximum; + } + exclusiveMinimum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.exclusiveMinimum; + } + format() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.format; + } + isBooleanSchema() { + return typeof this._schemaObject === 'boolean'; + } + if() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.if !== 'object') + return; + return this.createModel(Schema, this._schemaObject.if, { pointer: `${this._meta.pointer}/if`, parent: this }); + } + isCircular() { + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._schemaObject) + return true; + parent = parent._meta.parent; + } + return false; + } + items() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.items !== 'object') + return; + if (Array.isArray(this._schemaObject.items)) { + return this._schemaObject.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); + } + return this.createModel(Schema, this._schemaObject.items, { pointer: `${this._meta.pointer}/items`, parent: this }); + } + maximum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maximum; + } + maxItems() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maxItems; + } + maxLength() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maxLength; + } + maxProperties() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.maxProperties; + } + minimum() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minimum; + } + minItems() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minItems; + } + minLength() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minLength; + } + minProperties() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.minProperties; + } + multipleOf() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.multipleOf; + } + not() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.not !== 'object') + return; + return this.createModel(Schema, this._schemaObject.not, { pointer: `${this._meta.pointer}/not`, parent: this }); + } + oneOf() { + if (typeof this._schemaObject === 'boolean') + return; + if (!Array.isArray(this._schemaObject.oneOf)) + return undefined; + return this._schemaObject.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); + } + pattern() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.pattern; + } + patternProperties() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.patternProperties !== 'object') + return; + return Object.entries(this._schemaObject.patternProperties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); + return acc; + }, {}); + } + properties() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object') + return; + return Object.entries(this._schemaObject.properties).reduce((acc, [key, s]) => { + acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); + return acc; + }, {}); + } + property(name) { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object' || typeof this._schemaObject.properties[name] !== 'object') + return; + return this.createModel(Schema, this._schemaObject.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); + } + propertyNames() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.propertyNames !== 'object') + return; + return this.createModel(Schema, this._schemaObject.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); + } + readOnly() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.readOnly || false; + } + required() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.required; + } + schemaFormat() { + return this._schemaFormat; + } + then() { + if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.then !== 'object') + return; + return this.createModel(Schema, this._schemaObject.then, { pointer: `${this._meta.pointer}/then`, parent: this }); + } + title() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.title; + } + type() { + if (typeof this._schemaObject === 'boolean') + return; + return this._schemaObject.type; + } + uniqueItems() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.uniqueItems || false; + } + writeOnly() { + if (typeof this._schemaObject === 'boolean') + return false; + return this._schemaObject.writeOnly || false; + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/schemas.d.ts b/apps/parser/esm/models/v3/schemas.d.ts new file mode 100644 index 000000000..15c1d17bc --- /dev/null +++ b/apps/parser/esm/models/v3/schemas.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SchemasInterface } from '../schemas'; +import type { SchemaInterface } from '../schema'; +export declare class Schemas extends Collection implements SchemasInterface { + get(id: string): SchemaInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/schemas.js b/apps/parser/esm/models/v3/schemas.js new file mode 100644 index 000000000..6cb574e32 --- /dev/null +++ b/apps/parser/esm/models/v3/schemas.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class Schemas extends Collection { + get(id) { + return this.collections.find(schema => schema.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/security-requirement.d.ts b/apps/parser/esm/models/v3/security-requirement.d.ts new file mode 100644 index 000000000..88cb3a757 --- /dev/null +++ b/apps/parser/esm/models/v3/security-requirement.d.ts @@ -0,0 +1,12 @@ +import { BaseModel } from '../base'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirement extends BaseModel<{ + scopes?: string[]; + scheme: SecuritySchemeInterface; +}, { + id?: string; +}> implements SecurityRequirementInterface { + scheme(): SecuritySchemeInterface; + scopes(): string[]; +} diff --git a/apps/parser/esm/models/v3/security-requirement.js b/apps/parser/esm/models/v3/security-requirement.js new file mode 100644 index 000000000..2ce62cdfa --- /dev/null +++ b/apps/parser/esm/models/v3/security-requirement.js @@ -0,0 +1,9 @@ +import { BaseModel } from '../base'; +export class SecurityRequirement extends BaseModel { + scheme() { + return this._json.scheme; + } + scopes() { + return this._json.scopes || []; + } +} diff --git a/apps/parser/esm/models/v3/security-requirements.d.ts b/apps/parser/esm/models/v3/security-requirements.d.ts new file mode 100644 index 000000000..882dd7bbc --- /dev/null +++ b/apps/parser/esm/models/v3/security-requirements.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecurityRequirementsInterface } from '../security-requirements'; +import type { SecurityRequirementInterface } from '../security-requirement'; +export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { + get(id: string): SecurityRequirementInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/security-requirements.js b/apps/parser/esm/models/v3/security-requirements.js new file mode 100644 index 000000000..f8c1cbc47 --- /dev/null +++ b/apps/parser/esm/models/v3/security-requirements.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class SecurityRequirements extends Collection { + get(id) { + return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); + } +} diff --git a/apps/parser/esm/models/v3/security-scheme.d.ts b/apps/parser/esm/models/v3/security-scheme.d.ts new file mode 100644 index 000000000..4bbef1f2e --- /dev/null +++ b/apps/parser/esm/models/v3/security-scheme.d.ts @@ -0,0 +1,26 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { SecuritySchemeInterface } from '../security-scheme'; +import type { OAuthFlowsInterface } from '../oauth-flows'; +import type { v3 } from '../../spec-types'; +export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { + id(): string; + type(): v3.SecuritySchemeType; + hasDescription(): boolean; + description(): string | undefined; + hasName(): boolean; + name(): string | undefined; + hasIn(): boolean; + in(): v3.SecuritySchemaLocation | undefined; + hasScheme(): boolean; + scheme(): string | undefined; + hasBearerFormat(): boolean; + bearerFormat(): string | undefined; + hasFlows(): boolean; + flows(): OAuthFlowsInterface | undefined; + hasOpenIdConnectUrl(): boolean; + openIdConnectUrl(): string | undefined; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/security-scheme.js b/apps/parser/esm/models/v3/security-scheme.js new file mode 100644 index 000000000..e82e9bd38 --- /dev/null +++ b/apps/parser/esm/models/v3/security-scheme.js @@ -0,0 +1,58 @@ +import { BaseModel } from '../base'; +import { OAuthFlows } from './oauth-flows'; +import { hasDescription, description, extensions } from './mixins'; +export class SecurityScheme extends BaseModel { + id() { + return this._meta.id; + } + type() { + return this._json.type; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasName() { + return !!this._json.name; + } + name() { + return this._json.name; + } + hasIn() { + return !!this._json.in; + } + in() { + return this._json.in; + } + hasScheme() { + return !!this._json.scheme; + } + scheme() { + return this._json.scheme; + } + hasBearerFormat() { + return !!this._json.bearerFormat; + } + bearerFormat() { + return this._json.bearerFormat; + } + hasFlows() { + return !!this._json.flows; + } + flows() { + if (!this._json.flows) + return undefined; + return new OAuthFlows(this._json.flows); + } + hasOpenIdConnectUrl() { + return !!this._json.openIdConnectUrl; + } + openIdConnectUrl() { + return this._json.openIdConnectUrl; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/security-schemes.d.ts b/apps/parser/esm/models/v3/security-schemes.d.ts new file mode 100644 index 000000000..e9d23e914 --- /dev/null +++ b/apps/parser/esm/models/v3/security-schemes.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { SecuritySchemesInterface } from '../security-schemes'; +import type { SecuritySchemeInterface } from '../security-scheme'; +export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { + get(id: string): SecuritySchemeInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/security-schemes.js b/apps/parser/esm/models/v3/security-schemes.js new file mode 100644 index 000000000..fea91c4b7 --- /dev/null +++ b/apps/parser/esm/models/v3/security-schemes.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class SecuritySchemes extends Collection { + get(id) { + return this.collections.find(securityScheme => securityScheme.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/server-variable.d.ts b/apps/parser/esm/models/v3/server-variable.d.ts new file mode 100644 index 000000000..63b954f0e --- /dev/null +++ b/apps/parser/esm/models/v3/server-variable.d.ts @@ -0,0 +1,17 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ServerVariableInterface } from '../server-variable'; +import type { v3 } from '../../spec-types'; +export declare class ServerVariable extends BaseModel implements ServerVariableInterface { + id(): string; + hasDescription(): boolean; + description(): string | undefined; + hasDefaultValue(): boolean; + defaultValue(): string | undefined; + hasAllowedValues(): boolean; + allowedValues(): Array; + examples(): Array; + extensions(): ExtensionsInterface; +} diff --git a/apps/parser/esm/models/v3/server-variable.js b/apps/parser/esm/models/v3/server-variable.js new file mode 100644 index 000000000..df9caa08d --- /dev/null +++ b/apps/parser/esm/models/v3/server-variable.js @@ -0,0 +1,31 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions } from './mixins'; +export class ServerVariable extends BaseModel { + id() { + return this._meta.id; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasDefaultValue() { + return !!this._json.default; + } + defaultValue() { + return this._json.default; + } + hasAllowedValues() { + return !!this._json.enum; + } + allowedValues() { + return this._json.enum || []; + } + examples() { + return this._json.examples || []; + } + extensions() { + return extensions(this); + } +} diff --git a/apps/parser/esm/models/v3/server-variables.d.ts b/apps/parser/esm/models/v3/server-variables.d.ts new file mode 100644 index 000000000..7e3ebe7f4 --- /dev/null +++ b/apps/parser/esm/models/v3/server-variables.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { ServerVariableInterface } from '../server-variable'; +export declare class ServerVariables extends Collection implements ServerVariablesInterface { + get(id: string): ServerVariableInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/server-variables.js b/apps/parser/esm/models/v3/server-variables.js new file mode 100644 index 000000000..3ae580ded --- /dev/null +++ b/apps/parser/esm/models/v3/server-variables.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class ServerVariables extends Collection { + get(id) { + return this.collections.find(variable => variable.id() === id); + } +} diff --git a/apps/parser/esm/models/v3/server.d.ts b/apps/parser/esm/models/v3/server.d.ts new file mode 100644 index 000000000..6ca2e8906 --- /dev/null +++ b/apps/parser/esm/models/v3/server.d.ts @@ -0,0 +1,25 @@ +import { SecurityRequirements } from './security-requirements'; +import { CoreModel } from './mixins'; +import type { ChannelsInterface } from '../channels'; +import type { OperationsInterface } from '../operations'; +import type { MessagesInterface } from '../messages'; +import type { ServerInterface } from '../server'; +import type { ServerVariablesInterface } from '../server-variables'; +import type { v3 } from '../../spec-types'; +export declare class Server extends CoreModel implements ServerInterface { + id(): string; + url(): string; + host(): string; + protocol(): string; + hasPathname(): boolean; + pathname(): string | undefined; + hasProtocolVersion(): boolean; + protocolVersion(): string | undefined; + channels(): ChannelsInterface; + operations(): OperationsInterface; + messages(): MessagesInterface; + variables(): ServerVariablesInterface; + security(): SecurityRequirements[]; +} diff --git a/apps/parser/esm/models/v3/server.js b/apps/parser/esm/models/v3/server.js new file mode 100644 index 000000000..75d870c8d --- /dev/null +++ b/apps/parser/esm/models/v3/server.js @@ -0,0 +1,99 @@ +import { Channels } from './channels'; +import { Channel } from './channel'; +import { Messages } from './messages'; +import { Operations } from './operations'; +import { SecurityScheme } from './security-scheme'; +import { ServerVariables } from './server-variables'; +import { ServerVariable } from './server-variable'; +import { SecurityRequirements } from './security-requirements'; +import { SecurityRequirement } from './security-requirement'; +import { CoreModel } from './mixins'; +import { tilde } from '../../utils'; +export class Server extends CoreModel { + id() { + return this._meta.id; + } + url() { + let host = this.host(); + if (!host.endsWith('/')) { + host = `${host}/`; + } + let pathname = this.pathname() || ''; + if (pathname.startsWith('/')) { + pathname = pathname.substring(1); + } + return `${this.protocol()}://${host}${pathname}`; + } + host() { + return this._json.host; + } + protocol() { + return this._json.protocol; + } + hasPathname() { + return !!this._json.pathname; + } + pathname() { + return this._json.pathname; + } + hasProtocolVersion() { + return !!this._json.protocolVersion; + } + protocolVersion() { + return this._json.protocolVersion; + } + channels() { + var _a, _b; + const channels = []; + Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelName, channel]) => { + const allowedServers = channel.servers || []; + if (allowedServers.length === 0 || allowedServers.includes(this._json)) { + channels.push(this.createModel(Channel, channel, { id: channelName, pointer: `/channels/${tilde(channelName)}` })); + } + }); + return new Channels(channels); + } + operations() { + const operations = []; + const operationsData = []; + this.channels().forEach(channel => { + channel.operations().forEach(operation => { + const operationData = operation.json(); + if (!operationsData.includes(operationData)) { + operations.push(operation); + operationsData.push(operationData); + } + }); + }); + return new Operations(operations); + } + messages() { + const messages = []; + const messagedData = []; + this.channels().forEach(channel => { + channel.messages().forEach(message => { + const messageData = message.json(); + if (!messagedData.includes(messageData)) { + messages.push(message); + messagedData.push(messageData); + } + }); + }); + return new Messages(messages); + } + variables() { + return new ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { + return this.createModel(ServerVariable, serverVariable, { + id: serverVariableName, + pointer: this.jsonPath(`variables/${serverVariableName}`), + }); + })); + } + security() { + return (this._json.security || []).map((security, index) => { + const scheme = this.createModel(SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); + const requirement = this.createModel(SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); + return new SecurityRequirements([requirement]); + }); + } +} diff --git a/apps/parser/esm/models/v3/servers.d.ts b/apps/parser/esm/models/v3/servers.d.ts new file mode 100644 index 000000000..101c8aa9e --- /dev/null +++ b/apps/parser/esm/models/v3/servers.d.ts @@ -0,0 +1,8 @@ +import { Collection } from '../collection'; +import { ServerInterface } from '../server'; +import { ServersInterface } from '../servers'; +export declare class Servers extends Collection implements ServersInterface { + get(id: string): ServerInterface | undefined; + filterBySend(): ServerInterface[]; + filterByReceive(): ServerInterface[]; +} diff --git a/apps/parser/esm/models/v3/servers.js b/apps/parser/esm/models/v3/servers.js new file mode 100644 index 000000000..39df4d44f --- /dev/null +++ b/apps/parser/esm/models/v3/servers.js @@ -0,0 +1,12 @@ +import { Collection } from '../collection'; +export class Servers extends Collection { + get(id) { + return this.collections.find(server => server.id() === id); + } + filterBySend() { + return this.filterBy(server => server.operations().filterBySend().length > 0); + } + filterByReceive() { + return this.filterBy(server => server.operations().filterByReceive().length > 0); + } +} diff --git a/apps/parser/esm/models/v3/tag.d.ts b/apps/parser/esm/models/v3/tag.d.ts new file mode 100644 index 000000000..007d9e008 --- /dev/null +++ b/apps/parser/esm/models/v3/tag.d.ts @@ -0,0 +1,16 @@ +import { BaseModel } from '../base'; +import type { ExtensionsInterface } from '../extensions'; +import type { ExternalDocumentationInterface } from '../external-docs'; +import type { TagInterface } from '../tag'; +import type { v3 } from '../../spec-types'; +export declare class Tag extends BaseModel implements TagInterface { + id(): string | undefined; + name(): string; + hasDescription(): boolean; + description(): string | undefined; + extensions(): ExtensionsInterface; + hasExternalDocs(): boolean; + externalDocs(): ExternalDocumentationInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/tag.js b/apps/parser/esm/models/v3/tag.js new file mode 100644 index 000000000..6b2645041 --- /dev/null +++ b/apps/parser/esm/models/v3/tag.js @@ -0,0 +1,25 @@ +import { BaseModel } from '../base'; +import { hasDescription, description, extensions, hasExternalDocs, externalDocs } from './mixins'; +export class Tag extends BaseModel { + id() { + return this._meta.id; + } + name() { + return this._json.name; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + extensions() { + return extensions(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + externalDocs() { + return externalDocs(this); + } +} diff --git a/apps/parser/esm/models/v3/tags.d.ts b/apps/parser/esm/models/v3/tags.d.ts new file mode 100644 index 000000000..371794b27 --- /dev/null +++ b/apps/parser/esm/models/v3/tags.d.ts @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +import type { TagsInterface } from '../tags'; +import type { TagInterface } from '../tag'; +export declare class Tags extends Collection implements TagsInterface { + get(name: string): TagInterface | undefined; +} diff --git a/apps/parser/esm/models/v3/tags.js b/apps/parser/esm/models/v3/tags.js new file mode 100644 index 000000000..13229669b --- /dev/null +++ b/apps/parser/esm/models/v3/tags.js @@ -0,0 +1,6 @@ +import { Collection } from '../collection'; +export class Tags extends Collection { + get(name) { + return this.collections.find(tag => tag.name() === name); + } +} diff --git a/apps/parser/esm/old-api/asyncapi.d.ts b/apps/parser/esm/old-api/asyncapi.d.ts new file mode 100644 index 000000000..a441ac55a --- /dev/null +++ b/apps/parser/esm/old-api/asyncapi.d.ts @@ -0,0 +1,40 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { Info } from './info'; +import { Server } from './server'; +import { Channel } from './channel'; +import { Components } from './components'; +import { Message } from './message'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +import type { SchemaTypesToIterate, TraverseCallback } from './iterator'; +export declare class AsyncAPIDocument extends SpecificationExtensionsModel { + version(): string; + info(): Info; + id(): string | undefined; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; + hasServers(): boolean; + servers(): Record; + serverNames(): string[]; + server(name: string): Server | null; + hasDefaultContentType(): boolean; + defaultContentType(): string | null; + hasChannels(): boolean; + channels(): Record; + channelNames(): string[]; + channel(name: string): Channel | null; + hasComponents(): boolean; + components(): Components | null; + hasMessages(): boolean; + allMessages(): Map; + allSchemas(): Map; + hasCircular(): boolean; + traverseSchemas(callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; + static stringify(doc: AsyncAPIDocument, space?: number): string | undefined; + static parse(doc: string | Record): AsyncAPIDocument | undefined; +} diff --git a/apps/parser/esm/old-api/asyncapi.js b/apps/parser/esm/old-api/asyncapi.js new file mode 100644 index 000000000..d9e941715 --- /dev/null +++ b/apps/parser/esm/old-api/asyncapi.js @@ -0,0 +1,157 @@ +import { SpecificationExtensionsModel, hasExternalDocs, externalDocs, tagsMixins, createMapOfType, getMapValue } from './mixins'; +import { Info } from './info'; +import { Server } from './server'; +import { Channel } from './channel'; +import { Components } from './components'; +import { traverseAsyncApiDocument } from './iterator'; +import { xParserCircular, xParserSpecStringified, xParserSpecParsed } from '../constants'; +import { refReplacer, traverseStringifiedData } from '../stringify'; +export class AsyncAPIDocument extends SpecificationExtensionsModel { + version() { + return this._json.asyncapi; + } + info() { + return new Info(this._json.info); + } + id() { + return this._json.id; + } + externalDocs() { + return externalDocs(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + hasTags() { + return tagsMixins.hasTags(this); + } + tags() { + return tagsMixins.tags(this); + } + tagNames() { + return tagsMixins.tagNames(this); + } + hasTag(name) { + return tagsMixins.hasTag(this, name); + } + tag(name) { + return tagsMixins.tag(this, name); + } + hasServers() { + return !!this._json.servers; + } + servers() { + return createMapOfType(this._json.servers, Server); + } + serverNames() { + if (!this._json.servers) + return []; + return Object.keys(this._json.servers); + } + server(name) { + return getMapValue(this._json.servers, name, Server); + } + hasDefaultContentType() { + return !!this._json.defaultContentType; + } + defaultContentType() { + return this._json.defaultContentType || null; + } + hasChannels() { + return !!this._json.channels; + } + channels() { + return createMapOfType(this._json.channels, Channel); + } + channelNames() { + if (!this._json.channels) + return []; + return Object.keys(this._json.channels); + } + channel(name) { + return getMapValue(this._json.channels, name, Channel); + } + hasComponents() { + return !!this._json.components; + } + components() { + if (!this._json.components) + return null; + return new Components(this._json.components); + } + hasMessages() { + return !!this.allMessages().size; + } + allMessages() { + const messages = new Map(); + if (this.hasChannels()) { + this.channelNames().forEach(channelName => { + const channel = this.channel(channelName); + if (channel) { + if (channel.hasPublish()) { + channel.publish().messages().forEach(m => { + messages.set(m.uid(), m); + }); + } + if (channel.hasSubscribe()) { + channel.subscribe().messages().forEach(m => { + messages.set(m.uid(), m); + }); + } + } + }); + } + if (this.hasComponents()) { + Object.values(this.components().messages()).forEach(m => { + messages.set(m.uid(), m); + }); + } + return messages; + } + allSchemas() { + const schemas = new Map(); + function allSchemasCallback(schema) { + if (schema.uid()) { + schemas.set(schema.uid(), schema); + } + } + traverseAsyncApiDocument(this, allSchemasCallback); + return schemas; + } + hasCircular() { + return !!this._json[xParserCircular]; + } + traverseSchemas(callback, schemaTypesToIterate = []) { + traverseAsyncApiDocument(this, callback, schemaTypesToIterate); + } + static stringify(doc, space) { + const rawDoc = doc.json(); + const copiedDoc = Object.assign({}, rawDoc); + copiedDoc[xParserSpecStringified] = true; + return JSON.stringify(copiedDoc, refReplacer(), space); + } + static parse(doc) { + let parsedJSON = doc; + if (typeof doc === 'string') { + parsedJSON = JSON.parse(doc); + } + else if (typeof doc === 'object') { + // shall copy + parsedJSON = Object.assign({}, parsedJSON); + } + // the `doc` must be an AsyncAPI parsed document + if (typeof parsedJSON !== 'object' || !parsedJSON[xParserSpecParsed]) { + throw new Error('Cannot parse invalid AsyncAPI document'); + } + // if the `doc` is not stringified via the `stringify` static method then immediately return a model. + if (!parsedJSON[xParserSpecStringified]) { + return new AsyncAPIDocument(parsedJSON); + } + // remove `x-parser-spec-stringified` extension + delete parsedJSON[String(xParserSpecStringified)]; + const objToPath = new Map(); + const pathToObj = new Map(); + traverseStringifiedData(parsedJSON, undefined, parsedJSON, objToPath, pathToObj); + return new AsyncAPIDocument(parsedJSON); + } +} diff --git a/apps/parser/esm/old-api/base.d.ts b/apps/parser/esm/old-api/base.d.ts new file mode 100644 index 000000000..286a470ef --- /dev/null +++ b/apps/parser/esm/old-api/base.d.ts @@ -0,0 +1,7 @@ +export declare abstract class Base = Record> { + protected readonly _json: J; + protected readonly _meta: M; + constructor(_json: J, _meta?: M); + json(): T; + json(key: K): J[K]; +} diff --git a/apps/parser/esm/old-api/base.js b/apps/parser/esm/old-api/base.js new file mode 100644 index 000000000..110fdc10f --- /dev/null +++ b/apps/parser/esm/old-api/base.js @@ -0,0 +1,16 @@ +export class Base { + constructor(_json, _meta = {}) { + this._json = _json; + this._meta = _meta; + if (_json === undefined || _json === null) { + throw new Error('Invalid JSON to instantiate the Base object.'); + } + } + json(key) { + if (key === undefined || typeof this._json !== 'object') + return this._json; + if (!this._json) + return; + return this._json[key]; + } +} diff --git a/apps/parser/esm/old-api/channel-parameter.d.ts b/apps/parser/esm/old-api/channel-parameter.d.ts new file mode 100644 index 000000000..3265c56d0 --- /dev/null +++ b/apps/parser/esm/old-api/channel-parameter.d.ts @@ -0,0 +1,9 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +export declare class ChannelParameter extends SpecificationExtensionsModel { + description(): string | null; + hasDescription(): boolean; + schema(): Schema | null; + location(): string | undefined; +} diff --git a/apps/parser/esm/old-api/channel-parameter.js b/apps/parser/esm/old-api/channel-parameter.js new file mode 100644 index 000000000..8d952addc --- /dev/null +++ b/apps/parser/esm/old-api/channel-parameter.js @@ -0,0 +1,18 @@ +import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; +import { Schema } from './schema'; +export class ChannelParameter extends SpecificationExtensionsModel { + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + schema() { + if (!this._json.schema) + return null; + return new Schema(this._json.schema); + } + location() { + return this._json.location; + } +} diff --git a/apps/parser/esm/old-api/channel.d.ts b/apps/parser/esm/old-api/channel.d.ts new file mode 100644 index 000000000..8214311fc --- /dev/null +++ b/apps/parser/esm/old-api/channel.d.ts @@ -0,0 +1,23 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { ChannelParameter } from './channel-parameter'; +import { Operation } from './operation'; +import type { v2 } from '../spec-types'; +export declare class Channel extends SpecificationExtensionsModel { + description(): string | null; + hasDescription(): boolean; + hasParameters(): boolean; + parameters(): Record; + parameter(name: string): ChannelParameter | null; + hasServers(): boolean; + servers(): string[]; + server(index: number | string): string | null; + publish(): Operation | null; + subscribe(): Operation | null; + hasPublish(): boolean; + hasSubscribe(): boolean; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; +} diff --git a/apps/parser/esm/old-api/channel.js b/apps/parser/esm/old-api/channel.js new file mode 100644 index 000000000..2ff5b1b61 --- /dev/null +++ b/apps/parser/esm/old-api/channel.js @@ -0,0 +1,68 @@ +import { SpecificationExtensionsModel, hasDescription, description, createMapOfType, bindingsMixins, getMapValue } from './mixins'; +import { ChannelParameter } from './channel-parameter'; +import { Operation } from './operation'; +export class Channel extends SpecificationExtensionsModel { + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + hasParameters() { + return !!this._json.parameters; + } + parameters() { + return createMapOfType(this._json.parameters, ChannelParameter); + } + parameter(name) { + return getMapValue(this._json.parameters, name, ChannelParameter); + } + hasServers() { + return !!this._json.servers; + } + servers() { + if (!this._json.servers) + return []; + return this._json.servers; + } + server(index) { + if (!this._json.servers) + return null; + if (typeof index !== 'number') + return null; + if (index > this._json.servers.length - 1) + return null; + return this._json.servers[+index]; + } + publish() { + if (!this._json.publish) + return null; + return new Operation(this._json.publish, { kind: 'publish' }); + } + subscribe() { + if (!this._json.subscribe) + return null; + return new Operation(this._json.subscribe, { kind: 'subscribe' }); + } + hasPublish() { + return !!this._json.publish; + } + hasSubscribe() { + return !!this._json.subscribe; + } + hasBindings() { + return bindingsMixins.hasBindings(this); + } + bindings() { + return bindingsMixins.bindings(this); + } + bindingProtocols() { + return bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return bindingsMixins.hasBinding(this, name); + } + binding(name) { + return bindingsMixins.binding(this, name); + } +} diff --git a/apps/parser/esm/old-api/components.d.ts b/apps/parser/esm/old-api/components.d.ts new file mode 100644 index 000000000..7a409a019 --- /dev/null +++ b/apps/parser/esm/old-api/components.d.ts @@ -0,0 +1,44 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { Channel } from './channel'; +import { Message } from './message'; +import { Schema } from './schema'; +import { SecurityScheme } from './security-scheme'; +import { Server } from './server'; +import { ChannelParameter } from './channel-parameter'; +import { CorrelationId } from './correlation-id'; +import { OperationTrait } from './operation-trait'; +import { MessageTrait } from './message-trait'; +import { ServerVariable } from './server-variable'; +import type { v2 } from '../spec-types'; +export declare class Components extends SpecificationExtensionsModel { + hasChannels(): boolean; + channels(): Record; + channel(name: string): Channel | null; + hasMessages(): boolean; + messages(): Record; + message(name: string): Message | null; + hasSchemas(): boolean; + schemas(): Record; + schema(name: string): Schema | null; + hasSecuritySchemes(): boolean; + securitySchemes(): Record; + securityScheme(name: string): SecurityScheme | null; + hasServers(): boolean; + servers(): Record; + server(name: string): Server | null; + hasParameters(): boolean; + parameters(): Record; + parameter(name: string): ChannelParameter | null; + hasCorrelationIds(): boolean; + correlationIds(): Record; + correlationId(name: string): CorrelationId | null; + hasOperationTraits(): boolean; + operationTraits(): Record>; + operationTrait(name: string): OperationTrait | null; + hasMessageTraits(): boolean; + messageTraits(): Record>; + messageTrait(name: string): MessageTrait; + hasServerVariables(): boolean; + serverVariables(): Record; + serverVariable(name: string): ServerVariable | null; +} diff --git a/apps/parser/esm/old-api/components.js b/apps/parser/esm/old-api/components.js new file mode 100644 index 000000000..26fe3ffd6 --- /dev/null +++ b/apps/parser/esm/old-api/components.js @@ -0,0 +1,103 @@ +import { SpecificationExtensionsModel, createMapOfType, getMapValue } from './mixins'; +import { Channel } from './channel'; +import { Message } from './message'; +import { Schema } from './schema'; +import { SecurityScheme } from './security-scheme'; +import { Server } from './server'; +import { ChannelParameter } from './channel-parameter'; +import { CorrelationId } from './correlation-id'; +import { OperationTrait } from './operation-trait'; +import { MessageTrait } from './message-trait'; +import { ServerVariable } from './server-variable'; +export class Components extends SpecificationExtensionsModel { + hasChannels() { + return !!this._json.channels; + } + channels() { + return createMapOfType(this._json.channels, Channel); + } + channel(name) { + return getMapValue(this._json.channels, name, Channel); + } + hasMessages() { + return !!this._json.messages; + } + messages() { + return createMapOfType(this._json.messages, Message); + } + message(name) { + return getMapValue(this._json.messages, name, Message); + } + hasSchemas() { + return !!this._json.schemas; + } + schemas() { + return createMapOfType(this._json.schemas, Schema); + } + schema(name) { + return getMapValue(this._json.schemas, name, Schema); + } + hasSecuritySchemes() { + return !!this._json.securitySchemes; + } + securitySchemes() { + return createMapOfType(this._json.securitySchemes, SecurityScheme); + } + securityScheme(name) { + return getMapValue(this._json.securitySchemes, name, SecurityScheme); + } + hasServers() { + return !!this._json.servers; + } + servers() { + return createMapOfType(this._json.servers, Server); + } + server(name) { + return getMapValue(this._json.servers, name, Server); + } + hasParameters() { + return !!this._json.parameters; + } + parameters() { + return createMapOfType(this._json.parameters, ChannelParameter); + } + parameter(name) { + return getMapValue(this._json.parameters, name, ChannelParameter); + } + hasCorrelationIds() { + return !!this._json.correlationIds; + } + correlationIds() { + return createMapOfType(this._json.correlationIds, CorrelationId); + } + correlationId(name) { + return getMapValue(this._json.correlationIds, name, CorrelationId); + } + hasOperationTraits() { + return !!this._json.operationTraits; + } + operationTraits() { + return createMapOfType(this._json.operationTraits, OperationTrait); + } + operationTrait(name) { + return getMapValue(this._json.operationTraits, name, OperationTrait); + } + hasMessageTraits() { + return !!this._json.messageTraits; + } + messageTraits() { + return createMapOfType(this._json.messageTraits, MessageTrait); + } + messageTrait(name) { + return getMapValue(this._json.messageTraits, name, MessageTrait); + } + hasServerVariables() { + return !!this._json.serverVariables; + } + serverVariables() { + return createMapOfType(this._json.serverVariables, ServerVariable); + } + serverVariable(name) { + return getMapValue(this._json.serverVariables, name, ServerVariable); + } +} diff --git a/apps/parser/esm/old-api/contact.d.ts b/apps/parser/esm/old-api/contact.d.ts new file mode 100644 index 000000000..dd119cb51 --- /dev/null +++ b/apps/parser/esm/old-api/contact.d.ts @@ -0,0 +1,7 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class Contact extends SpecificationExtensionsModel { + name(): string | undefined; + url(): string | undefined; + email(): string | undefined; +} diff --git a/apps/parser/esm/old-api/contact.js b/apps/parser/esm/old-api/contact.js new file mode 100644 index 000000000..578be5990 --- /dev/null +++ b/apps/parser/esm/old-api/contact.js @@ -0,0 +1,12 @@ +import { SpecificationExtensionsModel } from './mixins'; +export class Contact extends SpecificationExtensionsModel { + name() { + return this._json.name; + } + url() { + return this._json.url; + } + email() { + return this._json.email; + } +} diff --git a/apps/parser/esm/old-api/converter.d.ts b/apps/parser/esm/old-api/converter.d.ts new file mode 100644 index 000000000..f405c4a03 --- /dev/null +++ b/apps/parser/esm/old-api/converter.d.ts @@ -0,0 +1,4 @@ +import { AsyncAPIDocument } from './asyncapi'; +import type { AsyncAPIDocumentInterface } from '../models/asyncapi'; +export declare function convertToOldAPI(newDocument: AsyncAPIDocumentInterface): AsyncAPIDocument; +export declare function convertToNewAPI(oldDocument: AsyncAPIDocument): AsyncAPIDocumentInterface; diff --git a/apps/parser/esm/old-api/converter.js b/apps/parser/esm/old-api/converter.js new file mode 100644 index 000000000..f0b4bc185 --- /dev/null +++ b/apps/parser/esm/old-api/converter.js @@ -0,0 +1,53 @@ +import { AsyncAPIDocument } from './asyncapi'; +import { xParserApiVersion, xParserOriginalPayload, xParserOriginalSchemaFormat, xParserOriginalTraits, xParserMessageParsed } from '../constants'; +import { createAsyncAPIDocument } from '../document'; +import { copy } from '../stringify'; +import { getDefaultSchemaFormat } from '../schema-parser'; +import { createDetailedAsyncAPI, setExtension } from '../utils'; +export function convertToOldAPI(newDocument) { + const data = copy(newDocument.json()); + const document = new AsyncAPIDocument(data); + handleMessages(document); + handleOperations(document); + setExtension(xParserApiVersion, 0, document); + return document; +} +export function convertToNewAPI(oldDocument) { + const data = copy(oldDocument.json()); + const detailed = createDetailedAsyncAPI(data); + return createAsyncAPIDocument(detailed); +} +function handleMessages(document) { + const defaultSchemaFormat = getDefaultSchemaFormat(document.version()); + for (const message of document.allMessages().values()) { + const json = message.json(); + if (json.traits) { + json[xParserOriginalTraits] = json.traits; + delete json.traits; + } + json[xParserOriginalSchemaFormat] = json.schemaFormat || defaultSchemaFormat; + json.schemaFormat = defaultSchemaFormat; + json[xParserOriginalPayload] = json[xParserOriginalPayload] || json.payload; + json[xParserMessageParsed] = true; + } +} +function handleOperations(document) { + Object.values(document.channels()).forEach(channel => { + const publish = channel.publish(); + const subscribe = channel.subscribe(); + if (publish) { + const json = publish.json(); + if (json.traits) { + json[xParserOriginalTraits] = json.traits; + delete json.traits; + } + } + if (subscribe) { + const json = subscribe.json(); + if (json.traits) { + json[xParserOriginalTraits] = json.traits; + delete json.traits; + } + } + }); +} diff --git a/apps/parser/esm/old-api/correlation-id.d.ts b/apps/parser/esm/old-api/correlation-id.d.ts new file mode 100644 index 000000000..02fe34b0d --- /dev/null +++ b/apps/parser/esm/old-api/correlation-id.d.ts @@ -0,0 +1,7 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class CorrelationId extends SpecificationExtensionsModel { + description(): string | null; + hasDescription(): boolean; + location(): string; +} diff --git a/apps/parser/esm/old-api/correlation-id.js b/apps/parser/esm/old-api/correlation-id.js new file mode 100644 index 000000000..778e4607b --- /dev/null +++ b/apps/parser/esm/old-api/correlation-id.js @@ -0,0 +1,12 @@ +import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; +export class CorrelationId extends SpecificationExtensionsModel { + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + location() { + return this._json.location; + } +} diff --git a/apps/parser/esm/old-api/external-docs.d.ts b/apps/parser/esm/old-api/external-docs.d.ts new file mode 100644 index 000000000..67df99a8b --- /dev/null +++ b/apps/parser/esm/old-api/external-docs.d.ts @@ -0,0 +1,15 @@ +import { Base } from './base'; +import type { v2 } from '../spec-types'; +export declare class ExternalDocs extends Base { + url(): string; + hasDescription(): boolean; + description(): string | null; + hasExtensions(): boolean; + extensions(): v2.SpecificationExtensions; + extensionKeys(): string[]; + extKeys(): string[]; + hasExtension(extension: string): boolean; + extension(extension: string): v2.SpecificationExtension; + hasExt(extension: string): boolean; + ext(extension: string): any; +} diff --git a/apps/parser/esm/old-api/external-docs.js b/apps/parser/esm/old-api/external-docs.js new file mode 100644 index 000000000..b74b4a7f9 --- /dev/null +++ b/apps/parser/esm/old-api/external-docs.js @@ -0,0 +1,37 @@ +import { Base } from './base'; +import { description, hasDescription, extensionsMixins } from './mixins'; +export class ExternalDocs extends Base { + url() { + return this._json.url; + } + hasDescription() { + return hasDescription(this); + } + description() { + return description(this); + } + hasExtensions() { + return extensionsMixins.hasExtensions(this); + } + extensions() { + return extensionsMixins.extensions(this); + } + extensionKeys() { + return extensionsMixins.extensionKeys(this); + } + extKeys() { + return extensionsMixins.extKeys(this); + } + hasExtension(extension) { + return extensionsMixins.hasExtension(this, extension); + } + extension(extension) { + return extensionsMixins.extension(this, extension); + } + hasExt(extension) { + return extensionsMixins.hasExt(this, extension); + } + ext(extension) { + return extensionsMixins.ext(this, extension); + } +} diff --git a/apps/parser/esm/old-api/index.d.ts b/apps/parser/esm/old-api/index.d.ts new file mode 100644 index 000000000..3ad086673 --- /dev/null +++ b/apps/parser/esm/old-api/index.d.ts @@ -0,0 +1,21 @@ +export { convertToOldAPI, convertToNewAPI } from './converter'; +export { AsyncAPIDocument as OldAsyncAPIDocument } from './asyncapi'; +export { Base as OldBase } from './base'; +export { ChannelParameter as OldChannelParameter } from './channel-parameter'; +export { Channel as OldChannel } from './channel'; +export { Components as OldComponents } from './components'; +export { Contact as OldContact } from './contact'; +export { CorrelationId as OldCorrelationId } from './correlation-id'; +export { ExternalDocs as OldExternalDocs } from './external-docs'; +export { License as OldLicense } from './license'; +export { MessageTrait as OldMessageTrait } from './message-trait'; +export { Message as OldMessage } from './message'; +export { OAuthFlow as OldOAuthFlow } from './oauth-flow'; +export { OperationTrait as OldOperationTrait } from './operation-trait'; +export { Operation as OldOperation } from './operation'; +export { Schema as OldSchema } from './schema'; +export { SecurityRequirement as OldSecurityRequirement } from './security-requirement'; +export { SecurityScheme as OldSecurityScheme } from './security-scheme'; +export { ServerVariable as OldServerVariable } from './server-variable'; +export { Server as OldServer } from './server'; +export { Tag as OldTag } from './tag'; diff --git a/apps/parser/esm/old-api/index.js b/apps/parser/esm/old-api/index.js new file mode 100644 index 000000000..3ad086673 --- /dev/null +++ b/apps/parser/esm/old-api/index.js @@ -0,0 +1,21 @@ +export { convertToOldAPI, convertToNewAPI } from './converter'; +export { AsyncAPIDocument as OldAsyncAPIDocument } from './asyncapi'; +export { Base as OldBase } from './base'; +export { ChannelParameter as OldChannelParameter } from './channel-parameter'; +export { Channel as OldChannel } from './channel'; +export { Components as OldComponents } from './components'; +export { Contact as OldContact } from './contact'; +export { CorrelationId as OldCorrelationId } from './correlation-id'; +export { ExternalDocs as OldExternalDocs } from './external-docs'; +export { License as OldLicense } from './license'; +export { MessageTrait as OldMessageTrait } from './message-trait'; +export { Message as OldMessage } from './message'; +export { OAuthFlow as OldOAuthFlow } from './oauth-flow'; +export { OperationTrait as OldOperationTrait } from './operation-trait'; +export { Operation as OldOperation } from './operation'; +export { Schema as OldSchema } from './schema'; +export { SecurityRequirement as OldSecurityRequirement } from './security-requirement'; +export { SecurityScheme as OldSecurityScheme } from './security-scheme'; +export { ServerVariable as OldServerVariable } from './server-variable'; +export { Server as OldServer } from './server'; +export { Tag as OldTag } from './tag'; diff --git a/apps/parser/esm/old-api/info.d.ts b/apps/parser/esm/old-api/info.d.ts new file mode 100644 index 000000000..94d613d55 --- /dev/null +++ b/apps/parser/esm/old-api/info.d.ts @@ -0,0 +1,13 @@ +import { Contact } from './contact'; +import { License } from './license'; +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class Info extends SpecificationExtensionsModel { + title(): string; + version(): string; + description(): string | null; + hasDescription(): boolean; + termsOfService(): string | undefined; + license(): License | null; + contact(): Contact | null; +} diff --git a/apps/parser/esm/old-api/info.js b/apps/parser/esm/old-api/info.js new file mode 100644 index 000000000..f7fb84b93 --- /dev/null +++ b/apps/parser/esm/old-api/info.js @@ -0,0 +1,30 @@ +import { Contact } from './contact'; +import { License } from './license'; +import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; +export class Info extends SpecificationExtensionsModel { + title() { + return this._json.title; + } + version() { + return this._json.version; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + termsOfService() { + return this._json.termsOfService; + } + license() { + if (!this._json.license) + return null; + return new License(this._json.license); + } + contact() { + if (!this._json.contact) + return null; + return new Contact(this._json.contact); + } +} diff --git a/apps/parser/esm/old-api/iterator.d.ts b/apps/parser/esm/old-api/iterator.d.ts new file mode 100644 index 000000000..419fc9546 --- /dev/null +++ b/apps/parser/esm/old-api/iterator.d.ts @@ -0,0 +1,42 @@ +import type { AsyncAPIDocument } from './asyncapi'; +import type { Schema } from './schema'; +/** + * The different kind of stages when crawling a schema. + */ +export declare enum SchemaIteratorCallbackType { + NEW_SCHEMA = "NEW_SCHEMA", + END_SCHEMA = "END_SCHEMA" +} +/** + * The different types of schemas you can iterate + */ +export declare enum SchemaTypesToIterate { + parameters = "parameters", + payloads = "payloads", + headers = "headers", + components = "components", + objects = "objects", + arrays = "arrays", + oneOfs = "oneOfs", + allOfs = "allOfs", + anyOfs = "anyOfs", + nots = "nots", + propertyNames = "propertyNames", + patternProperties = "patternProperties", + contains = "contains", + ifs = "ifs", + thenes = "thenes", + elses = "elses", + dependencies = "dependencies", + definitions = "definitions" +} +export type TraverseOptions = { + callback: TraverseCallback; + schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; + seenSchemas: Set; +}; +export type TraverseCallback = (schema: Schema, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +export declare function traverseAsyncApiDocument(doc: AsyncAPIDocument, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/esm/old-api/iterator.js b/apps/parser/esm/old-api/iterator.js new file mode 100644 index 000000000..873ba60e7 --- /dev/null +++ b/apps/parser/esm/old-api/iterator.js @@ -0,0 +1,246 @@ +/** + * The different kind of stages when crawling a schema. + */ +export var SchemaIteratorCallbackType; +(function (SchemaIteratorCallbackType) { + SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; + SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; +})(SchemaIteratorCallbackType || (SchemaIteratorCallbackType = {})); +/** + * The different types of schemas you can iterate + */ +export var SchemaTypesToIterate; +(function (SchemaTypesToIterate) { + SchemaTypesToIterate["parameters"] = "parameters"; + SchemaTypesToIterate["payloads"] = "payloads"; + SchemaTypesToIterate["headers"] = "headers"; + SchemaTypesToIterate["components"] = "components"; + SchemaTypesToIterate["objects"] = "objects"; + SchemaTypesToIterate["arrays"] = "arrays"; + SchemaTypesToIterate["oneOfs"] = "oneOfs"; + SchemaTypesToIterate["allOfs"] = "allOfs"; + SchemaTypesToIterate["anyOfs"] = "anyOfs"; + SchemaTypesToIterate["nots"] = "nots"; + SchemaTypesToIterate["propertyNames"] = "propertyNames"; + SchemaTypesToIterate["patternProperties"] = "patternProperties"; + SchemaTypesToIterate["contains"] = "contains"; + SchemaTypesToIterate["ifs"] = "ifs"; + SchemaTypesToIterate["thenes"] = "thenes"; + SchemaTypesToIterate["elses"] = "elses"; + SchemaTypesToIterate["dependencies"] = "dependencies"; + SchemaTypesToIterate["definitions"] = "definitions"; +})(SchemaTypesToIterate || (SchemaTypesToIterate = {})); +/** + * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. + */ +export function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { + if (schemaTypesToIterate.length === 0) { + schemaTypesToIterate = Object.values(SchemaTypesToIterate); + } + const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; + Object.values(doc.channels()).forEach(channel => { + traverseChannel(channel, options); + }); + const components = doc.components(); + if (schemaTypesToIterate.includes(SchemaTypesToIterate.components) && components) { + Object.values(components.messages()).forEach(message => { + traverseMessage(message, options); + }); + Object.values(components.schemas()).forEach(schema => { + traverseSchema(schema, null, options); + }); + if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { + Object.values(components.parameters()).forEach(parameter => { + const schema = parameter.schema(); + if (schema) { + traverseSchema(schema, null, options); + } + }); + } + Object.values(components.messageTraits()).forEach(messageTrait => { + traverseMessageTrait(messageTrait, options); + }); + } +} +/* eslint-disable sonarjs/cognitive-complexity */ +/** + * Traverse current schema and all nested schemas. + */ +function traverseSchema(schema, propOrIndex, options) { + if (!schema) + return; + const { schemaTypesToIterate, callback, seenSchemas } = options; + // handle circular references + const jsonSchema = schema.json(); + if (seenSchemas.has(jsonSchema)) + return; + seenSchemas.add(jsonSchema); + // `type` isn't required so save type as array in the fallback + let types = schema.type() || []; + // change primitive type to array of types for easier handling + if (!Array.isArray(types)) { + types = [types]; + } + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) + return; + if (!schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) + return; + // check callback `NEW_SCHEMA` case + if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) + return; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) { + recursiveSchemaObject(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) { + recursiveSchemaArray(schema, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.oneOfs)) { + (schema.oneOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.anyOfs)) { + (schema.anyOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.allOfs)) { + (schema.allOf() || []).forEach((combineSchema, idx) => { + traverseSchema(combineSchema, idx, options); + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.nots) && schema.not()) { + traverseSchema(schema.not(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.ifs) && schema.if()) { + traverseSchema(schema.if(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.thenes) && schema.then()) { + traverseSchema(schema.then(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.elses) && schema.else()) { + traverseSchema(schema.else(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.dependencies)) { + Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { + // do not iterate dependent required + if (dep && !Array.isArray(dep)) { + traverseSchema(dep, depName, options); + } + }); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.definitions)) { + Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { + traverseSchema(def, defName, options); + }); + } + callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); + seenSchemas.delete(jsonSchema); +} +/* eslint-enable sonarjs/cognitive-complexity */ +/** + * Recursively go through schema of object type and execute callback. + */ +function recursiveSchemaObject(schema, options) { + Object.entries(schema.properties()).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + const additionalProperties = schema.additionalProperties(); + if (typeof additionalProperties === 'object') { + traverseSchema(additionalProperties, null, options); + } + const schemaTypesToIterate = options.schemaTypesToIterate; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.propertyNames) && schema.propertyNames()) { + traverseSchema(schema.propertyNames(), null, options); + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.patternProperties)) { + Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { + traverseSchema(property, propertyName, options); + }); + } +} +/** + * Recursively go through schema of array type and execute callback. + */ +function recursiveSchemaArray(schema, options) { + const items = schema.items(); + if (items) { + if (Array.isArray(items)) { + items.forEach((item, idx) => { + traverseSchema(item, idx, options); + }); + } + else { + traverseSchema(items, null, options); + } + } + const additionalItems = schema.additionalItems(); + if (typeof additionalItems === 'object') { + traverseSchema(additionalItems, null, options); + } + if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { + traverseSchema(schema.contains(), null, options); + } +} +/** + * Go through each schema in channel + */ +function traverseChannel(channel, options) { + if (!channel) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { + Object.values(channel.parameters() || {}).forEach(parameter => { + const schema = parameter.schema(); + if (schema) { + traverseSchema(schema, null, options); + } + }); + } + const publish = channel.publish(); + if (publish) { + publish.messages().forEach(message => { + traverseMessage(message, options); + }); + } + const subscribe = channel.subscribe(); + if (subscribe) { + subscribe.messages().forEach(message => { + traverseMessage(message, options); + }); + } +} +/** + * Go through each schema in a message + */ +function traverseMessage(message, options) { + if (!message) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { + const headers = message.headers(); + if (headers) { + traverseSchema(headers, null, options); + } + } + if (schemaTypesToIterate.includes(SchemaTypesToIterate.payloads)) { + const payload = message.payload(); + if (payload) { + traverseSchema(payload, null, options); + } + } +} +/** + * Go through each schema in a messageTrait + */ +function traverseMessageTrait(messageTrait, options) { + if (!messageTrait) + return; + const { schemaTypesToIterate } = options; + if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { + const headers = messageTrait.headers(); + if (headers) { + traverseSchema(headers, null, options); + } + } +} diff --git a/apps/parser/esm/old-api/license.d.ts b/apps/parser/esm/old-api/license.d.ts new file mode 100644 index 000000000..2e926b988 --- /dev/null +++ b/apps/parser/esm/old-api/license.d.ts @@ -0,0 +1,6 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class License extends SpecificationExtensionsModel { + name(): string; + url(): string | undefined; +} diff --git a/apps/parser/esm/old-api/license.js b/apps/parser/esm/old-api/license.js new file mode 100644 index 000000000..7393ebc00 --- /dev/null +++ b/apps/parser/esm/old-api/license.js @@ -0,0 +1,9 @@ +import { SpecificationExtensionsModel } from './mixins'; +export class License extends SpecificationExtensionsModel { + name() { + return this._json.name; + } + url() { + return this._json.url; + } +} diff --git a/apps/parser/esm/old-api/message-trait.d.ts b/apps/parser/esm/old-api/message-trait.d.ts new file mode 100644 index 000000000..e4a7f5825 --- /dev/null +++ b/apps/parser/esm/old-api/message-trait.d.ts @@ -0,0 +1,30 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { CorrelationId } from './correlation-id'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +export declare class MessageTrait extends SpecificationExtensionsModel { + id(): string | undefined; + headers(): Schema | null; + header(name: string): Schema | null; + correlationId(): CorrelationId | null; + schemaFormat(): string; + contentType(): string | undefined; + name(): string | undefined; + title(): string | undefined; + summary(): string | undefined; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; + examples(): v2.MessageExampleObject[] | undefined; +} diff --git a/apps/parser/esm/old-api/message-trait.js b/apps/parser/esm/old-api/message-trait.js new file mode 100644 index 000000000..f8de18056 --- /dev/null +++ b/apps/parser/esm/old-api/message-trait.js @@ -0,0 +1,83 @@ +import { SpecificationExtensionsModel, description, hasDescription, hasExternalDocs, externalDocs, tagsMixins, bindingsMixins, getMapValue } from './mixins'; +import { CorrelationId } from './correlation-id'; +import { Schema } from './schema'; +export class MessageTrait extends SpecificationExtensionsModel { + id() { + return this._json.messageId; + } + headers() { + if (!this._json.headers) + return null; + return new Schema(this._json.headers); + } + header(name) { + if (!this._json.headers) + return null; + return getMapValue(this._json.headers.properties || {}, name, Schema); + } + correlationId() { + if (!this._json.correlationId) + return null; + return new CorrelationId(this._json.correlationId); + } + schemaFormat() { + return this._json.schemaFormat; // Old API points always to the default schema format for given AsyncAPI version, so we need to force returned type as string. + } + contentType() { + return this._json.contentType; + } + name() { + return this._json.name; + } + title() { + return this._json.title; + } + summary() { + return this._json.summary; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + externalDocs() { + return externalDocs(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + hasTags() { + return tagsMixins.hasTags(this); + } + tags() { + return tagsMixins.tags(this); + } + tagNames() { + return tagsMixins.tagNames(this); + } + hasTag(name) { + return tagsMixins.hasTag(this, name); + } + tag(name) { + return tagsMixins.tag(this, name); + } + hasBindings() { + return bindingsMixins.hasBindings(this); + } + bindings() { + return bindingsMixins.bindings(this); + } + bindingProtocols() { + return bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return bindingsMixins.hasBinding(this, name); + } + binding(name) { + return bindingsMixins.binding(this, name); + } + examples() { + return this._json.examples; + } +} diff --git a/apps/parser/esm/old-api/message.d.ts b/apps/parser/esm/old-api/message.d.ts new file mode 100644 index 000000000..08e26b8f3 --- /dev/null +++ b/apps/parser/esm/old-api/message.d.ts @@ -0,0 +1,11 @@ +import { MessageTrait } from './message-trait'; +import { Schema } from './schema'; +import type { v2 } from '../spec-types'; +export declare class Message extends MessageTrait { + uid(): string; + payload(): Schema | null; + traits(): MessageTrait[]; + hasTraits(): boolean; + originalPayload(): any; + originalSchemaFormat(): string; +} diff --git a/apps/parser/esm/old-api/message.js b/apps/parser/esm/old-api/message.js new file mode 100644 index 000000000..76d709351 --- /dev/null +++ b/apps/parser/esm/old-api/message.js @@ -0,0 +1,28 @@ +import { MessageTrait } from './message-trait'; +import { Schema } from './schema'; +import { xParserMessageName, xParserOriginalTraits, xParserOriginalPayload, xParserOriginalSchemaFormat } from '../constants'; +export class Message extends MessageTrait { + uid() { + return this.id() || this.name() || this.ext(xParserMessageName); + } + payload() { + if (!this._json.payload) + return null; + return new Schema(this._json.payload); + } + traits() { + const traits = this.ext(xParserOriginalTraits) || this._json.traits; + if (!traits) + return []; + return traits.map(t => new MessageTrait(t)); + } + hasTraits() { + return !!this.ext(xParserOriginalTraits) || !!this._json.traits; + } + originalPayload() { + return this.ext(xParserOriginalPayload) || this.payload(); + } + originalSchemaFormat() { + return this.ext(xParserOriginalSchemaFormat) || this.schemaFormat(); + } +} diff --git a/apps/parser/esm/old-api/mixins.d.ts b/apps/parser/esm/old-api/mixins.d.ts new file mode 100644 index 000000000..4985944d7 --- /dev/null +++ b/apps/parser/esm/old-api/mixins.d.ts @@ -0,0 +1,95 @@ +import { Base } from './base'; +import { ExternalDocs } from './external-docs'; +import { Tag } from './tag'; +import type { v2 } from '../spec-types'; +export declare abstract class SpecificationExtensionsModel = Record> extends Base { + hasExtensions(): boolean; + extensions(): v2.SpecificationExtensions; + extensionKeys(): string[]; + extKeys(): string[]; + hasExtension(extension: string): boolean; + extension(extension: string): v2.SpecificationExtension; + hasExt(extension: string): boolean; + ext(extension: string): any; +} +export declare function hasDescription(model: Base<{ + description?: string; +}>): boolean; +export declare function description(model: Base<{ + description?: string; +}>): string | null; +export declare function hasExternalDocs(model: Base<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): boolean; +export declare function externalDocs(model: Base<{ + externalDocs?: v2.ExternalDocumentationObject; +}>): ExternalDocs | null; +export declare const extensionsMixins: { + hasExtensions(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): boolean; + extensions(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): v2.SpecificationExtensions; + extensionKeys(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): string[]; + extKeys(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>): string[]; + hasExtension(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): boolean; + extension(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): v2.SpecificationExtension | null; + hasExt(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): boolean; + ext(model: Base<{ + [extension: `x-${string}`]: any; + }, Record>, extension: string): any; +}; +export declare const bindingsMixins: { + hasBindings(model: Base<{ + bindings?: Record; + }>): boolean; + bindings(model: Base<{ + bindings?: Record; + }>): Record; + bindingProtocols(model: Base<{ + bindings?: Record; + }>): string[]; + hasBinding(model: Base<{ + bindings?: Record; + }>, name: string): boolean; + binding(model: Base<{ + bindings?: Record; + }>, name: string): v2.Binding | null; +}; +export declare const tagsMixins: { + hasTags(model: Base<{ + tags?: Array; + }>): boolean; + tags(model: Base<{ + tags?: Array; + }>): Array; + tagNames(model: Base<{ + tags?: Array; + }>): string[]; + hasTag(model: Base<{ + tags?: Array; + }>, name: string): boolean; + tag(model: Base<{ + tags?: Array; + }>, name: string): Tag | null; +}; +interface Constructor extends Function { + new (...any: any[]): T; +} +type InferModelData = T extends Base ? J : never; +type InferModelMetadata = T extends Base ? M : never; +export declare function getMapValue, K extends keyof T>(obj: T | undefined, key: K): T[K] | null; +export declare function getMapValue(obj: Record> | undefined, key: string, Type: Constructor, meta?: InferModelMetadata): T | null; +export declare function createMapOfType(obj: Record> | undefined, Type: Constructor, meta?: InferModelMetadata): Record; +export {}; diff --git a/apps/parser/esm/old-api/mixins.js b/apps/parser/esm/old-api/mixins.js new file mode 100644 index 000000000..8c24d0b52 --- /dev/null +++ b/apps/parser/esm/old-api/mixins.js @@ -0,0 +1,138 @@ +import { Base } from './base'; +import { ExternalDocs } from './external-docs'; +import { Tag } from './tag'; +import { EXTENSION_REGEX } from '../constants'; +export class SpecificationExtensionsModel extends Base { + hasExtensions() { + return extensionsMixins.hasExtensions(this); + } + extensions() { + return extensionsMixins.extensions(this); + } + extensionKeys() { + return extensionsMixins.extensionKeys(this); + } + extKeys() { + return extensionsMixins.extKeys(this); + } + hasExtension(extension) { + return extensionsMixins.hasExtension(this, extension); + } + extension(extension) { + return extensionsMixins.extension(this, extension); + } + hasExt(extension) { + return extensionsMixins.hasExt(this, extension); + } + ext(extension) { + return extensionsMixins.ext(this, extension); + } +} +export function hasDescription(model) { + return Boolean(model.json('description')); +} +export function description(model) { + const description = model.json('description'); + return typeof description === 'string' ? description : null; +} +export function hasExternalDocs(model) { + return Object.keys(model.json('externalDocs') || {}).length > 0; +} +export function externalDocs(model) { + if (typeof model.json('externalDocs') === 'object') { + return new ExternalDocs(model.json('externalDocs')); + } + return null; +} +export const extensionsMixins = { + hasExtensions(model) { + return !!extensionsMixins.extensionKeys(model).length; + }, + extensions(model) { + const result = {}; + Object.entries(model.json()).forEach(([key, value]) => { + if (EXTENSION_REGEX.test(key)) { + result[key] = value; + } + }); + return result; + }, + extensionKeys(model) { + return Object.keys(extensionsMixins.extensions(model)); + }, + extKeys(model) { + return extensionsMixins.extensionKeys(model); + }, + hasExtension(model, extension) { + if (!extension.startsWith('x-')) { + return false; + } + return !!model.json()[extension]; + }, + extension(model, extension) { + if (!extension.startsWith('x-')) { + return null; + } + return model.json()[extension]; + }, + hasExt(model, extension) { + return extensionsMixins.hasExtension(model, extension); + }, + ext(model, extension) { + return extensionsMixins.extension(model, extension); + }, +}; +export const bindingsMixins = { + hasBindings(model) { + return !!Object.keys(bindingsMixins.bindings(model)).length; + }, + bindings(model) { + return model.json('bindings') || {}; + }, + bindingProtocols(model) { + return Object.keys(bindingsMixins.bindings(model)); + }, + hasBinding(model, name) { + return !!bindingsMixins.binding(model, name); + }, + binding(model, name) { + return getMapValue(model.json('bindings'), name); + }, +}; +export const tagsMixins = { + hasTags(model) { + return !!tagsMixins.tags(model).length; + }, + tags(model) { + const tags = model.json('tags'); + return tags ? tags.map(t => new Tag(t)) : []; + }, + tagNames(model) { + const tags = model.json('tags'); + return tags ? tags.map(t => t.name) : []; + }, + hasTag(model, name) { + return !!tagsMixins.tag(model, name); + }, + tag(model, name) { + const tg = (model.json('tags') || []).find(t => t.name === name); + return tg ? new Tag(tg) : null; + }, +}; +export function getMapValue(obj, key, Type, meta) { + if (typeof key !== 'string' || !obj) + return null; + const v = obj[String(key)]; + if (v === undefined) + return null; + return Type ? new Type(v, meta) : v; +} +export function createMapOfType(obj, Type, meta) { + const result = {}; + if (!obj) + return result; + Object.entries(obj).forEach(([key, value]) => { + result[key] = new Type(value, meta); + }); + return result; +} diff --git a/apps/parser/esm/old-api/oauth-flow.d.ts b/apps/parser/esm/old-api/oauth-flow.d.ts new file mode 100644 index 000000000..0621e5b7e --- /dev/null +++ b/apps/parser/esm/old-api/oauth-flow.d.ts @@ -0,0 +1,8 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class OAuthFlow extends SpecificationExtensionsModel { + authorizationUrl(): string; + tokenUrl(): string; + refreshUrl(): string | undefined; + scopes(): Record; +} diff --git a/apps/parser/esm/old-api/oauth-flow.js b/apps/parser/esm/old-api/oauth-flow.js new file mode 100644 index 000000000..334c5ab3c --- /dev/null +++ b/apps/parser/esm/old-api/oauth-flow.js @@ -0,0 +1,15 @@ +import { SpecificationExtensionsModel } from './mixins'; +export class OAuthFlow extends SpecificationExtensionsModel { + authorizationUrl() { + return this._json.authorizationUrl; + } + tokenUrl() { + return this._json.tokenUrl; + } + refreshUrl() { + return this._json.refreshUrl; + } + scopes() { + return this._json.scopes; + } +} diff --git a/apps/parser/esm/old-api/operation-trait.d.ts b/apps/parser/esm/old-api/operation-trait.d.ts new file mode 100644 index 000000000..9e48932d7 --- /dev/null +++ b/apps/parser/esm/old-api/operation-trait.d.ts @@ -0,0 +1,27 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { SecurityRequirement } from './security-requirement'; +import type { v2 } from '../spec-types'; +export declare class OperationTrait extends SpecificationExtensionsModel { + isPublish(): boolean; + isSubscribe(): boolean; + kind(): "subscribe" | "publish"; + id(): string | undefined; + summary(): string | undefined; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; + security(): SecurityRequirement[] | null; +} diff --git a/apps/parser/esm/old-api/operation-trait.js b/apps/parser/esm/old-api/operation-trait.js new file mode 100644 index 000000000..b15cdd31e --- /dev/null +++ b/apps/parser/esm/old-api/operation-trait.js @@ -0,0 +1,66 @@ +import { SpecificationExtensionsModel, description, hasDescription, hasExternalDocs, externalDocs, tagsMixins, bindingsMixins } from './mixins'; +import { SecurityRequirement } from './security-requirement'; +export class OperationTrait extends SpecificationExtensionsModel { + isPublish() { + return this._meta.kind === 'publish'; + } + isSubscribe() { + return this._meta.kind === 'subscribe'; + } + kind() { + return this._meta.kind; + } + id() { + return this._json.operationId; + } + summary() { + return this._json.summary; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + externalDocs() { + return externalDocs(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + hasTags() { + return tagsMixins.hasTags(this); + } + tags() { + return tagsMixins.tags(this); + } + tagNames() { + return tagsMixins.tagNames(this); + } + hasTag(name) { + return tagsMixins.hasTag(this, name); + } + tag(name) { + return tagsMixins.tag(this, name); + } + hasBindings() { + return bindingsMixins.hasBindings(this); + } + bindings() { + return bindingsMixins.bindings(this); + } + bindingProtocols() { + return bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return bindingsMixins.hasBinding(this, name); + } + binding(name) { + return bindingsMixins.binding(this, name); + } + security() { + if (!this._json.security) + return null; + return this._json.security.map(sec => new SecurityRequirement(sec)); + } +} diff --git a/apps/parser/esm/old-api/operation.d.ts b/apps/parser/esm/old-api/operation.d.ts new file mode 100644 index 000000000..057caa8e8 --- /dev/null +++ b/apps/parser/esm/old-api/operation.d.ts @@ -0,0 +1,10 @@ +import { OperationTrait } from './operation-trait'; +import { Message } from './message'; +import type { v2 } from '../spec-types'; +export declare class Operation extends OperationTrait { + traits(): OperationTrait[]; + hasTraits(): boolean; + hasMultipleMessages(): boolean; + messages(): Message[]; + message(index?: number | string): Message | null; +} diff --git a/apps/parser/esm/old-api/operation.js b/apps/parser/esm/old-api/operation.js new file mode 100644 index 000000000..32101c899 --- /dev/null +++ b/apps/parser/esm/old-api/operation.js @@ -0,0 +1,42 @@ +import { OperationTrait } from './operation-trait'; +import { Message } from './message'; +export class Operation extends OperationTrait { + traits() { + const traits = this._json['x-parser-original-traits'] || this._json.traits; + if (!traits) + return []; + return traits.map(t => new OperationTrait(t)); + } + hasTraits() { + return !!this._json['x-parser-original-traits'] || !!this._json.traits; + } + hasMultipleMessages() { + const message = this._json.message; + // eslint-disable-next-line sonarjs/prefer-single-boolean-return + if (message && message.oneOf && message.oneOf.length > 1) + return true; + return false; + } + messages() { + const message = this._json.message; + if (!message) + return []; + if (message.oneOf) + return message.oneOf.map(m => new Message(m)); + return [new Message(message)]; + } + message(index) { + const message = this._json.message; + if (!message) + return null; + if (message.oneOf && message.oneOf.length === 1) + return new Message(message.oneOf[0]); + if (!message.oneOf) + return new Message(message); + if (typeof index !== 'number') + return null; + if (index > message.oneOf.length - 1) + return null; + return new Message(message.oneOf[+index]); + } +} diff --git a/apps/parser/esm/old-api/schema.d.ts b/apps/parser/esm/old-api/schema.d.ts new file mode 100644 index 000000000..d4a2bb039 --- /dev/null +++ b/apps/parser/esm/old-api/schema.d.ts @@ -0,0 +1,63 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class Schema extends SpecificationExtensionsModel { + uid(): any; + $id(): string | undefined; + multipleOf(): number | undefined; + maximum(): number | undefined; + exclusiveMaximum(): number | undefined; + minimum(): number | undefined; + exclusiveMinimum(): number | undefined; + maxLength(): number | undefined; + minLength(): number | undefined; + pattern(): string | undefined; + maxItems(): number | undefined; + minItems(): number | undefined; + uniqueItems(): boolean | undefined; + maxProperties(): number | undefined; + minProperties(): number | undefined; + required(): string[] | undefined; + enum(): import("json-schema").JSONSchema7Type[] | undefined; + type(): import("json-schema").JSONSchema7TypeName | import("json-schema").JSONSchema7TypeName[] | undefined; + allOf(): Schema[] | null; + oneOf(): Schema[] | null; + anyOf(): Schema[] | null; + not(): Schema | null; + items(): Schema | Schema[] | null; + properties(): Record; + property(name: string): Schema | null; + additionalProperties(): boolean | Schema | undefined; + additionalItems(): Schema | undefined; + patternProperties(): Record; + const(): import("json-schema").JSONSchema7Type | undefined; + contains(): Schema | null; + dependencies(): Record | null; + propertyNames(): Schema | null; + if(): Schema | null; + then(): Schema | null; + else(): Schema | null; + format(): string | undefined; + contentEncoding(): string | undefined; + contentMediaType(): string | undefined; + definitions(): Record; + title(): string | undefined; + default(): import("json-schema").JSONSchema7Type | undefined; + deprecated(): boolean | undefined; + discriminator(): string | undefined; + readOnly(): boolean | undefined; + writeOnly(): boolean | undefined; + examples(): import("json-schema").JSONSchema7Type[] | undefined; + isBooleanSchema(): boolean; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + isCircular(): boolean; + circularSchema(): Schema | undefined; + hasCircularProps(): boolean; + circularProps(): any; + protected __get(key: K): v2.AsyncAPISchemaDefinition[K] | undefined; + protected __createChild(s: v2.AsyncAPISchemaObject): Schema; +} diff --git a/apps/parser/esm/old-api/schema.js b/apps/parser/esm/old-api/schema.js new file mode 100644 index 000000000..6841524a6 --- /dev/null +++ b/apps/parser/esm/old-api/schema.js @@ -0,0 +1,238 @@ +import { SpecificationExtensionsModel, createMapOfType, getMapValue, description, hasDescription, hasExternalDocs, externalDocs } from './mixins'; +import { xParserCircular, xParserCircularProps } from '../constants'; +export class Schema extends SpecificationExtensionsModel { + uid() { + return this.$id() || this.ext('x-parser-schema-id'); + } + $id() { + return this.__get('$id'); + } + multipleOf() { + return this.__get('multipleOf'); + } + maximum() { + return this.__get('maximum'); + } + exclusiveMaximum() { + return this.__get('exclusiveMaximum'); + } + minimum() { + return this.__get('minimum'); + } + exclusiveMinimum() { + return this.__get('exclusiveMinimum'); + } + maxLength() { + return this.__get('maxLength'); + } + minLength() { + return this.__get('minLength'); + } + pattern() { + return this.__get('pattern'); + } + maxItems() { + return this.__get('maxItems'); + } + minItems() { + return this.__get('minItems'); + } + uniqueItems() { + return this.__get('uniqueItems'); + } + maxProperties() { + return this.__get('maxProperties'); + } + minProperties() { + return this.__get('minProperties'); + } + required() { + return this.__get('required'); + } + enum() { + return this.__get('enum'); + } + type() { + return this.__get('type'); + } + allOf() { + const allOf = this.__get('allOf'); + return !allOf ? null : allOf.map(this.__createChild); + } + oneOf() { + const oneOf = this.__get('oneOf'); + return !oneOf ? null : oneOf.map(this.__createChild); + } + anyOf() { + const anyOf = this.__get('anyOf'); + return !anyOf ? null : anyOf.map(this.__createChild); + } + not() { + const not = this.__get('not'); + return !not ? null : this.__createChild(not); + } + items() { + const items = this.__get('items'); + if (!items) + return null; + if (Array.isArray(items)) { + return items.map(this.__createChild); + } + return this.__createChild(items); + } + properties() { + return createMapOfType(this.__get('properties'), Schema, { parent: this }); + } + property(name) { + return getMapValue(this.__get('properties'), name, Schema, { parent: this }); + } + additionalProperties() { + const additionalProperties = this.__get('additionalProperties'); + if (typeof additionalProperties === 'boolean') + return additionalProperties; + if (additionalProperties === undefined || additionalProperties === null) + return; + return this.__createChild(additionalProperties); + } + additionalItems() { + const additionalItems = this.__get('additionalItems'); + if (additionalItems === undefined || additionalItems === null) + return; + return this.__createChild(additionalItems); + } + patternProperties() { + return createMapOfType(this.__get('patternProperties'), Schema, { parent: this }); + } + const() { + return this.__get('const'); + } + contains() { + const contains = this.__get('contains'); + return typeof contains === 'undefined' ? null : this.__createChild(contains); + } + dependencies() { + const dependencies = this.__get('dependencies'); + if (!dependencies) + return null; + const result = {}; + Object.entries(dependencies).forEach(([key, value]) => { + result[key] = !Array.isArray(value) ? this.__createChild(value) : value; + }); + return result; + } + propertyNames() { + const propertyNames = this.__get('propertyNames'); + return typeof propertyNames === 'undefined' ? null : this.__createChild(propertyNames); + } + if() { + const _if = this.__get('if'); + return typeof _if === 'undefined' ? null : this.__createChild(_if); + } + then() { + const _then = this.__get('then'); + return typeof _then === 'undefined' ? null : this.__createChild(_then); + } + else() { + const _else = this.__get('else'); + return typeof _else === 'undefined' ? null : this.__createChild(_else); + } + format() { + return this.__get('format'); + } + contentEncoding() { + return this.__get('contentEncoding'); + } + contentMediaType() { + return this.__get('contentMediaType'); + } + definitions() { + return createMapOfType(this.__get('definitions'), Schema, { parent: this }); + } + title() { + return this.__get('title'); + } + default() { + return this.__get('default'); + } + deprecated() { + return this.__get('deprecated'); + } + discriminator() { + return this.__get('discriminator'); + } + readOnly() { + return this.__get('readOnly'); + } + writeOnly() { + return this.__get('writeOnly'); + } + examples() { + return this.__get('examples'); + } + isBooleanSchema() { + return typeof this._json === 'boolean'; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + externalDocs() { + return externalDocs(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + isCircular() { + if (this.ext(xParserCircular)) { + return true; + } + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._json) + return true; + parent = parent._meta && parent._meta.parent; + } + return false; + } + circularSchema() { + let parent = this._meta.parent; + while (parent) { + if (parent._json === this._json) + return parent; + parent = parent._meta && parent._meta.parent; + } + } + hasCircularProps() { + if (Array.isArray(this.ext(xParserCircularProps))) { + return this.ext(xParserCircularProps).length > 0; + } + return Object.entries(this.properties() || {}) + .map(([propertyName, property]) => { + if (property.isCircular()) + return propertyName; + }) + .filter(Boolean) + .length > 0; + } + circularProps() { + if (Array.isArray(this.ext(xParserCircularProps))) { + return this.ext(xParserCircularProps); + } + return Object.entries(this.properties() || {}) + .map(([propertyName, property]) => { + if (property.isCircular()) + return propertyName; + }) + .filter(Boolean); + } + __get(key) { + if (typeof this._json === 'boolean') + return; + return this._json[key]; + } + __createChild(s) { + return new Schema(s, { parent: this }); + } +} diff --git a/apps/parser/esm/old-api/security-requirement.d.ts b/apps/parser/esm/old-api/security-requirement.d.ts new file mode 100644 index 000000000..034e0c317 --- /dev/null +++ b/apps/parser/esm/old-api/security-requirement.d.ts @@ -0,0 +1,4 @@ +import { Base } from './base'; +import type { v2 } from '../spec-types'; +export declare class SecurityRequirement extends Base { +} diff --git a/apps/parser/esm/old-api/security-requirement.js b/apps/parser/esm/old-api/security-requirement.js new file mode 100644 index 000000000..c37b25dbf --- /dev/null +++ b/apps/parser/esm/old-api/security-requirement.js @@ -0,0 +1,3 @@ +import { Base } from './base'; +export class SecurityRequirement extends Base { +} diff --git a/apps/parser/esm/old-api/security-scheme.d.ts b/apps/parser/esm/old-api/security-scheme.d.ts new file mode 100644 index 000000000..bde080425 --- /dev/null +++ b/apps/parser/esm/old-api/security-scheme.d.ts @@ -0,0 +1,14 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { OAuthFlow } from './oauth-flow'; +import type { v2 } from '../spec-types'; +export declare class SecurityScheme extends SpecificationExtensionsModel { + type(): v2.SecuritySchemeType; + description(): string | null; + hasDescription(): boolean; + name(): string | undefined; + in(): "user" | "password" | "query" | "header" | "cookie" | undefined; + scheme(): string | undefined; + bearerFormat(): string | undefined; + openIdConnectUrl(): string | undefined; + flows(): Record; +} diff --git a/apps/parser/esm/old-api/security-scheme.js b/apps/parser/esm/old-api/security-scheme.js new file mode 100644 index 000000000..bc06878ca --- /dev/null +++ b/apps/parser/esm/old-api/security-scheme.js @@ -0,0 +1,31 @@ +import { SpecificationExtensionsModel, description, hasDescription, createMapOfType } from './mixins'; +import { OAuthFlow } from './oauth-flow'; +export class SecurityScheme extends SpecificationExtensionsModel { + type() { + return this._json.type; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + name() { + return this._json.name; + } + in() { + return this._json.in; + } + scheme() { + return this._json.scheme; + } + bearerFormat() { + return this._json.bearerFormat; + } + openIdConnectUrl() { + return this._json.openIdConnectUrl; + } + flows() { + return createMapOfType(this._json.flows, OAuthFlow); + } +} diff --git a/apps/parser/esm/old-api/server-variable.d.ts b/apps/parser/esm/old-api/server-variable.d.ts new file mode 100644 index 000000000..ed17f1d6f --- /dev/null +++ b/apps/parser/esm/old-api/server-variable.d.ts @@ -0,0 +1,12 @@ +import { SpecificationExtensionsModel } from './mixins'; +import type { v2 } from '../spec-types'; +export declare class ServerVariable extends SpecificationExtensionsModel { + allowedValues(): string[] | undefined; + allows(name: string): boolean; + hasAllowedValues(): boolean; + description(): string | null; + hasDescription(): boolean; + defaultValue(): string | undefined; + hasDefaultValue(): boolean; + examples(): string[] | undefined; +} diff --git a/apps/parser/esm/old-api/server-variable.js b/apps/parser/esm/old-api/server-variable.js new file mode 100644 index 000000000..4c557c989 --- /dev/null +++ b/apps/parser/esm/old-api/server-variable.js @@ -0,0 +1,29 @@ +import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; +export class ServerVariable extends SpecificationExtensionsModel { + allowedValues() { + return this._json.enum; + } + allows(name) { + if (this._json.enum === undefined) + return true; + return this._json.enum.includes(name); + } + hasAllowedValues() { + return this._json.enum !== undefined; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + defaultValue() { + return this._json.default; + } + hasDefaultValue() { + return this._json.default !== undefined; + } + examples() { + return this._json.examples; + } +} diff --git a/apps/parser/esm/old-api/server.d.ts b/apps/parser/esm/old-api/server.d.ts new file mode 100644 index 000000000..e4a46cd23 --- /dev/null +++ b/apps/parser/esm/old-api/server.d.ts @@ -0,0 +1,25 @@ +import { SpecificationExtensionsModel } from './mixins'; +import { ServerVariable } from './server-variable'; +import { SecurityRequirement } from './security-requirement'; +import type { v2 } from '../spec-types'; +export declare class Server extends SpecificationExtensionsModel { + url(): string; + protocol(): string; + protocolVersion(): string | undefined; + description(): string | null; + hasDescription(): boolean; + variables(): Record; + variable(name: string): ServerVariable | null; + hasVariables(): boolean; + security(): SecurityRequirement[] | null; + hasBindings(): boolean; + bindings(): Record; + bindingProtocols(): string[]; + hasBinding(name: string): boolean; + binding(name: string): v2.Binding | null; + hasTags(): boolean; + tags(): import("./tag").Tag[]; + tagNames(): string[]; + hasTag(name: string): boolean; + tag(name: string): import("./tag").Tag | null; +} diff --git a/apps/parser/esm/old-api/server.js b/apps/parser/esm/old-api/server.js new file mode 100644 index 000000000..1cae958ee --- /dev/null +++ b/apps/parser/esm/old-api/server.js @@ -0,0 +1,64 @@ +import { SpecificationExtensionsModel, description, hasDescription, createMapOfType, bindingsMixins, tagsMixins, getMapValue } from './mixins'; +import { ServerVariable } from './server-variable'; +import { SecurityRequirement } from './security-requirement'; +export class Server extends SpecificationExtensionsModel { + url() { + return this._json.url; + } + protocol() { + return this._json.protocol; + } + protocolVersion() { + return this._json.protocolVersion; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + variables() { + return createMapOfType(this._json.variables, ServerVariable); + } + variable(name) { + return getMapValue(this._json.variables, name, ServerVariable); + } + hasVariables() { + return !!this._json.variables; + } + security() { + if (!this._json.security) + return null; + return this._json.security.map(sec => new SecurityRequirement(sec)); + } + hasBindings() { + return bindingsMixins.hasBindings(this); + } + bindings() { + return bindingsMixins.bindings(this); + } + bindingProtocols() { + return bindingsMixins.bindingProtocols(this); + } + hasBinding(name) { + return bindingsMixins.hasBinding(this, name); + } + binding(name) { + return bindingsMixins.binding(this, name); + } + hasTags() { + return tagsMixins.hasTags(this); + } + tags() { + return tagsMixins.tags(this); + } + tagNames() { + return tagsMixins.tagNames(this); + } + hasTag(name) { + return tagsMixins.hasTag(this, name); + } + tag(name) { + return tagsMixins.tag(this, name); + } +} diff --git a/apps/parser/esm/old-api/tag.d.ts b/apps/parser/esm/old-api/tag.d.ts new file mode 100644 index 000000000..f895f29e7 --- /dev/null +++ b/apps/parser/esm/old-api/tag.d.ts @@ -0,0 +1,17 @@ +import { Base } from './base'; +import type { v2 } from '../spec-types'; +export declare class Tag extends Base { + name(): string; + description(): string | null; + hasDescription(): boolean; + externalDocs(): import("./external-docs").ExternalDocs | null; + hasExternalDocs(): boolean; + hasExtensions(): boolean; + extensions(): v2.SpecificationExtensions; + extensionKeys(): string[]; + extKeys(): string[]; + hasExtension(extension: string): boolean; + extension(extension: string): v2.SpecificationExtension; + hasExt(extension: string): boolean; + ext(extension: string): any; +} diff --git a/apps/parser/esm/old-api/tag.js b/apps/parser/esm/old-api/tag.js new file mode 100644 index 000000000..27d82558b --- /dev/null +++ b/apps/parser/esm/old-api/tag.js @@ -0,0 +1,43 @@ +import { Base } from './base'; +import { hasDescription, description, hasExternalDocs, externalDocs, extensionsMixins } from './mixins'; +export class Tag extends Base { + name() { + return this._json.name; + } + description() { + return description(this); + } + hasDescription() { + return hasDescription(this); + } + externalDocs() { + return externalDocs(this); + } + hasExternalDocs() { + return hasExternalDocs(this); + } + hasExtensions() { + return extensionsMixins.hasExtensions(this); + } + extensions() { + return extensionsMixins.extensions(this); + } + extensionKeys() { + return extensionsMixins.extensionKeys(this); + } + extKeys() { + return extensionsMixins.extKeys(this); + } + hasExtension(extension) { + return extensionsMixins.hasExtension(this, extension); + } + extension(extension) { + return extensionsMixins.extension(this, extension); + } + hasExt(extension) { + return extensionsMixins.hasExt(this, extension); + } + ext(extension) { + return extensionsMixins.ext(this, extension); + } +} diff --git a/apps/parser/esm/parse.d.ts b/apps/parser/esm/parse.d.ts new file mode 100644 index 000000000..53a8e0501 --- /dev/null +++ b/apps/parser/esm/parse.d.ts @@ -0,0 +1,23 @@ +import { AsyncAPIDocumentInterface } from './models'; +import type { Spectral, Document } from '@stoplight/spectral-core'; +import type { Parser } from './parser'; +import type { ResolverOptions } from './resolver'; +import type { ValidateOptions } from './validate'; +import type { Input, Diagnostic } from './types'; +export interface ParseOutput { + document: AsyncAPIDocumentInterface | undefined; + diagnostics: Diagnostic[]; + extras?: { + document: Document; + }; +} +export interface ParseOptions { + source?: string; + applyTraits?: boolean; + parseSchemas?: boolean; + validateOptions?: Omit; + __unstable?: { + resolver?: Omit; + }; +} +export declare function parse(parser: Parser, spectral: Spectral, asyncapi: Input, options?: ParseOptions): Promise; diff --git a/apps/parser/esm/parse.js b/apps/parser/esm/parse.js new file mode 100644 index 000000000..78a15c92e --- /dev/null +++ b/apps/parser/esm/parse.js @@ -0,0 +1,71 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { ParserAPIVersion } from './models'; +import { applyUniqueIds, customOperations } from './custom-operations'; +import { validate } from './validate'; +import { copy } from './stringify'; +import { createAsyncAPIDocument } from './document'; +import { createDetailedAsyncAPI, mergePatch, setExtension, createUncaghtDiagnostic } from './utils'; +import { xParserSpecParsed, xParserApiVersion } from './constants'; +const defaultOptions = { + applyTraits: true, + parseSchemas: true, + validateOptions: {}, + __unstable: {}, +}; +import yaml from 'js-yaml'; +export function parse(parser, spectral, asyncapi, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + let spectralDocument; + try { + options = mergePatch(defaultOptions, options); + // Normalize input to always be JSON + let loadedObj; + if (typeof asyncapi === 'string') { + try { + loadedObj = yaml.load(asyncapi); + } + catch (e) { + loadedObj = JSON.parse(asyncapi); + } + } + else { + loadedObj = asyncapi; + } + const { validated, diagnostics, extras } = yield validate(parser, spectral, loadedObj, Object.assign(Object.assign({}, options.validateOptions), { source: options.source, __unstable: options.__unstable })); + if (validated === undefined) { + return { + document: undefined, + diagnostics, + extras + }; + } + spectralDocument = extras.document; + const inventory = spectralDocument.__documentInventory; + // unfreeze the object - Spectral makes resolved document "freezed" + const validatedDoc = copy(validated); + // Apply unique ids which are used as part of iterating between channels <-> operations <-> messages + applyUniqueIds(validatedDoc); + const detailed = createDetailedAsyncAPI(validatedDoc, loadedObj, options.source); + const document = createAsyncAPIDocument(detailed); + setExtension(xParserSpecParsed, true, document); + setExtension(xParserApiVersion, ParserAPIVersion, document); + yield customOperations(parser, document, detailed, inventory, options); + return { + document, + diagnostics, + extras, + }; + } + catch (err) { + return { document: undefined, diagnostics: createUncaghtDiagnostic(err, 'Error thrown during AsyncAPI document parsing', spectralDocument), extras: undefined }; + } + }); +} diff --git a/apps/parser/esm/parser.d.ts b/apps/parser/esm/parser.d.ts new file mode 100644 index 000000000..a7ad7019d --- /dev/null +++ b/apps/parser/esm/parser.d.ts @@ -0,0 +1,23 @@ +import type { Spectral } from '@stoplight/spectral-core'; +import type { ParseOptions, ParseOutput } from './parse'; +import type { ValidateOptions } from './validate'; +import type { ResolverOptions } from './resolver'; +import type { RulesetOptions } from './ruleset'; +import type { SchemaParser } from './schema-parser'; +import type { Diagnostic, Input } from './types'; +export interface ParserOptions { + ruleset?: RulesetOptions; + schemaParsers?: Array; + __unstable?: { + resolver?: ResolverOptions; + }; +} +export declare class Parser { + private readonly options; + readonly parserRegistry: Map>; + protected readonly spectral: Spectral; + constructor(options?: ParserOptions); + parse(asyncapi: Input, options?: ParseOptions): Promise; + validate(asyncapi: Input, options?: ValidateOptions): Promise; + registerSchemaParser(parser: SchemaParser): void; +} diff --git a/apps/parser/esm/parser.js b/apps/parser/esm/parser.js new file mode 100644 index 000000000..aba802003 --- /dev/null +++ b/apps/parser/esm/parser.js @@ -0,0 +1,49 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { toAsyncAPIDocument } from './document'; +import { parse } from './parse'; +import { validate } from './validate'; +import { registerSchemaParser } from './schema-parser'; +import { AsyncAPISchemaParser } from './schema-parser/asyncapi-schema-parser'; +import { createSpectral } from './spectral'; +export class Parser { + constructor(options = {}) { + var _a; + this.options = options; + this.parserRegistry = new Map(); + this.spectral = createSpectral(this, options); + this.registerSchemaParser(AsyncAPISchemaParser()); + (_a = this.options.schemaParsers) === null || _a === void 0 ? void 0 : _a.forEach(parser => this.registerSchemaParser(parser)); + } + parse(asyncapi, options) { + return __awaiter(this, void 0, void 0, function* () { + const maybeDocument = toAsyncAPIDocument(asyncapi); + if (maybeDocument) { + return { + document: maybeDocument, + diagnostics: [], + }; + } + return parse(this, this.spectral, asyncapi, options); + }); + } + validate(asyncapi, options) { + return __awaiter(this, void 0, void 0, function* () { + const maybeDocument = toAsyncAPIDocument(asyncapi); + if (maybeDocument) { + return []; + } + return (yield validate(this, this.spectral, asyncapi, options)).diagnostics; + }); + } + registerSchemaParser(parser) { + return registerSchemaParser(this, parser); + } +} diff --git a/apps/parser/esm/resolver.d.ts b/apps/parser/esm/resolver.d.ts new file mode 100644 index 000000000..90d4232bc --- /dev/null +++ b/apps/parser/esm/resolver.d.ts @@ -0,0 +1,13 @@ +import { Resolver as SpectralResolver } from '@stoplight/spectral-ref-resolver'; +import type Uri from 'urijs'; +export interface Resolver { + schema: 'file' | 'http' | 'https' | string; + order?: number; + canRead?: boolean | ((uri: Uri, ctx?: any) => boolean); + read: (uri: Uri, ctx?: any) => string | undefined | Promise; +} +export interface ResolverOptions { + cache?: boolean; + resolvers?: Array; +} +export declare function createResolver(options?: ResolverOptions): SpectralResolver; diff --git a/apps/parser/esm/resolver.js b/apps/parser/esm/resolver.js new file mode 100644 index 000000000..3d7db6944 --- /dev/null +++ b/apps/parser/esm/resolver.js @@ -0,0 +1,73 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { Resolver as SpectralResolver } from '@stoplight/spectral-ref-resolver'; +import { Cache } from '@stoplight/json-ref-resolver/cache'; +import { resolveFile, resolveHttp } from '@stoplight/json-ref-readers'; +export function createResolver(options = {}) { + const availableResolvers = [ + ...createDefaultResolvers(), + ...(options.resolvers || []) + ].map(r => (Object.assign(Object.assign({}, r), { order: r.order || Number.MAX_SAFE_INTEGER, canRead: typeof r.canRead === 'undefined' ? true : r.canRead }))); + const availableSchemas = [...new Set(availableResolvers.map(r => r.schema))]; + const resolvers = availableSchemas.reduce((acc, schema) => { + acc[schema] = { resolve: createSchemaResolver(schema, availableResolvers) }; + return acc; + }, {}); + // if cache is enabled, use default Cache instance in SpectralResolver, otherwise use custom one with ttl set to 1ms + const cache = options.cache !== false; + return new SpectralResolver({ + uriCache: cache ? undefined : new Cache({ stdTTL: 1 }), + resolvers: resolvers, + }); +} +function createDefaultResolvers() { + return [ + { + schema: 'file', + read: resolveFile, + }, + { + schema: 'https', + read: resolveHttp, + }, + { + schema: 'http', + read: resolveHttp, + }, + ]; +} +function createSchemaResolver(schema, allResolvers) { + const resolvers = allResolvers.filter(r => r.schema === schema).sort((a, b) => { return a.order - b.order; }); + return (uri, ctx) => __awaiter(this, void 0, void 0, function* () { + let result = undefined; + let lastError; + for (const resolver of resolvers) { + try { + if (!canRead(resolver, uri, ctx)) + continue; + result = yield resolver.read(uri, ctx); + if (typeof result === 'string') { + break; + } + } + catch (e) { + lastError = e; + continue; + } + } + if (typeof result !== 'string') { + throw lastError || new Error(`None of the available resolvers for "${schema}" can resolve the given reference.`); + } + return result; + }); +} +function canRead(resolver, uri, ctx) { + return typeof resolver.canRead === 'function' ? resolver.canRead(uri, ctx) : resolver.canRead; +} diff --git a/apps/parser/esm/ruleset/formats.d.ts b/apps/parser/esm/ruleset/formats.d.ts new file mode 100644 index 000000000..2160cffb7 --- /dev/null +++ b/apps/parser/esm/ruleset/formats.d.ts @@ -0,0 +1,8 @@ +import type { Format } from '@stoplight/spectral-core'; +export declare class Formats extends Map { + filterByMajorVersions(majorsToInclude: string[]): Formats; + excludeByVersions(versionsToExclude: string[]): Formats; + find(version: string): Format | undefined; + formats(): Format[]; +} +export declare const AsyncAPIFormats: Formats; diff --git a/apps/parser/esm/ruleset/formats.js b/apps/parser/esm/ruleset/formats.js new file mode 100644 index 000000000..12f99afdc --- /dev/null +++ b/apps/parser/esm/ruleset/formats.js @@ -0,0 +1,41 @@ +import { getSemver, isObject } from '../utils'; +import { schemas } from '@asyncapi/specs'; +export class Formats extends Map { + filterByMajorVersions(majorsToInclude) { + return new Formats([...this.entries()].filter(element => { return majorsToInclude.includes(element[0].split('.')[0]); })); + } + excludeByVersions(versionsToExclude) { + return new Formats([...this.entries()].filter(element => { return !versionsToExclude.includes(element[0]); })); + } + find(version) { + return this.get(formatVersion(version)); + } + formats() { + return [...this.values()]; + } +} +export const AsyncAPIFormats = new Formats(Object.entries(schemas).reverse().map(([version]) => [version, createFormat(version)])); // reverse is used for giving newer versions a higher priority when matching +function isAsyncAPIVersion(versionToMatch, document) { + const asyncAPIDoc = document; + if (!asyncAPIDoc) + return false; + const documentVersion = String(asyncAPIDoc.asyncapi); + return isObject(document) && 'asyncapi' in document + && assertValidAsyncAPIVersion(documentVersion) + && versionToMatch === formatVersion(documentVersion); +} +function assertValidAsyncAPIVersion(documentVersion) { + const semver = getSemver(documentVersion); + const regexp = new RegExp(`^(${semver.major})\\.(${semver.minor})\\.(0|[1-9][0-9]*)$`); // eslint-disable-line security/detect-non-literal-regexp + return regexp.test(documentVersion); +} +function createFormat(version) { + const format = (document) => isAsyncAPIVersion(version, document); + const semver = getSemver(version); + format.displayName = `AsyncAPI ${semver.major}.${semver.minor}.x`; + return format; +} +const formatVersion = function (version) { + const versionSemver = getSemver(version); + return `${versionSemver.major}.${versionSemver.minor}.0`; +}; diff --git a/apps/parser/esm/ruleset/functions/documentStructure.d.ts b/apps/parser/esm/ruleset/functions/documentStructure.d.ts new file mode 100644 index 000000000..95f97ca19 --- /dev/null +++ b/apps/parser/esm/ruleset/functions/documentStructure.d.ts @@ -0,0 +1,5 @@ +import type { Format } from '@stoplight/spectral-core'; +export declare function getSchema(docFormats: Set, resolved: boolean): Record | void; +export declare const documentStructure: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/functions/documentStructure.js b/apps/parser/esm/ruleset/functions/documentStructure.js new file mode 100644 index 000000000..feaf08c85 --- /dev/null +++ b/apps/parser/esm/ruleset/functions/documentStructure.js @@ -0,0 +1,126 @@ +/* eslint-disable sonarjs/no-duplicate-string */ +import specs from '@asyncapi/specs'; +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { schema as schemaFn } from '@stoplight/spectral-functions'; +import { AsyncAPIFormats } from '../formats'; +import { getSemver } from '../../utils'; +function shouldIgnoreError(error) { + return ( + // oneOf is a fairly error as we have 2 options to choose from for most of the time. + error.keyword === 'oneOf' || + // the required $ref is entirely useless, since aas-schema rules operate on resolved content, so there won't be any $refs in the document + (error.keyword === 'required' && error.params.missingProperty === '$ref')); +} +// ajv throws a lot of errors that have no understandable context, e.g. errors related to the fact that a value doesn't meet the conditions of some sub-schema in `oneOf`, `anyOf` etc. +// for this reason, we filter these unnecessary errors and leave only the most important ones (usually the first occurring in the list of errors). +function prepareResults(errors) { + // Update additionalProperties errors to make them more precise and prevent them from being treated as duplicates + for (let i = 0; i < errors.length; i++) { + const error = errors[i]; + if (error.keyword === 'additionalProperties') { + error.instancePath = `${error.instancePath}/${String(error.params['additionalProperty'])}`; + } + else if (error.keyword === 'required' && error.params.missingProperty === '$ref') { + errors.splice(i, 1); + i--; + } + } + for (let i = 0; i < errors.length; i++) { + const error = errors[i]; + if (i + 1 < errors.length && errors[i + 1].instancePath === error.instancePath) { + errors.splice(i + 1, 1); + i--; + } + else if (i > 0 && shouldIgnoreError(error) && errors[i - 1].instancePath.startsWith(error.instancePath)) { + errors.splice(i, 1); + i--; + } + } +} +// this is needed because some v3 object fields are expected to be only `$ref` to other objects. +// In order to validate resolved references, we modify those schemas and instead allow the definition of the object +function prepareV3ResolvedSchema(copied) { + // channel object + const channelObject = copied.definitions['http://asyncapi.com/definitions/3.0.0/channel.json']; + channelObject.properties.servers.items.$ref = 'http://asyncapi.com/definitions/3.0.0/server.json'; + // operation object + const operationSchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operation.json']; + operationSchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; + operationSchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; + // operation reply object + const operationReplySchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operationReply.json']; + operationReplySchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; + operationReplySchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; + return copied; +} +function getCopyOfSchema(version) { + return JSON.parse(JSON.stringify(specs.schemas[version])); +} +const serializedSchemas = new Map(); +function getSerializedSchema(version, resolved) { + const serializedSchemaKey = resolved ? `${version}-resolved` : `${version}-unresolved`; + const schema = serializedSchemas.get(serializedSchemaKey); + if (schema) { + return schema; + } + // Copy to not operate on the original json schema - between imports (in different modules) we operate on this same schema. + let copied = getCopyOfSchema(version); + // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. + delete copied.definitions['http://json-schema.org/draft-07/schema']; + delete copied.definitions['http://json-schema.org/draft-04/schema']; + // Spectral caches the schemas using '$id' property + copied['$id'] = copied['$id'].replace('asyncapi.json', `asyncapi-${resolved ? 'resolved' : 'unresolved'}.json`); + const { major } = getSemver(version); + if (resolved && major === 3) { + copied = prepareV3ResolvedSchema(copied); + } + serializedSchemas.set(serializedSchemaKey, copied); + return copied; +} +const refErrorMessage = 'Property "$ref" is not expected to be here'; +function filterRefErrors(errors, resolved) { + if (resolved) { + return errors.filter(err => err.message !== refErrorMessage); + } + return errors + .filter(err => err.message === refErrorMessage) + .map(err => { + err.message = 'Referencing in this place is not allowed'; + return err; + }); +} +export function getSchema(docFormats, resolved) { + for (const [version, format] of AsyncAPIFormats) { + if (docFormats.has(format)) { + return getSerializedSchema(version, resolved); + } + } +} +export const documentStructure = createRulesetFunction({ + input: null, + options: { + type: 'object', + properties: { + resolved: { + type: 'boolean', + }, + }, + required: ['resolved'], + }, +}, (targetVal, options, context) => { + var _a; + const formats = (_a = context.document) === null || _a === void 0 ? void 0 : _a.formats; + if (!formats) { + return; + } + const resolved = options.resolved; + const schema = getSchema(formats, resolved); + if (!schema) { + return; + } + const errors = schemaFn(targetVal, { allErrors: true, schema, prepareResults: resolved ? prepareResults : undefined }, context); + if (!Array.isArray(errors)) { + return; + } + return filterRefErrors(errors, resolved); +}); diff --git a/apps/parser/esm/ruleset/functions/internal.d.ts b/apps/parser/esm/ruleset/functions/internal.d.ts new file mode 100644 index 000000000..63f1be3d8 --- /dev/null +++ b/apps/parser/esm/ruleset/functions/internal.d.ts @@ -0,0 +1 @@ +export declare const internal: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/functions/internal.js b/apps/parser/esm/ruleset/functions/internal.js new file mode 100644 index 000000000..3836a7dde --- /dev/null +++ b/apps/parser/esm/ruleset/functions/internal.js @@ -0,0 +1,8 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +export const internal = createRulesetFunction({ + input: null, + options: null, +}, (_, __, { document, documentInventory }) => { + // adding document inventory in document - we need it in custom operations to resolve all circular refs + document.__documentInventory = documentInventory; +}); diff --git a/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts b/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts new file mode 100644 index 000000000..df5362db6 --- /dev/null +++ b/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts @@ -0,0 +1,2 @@ +import { MaybeAsyncAPI } from '../../types'; +export declare const isAsyncAPIDocument: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js b/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js new file mode 100644 index 000000000..7a1a92208 --- /dev/null +++ b/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js @@ -0,0 +1,24 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { specVersions, lastVersion } from '../../constants'; +import { isObject } from '../../utils'; +export const isAsyncAPIDocument = createRulesetFunction({ + input: null, + options: null, +}, (targetVal) => { + if (!isObject(targetVal) || typeof targetVal.asyncapi !== 'string') { + return [ + { + message: 'This is not an AsyncAPI document. The "asyncapi" field as string is missing.', + path: [], + } + ]; + } + if (!specVersions.includes(targetVal.asyncapi)) { + return [ + { + message: `Version "${targetVal.asyncapi}" is not supported. Please use "${lastVersion}" (latest) version of the specification.`, + path: [], + } + ]; + } +}); diff --git a/apps/parser/esm/ruleset/functions/uniquenessTags.d.ts b/apps/parser/esm/ruleset/functions/uniquenessTags.d.ts new file mode 100644 index 000000000..0996c4c1c --- /dev/null +++ b/apps/parser/esm/ruleset/functions/uniquenessTags.d.ts @@ -0,0 +1,5 @@ +type Tags = Array<{ + name: string; +}>; +export declare const uniquenessTags: import("@stoplight/spectral-core").RulesetFunctionWithValidator; +export {}; diff --git a/apps/parser/esm/ruleset/functions/uniquenessTags.js b/apps/parser/esm/ruleset/functions/uniquenessTags.js new file mode 100644 index 000000000..4657c7000 --- /dev/null +++ b/apps/parser/esm/ruleset/functions/uniquenessTags.js @@ -0,0 +1,40 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +function getDuplicateTagsIndexes(tags) { + return tags + .map(item => item.name) + .reduce((acc, item, i, arr) => { + if (arr.indexOf(item) !== i) { + acc.push(i); + } + return acc; + }, []); +} +export const uniquenessTags = createRulesetFunction({ + input: { + type: 'array', + items: { + type: 'object', + properties: { + name: { + type: 'string', + }, + }, + required: ['name'], + }, + }, + options: null, +}, (targetVal, _, ctx) => { + const duplicatedTags = getDuplicateTagsIndexes(targetVal); + if (duplicatedTags.length === 0) { + return []; + } + const results = []; + for (const duplicatedIndex of duplicatedTags) { + const duplicatedTag = targetVal[duplicatedIndex].name; + results.push({ + message: `"tags" object contains duplicate tag name "${duplicatedTag}".`, + path: [...ctx.path, duplicatedIndex, 'name'], + }); + } + return results; +}); diff --git a/apps/parser/esm/ruleset/functions/unusedComponent.d.ts b/apps/parser/esm/ruleset/functions/unusedComponent.d.ts new file mode 100644 index 000000000..bad14d8a9 --- /dev/null +++ b/apps/parser/esm/ruleset/functions/unusedComponent.d.ts @@ -0,0 +1,3 @@ +export declare const unusedComponent: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + components: Record; +}, null>; diff --git a/apps/parser/esm/ruleset/functions/unusedComponent.js b/apps/parser/esm/ruleset/functions/unusedComponent.js new file mode 100644 index 000000000..2eda28e9a --- /dev/null +++ b/apps/parser/esm/ruleset/functions/unusedComponent.js @@ -0,0 +1,34 @@ +import { unreferencedReusableObject } from '@stoplight/spectral-functions'; +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { isObject } from '../../utils'; +export const unusedComponent = createRulesetFunction({ + input: { + type: 'object', + properties: { + components: { + type: 'object', + }, + }, + required: ['components'], + }, + options: null, +}, (targetVal, _, context) => { + const components = targetVal.components; + const results = []; + Object.keys(components).forEach(componentType => { + // if component type is `securitySchemes` we skip the validation + // security schemes in >=2.x.x are referenced by keys, not by object ref - for this case we have a separate `asyncapi2-unused-securityScheme` rule + if (componentType === 'securitySchemes') { + return; + } + const value = components[componentType]; + if (!isObject(value)) { + return; + } + const resultsForType = unreferencedReusableObject(value, { reusableObjectsLocation: `#/components/${componentType}` }, context); + if (resultsForType && Array.isArray(resultsForType)) { + results.push(...resultsForType); + } + }); + return results; +}); diff --git a/apps/parser/esm/ruleset/index.d.ts b/apps/parser/esm/ruleset/index.d.ts new file mode 100644 index 000000000..2897d6f86 --- /dev/null +++ b/apps/parser/esm/ruleset/index.d.ts @@ -0,0 +1,10 @@ +import type { Parser } from '../parser'; +import type { RulesetDefinition } from '@stoplight/spectral-core'; +export type RulesetOptions = RulesetDefinition & { + core?: boolean; + recommended?: boolean; +} | RulesetDefinition | { + core?: boolean; + recommended?: boolean; +}; +export declare function createRuleset(parser: Parser, options?: RulesetOptions): RulesetDefinition; diff --git a/apps/parser/esm/ruleset/index.js b/apps/parser/esm/ruleset/index.js new file mode 100644 index 000000000..5a62efb69 --- /dev/null +++ b/apps/parser/esm/ruleset/index.js @@ -0,0 +1,28 @@ +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +import { coreRuleset, recommendedRuleset } from './ruleset'; +import { v2CoreRuleset, v2SchemasRuleset, v2RecommendedRuleset } from './v2'; +import { v3CoreRuleset } from './v3'; +export function createRuleset(parser, options) { + var _a; + const _b = (options || {}), { core: useCore = true, recommended: useRecommended = true } = _b, rest = __rest(_b, ["core", "recommended"]); + const extendedRuleset = [ + useCore && coreRuleset, + useRecommended && recommendedRuleset, + useCore && v2CoreRuleset, + useCore && v2SchemasRuleset(parser), + useRecommended && v2RecommendedRuleset, + useCore && v3CoreRuleset, + ...((_a = (options || {})) === null || _a === void 0 ? void 0 : _a.extends) || [], + ].filter(Boolean); + return Object.assign(Object.assign({}, rest || {}), { extends: extendedRuleset }); +} diff --git a/apps/parser/esm/ruleset/ruleset.d.ts b/apps/parser/esm/ruleset/ruleset.d.ts new file mode 100644 index 000000000..3e7c5cf63 --- /dev/null +++ b/apps/parser/esm/ruleset/ruleset.d.ts @@ -0,0 +1,184 @@ +export declare const coreRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Root Object rules + */ + 'asyncapi-is-asyncapi': { + description: string; + formats: (() => boolean)[]; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-latest-version': { + description: string; + message: string; + recommended: boolean; + severity: string; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + schema: { + const: string; + }; + }; + }; + }; + 'asyncapi-document-resolved': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + resolved: boolean; + }; + }; + }; + 'asyncapi-document-unresolved': { + description: string; + message: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + resolved: boolean; + }; + }; + }; + 'asyncapi-internal': { + description: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + }; +}; +export declare const recommendedRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Root Object rules + */ + 'asyncapi-id': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-defaultContentType': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Info Object rules + */ + 'asyncapi-info-description': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-info-contact': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-info-contact-properties': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }[]; + }; + 'asyncapi-info-license': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi-info-license-url': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Server Object rules + */ + 'asyncapi-servers': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + schema: { + type: string; + minProperties: number; + }; + allErrors: boolean; + }; + }; + }; + /** + * Component Object rules + */ + 'asyncapi-unused-component': { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + recommended: boolean; + resolved: boolean; + severity: string; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + components: Record; + }, null>; + }; + }; + }; +}; diff --git a/apps/parser/esm/ruleset/ruleset.js b/apps/parser/esm/ruleset/ruleset.js new file mode 100644 index 000000000..909c141e5 --- /dev/null +++ b/apps/parser/esm/ruleset/ruleset.js @@ -0,0 +1,195 @@ +import { truthy, schema } from '@stoplight/spectral-functions'; +import { documentStructure } from './functions/documentStructure'; +import { internal } from './functions/internal'; +import { isAsyncAPIDocument } from './functions/isAsyncAPIDocument'; +import { unusedComponent } from './functions/unusedComponent'; +import { AsyncAPIFormats } from './formats'; +import { lastVersion } from '../constants'; +export const coreRuleset = { + description: 'Core AsyncAPI x.x.x ruleset.', + formats: AsyncAPIFormats.formats(), + rules: { + /** + * Root Object rules + */ + 'asyncapi-is-asyncapi': { + description: 'The input must be a document with a supported version of AsyncAPI.', + formats: [() => true], + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$', + then: { + function: isAsyncAPIDocument, + }, + }, + 'asyncapi-latest-version': { + description: 'Checking if the AsyncAPI document is using the latest version.', + message: `The latest version of AsyncAPi is not used. It is recommended update to the "${lastVersion}" version.`, + recommended: true, + severity: 'info', + given: '$.asyncapi', + then: { + function: schema, + functionOptions: { + schema: { + const: lastVersion, + }, + }, + }, + }, + 'asyncapi-document-resolved': { + description: 'Checking if the AsyncAPI document has valid resolved structure.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$', + then: { + function: documentStructure, + functionOptions: { + resolved: true, + }, + }, + }, + 'asyncapi-document-unresolved': { + description: 'Checking if the AsyncAPI document has valid unresolved structure.', + message: '{{error}}', + severity: 'error', + recommended: true, + resolved: false, + given: '$', + then: { + function: documentStructure, + functionOptions: { + resolved: false, + }, + }, + }, + 'asyncapi-internal': { + description: 'That rule is internal to extend Spectral functionality for Parser purposes.', + recommended: true, + given: '$', + then: { + function: internal, + }, + }, + }, +}; +export const recommendedRuleset = { + description: 'Recommended AsyncAPI x.x.x ruleset.', + formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + rules: { + /** + * Root Object rules + */ + 'asyncapi-id': { + description: 'AsyncAPI document should have "id" field.', + recommended: true, + given: '$', + then: { + field: 'id', + function: truthy, + }, + }, + 'asyncapi-defaultContentType': { + description: 'AsyncAPI document should have "defaultContentType" field.', + recommended: true, + given: '$', + then: { + field: 'defaultContentType', + function: truthy, + }, + }, + /** + * Info Object rules + */ + 'asyncapi-info-description': { + description: 'Info "description" should be present and non-empty string.', + recommended: true, + given: '$', + then: { + field: 'info.description', + function: truthy, + }, + }, + 'asyncapi-info-contact': { + description: 'Info object should have "contact" object.', + recommended: true, + given: '$', + then: { + field: 'info.contact', + function: truthy, + }, + }, + 'asyncapi-info-contact-properties': { + description: 'Contact object should have "name", "url" and "email" fields.', + recommended: true, + given: '$.info.contact', + then: [ + { + field: 'name', + function: truthy, + }, + { + field: 'url', + function: truthy, + }, + { + field: 'email', + function: truthy, + }, + ], + }, + 'asyncapi-info-license': { + description: 'Info object should have "license" object.', + recommended: true, + given: '$', + then: { + field: 'info.license', + function: truthy, + }, + }, + 'asyncapi-info-license-url': { + description: 'License object should have "url" field.', + recommended: false, + given: '$', + then: { + field: 'info.license.url', + function: truthy, + }, + }, + /** + * Server Object rules + */ + 'asyncapi-servers': { + description: 'AsyncAPI document should have non-empty "servers" object.', + recommended: true, + given: '$', + then: { + field: 'servers', + function: schema, + functionOptions: { + schema: { + type: 'object', + minProperties: 1, + }, + allErrors: true, + }, + }, + }, + /** + * Component Object rules + */ + 'asyncapi-unused-component': { + description: 'Potentially unused component has been detected in AsyncAPI document.', + formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + recommended: true, + resolved: false, + severity: 'info', + given: '$', + then: { + function: unusedComponent, + }, + }, + }, +}; diff --git a/apps/parser/esm/ruleset/utils/getMissingProps.d.ts b/apps/parser/esm/ruleset/utils/getMissingProps.d.ts new file mode 100644 index 000000000..8c9eff169 --- /dev/null +++ b/apps/parser/esm/ruleset/utils/getMissingProps.d.ts @@ -0,0 +1 @@ +export declare function getMissingProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/esm/ruleset/utils/getMissingProps.js b/apps/parser/esm/ruleset/utils/getMissingProps.js new file mode 100644 index 000000000..c1506e3e0 --- /dev/null +++ b/apps/parser/esm/ruleset/utils/getMissingProps.js @@ -0,0 +1,7 @@ +export function getMissingProps(arr = [], obj = {}) { + if (!Object.keys(obj).length) + return arr; + return arr.filter(val => { + return !Object.prototype.hasOwnProperty.call(obj, val); + }); +} diff --git a/apps/parser/esm/ruleset/utils/getRedundantProps.d.ts b/apps/parser/esm/ruleset/utils/getRedundantProps.d.ts new file mode 100644 index 000000000..82efd65f0 --- /dev/null +++ b/apps/parser/esm/ruleset/utils/getRedundantProps.d.ts @@ -0,0 +1 @@ +export declare function getRedundantProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/esm/ruleset/utils/getRedundantProps.js b/apps/parser/esm/ruleset/utils/getRedundantProps.js new file mode 100644 index 000000000..5bb36cb01 --- /dev/null +++ b/apps/parser/esm/ruleset/utils/getRedundantProps.js @@ -0,0 +1,7 @@ +export function getRedundantProps(arr = [], obj = {}) { + if (!arr.length) + return Object.keys(obj); + return Object.keys(obj).filter(val => { + return !arr.includes(val); + }); +} diff --git a/apps/parser/esm/ruleset/utils/index.d.ts b/apps/parser/esm/ruleset/utils/index.d.ts new file mode 100644 index 000000000..75834cb11 --- /dev/null +++ b/apps/parser/esm/ruleset/utils/index.d.ts @@ -0,0 +1,4 @@ +export * from './getMissingProps'; +export * from './getRedundantProps'; +export * from './mergeTraits'; +export * from './parseUrlVariables'; diff --git a/apps/parser/esm/ruleset/utils/index.js b/apps/parser/esm/ruleset/utils/index.js new file mode 100644 index 000000000..75834cb11 --- /dev/null +++ b/apps/parser/esm/ruleset/utils/index.js @@ -0,0 +1,4 @@ +export * from './getMissingProps'; +export * from './getRedundantProps'; +export * from './mergeTraits'; +export * from './parseUrlVariables'; diff --git a/apps/parser/esm/ruleset/utils/mergeTraits.d.ts b/apps/parser/esm/ruleset/utils/mergeTraits.d.ts new file mode 100644 index 000000000..b36a26c0a --- /dev/null +++ b/apps/parser/esm/ruleset/utils/mergeTraits.d.ts @@ -0,0 +1,4 @@ +export type MaybeHaveTraits = { + traits?: any[]; +} & Record; +export declare function mergeTraits(data: T): T; diff --git a/apps/parser/esm/ruleset/utils/mergeTraits.js b/apps/parser/esm/ruleset/utils/mergeTraits.js new file mode 100644 index 000000000..77cf7f50b --- /dev/null +++ b/apps/parser/esm/ruleset/utils/mergeTraits.js @@ -0,0 +1,31 @@ +import { isPlainObject } from '@stoplight/json'; +export function mergeTraits(data) { + if (Array.isArray(data.traits)) { + data = Object.assign({}, data); // shallow copy + for (const trait of data.traits) { + for (const key in trait) { + data[key] = merge(data[key], trait[key]); + } + } + } + return data; +} +function merge(origin, patch) { + // If the patch is not an object, it replaces the origin. + if (!isPlainObject(patch)) { + return patch; + } + const result = !isPlainObject(origin) + ? {} // Non objects are being replaced. + : Object.assign({}, origin); // Make sure we never modify the origin. + Object.keys(patch).forEach(key => { + const patchVal = patch[key]; + if (patchVal === null) { + delete result[key]; + } + else { + result[key] = merge(result[key], patchVal); + } + }); + return result; +} diff --git a/apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts b/apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts new file mode 100644 index 000000000..f3533d8a6 --- /dev/null +++ b/apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts @@ -0,0 +1 @@ +export declare function parseUrlVariables(str: string): string[]; diff --git a/apps/parser/esm/ruleset/utils/parseUrlVariables.js b/apps/parser/esm/ruleset/utils/parseUrlVariables.js new file mode 100644 index 000000000..8ddfe952a --- /dev/null +++ b/apps/parser/esm/ruleset/utils/parseUrlVariables.js @@ -0,0 +1,8 @@ +export function parseUrlVariables(str) { + if (typeof str !== 'string') + return []; + const variables = str.match(/{(.+?)}/g); + if (!variables || variables.length === 0) + return []; + return variables.map(v => v.slice(1, -1)); +} diff --git a/apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts b/apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts new file mode 100644 index 000000000..3154fd33e --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts @@ -0,0 +1,3 @@ +export declare const channelParameters: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + parameters: Record; +}, null>; diff --git a/apps/parser/esm/ruleset/v2/functions/channelParameters.js b/apps/parser/esm/ruleset/v2/functions/channelParameters.js new file mode 100644 index 000000000..7b544b241 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/channelParameters.js @@ -0,0 +1,37 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { getMissingProps, getRedundantProps, parseUrlVariables } from '../../utils'; +export const channelParameters = createRulesetFunction({ + input: { + type: 'object', + properties: { + parameters: { + type: 'object', + }, + }, + required: ['parameters'], + }, + options: null, +}, (targetVal, _, ctx) => { + const path = ctx.path[ctx.path.length - 1]; + const results = []; + const parameters = parseUrlVariables(path); + if (parameters.length === 0) + return; + const missingParameters = getMissingProps(parameters, targetVal.parameters); + if (missingParameters.length) { + results.push({ + message: `Not all channel's parameters are described with "parameters" object. Missed: ${missingParameters.join(', ')}.`, + path: [...ctx.path, 'parameters'], + }); + } + const redundantParameters = getRedundantProps(parameters, targetVal.parameters); + if (redundantParameters.length) { + redundantParameters.forEach(param => { + results.push({ + message: `Channel's "parameters" object has redundant defined "${param}" parameter.`, + path: [...ctx.path, 'parameters', param], + }); + }); + } + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/channelServers.d.ts b/apps/parser/esm/ruleset/v2/functions/channelServers.d.ts new file mode 100644 index 000000000..ecdc32a79 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/channelServers.d.ts @@ -0,0 +1,6 @@ +export declare const channelServers: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + servers?: Record | undefined; + channels?: Record | undefined; +}, null>; diff --git a/apps/parser/esm/ruleset/v2/functions/channelServers.js b/apps/parser/esm/ruleset/v2/functions/channelServers.js new file mode 100644 index 000000000..4311eb215 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/channelServers.js @@ -0,0 +1,45 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +export const channelServers = createRulesetFunction({ + input: { + type: 'object', + properties: { + servers: { + type: 'object', + }, + channels: { + type: 'object', + additionalProperties: { + type: 'object', + properties: { + servers: { + type: 'array', + items: { + type: 'string', + }, + }, + }, + }, + }, + }, + }, + options: null, +}, (targetVal) => { + var _a, _b; + const results = []; + if (!targetVal.channels) + return results; + const serverNames = Object.keys((_a = targetVal.servers) !== null && _a !== void 0 ? _a : {}); + Object.entries((_b = targetVal.channels) !== null && _b !== void 0 ? _b : {}).forEach(([channelAddress, channel]) => { + if (!channel.servers) + return; + channel.servers.forEach((serverName, index) => { + if (!serverNames.includes(serverName)) { + results.push({ + message: 'Channel contains server that are not defined on the "servers" object.', + path: ['channels', channelAddress, 'servers', index], + }); + } + }); + }); + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/checkId.d.ts b/apps/parser/esm/ruleset/v2/functions/checkId.d.ts new file mode 100644 index 000000000..5314c47e4 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/checkId.d.ts @@ -0,0 +1,4 @@ +import type { MaybeHaveTraits } from '../../utils'; +export declare const checkId: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/checkId.js b/apps/parser/esm/ruleset/v2/functions/checkId.js new file mode 100644 index 000000000..7268a51fe --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/checkId.js @@ -0,0 +1,28 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { truthy } from '@stoplight/spectral-functions'; +import { mergeTraits } from '../../utils'; +export const checkId = createRulesetFunction({ + input: { + type: 'object', + properties: { + traits: { + type: 'array', + items: { + type: 'object', + }, + }, + }, + }, + options: { + type: 'object', + properties: { + idField: { + type: 'string', + enum: ['operationId', 'messageId'], + }, + }, + }, +}, (targetVal, options, ctx) => { + const mergedValue = mergeTraits(targetVal); + return truthy(mergedValue[options.idField], null, ctx); +}); diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts b/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts new file mode 100644 index 000000000..6a27833ff --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts @@ -0,0 +1,3 @@ +import { RuleDefinition } from '@stoplight/spectral-core'; +import type { Parser } from 'parser'; +export declare function asyncApi2MessageExamplesParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js b/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js new file mode 100644 index 000000000..f909341ca --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js @@ -0,0 +1,113 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { getDefaultSchemaFormat, getSchemaFormat, parseSchema } from '../../../schema-parser'; +import { createDetailedAsyncAPI } from '../../../utils'; +import { getMessageExamples, validate } from './messageExamples'; +export function asyncApi2MessageExamplesParserRule(parser) { + return { + description: 'Examples of message object should validate against a payload with an explicit schemaFormat.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // messages + '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat !== void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message[?(@property === \'message\' && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', + '$.components.messages[?(!@null && @.schemaFormat !== void 0)]', + // message traits + '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.messages.*.traits[?(!@null && @.schemaFormat !== void 0)]', + '$.components.messageTraits[?(!@null && @.schemaFormat !== void 0)]', + ], + then: { + function: rulesetFunction(parser), + }, + }; +} +function rulesetFunction(parser) { + return createRulesetFunction({ + input: { + type: 'object', + properties: { + name: { + type: 'string', + }, + summary: { + type: 'string', + }, + }, + }, + options: null, + }, (targetVal, _, ctx) => __awaiter(this, void 0, void 0, function* () { + if (!targetVal.examples) + return; + if (!targetVal.payload) + return; + const document = ctx.document; + const parsedSpec = document.data; + const schemaFormat = getSchemaFormat(targetVal.schemaFormat, parsedSpec.asyncapi); + const defaultSchemaFormat = getDefaultSchemaFormat(parsedSpec.asyncapi); + const asyncapi = createDetailedAsyncAPI(parsedSpec, document.__parserInput, document.source || undefined); + const input = { + asyncapi, + rootPath: ctx.path, + schemaFormat, + defaultSchemaFormat + }; + const results = []; + const payloadSchemaResults = yield parseExampleSchema(parser, targetVal.payload, input); + const payloadSchema = payloadSchemaResults.schema; + results.push(...payloadSchemaResults.errors); + for (const example of getMessageExamples(targetVal)) { + const { path, value } = example; + // validate payload + if (value.payload !== undefined && payloadSchema !== undefined) { + const errors = validate(value.payload, path, 'payload', payloadSchema, ctx); + if (Array.isArray(errors)) { + results.push(...errors); + } + } + } + return results; + })); +} +function parseExampleSchema(parser, schema, input) { + return __awaiter(this, void 0, void 0, function* () { + const path = [...input.rootPath, 'payload']; + if (schema === undefined) { + return { path, schema: undefined, errors: [] }; + } + try { + const parseSchemaInput = { + asyncapi: input.asyncapi, + data: schema, + meta: {}, + path, + schemaFormat: input.schemaFormat, + defaultSchemaFormat: input.defaultSchemaFormat, + }; + const parsedSchema = yield parseSchema(parser, parseSchemaInput); + return { path, schema: parsedSchema, errors: [] }; + } + catch (err) { + const error = { + message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, + path + }; + return { path, schema: undefined, errors: [error] }; + } + }); +} diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts b/apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts new file mode 100644 index 000000000..540a910cf --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts @@ -0,0 +1,10 @@ +import { schema as schemaFn } from '@stoplight/spectral-functions'; +import type { JsonPath } from '@stoplight/types'; +import type { RulesetFunctionContext } from '@stoplight/spectral-core'; +import type { v2 } from 'spec-types'; +export declare function getMessageExamples(message: v2.MessageObject): Array<{ + path: JsonPath; + value: v2.MessageExampleObject; +}>; +export declare function validate(value: unknown, path: JsonPath, type: 'payload' | 'headers', schema: unknown, ctx: RulesetFunctionContext): ReturnType; +export declare const messageExamples: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples.js b/apps/parser/esm/ruleset/v2/functions/messageExamples.js new file mode 100644 index 000000000..0dee823fa --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/messageExamples.js @@ -0,0 +1,77 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { schema as schemaFn } from '@stoplight/spectral-functions'; +function serializeSchema(schema, type) { + if (!schema && typeof schema !== 'boolean') { // if schema is falsy then + if (type === 'headers') { // object for headers + schema = { type: 'object' }; + } + else { // anything for payload + schema = {}; + } + } + else if (typeof schema === 'boolean') { // spectral cannot handle boolean schemas + if (schema === true) { + schema = {}; // everything + } + else { + schema = { not: {} }; // nothing + } + } + return schema; +} +export function getMessageExamples(message) { + var _a; + if (!Array.isArray(message.examples)) { + return []; + } + return ((_a = message.examples.map((example, index) => { + return { + path: ['examples', index], + value: example, + }; + })) !== null && _a !== void 0 ? _a : []); +} +export function validate(value, path, type, schema, ctx) { + return schemaFn(value, { + allErrors: true, + schema: schema, + }, Object.assign(Object.assign({}, ctx), { path: [...ctx.path, ...path, type] })); +} +export const messageExamples = createRulesetFunction({ + input: { + type: 'object', + properties: { + name: { + type: 'string', + }, + summary: { + type: 'string', + }, + }, + }, + options: null, +}, (targetVal, _, ctx) => { + if (!targetVal.examples) + return; + const results = []; + const payloadSchema = serializeSchema(targetVal.payload, 'payload'); + const headersSchema = serializeSchema(targetVal.headers, 'headers'); + for (const example of getMessageExamples(targetVal)) { + const { path, value } = example; + // validate payload + if (value.payload !== undefined) { + const errors = validate(value.payload, path, 'payload', payloadSchema, ctx); + if (Array.isArray(errors)) { + results.push(...errors); + } + } + // validate headers + if (value.headers !== undefined) { + const errors = validate(value.headers, path, 'headers', headersSchema, ctx); + if (Array.isArray(errors)) { + results.push(...errors); + } + } + } + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts b/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts new file mode 100644 index 000000000..052420947 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts @@ -0,0 +1,2 @@ +import type { v2 } from '../../../spec-types'; +export declare const messageIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js b/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js new file mode 100644 index 000000000..5988e88f7 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js @@ -0,0 +1,92 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { getAllMessages } from '../utils'; +import { isObject } from '../../../utils'; +function retrieveMessageId(message) { + if (Array.isArray(message.traits)) { + for (let i = message.traits.length - 1; i >= 0; i--) { + const trait = message.traits[i]; + if (isObject(trait) && typeof trait.messageId === 'string') { + return { + messageId: trait.messageId, + path: ['traits', i, 'messageId'], + }; + } + } + } + if (typeof message.messageId === 'string') { + return { + messageId: message.messageId, + path: ['messageId'], + }; + } + return undefined; +} +export const messageIdUniqueness = createRulesetFunction({ + input: { + type: 'object', + properties: { + channels: { + type: 'object', + properties: { + subscribe: { + type: 'object', + properties: { + message: { + oneOf: [ + { type: 'object' }, + { + type: 'object', + properties: { + oneOf: { + type: 'array', + }, + }, + }, + ], + }, + }, + }, + publish: { + type: 'object', + properties: { + message: { + oneOf: [ + { type: 'object' }, + { + type: 'object', + properties: { + oneOf: { + type: 'array', + }, + }, + }, + ], + }, + }, + }, + }, + }, + }, + }, + options: null, +}, (targetVal) => { + const results = []; + const messages = getAllMessages(targetVal); + const seenIds = []; + for (const { path, message } of messages) { + const maybeMessageId = retrieveMessageId(message); + if (maybeMessageId === undefined) { + continue; + } + if (seenIds.includes(maybeMessageId.messageId)) { + results.push({ + message: '"messageId" must be unique across all the messages.', + path: [...path, ...maybeMessageId.path], + }); + } + else { + seenIds.push(maybeMessageId.messageId); + } + } + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts b/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts new file mode 100644 index 000000000..bfe23e90f --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts @@ -0,0 +1,2 @@ +import type { v2 } from '../../../spec-types'; +export declare const operationIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js b/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js new file mode 100644 index 000000000..03fd02685 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js @@ -0,0 +1,62 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { getAllOperations } from '../utils'; +import { isObject } from '../../../utils'; +function retrieveOperationId(operation) { + if (Array.isArray(operation.traits)) { + for (let i = operation.traits.length - 1; i >= 0; i--) { + const trait = operation.traits[i]; + if (isObject(trait) && typeof trait.operationId === 'string') { + return { + operationId: trait.operationId, + path: ['traits', i, 'operationId'], + }; + } + } + } + if (typeof operation.operationId === 'string') { + return { + operationId: operation.operationId, + path: ['operationId'], + }; + } + return undefined; +} +export const operationIdUniqueness = createRulesetFunction({ + input: { + type: 'object', + properties: { + channels: { + type: 'object', + properties: { + subscribe: { + type: 'object', + }, + publish: { + type: 'object', + }, + }, + }, + }, + }, + options: null, +}, (targetVal) => { + const results = []; + const operations = getAllOperations(targetVal); + const seenIds = []; + for (const { path, operation } of operations) { + const maybeOperationId = retrieveOperationId(operation); + if (maybeOperationId === undefined) { + continue; + } + if (seenIds.includes(maybeOperationId.operationId)) { + results.push({ + message: '"operationId" must be unique across all the operations.', + path: [...path, ...maybeOperationId.path], + }); + } + else { + seenIds.push(maybeOperationId.operationId); + } + } + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts b/apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts new file mode 100644 index 000000000..09111d4be --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts @@ -0,0 +1,8 @@ +type SchemaFragment = { + default?: unknown; + examples?: unknown[]; +}; +export declare const schemaValidation: import("@stoplight/spectral-core").RulesetFunctionWithValidator; +export {}; diff --git a/apps/parser/esm/ruleset/v2/functions/schemaValidation.js b/apps/parser/esm/ruleset/v2/functions/schemaValidation.js new file mode 100644 index 000000000..77240a735 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/schemaValidation.js @@ -0,0 +1,50 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { schema as schemaFn } from '@stoplight/spectral-functions'; +function getRelevantItems(target, type) { + if (type === 'default') { + return [{ path: ['default'], value: target.default }]; + } + if (!Array.isArray(target.examples)) { + return []; + } + return Array.from(target.examples.entries()).map(([key, value]) => ({ + path: ['examples', key], + value, + })); +} +export const schemaValidation = createRulesetFunction({ + input: { + type: 'object', + properties: { + default: {}, + examples: { + type: 'array', + }, + }, + errorMessage: '#{{print("property")}must be an object containing "default" or an "examples" array', + }, + errorOnInvalidInput: true, + options: { + type: 'object', + properties: { + type: { + enum: ['default', 'examples'], + }, + }, + additionalProperties: false, + required: ['type'], + }, +}, (targetVal, opts, context) => { + const schemaObject = targetVal; + const results = []; + for (const relevantItem of getRelevantItems(targetVal, opts.type)) { + const result = schemaFn(relevantItem.value, { + schema: schemaObject, + allErrors: true, + }, Object.assign(Object.assign({}, context), { path: [...context.path, ...relevantItem.path] })); + if (Array.isArray(result)) { + results.push(...result); + } + } + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/security.d.ts b/apps/parser/esm/ruleset/v2/functions/security.d.ts new file mode 100644 index 000000000..7eccc4120 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/security.d.ts @@ -0,0 +1,3 @@ +export declare const security: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { + objectType: 'Server' | 'Operation'; +}>; diff --git a/apps/parser/esm/ruleset/v2/functions/security.js b/apps/parser/esm/ruleset/v2/functions/security.js new file mode 100644 index 000000000..7752b52be --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/security.js @@ -0,0 +1,61 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { isObject } from '../../../utils'; +const oAuth2Keys = ['implicit', 'password', 'clientCredentials', 'authorizationCode']; +function getAllScopes(oauth2) { + const scopes = []; + oAuth2Keys.forEach(key => { + const flow = oauth2[key]; + if (isObject(flow)) { + scopes.push(...Object.keys(flow.scopes)); + } + }); + return Array.from(new Set(scopes)); +} +export const security = createRulesetFunction({ + input: { + type: 'object', + additionalProperties: { + type: 'array', + items: { + type: 'string', + }, + }, + }, + options: { + type: 'object', + properties: { + objectType: { + type: 'string', + enum: ['Server', 'Operation'], + }, + }, + }, +}, (targetVal = {}, { objectType }, ctx) => { + var _a, _b; + const results = []; + const spec = ctx.document.data; + const securitySchemes = (_b = (_a = spec === null || spec === void 0 ? void 0 : spec.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) !== null && _b !== void 0 ? _b : {}; + const securitySchemesKeys = Object.keys(securitySchemes); + Object.keys(targetVal).forEach(securityKey => { + var _a; + if (!securitySchemesKeys.includes(securityKey)) { + results.push({ + message: `${objectType} must not reference an undefined security scheme.`, + path: [...ctx.path, securityKey], + }); + } + const securityScheme = securitySchemes[securityKey]; + if ((securityScheme === null || securityScheme === void 0 ? void 0 : securityScheme.type) === 'oauth2') { + const availableScopes = getAllScopes((_a = securityScheme.flows) !== null && _a !== void 0 ? _a : {}); + targetVal[securityKey].forEach((securityScope, index) => { + if (!availableScopes.includes(securityScope)) { + results.push({ + message: `Non-existing security scope for the specified security scheme. Available: [${availableScopes.join(', ')}]`, + path: [...ctx.path, securityKey, index], + }); + } + }); + } + }); + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts b/apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts new file mode 100644 index 000000000..1f3e71612 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts @@ -0,0 +1,4 @@ +export declare const serverVariables: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + url: string; + variables: Record; +}, null>; diff --git a/apps/parser/esm/ruleset/v2/functions/serverVariables.js b/apps/parser/esm/ruleset/v2/functions/serverVariables.js new file mode 100644 index 000000000..9ae66ab5a --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/serverVariables.js @@ -0,0 +1,39 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { getMissingProps, getRedundantProps, parseUrlVariables } from '../../utils'; +export const serverVariables = createRulesetFunction({ + input: { + type: 'object', + properties: { + url: { + type: 'string', + }, + variables: { + type: 'object', + }, + }, + required: ['url', 'variables'], + }, + options: null, +}, (targetVal, _, ctx) => { + const results = []; + const variables = parseUrlVariables(targetVal.url); + if (variables.length === 0) + return results; + const missingVariables = getMissingProps(variables, targetVal.variables); + if (missingVariables.length) { + results.push({ + message: `Not all server's variables are described with "variables" object. Missed: ${missingVariables.join(', ')}.`, + path: [...ctx.path, 'variables'], + }); + } + const redundantVariables = getRedundantProps(variables, targetVal.variables); + if (redundantVariables.length) { + redundantVariables.forEach(variable => { + results.push({ + message: `Server's "variables" object has redundant defined "${variable}" url variable.`, + path: [...ctx.path, 'variables', variable], + }); + }); + } + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts b/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts new file mode 100644 index 000000000..93af76773 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts @@ -0,0 +1,2 @@ +import type { v2 } from '../../../spec-types'; +export declare const unusedSecuritySchemes: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js b/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js new file mode 100644 index 000000000..35087d292 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js @@ -0,0 +1,53 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { getAllOperations } from '../utils'; +import { isObject } from '../../../utils'; +export const unusedSecuritySchemes = createRulesetFunction({ + input: { + type: 'object', + properties: { + components: { + type: 'object', + }, + }, + required: ['components'], + }, + options: null, +}, (targetVal) => { + var _a; + const securitySchemes = (_a = targetVal.components) === null || _a === void 0 ? void 0 : _a.securitySchemes; + if (!isObject(securitySchemes)) { + return; + } + const usedSecuritySchemes = []; + // collect all security requirements from servers + if (isObject(targetVal.servers)) { + Object.values(targetVal.servers).forEach(server => { + if (Array.isArray(server.security)) { + server.security.forEach(requirements => { + usedSecuritySchemes.push(...Object.keys(requirements)); + }); + } + }); + } + // collect all security requirements from operations + const operations = getAllOperations(targetVal); + for (const { operation } of operations) { + if (Array.isArray(operation.security)) { + operation.security.forEach(requirements => { + usedSecuritySchemes.push(...Object.keys(requirements)); + }); + } + } + const usedSecuritySchemesSet = new Set(usedSecuritySchemes); + const securitySchemesKinds = Object.keys(securitySchemes); + const results = []; + securitySchemesKinds.forEach(securitySchemeKind => { + if (!usedSecuritySchemesSet.has(securitySchemeKind)) { + results.push({ + message: 'Potentially unused security scheme has been detected in AsyncAPI document.', + path: ['components', 'securitySchemes', securitySchemeKind], + }); + } + }); + return results; +}); diff --git a/apps/parser/esm/ruleset/v2/index.d.ts b/apps/parser/esm/ruleset/v2/index.d.ts new file mode 100644 index 000000000..5acc4189e --- /dev/null +++ b/apps/parser/esm/ruleset/v2/index.d.ts @@ -0,0 +1 @@ +export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v2/index.js b/apps/parser/esm/ruleset/v2/index.js new file mode 100644 index 000000000..5acc4189e --- /dev/null +++ b/apps/parser/esm/ruleset/v2/index.js @@ -0,0 +1 @@ +export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v2/ruleset.d.ts b/apps/parser/esm/ruleset/v2/ruleset.d.ts new file mode 100644 index 000000000..0715d2bc1 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/ruleset.d.ts @@ -0,0 +1,304 @@ +import type { Parser } from '../../parser'; +export declare const v2CoreRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Server Object rules + */ + 'asyncapi2-server-security': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { + objectType: "Server" | "Operation"; + }>; + functionOptions: { + objectType: string; + }; + }; + }; + 'asyncapi2-server-variables': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + url: string; + variables: Record; + }, null>; + }; + }; + 'asyncapi2-channel-no-query-nor-fragment': { + description: string; + severity: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + /** + * Channel Object rules + */ + 'asyncapi2-channel-parameters': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + parameters: Record; + }, null>; + }; + }; + 'asyncapi2-channel-servers': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + servers?: Record | undefined; + channels?: Record | undefined; + }, null>; + }; + }; + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId-uniqueness': { + description: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi2-operation-security': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { + objectType: "Server" | "Operation"; + }>; + functionOptions: { + objectType: string; + }; + }; + }; + /** + * Message Object rules + */ + 'asyncapi2-message-examples': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + 'asyncapi2-message-messageId-uniqueness': { + description: string; + severity: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Misc rules + */ + 'asyncapi2-tags-uniqueness': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + name: string; + }[], null>; + }; + }; + }; +}; +export declare const v2SchemasRuleset: (parser: Parser) => { + description: string; + rules: { + 'asyncapi2-schemas': import("@stoplight/spectral-core").RuleDefinition; + 'asyncapi2-schema-default': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + default?: unknown; + examples?: unknown[] | undefined; + }, { + type: "default" | "examples"; + }>; + functionOptions: { + type: string; + }; + }; + }; + 'asyncapi2-schema-examples': { + description: string; + message: string; + severity: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + default?: unknown; + examples?: unknown[] | undefined; + }, { + type: "default" | "examples"; + }>; + functionOptions: { + type: string; + }; + }; + }; + 'asyncapi2-message-examples-custom-format': import("@stoplight/spectral-core").RuleDefinition; + }; +}; +export declare const v2RecommendedRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Root Object rules + */ + 'asyncapi2-tags': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + /** + * Server Object rules + */ + 'asyncapi2-server-no-empty-variable': { + description: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + 'asyncapi2-server-no-trailing-slash': { + description: string; + recommended: boolean; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + /** + * Channel Object rules + */ + 'asyncapi2-channel-no-empty-parameter': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + 'asyncapi2-channel-no-trailing-slash': { + description: string; + recommended: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + notMatch: string; + }; + }; + }; + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId': { + description: string; + recommended: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + idField: string; + }; + }; + }; + /** + * Message Object rules + */ + 'asyncapi2-message-messageId': { + description: string; + recommended: boolean; + formats: import("@stoplight/spectral-core").Format[]; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + idField: string; + }; + }; + }; + /** + * Component Object rules + */ + 'asyncapi2-unused-securityScheme': { + description: string; + recommended: boolean; + resolved: boolean; + severity: string; + given: string; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + }; + }; + }; +}; diff --git a/apps/parser/esm/ruleset/v2/ruleset.js b/apps/parser/esm/ruleset/v2/ruleset.js new file mode 100644 index 000000000..d8083a485 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/ruleset.js @@ -0,0 +1,352 @@ +/* eslint-disable sonarjs/no-duplicate-string */ +import { AsyncAPIFormats } from '../formats'; +import { truthy, pattern } from '@stoplight/spectral-functions'; +import { channelParameters } from './functions/channelParameters'; +import { channelServers } from './functions/channelServers'; +import { checkId } from './functions/checkId'; +import { messageExamples } from './functions/messageExamples'; +import { asyncApi2MessageExamplesParserRule } from './functions/messageExamples-spectral-rule-v2'; +import { messageIdUniqueness } from './functions/messageIdUniqueness'; +import { operationIdUniqueness } from './functions/operationIdUniqueness'; +import { schemaValidation } from './functions/schemaValidation'; +import { security } from './functions/security'; +import { serverVariables } from './functions/serverVariables'; +import { unusedSecuritySchemes } from './functions/unusedSecuritySchemes'; +import { uniquenessTags } from '../functions/uniquenessTags'; +import { asyncApi2SchemaParserRule } from '../../schema-parser/spectral-rule-v2'; +export const v2CoreRuleset = { + description: 'Core AsyncAPI 2.x.x ruleset.', + formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + rules: { + /** + * Server Object rules + */ + 'asyncapi2-server-security': { + description: 'Server have to reference a defined security schemes.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$.servers.*.security.*', + then: { + function: security, + functionOptions: { + objectType: 'Server', + }, + }, + }, + 'asyncapi2-server-variables': { + description: 'Server variables must be defined and there must be no redundant variables.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: ['$.servers.*', '$.components.servers.*'], + then: { + function: serverVariables, + }, + }, + 'asyncapi2-channel-no-query-nor-fragment': { + description: 'Channel address should not include query ("?") or fragment ("#") delimiter.', + severity: 'error', + recommended: true, + given: '$.channels', + then: { + field: '@key', + function: pattern, + functionOptions: { + notMatch: '[\\?#]', + }, + }, + }, + /** + * Channel Object rules + */ + 'asyncapi2-channel-parameters': { + description: 'Channel parameters must be defined and there must be no redundant parameters.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$.channels.*', + then: { + function: channelParameters, + }, + }, + 'asyncapi2-channel-servers': { + description: 'Channel servers must be defined in the "servers" object.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$', + then: { + function: channelServers, + }, + }, + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId-uniqueness': { + description: '"operationId" must be unique across all the operations.', + severity: 'error', + recommended: true, + given: '$', + then: { + function: operationIdUniqueness, + }, + }, + 'asyncapi2-operation-security': { + description: 'Operation have to reference a defined security schemes.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: '$.channels[*][publish,subscribe].security.*', + then: { + function: security, + functionOptions: { + objectType: 'Operation', + }, + }, + }, + /** + * Message Object rules + */ + 'asyncapi2-message-examples': { + description: 'Examples of message object should validate againt the "payload" and "headers" schemas.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // messages + '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', + '$.components.messages[?(!@null && @.schemaFormat === void 0)]', + // message traits + '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.messages.*.traits[?(!@null && @.schemaFormat === void 0)]', + '$.components.messageTraits[?(!@null && @.schemaFormat === void 0)]', + ], + then: { + function: messageExamples, + }, + }, + 'asyncapi2-message-messageId-uniqueness': { + description: '"messageId" must be unique across all the messages.', + severity: 'error', + recommended: true, + given: '$', + then: { + function: messageIdUniqueness, + }, + }, + /** + * Misc rules + */ + 'asyncapi2-tags-uniqueness': { + description: 'Each tag must have a unique name.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // root + '$.tags', + // operations + '$.channels.*.[publish,subscribe].tags', + '$.components.channels.*.[publish,subscribe].tags', + // operation traits + '$.channels.*.[publish,subscribe].traits.*.tags', + '$.components.channels.*.[publish,subscribe].traits.*.tags', + '$.components.operationTraits.*.tags', + // messages + '$.channels.*.[publish,subscribe].message.tags', + '$.channels.*.[publish,subscribe].message.oneOf.*.tags', + '$.components.channels.*.[publish,subscribe].message.tags', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.tags', + '$.components.messages.*.tags', + // message traits + '$.channels.*.[publish,subscribe].message.traits.*.tags', + '$.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', + '$.components.channels.*.[publish,subscribe].message.traits.*.tags', + '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', + '$.components.messages.*.traits.*.tags', + '$.components.messageTraits.*.tags', + ], + then: { + function: uniquenessTags, + }, + }, + }, +}; +export const v2SchemasRuleset = (parser) => { + return { + description: 'Schemas AsyncAPI 2.x.x ruleset.', + rules: { + 'asyncapi2-schemas': asyncApi2SchemaParserRule(parser), + 'asyncapi2-schema-default': { + description: 'Default must be valid against its defined schema.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', + '$.channels.*.parameters.*.schema.default^', + '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', + '$.components.channels.*.parameters.*.schema.default^', + '$.components.schemas.*.default^', + '$.components.parameters.*.schema.default^', + '$.components.messages[?(@.schemaFormat === void 0)].payload.default^', + '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.default^', + ], + then: { + function: schemaValidation, + functionOptions: { + type: 'default', + }, + }, + }, + 'asyncapi2-schema-examples': { + description: 'Examples must be valid against their defined schema.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', + '$.channels.*.parameters.*.schema.examples^', + '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', + '$.components.channels.*.parameters.*.schema.examples^', + '$.components.schemas.*.examples^', + '$.components.parameters.*.schema.examples^', + '$.components.messages[?(@.schemaFormat === void 0)].payload.examples^', + '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.examples^', + ], + then: { + function: schemaValidation, + functionOptions: { + type: 'examples', + }, + }, + }, + 'asyncapi2-message-examples-custom-format': asyncApi2MessageExamplesParserRule(parser), + } + }; +}; +export const v2RecommendedRuleset = { + description: 'Recommended AsyncAPI 2.x.x ruleset.', + formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), + rules: { + /** + * Root Object rules + */ + 'asyncapi2-tags': { + description: 'AsyncAPI object should have non-empty "tags" array.', + recommended: true, + given: '$', + then: { + field: 'tags', + function: truthy, + }, + }, + /** + * Server Object rules + */ + 'asyncapi2-server-no-empty-variable': { + description: 'Server URL should not have empty variable substitution pattern.', + recommended: true, + given: '$.servers[*].url', + then: { + function: pattern, + functionOptions: { + notMatch: '{}', + }, + }, + }, + 'asyncapi2-server-no-trailing-slash': { + description: 'Server URL should not end with slash.', + recommended: true, + given: '$.servers[*].url', + then: { + function: pattern, + functionOptions: { + notMatch: '/$', + }, + }, + }, + /** + * Channel Object rules + */ + 'asyncapi2-channel-no-empty-parameter': { + description: 'Channel address should not have empty parameter substitution pattern.', + recommended: true, + given: '$.channels', + then: { + field: '@key', + function: pattern, + functionOptions: { + notMatch: '{}', + }, + }, + }, + 'asyncapi2-channel-no-trailing-slash': { + description: 'Channel address should not end with slash.', + recommended: true, + given: '$.channels', + then: { + field: '@key', + function: pattern, + functionOptions: { + notMatch: '.+\\/$', + }, + }, + }, + /** + * Operation Object rules + */ + 'asyncapi2-operation-operationId': { + description: 'Operation should have an "operationId" field defined.', + recommended: true, + given: ['$.channels[*][publish,subscribe]', '$.components.channels[*][publish,subscribe]'], + then: { + function: checkId, + functionOptions: { + idField: 'operationId', + }, + }, + }, + /** + * Message Object rules + */ + 'asyncapi2-message-messageId': { + description: 'Message should have a "messageId" field defined.', + recommended: true, + formats: AsyncAPIFormats.filterByMajorVersions(['2']).excludeByVersions(['2.0.0', '2.1.0', '2.2.0', '2.3.0']).formats(), + given: [ + '$.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.messages.*', + ], + then: { + function: checkId, + functionOptions: { + idField: 'messageId', + }, + }, + }, + /** + * Component Object rules + */ + 'asyncapi2-unused-securityScheme': { + description: 'Potentially unused security scheme has been detected in AsyncAPI document.', + recommended: true, + resolved: false, + severity: 'info', + given: '$', + then: { + function: unusedSecuritySchemes, + }, + }, + }, +}; diff --git a/apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts b/apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts new file mode 100644 index 000000000..fd7f3fbd4 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts @@ -0,0 +1,7 @@ +import type { JsonPath } from '@stoplight/types'; +import type { v2 } from '../../../spec-types'; +export type GetAllMessageResult = { + path: JsonPath; + message: v2.MessageObject; +}; +export declare function getAllMessages(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/esm/ruleset/v2/utils/getAllMessages.js b/apps/parser/esm/ruleset/v2/utils/getAllMessages.js new file mode 100644 index 000000000..b401043f3 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/utils/getAllMessages.js @@ -0,0 +1,30 @@ +import { isObject } from '../../../utils'; +import { getAllOperations } from './getAllOperations'; +export function* getAllMessages(asyncapi) { + for (const { path, operation } of getAllOperations(asyncapi)) { + if (!isObject(operation)) { + continue; + } + const maybeMessage = operation.message; + if (!isObject(maybeMessage)) { + continue; + } + const oneOf = maybeMessage.oneOf; + if (Array.isArray(oneOf)) { + for (const [index, message] of oneOf.entries()) { + if (isObject(message)) { + yield { + path: [...path, 'message', 'oneOf', index], + message, + }; + } + } + } + else { + yield { + path: [...path, 'message'], + message: maybeMessage, + }; + } + } +} diff --git a/apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts b/apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts new file mode 100644 index 000000000..b806e79b6 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts @@ -0,0 +1,8 @@ +import type { JsonPath } from '@stoplight/types'; +import type { v2 } from '../../../spec-types'; +export type GetAllOperationsResult = { + path: JsonPath; + kind: 'subscribe' | 'publish'; + operation: v2.OperationObject; +}; +export declare function getAllOperations(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/esm/ruleset/v2/utils/getAllOperations.js b/apps/parser/esm/ruleset/v2/utils/getAllOperations.js new file mode 100644 index 000000000..aeff54835 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/utils/getAllOperations.js @@ -0,0 +1,26 @@ +import { isObject } from '../../../utils'; +export function* getAllOperations(asyncapi) { + const channels = asyncapi === null || asyncapi === void 0 ? void 0 : asyncapi.channels; + if (!isObject(channels)) { + return {}; + } + for (const [channelAddress, channel] of Object.entries(channels)) { + if (!isObject(channel)) { + continue; + } + if (isObject(channel.subscribe)) { + yield { + path: ['channels', channelAddress, 'subscribe'], + kind: 'subscribe', + operation: channel.subscribe, + }; + } + if (isObject(channel.publish)) { + yield { + path: ['channels', channelAddress, 'publish'], + kind: 'publish', + operation: channel.publish, + }; + } + } +} diff --git a/apps/parser/esm/ruleset/v2/utils/index.d.ts b/apps/parser/esm/ruleset/v2/utils/index.d.ts new file mode 100644 index 000000000..904290167 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/utils/index.d.ts @@ -0,0 +1,2 @@ +export * from './getAllMessages'; +export * from './getAllOperations'; diff --git a/apps/parser/esm/ruleset/v2/utils/index.js b/apps/parser/esm/ruleset/v2/utils/index.js new file mode 100644 index 000000000..904290167 --- /dev/null +++ b/apps/parser/esm/ruleset/v2/utils/index.js @@ -0,0 +1,2 @@ +export * from './getAllMessages'; +export * from './getAllOperations'; diff --git a/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts b/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts new file mode 100644 index 000000000..c712112a0 --- /dev/null +++ b/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts @@ -0,0 +1,8 @@ +export declare const operationMessagesUnambiguity: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + channel?: { + $ref: string; + } | undefined; + messages?: [{ + $ref: string; + }] | undefined; +}, null>; diff --git a/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js b/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js new file mode 100644 index 000000000..63950e798 --- /dev/null +++ b/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js @@ -0,0 +1,36 @@ +import { createRulesetFunction } from '@stoplight/spectral-core'; +const referenceSchema = { + type: 'object', + properties: { + $ref: { + type: 'string', + format: 'uri-reference' + }, + }, +}; +export const operationMessagesUnambiguity = createRulesetFunction({ + input: { + type: 'object', + properties: { + channel: referenceSchema, + messages: { + type: 'array', + items: referenceSchema, + }, + }, + }, + options: null, +}, (targetVal, _, ctx) => { + var _a, _b; + const results = []; + const channelPointer = (_a = targetVal.channel) === null || _a === void 0 ? void 0 : _a.$ref; // required + (_b = targetVal.messages) === null || _b === void 0 ? void 0 : _b.forEach((message, index) => { + if (!message.$ref.startsWith(`${channelPointer}/messages`)) { + results.push({ + message: 'Operation message does not belong to the specified channel.', + path: [...ctx.path, 'messages', index], + }); + } + }); + return results; +}); diff --git a/apps/parser/esm/ruleset/v3/index.d.ts b/apps/parser/esm/ruleset/v3/index.d.ts new file mode 100644 index 000000000..5acc4189e --- /dev/null +++ b/apps/parser/esm/ruleset/v3/index.d.ts @@ -0,0 +1 @@ +export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v3/index.js b/apps/parser/esm/ruleset/v3/index.js new file mode 100644 index 000000000..5acc4189e --- /dev/null +++ b/apps/parser/esm/ruleset/v3/index.js @@ -0,0 +1 @@ +export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v3/ruleset.d.ts b/apps/parser/esm/ruleset/v3/ruleset.d.ts new file mode 100644 index 000000000..475012574 --- /dev/null +++ b/apps/parser/esm/ruleset/v3/ruleset.d.ts @@ -0,0 +1,58 @@ +export declare const v3CoreRuleset: { + description: string; + formats: import("@stoplight/spectral-core").Format[]; + rules: { + /** + * Operation Object rules + */ + 'asyncapi3-operation-messages-from-referred-channel': { + description: string; + message: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string[]; + then: { + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ + channel?: { + $ref: string; + } | undefined; + messages?: [{ + $ref: string; + }] | undefined; + }, null>; + }; + }; + 'asyncapi3-required-operation-channel-unambiguity': { + description: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + match: string; + }; + }; + }; + /** + * Channel Object rules + */ + 'asyncapi3-required-channel-servers-unambiguity': { + description: string; + severity: string; + recommended: boolean; + resolved: boolean; + given: string; + then: { + field: string; + function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; + functionOptions: { + match: string; + }; + }; + }; + }; +}; diff --git a/apps/parser/esm/ruleset/v3/ruleset.js b/apps/parser/esm/ruleset/v3/ruleset.js new file mode 100644 index 000000000..8ad8618d2 --- /dev/null +++ b/apps/parser/esm/ruleset/v3/ruleset.js @@ -0,0 +1,58 @@ +/* eslint-disable sonarjs/no-duplicate-string */ +import { AsyncAPIFormats } from '../formats'; +import { operationMessagesUnambiguity } from './functions/operationMessagesUnambiguity'; +import { pattern } from '@stoplight/spectral-functions'; +export const v3CoreRuleset = { + description: 'Core AsyncAPI 3.x.x ruleset.', + formats: AsyncAPIFormats.filterByMajorVersions(['3']).formats(), + rules: { + /** + * Operation Object rules + */ + 'asyncapi3-operation-messages-from-referred-channel': { + description: 'Operation "messages" must be a subset of the messages defined in the channel referenced in this operation.', + message: '{{error}}', + severity: 'error', + recommended: true, + resolved: false, + given: [ + '$.operations.*', + '$.components.operations.*', + ], + then: { + function: operationMessagesUnambiguity, + }, + }, + 'asyncapi3-required-operation-channel-unambiguity': { + description: 'The "channel" field of an operation under the root "operations" object must always reference a channel under the root "channels" object.', + severity: 'error', + recommended: true, + resolved: false, + given: '$.operations.*', + then: { + field: 'channel.$ref', + function: pattern, + functionOptions: { + match: '#\\/channels\\/', // If doesn't match, rule fails. + }, + }, + }, + /** + * Channel Object rules + */ + 'asyncapi3-required-channel-servers-unambiguity': { + description: 'The "servers" field of a channel under the root "channels" object must always reference a subset of the servers under the root "servers" object.', + severity: 'error', + recommended: true, + resolved: false, + given: '$.channels.*', + then: { + field: '$.servers.*.$ref', + function: pattern, + functionOptions: { + match: '#\\/servers\\/', // If doesn't match, rule fails. + }, + }, + } + }, +}; diff --git a/apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts b/apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts new file mode 100644 index 000000000..9f4f64000 --- /dev/null +++ b/apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts @@ -0,0 +1,2 @@ +import type { SchemaParser } from '../schema-parser'; +export declare function AsyncAPISchemaParser(): SchemaParser; diff --git a/apps/parser/esm/schema-parser/asyncapi-schema-parser.js b/apps/parser/esm/schema-parser/asyncapi-schema-parser.js new file mode 100644 index 000000000..02900b24a --- /dev/null +++ b/apps/parser/esm/schema-parser/asyncapi-schema-parser.js @@ -0,0 +1,102 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import Ajv from 'ajv'; +import addFormats from 'ajv-formats'; +import ajvErrors from 'ajv-errors'; +import specs from '@asyncapi/specs'; +import { specVersions } from '../constants'; +export function AsyncAPISchemaParser() { + return { + validate, + parse, + getMimeTypes, + }; +} +function validate(input) { + return __awaiter(this, void 0, void 0, function* () { + const version = input.asyncapi.semver.version; + const validator = getSchemaValidator(version); + let result = []; + const valid = validator(input.data); + if (!valid && validator.errors) { + result = ajvToSpectralResult(input.path, [...validator.errors]); + } + return result; + }); +} +function parse(input) { + return __awaiter(this, void 0, void 0, function* () { + return input.data; + }); +} +function getMimeTypes() { + const mimeTypes = [ + 'application/schema;version=draft-07', + 'application/schema+json;version=draft-07', + 'application/schema+yaml;version=draft-07', + ]; + specVersions.forEach((version) => { + mimeTypes.push(`application/vnd.aai.asyncapi;version=${version}`, `application/vnd.aai.asyncapi+json;version=${version}`, `application/vnd.aai.asyncapi+yaml;version=${version}`); + }); + return mimeTypes; +} +function ajvToSpectralResult(path, errors) { + return errors.map(error => { + return { + message: error.message, + path: [...path, ...error.instancePath.replace(/^\//, '').split('/')], + }; + }); +} +function getSchemaValidator(version) { + const ajv = getAjvInstance(); + let validator = ajv.getSchema(version); + if (!validator) { + const schema = preparePayloadSchema(specs.schemas[version], version); + ajv.addSchema(schema, version); + validator = ajv.getSchema(version); + } + return validator; +} +/** + * To validate the schema of the payload we just need a small portion of official AsyncAPI spec JSON Schema, the Schema Object in particular. The definition of Schema Object must be + * included in the returned JSON Schema. + */ +function preparePayloadSchema(asyncapiSchema, version) { + const payloadSchema = `http://asyncapi.com/definitions/${version}/schema.json`; + const definitions = asyncapiSchema.definitions; + if (definitions === undefined) { + throw new Error('AsyncAPI schema must contain definitions'); + } + // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. + delete definitions['http://json-schema.org/draft-07/schema']; + delete definitions['http://json-schema.org/draft-04/schema']; + return { + $ref: payloadSchema, + definitions + }; +} +let _ajv; +function getAjvInstance() { + if (_ajv) { + return _ajv; + } + _ajv = new Ajv({ + allErrors: true, + meta: true, + messages: true, + strict: false, + allowUnionTypes: true, + unicodeRegExp: false, + }); + addFormats(_ajv); + ajvErrors(_ajv); + return _ajv; +} diff --git a/apps/parser/esm/schema-parser/index.d.ts b/apps/parser/esm/schema-parser/index.d.ts new file mode 100644 index 000000000..fdbddef6c --- /dev/null +++ b/apps/parser/esm/schema-parser/index.d.ts @@ -0,0 +1,28 @@ +import type { Parser } from '../parser'; +import type { AsyncAPISchema, DetailedAsyncAPI, SchemaValidateResult } from '../types'; +export interface ValidateSchemaInput { + readonly asyncapi: DetailedAsyncAPI; + readonly data: D; + readonly meta: M; + readonly path: Array; + readonly schemaFormat: string; + readonly defaultSchemaFormat: string; +} +export interface ParseSchemaInput { + readonly asyncapi: DetailedAsyncAPI; + readonly data: D; + readonly meta: M; + readonly path: Array; + readonly schemaFormat: string; + readonly defaultSchemaFormat: string; +} +export interface SchemaParser { + validate: (input: ValidateSchemaInput) => void | SchemaValidateResult[] | Promise; + parse: (input: ParseSchemaInput) => AsyncAPISchema | Promise; + getMimeTypes: () => Array; +} +export declare function validateSchema(parser: Parser, input: ValidateSchemaInput): Promise; +export declare function parseSchema(parser: Parser, input: ParseSchemaInput): Promise; +export declare function registerSchemaParser(parser: Parser, schemaParser: SchemaParser): void; +export declare function getSchemaFormat(schematFormat: string | undefined, asyncapiVersion: string): string; +export declare function getDefaultSchemaFormat(asyncapiVersion: string): string; diff --git a/apps/parser/esm/schema-parser/index.js b/apps/parser/esm/schema-parser/index.js new file mode 100644 index 000000000..a82c9dd25 --- /dev/null +++ b/apps/parser/esm/schema-parser/index.js @@ -0,0 +1,58 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +export function validateSchema(parser, input) { + return __awaiter(this, void 0, void 0, function* () { + const schemaParser = parser.parserRegistry.get(input.schemaFormat); + if (schemaParser === undefined) { + const { path, schemaFormat } = input; + path.pop(); // remove 'payload' as last element of path + return [ + { + message: `Unknown schema format: "${schemaFormat}"`, + path: [...path, 'schemaFormat'], + }, + { + message: `Cannot validate and parse given schema due to unknown schema format: "${schemaFormat}"`, + path: [...path, 'payload'], + } + ]; + } + return schemaParser.validate(input); + }); +} +export function parseSchema(parser, input) { + return __awaiter(this, void 0, void 0, function* () { + const schemaParser = parser.parserRegistry.get(input.schemaFormat); + if (schemaParser === undefined) { + throw new Error('Unknown schema format'); + } + return schemaParser.parse(input); + }); +} +export function registerSchemaParser(parser, schemaParser) { + if (typeof schemaParser !== 'object' + || typeof schemaParser.validate !== 'function' + || typeof schemaParser.parse !== 'function' + || typeof schemaParser.getMimeTypes !== 'function') { + throw new Error('Custom parser must have "parse()", "validate()" and "getMimeTypes()" functions.'); + } + schemaParser.getMimeTypes().forEach(schemaFormat => { + parser.parserRegistry.set(schemaFormat, schemaParser); + }); +} +export function getSchemaFormat(schematFormat, asyncapiVersion) { + if (typeof schematFormat === 'string') { + return schematFormat; + } + return getDefaultSchemaFormat(asyncapiVersion); +} +export function getDefaultSchemaFormat(asyncapiVersion) { + return `application/vnd.aai.asyncapi;version=${asyncapiVersion}`; +} diff --git a/apps/parser/esm/schema-parser/spectral-rule-v2.d.ts b/apps/parser/esm/schema-parser/spectral-rule-v2.d.ts new file mode 100644 index 000000000..d8b894057 --- /dev/null +++ b/apps/parser/esm/schema-parser/spectral-rule-v2.d.ts @@ -0,0 +1,3 @@ +import type { RuleDefinition } from '@stoplight/spectral-core'; +import type { Parser } from '../parser'; +export declare function asyncApi2SchemaParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/esm/schema-parser/spectral-rule-v2.js b/apps/parser/esm/schema-parser/spectral-rule-v2.js new file mode 100644 index 000000000..435537998 --- /dev/null +++ b/apps/parser/esm/schema-parser/spectral-rule-v2.js @@ -0,0 +1,75 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { createRulesetFunction } from '@stoplight/spectral-core'; +import { validateSchema, getSchemaFormat, getDefaultSchemaFormat } from './index'; +import { createDetailedAsyncAPI } from '../utils'; +export function asyncApi2SchemaParserRule(parser) { + return { + description: 'Custom schema must be correctly formatted from the point of view of the used format.', + message: '{{error}}', + severity: 'error', + recommended: true, + given: [ + // operations + '$.channels.*.[publish,subscribe].message', + '$.channels.*.[publish,subscribe].message.oneOf.*', + '$.components.channels.*.[publish,subscribe].message', + '$.components.channels.*.[publish,subscribe].message.oneOf.*', + // messages + '$.components.messages.*', + ], + then: { + function: rulesetFunction(parser), + }, + }; +} +function rulesetFunction(parser) { + return createRulesetFunction({ + input: { + type: 'object', + properties: { + schemaFormat: { + type: 'string', + }, + payload: true, // any value + } + }, + options: null + }, (targetVal = {}, _, ctx) => __awaiter(this, void 0, void 0, function* () { + if (!targetVal.payload) { + return []; + } + const path = [...ctx.path, 'payload']; + const document = ctx.document; + const parsedSpec = document.data; + const schemaFormat = getSchemaFormat(targetVal.schemaFormat, parsedSpec.asyncapi); + const defaultSchemaFormat = getDefaultSchemaFormat(parsedSpec.asyncapi); + const asyncapi = createDetailedAsyncAPI(parsedSpec, document.__parserInput, document.source || undefined); + const input = { + asyncapi, + data: targetVal.payload, + meta: {}, + path, + schemaFormat, + defaultSchemaFormat, + }; + try { + return yield validateSchema(parser, input); + } + catch (err) { + return [ + { + message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, + path, + } + ]; + } + })); +} diff --git a/apps/parser/esm/spec-types/index.d.ts b/apps/parser/esm/spec-types/index.d.ts new file mode 100644 index 000000000..813b5f382 --- /dev/null +++ b/apps/parser/esm/spec-types/index.d.ts @@ -0,0 +1,2 @@ +export * as v2 from './v2'; +export * as v3 from './v3'; diff --git a/apps/parser/esm/spec-types/index.js b/apps/parser/esm/spec-types/index.js new file mode 100644 index 000000000..813b5f382 --- /dev/null +++ b/apps/parser/esm/spec-types/index.js @@ -0,0 +1,2 @@ +export * as v2 from './v2'; +export * as v3 from './v3'; diff --git a/apps/parser/esm/spec-types/v2.d.ts b/apps/parser/esm/spec-types/v2.d.ts new file mode 100644 index 000000000..56bf4d798 --- /dev/null +++ b/apps/parser/esm/spec-types/v2.d.ts @@ -0,0 +1,363 @@ +import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; +export type AsyncAPIVersion = string; +export type Identifier = string; +export type DefaultContentType = string; +export interface AsyncAPIObject extends SpecificationExtensions { + asyncapi: AsyncAPIVersion; + id?: Identifier; + info: InfoObject; + defaultContentType?: DefaultContentType; + servers?: ServersObject; + channels: ChannelsObject; + components?: ComponentsObject; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject; +} +export interface InfoObject extends SpecificationExtensions { + title: string; + version: string; + description?: string; + termsOfService?: string; + contact?: ContactObject; + license?: LicenseObject; +} +export interface ContactObject extends SpecificationExtensions { + name?: string; + url?: string; + email?: string; +} +export interface LicenseObject extends SpecificationExtensions { + name: string; + url?: string; +} +export type ServersObject = Record; +export interface ServerObject extends SpecificationExtensions { + url: string; + protocol: string; + protocolVersion?: string; + description?: string; + variables?: Record; + security?: Array; + bindings?: ServerBindingsObject | ReferenceObject; + tags?: TagsObject; +} +export interface ServerVariableObject extends SpecificationExtensions { + enum?: Array; + default?: string; + description?: string; + examples?: Array; +} +export interface ServerBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export type ChannelsObject = Record; +export interface ChannelObject extends SpecificationExtensions { + description?: string; + servers?: Array; + subscribe?: OperationObject; + publish?: OperationObject; + parameters?: ParametersObject; + bindings?: ChannelBindingsObject | ReferenceObject; +} +export interface ChannelBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export interface OperationObject extends OperationTraitObject, SpecificationExtensions { + message?: MessageObject | ReferenceObject | { + oneOf: Array; + }; + traits?: Array; +} +export interface OperationTraitObject extends SpecificationExtensions { + operationId?: string; + summary?: string; + description?: string; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject; + bindings?: OperationBindingsObject | ReferenceObject; +} +export interface OperationBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export type ParametersObject = Record; +export interface ParameterObject extends SpecificationExtensions { + description?: string; + schema?: SchemaObject; + location?: string; +} +export interface MessageObject extends MessageTraitObject, SpecificationExtensions { + payload?: any; + traits?: Array; +} +export interface MessageTraitObject extends SpecificationExtensions { + messageId?: string; + headers?: SchemaObject; + correlationId?: CorrelationIDObject | ReferenceObject; + schemaFormat?: string; + contentType?: string; + name?: string; + title?: string; + summary?: string; + description?: string; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject; + bindings?: MessageBindingsObject | ReferenceObject; + examples?: Array; +} +export interface MessageExampleObject extends SpecificationExtensions { + name?: string; + summary?: string; + headers?: Record; + payload?: any; +} +export interface MessageBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; +} +export type TagsObject = Array; +export interface TagObject extends SpecificationExtensions { + name: string; + description?: string; + externalDocs?: ExternalDocumentationObject; +} +export interface ExternalDocumentationObject extends SpecificationExtensions { + url: string; + description?: string; +} +export interface ComponentsObject extends SpecificationExtensions { + channels?: Record; + servers?: Record; + schemas?: Record; + messages?: Record; + securitySchemes?: Record; + parameters?: Record; + serverVariables?: Record; + correlationIds?: Record; + operationTraits?: Record; + messageTraits?: Record; + serverBindings?: Record; + channelBindings?: Record; + operationBindings?: Record; + messageBindings?: Record; +} +export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; +export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; +export interface AsyncAPISchemaDefinition extends SpecificationExtensions { + $id?: string; + $schema?: JSONSchema7Version; + $comment?: string; + type?: JSONSchema7TypeName | JSONSchema7TypeName[]; + enum?: JSONSchema7Type[]; + const?: JSONSchema7Type; + multipleOf?: number; + maximum?: number; + exclusiveMaximum?: number; + minimum?: number; + exclusiveMinimum?: number; + maxLength?: number; + minLength?: number; + pattern?: string; + items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; + additionalItems?: AsyncAPISchemaObject; + maxItems?: number; + minItems?: number; + uniqueItems?: boolean; + contains?: AsyncAPISchemaObject; + maxProperties?: number; + minProperties?: number; + required?: string[]; + properties?: { + [key: string]: AsyncAPISchemaObject; + }; + patternProperties?: { + [key: string]: AsyncAPISchemaObject; + }; + additionalProperties?: AsyncAPISchemaObject; + dependencies?: { + [key: string]: AsyncAPISchemaObject | string[]; + }; + propertyNames?: AsyncAPISchemaObject; + if?: AsyncAPISchemaObject; + then?: AsyncAPISchemaObject; + else?: AsyncAPISchemaObject; + allOf?: AsyncAPISchemaObject[]; + anyOf?: AsyncAPISchemaObject[]; + oneOf?: AsyncAPISchemaObject[]; + not?: AsyncAPISchemaObject; + format?: string; + contentMediaType?: string; + contentEncoding?: string; + definitions?: { + [key: string]: AsyncAPISchemaObject; + }; + title?: string; + description?: string; + default?: JSONSchema7Type; + readOnly?: boolean; + writeOnly?: boolean; + examples?: Array; + discriminator?: string; + externalDocs?: ExternalDocumentationObject; + deprecated?: boolean; + [keyword: string]: any; +} +export interface SecuritySchemeObject extends SpecificationExtensions { + type: SecuritySchemeType; + description?: string; + name?: string; + in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; + scheme?: string; + bearerFormat?: string; + flows?: OAuthFlowsObject; + openIdConnectUrl?: string; +} +export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; +export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'header' | 'cookie'; +export interface SecuritySchemeObjectBase extends SpecificationExtensions { + description?: string; +} +export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'userPassword'; +} +export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'apiKey'; + in: 'user' | 'password'; +} +export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'X509'; +} +export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'symmetricEncryption'; +} +export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'asymmetricEncryption'; +} +export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'httpApiKey'; + name: string; + in: 'query' | 'header' | 'cookie'; +} +export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'http'; + scheme: string; + bearerFormat?: string; +} +export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'oauth2'; + flows: OAuthFlowsObject; +} +export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'openIdConnect'; + openIdConnectUrl: string; +} +export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'plain'; +} +export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha256'; +} +export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha512'; +} +export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'gssapi'; +} +export interface OAuthFlowsObject extends SpecificationExtensions { + implicit?: OAuthFlowObjectImplicit; + password?: OAuthFlowObjectPassword; + clientCredentials?: OAuthFlowObjectClientCredentials; + authorizationCode?: OAuthFlowObjectAuthorizationCode; +} +export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; +export interface OAuthFlowObjectBase extends SpecificationExtensions { + refreshUrl?: string; + scopes: Record; +} +export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; +} +export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; + tokenUrl: string; +} +export type SecurityRequirementObject = Record>; +export interface CorrelationIDObject extends SpecificationExtensions { + location: string; + description?: string; +} +export interface Binding { + bindingVersion?: string; +} +export interface SpecificationExtensions { + [extension: `x-${string}`]: SpecificationExtension; +} +export type SpecificationExtension = T; +export interface ReferenceObject { + $ref: string; +} diff --git a/apps/parser/esm/spec-types/v2.js b/apps/parser/esm/spec-types/v2.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/spec-types/v2.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/spec-types/v3.d.ts b/apps/parser/esm/spec-types/v3.d.ts new file mode 100644 index 000000000..88b95e69a --- /dev/null +++ b/apps/parser/esm/spec-types/v3.d.ts @@ -0,0 +1,404 @@ +import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; +export type AsyncAPIVersion = string; +export type Identifier = string; +export type DefaultContentType = string; +export interface AsyncAPIObject extends SpecificationExtensions { + asyncapi: AsyncAPIVersion; + id?: Identifier; + defaultContentType?: DefaultContentType; + info: InfoObject; + servers?: ServersObject; + channels?: ChannelsObject; + operations?: OperationsObject; + components?: ComponentsObject; +} +export interface InfoObject extends SpecificationExtensions { + title: string; + version: string; + description?: string; + termsOfService?: string; + contact?: ContactObject; + license?: LicenseObject; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; +} +export interface ContactObject extends SpecificationExtensions { + name?: string; + url?: string; + email?: string; +} +export interface LicenseObject extends SpecificationExtensions { + name: string; + url?: string; +} +export type ServersObject = Record; +export interface ServerObject extends SpecificationExtensions { + host: string; + protocol: string; + pathname?: string; + protocolVersion?: string; + description?: string; + variables?: Record; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: ServerBindingsObject | ReferenceObject; +} +export interface ServerVariableObject extends SpecificationExtensions { + enum?: Array; + default?: string; + description?: string; + examples?: Array; +} +export interface ServerBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type ChannelsObject = Record; +export interface ChannelObject extends SpecificationExtensions { + address?: string | null; + messages?: MessagesObject; + title?: string; + summary?: string; + description?: string; + servers?: Array; + parameters?: ParametersObject; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: ChannelBindingsObject | ReferenceObject; +} +export interface ChannelBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type OperationsObject = Record; +export interface OperationObject extends SpecificationExtensions { + action: 'send' | 'receive'; + channel: ChannelObject | ReferenceObject; + messages?: Array; + reply?: OperationReplyObject | ReferenceObject; + title?: string; + summary?: string; + description?: string; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: OperationBindingsObject | ReferenceObject; + traits?: Array; +} +export interface OperationTraitObject extends SpecificationExtensions { + title?: string; + summary?: string; + description?: string; + security?: Array; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: OperationBindingsObject | ReferenceObject; +} +export interface OperationReplyObject extends SpecificationExtensions { + channel?: ChannelObject | ReferenceObject; + messages?: (MessageObject | ReferenceObject)[]; + address?: OperationReplyAddressObject | ReferenceObject; +} +export interface OperationReplyAddressObject extends SpecificationExtensions { + location: string; + description?: string; +} +export interface OperationBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type MessagesObject = Record; +export interface MessageObject extends MessageTraitObject, SpecificationExtensions { + payload?: any; + traits?: Array; +} +export interface MessageTraitObject extends SpecificationExtensions { + headers?: MultiFormatSchemaObject; + correlationId?: CorrelationIDObject | ReferenceObject; + contentType?: string; + name?: string; + title?: string; + summary?: string; + description?: string; + tags?: TagsObject; + externalDocs?: ExternalDocumentationObject | ReferenceObject; + bindings?: MessageBindingsObject | ReferenceObject; + examples?: Array; +} +export interface MessageExampleObject extends SpecificationExtensions { + name?: string; + summary?: string; + headers?: Record; + payload?: any; +} +export interface MessageBindingsObject extends SpecificationExtensions { + http?: Binding; + ws?: Binding; + kafka?: Binding; + anypointmq?: Binding; + amqp?: Binding; + amqp1?: Binding; + mqtt?: Binding; + mqtt5?: Binding; + nats?: Binding; + jms?: Binding; + sns?: Binding; + sqs?: Binding; + stomp?: Binding; + redis?: Binding; + mercure?: Binding; + ibmmq?: Binding; + googlepubsub?: Binding; +} +export type ParametersObject = Record; +export interface ParameterObject extends SpecificationExtensions { + description?: string; + enum?: string[]; + default?: string; + examples?: string[]; + location?: string; +} +export type TagsObject = Array; +export interface TagObject extends SpecificationExtensions { + name: string; + description?: string; + externalDocs?: ExternalDocumentationObject | ReferenceObject; +} +export interface ExternalDocumentationObject extends SpecificationExtensions { + url: string; + description?: string; +} +export interface ComponentsObject extends SpecificationExtensions { + servers?: Record; + channels?: Record; + operations?: Record; + messages?: Record; + schemas?: Record; + securitySchemes?: Record; + serverVariables?: Record; + parameters?: Record; + replies?: Record; + replyAddresses?: Record; + correlationIds?: Record; + operationTraits?: Record; + messageTraits?: Record; + tags?: Record; + externalDocs?: Record; + serverBindings?: Record; + channelBindings?: Record; + operationBindings?: Record; + messageBindings?: Record; +} +export interface SecuritySchemeObject extends SpecificationExtensions { + type: SecuritySchemeType; + description?: string; + name?: string; + in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; + scheme?: string; + bearerFormat?: string; + flows?: OAuthFlowsObject; + openIdConnectUrl?: string; + scopes?: string[]; +} +export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; +export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'cookie'; +export interface SecuritySchemeObjectBase extends SpecificationExtensions { + description?: string; +} +export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'userPassword'; +} +export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'apiKey'; + in: 'user' | 'password'; +} +export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'X509'; +} +export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'symmetricEncryption'; +} +export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'asymmetricEncryption'; +} +export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'httpApiKey'; + name: string; + in: 'query' | 'header' | 'cookie'; +} +export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'http'; + scheme: string; + bearerFormat?: string; +} +export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'oauth2'; + flows: OAuthFlowsObject; + scopes: string[]; +} +export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'openIdConnect'; + openIdConnectUrl: string; +} +export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'plain'; +} +export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha256'; +} +export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'scramSha512'; +} +export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { + type: 'gssapi'; +} +export interface OAuthFlowsObject extends SpecificationExtensions { + implicit?: OAuthFlowObjectImplicit; + password?: OAuthFlowObjectPassword; + clientCredentials?: OAuthFlowObjectClientCredentials; + authorizationCode?: OAuthFlowObjectAuthorizationCode; +} +export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; +export interface OAuthFlowObjectBase extends SpecificationExtensions { + refreshUrl?: string; + availableScopes: Record; +} +export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; +} +export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { + tokenUrl: string; +} +export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { + authorizationUrl: string; + tokenUrl: string; +} +export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; +export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; +export type MultiFormatObject = { + schema: AsyncAPISchemaObject; + schemaFormat: string | undefined; +}; +export type MultiFormatSchemaObject = AsyncAPISchemaObject | MultiFormatObject; +export interface AsyncAPISchemaDefinition extends SpecificationExtensions { + $id?: string; + $schema?: JSONSchema7Version; + $comment?: string; + type?: JSONSchema7TypeName | JSONSchema7TypeName[]; + enum?: JSONSchema7Type[]; + const?: JSONSchema7Type; + multipleOf?: number; + maximum?: number; + exclusiveMaximum?: number; + minimum?: number; + exclusiveMinimum?: number; + maxLength?: number; + minLength?: number; + pattern?: string; + items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; + additionalItems?: AsyncAPISchemaObject; + maxItems?: number; + minItems?: number; + uniqueItems?: boolean; + contains?: AsyncAPISchemaObject; + maxProperties?: number; + minProperties?: number; + required?: string[]; + properties?: { + [key: string]: AsyncAPISchemaObject; + }; + patternProperties?: { + [key: string]: AsyncAPISchemaObject; + }; + additionalProperties?: AsyncAPISchemaObject; + dependencies?: { + [key: string]: AsyncAPISchemaObject | string[]; + }; + propertyNames?: AsyncAPISchemaObject; + if?: AsyncAPISchemaObject; + then?: AsyncAPISchemaObject; + else?: AsyncAPISchemaObject; + allOf?: AsyncAPISchemaObject[]; + anyOf?: AsyncAPISchemaObject[]; + oneOf?: AsyncAPISchemaObject[]; + not?: AsyncAPISchemaObject; + format?: string; + contentMediaType?: string; + contentEncoding?: string; + definitions?: { + [key: string]: AsyncAPISchemaObject; + }; + title?: string; + description?: string; + default?: JSONSchema7Type; + readOnly?: boolean; + writeOnly?: boolean; + examples?: Array; + discriminator?: string; + externalDocs?: ExternalDocumentationObject; + deprecated?: boolean; + [keyword: string]: any; +} +export interface Binding { + bindingVersion?: string; +} +export interface SpecificationExtensions { + [extension: `x-${string}`]: SpecificationExtension; +} +export type SpecificationExtension = T; +export interface ReferenceObject { + $ref: string; +} +export interface CorrelationIDObject extends SpecificationExtensions { + location: string; + description?: string; +} diff --git a/apps/parser/esm/spec-types/v3.js b/apps/parser/esm/spec-types/v3.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/spec-types/v3.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/spectral.d.ts b/apps/parser/esm/spectral.d.ts new file mode 100644 index 000000000..8b7d9ec12 --- /dev/null +++ b/apps/parser/esm/spectral.d.ts @@ -0,0 +1,3 @@ +import { Spectral } from '@stoplight/spectral-core'; +import type { Parser, ParserOptions } from './parser'; +export declare function createSpectral(parser: Parser, options?: ParserOptions): Spectral; diff --git a/apps/parser/esm/spectral.js b/apps/parser/esm/spectral.js new file mode 100644 index 000000000..34be6f474 --- /dev/null +++ b/apps/parser/esm/spectral.js @@ -0,0 +1,11 @@ +import { Spectral } from '@stoplight/spectral-core'; +import { createRuleset } from './ruleset'; +import { createResolver } from './resolver'; +export function createSpectral(parser, options = {}) { + var _a; + const resolverOptions = (_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver; + const spectral = new Spectral({ resolver: createResolver(resolverOptions) }); + const ruleset = createRuleset(parser, options.ruleset); + spectral.setRuleset(ruleset); + return spectral; +} diff --git a/apps/parser/esm/stringify.d.ts b/apps/parser/esm/stringify.d.ts new file mode 100644 index 000000000..88e0df5c1 --- /dev/null +++ b/apps/parser/esm/stringify.d.ts @@ -0,0 +1,9 @@ +import { AsyncAPIDocumentInterface } from './models'; +export interface StringifyOptions { + space?: string | number; +} +export declare function stringify(document: unknown, options?: StringifyOptions): string | undefined; +export declare function unstringify(document: unknown): AsyncAPIDocumentInterface | undefined; +export declare function copy(data: Record): any; +export declare function refReplacer(): (this: unknown, field: string, value: unknown) => unknown; +export declare function traverseStringifiedData(parent: any, field: string | undefined, root: any, objToPath: Map, pathToObj: Map): void; diff --git a/apps/parser/esm/stringify.js b/apps/parser/esm/stringify.js new file mode 100644 index 000000000..f7cad5ffe --- /dev/null +++ b/apps/parser/esm/stringify.js @@ -0,0 +1,97 @@ +import { createAsyncAPIDocument, isAsyncAPIDocument, isParsedDocument, isStringifiedDocument } from './document'; +import { createDetailedAsyncAPI } from './utils'; +import { xParserSpecStringified } from './constants'; +export function stringify(document, options = {}) { + if (isAsyncAPIDocument(document)) { + document = document.json(); + } + else if (isParsedDocument(document)) { + if (isStringifiedDocument(document)) { + return JSON.stringify(document); + } + } + else { + return; + } + return JSON.stringify(Object.assign(Object.assign({}, document), { [String(xParserSpecStringified)]: true }), refReplacer(), options.space || 2); +} +export function unstringify(document) { + let parsed = document; + if (typeof document === 'string') { + try { + parsed = JSON.parse(document); + } + catch (_) { + return; + } + } + if (!isStringifiedDocument(parsed)) { + return; + } + // shall copy of whole JSON + parsed = Object.assign({}, parsed); + // remove `x-parser-spec-stringified` extension + delete parsed[String(xParserSpecStringified)]; + traverseStringifiedData(document, undefined, document, new Map(), new Map()); + return createAsyncAPIDocument(createDetailedAsyncAPI(parsed, document)); +} +export function copy(data) { + const stringifiedData = JSON.stringify(data, refReplacer()); + const unstringifiedData = JSON.parse(stringifiedData); + traverseStringifiedData(unstringifiedData, undefined, unstringifiedData, new Map(), new Map()); + return unstringifiedData; +} +export function refReplacer() { + const modelPaths = new Map(); + const paths = new Map(); + let init = null; + return function (field, value) { + // `this` points to parent object of given value - some object or array + const pathPart = modelPaths.get(this) + (Array.isArray(this) ? `[${field}]` : `.${field}`); + // check if `objOrPath` has "reference" + const isComplex = value === Object(value); + if (isComplex) { + modelPaths.set(value, pathPart); + } + const savedPath = paths.get(value) || ''; + if (!savedPath && isComplex) { + const valuePath = pathPart.replace(/undefined\.\.?/, ''); + paths.set(value, valuePath); + } + const prefixPath = savedPath[0] === '[' ? '$' : '$.'; + let val = savedPath ? `$ref:${prefixPath}${savedPath}` : value; + if (init === null) { + init = value; + } + else if (val === init) { + val = '$ref:$'; + } + return val; + }; +} +const refRoot = '$ref:$'; +export function traverseStringifiedData(parent, field, root, objToPath, pathToObj) { + let objOrPath = parent; + let path = refRoot; + if (field !== undefined) { + // here can be string with `$ref` prefix or normal value + objOrPath = parent[String(field)]; + const concatenatedPath = field ? `.${field}` : ''; + path = objToPath.get(parent) + (Array.isArray(parent) ? `[${field}]` : concatenatedPath); + } + objToPath.set(objOrPath, path); + pathToObj.set(path, objOrPath); + const ref = pathToObj.get(objOrPath); + if (ref) { + parent[String(field)] = ref; + } + if (objOrPath === refRoot || ref === refRoot) { + parent[String(field)] = root; + } + // traverse all keys, only if object is array/object + if (objOrPath === Object(objOrPath)) { + for (const f in objOrPath) { + traverseStringifiedData(objOrPath, f, root, objToPath, pathToObj); + } + } +} diff --git a/apps/parser/esm/types.d.ts b/apps/parser/esm/types.d.ts new file mode 100644 index 000000000..b0d0d31ef --- /dev/null +++ b/apps/parser/esm/types.d.ts @@ -0,0 +1,24 @@ +import type { ISpectralDiagnostic, IFunctionResult } from '@stoplight/spectral-core'; +import type { AsyncAPIDocumentInterface } from './models'; +import type { v2, v3 } from './spec-types'; +export type MaybeAsyncAPI = { + asyncapi: string; +} & Record; +export interface AsyncAPISemver { + version: string; + major: number; + minor: number; + patch: number; + rc?: number; +} +export interface DetailedAsyncAPI { + source?: string; + input?: string | MaybeAsyncAPI | AsyncAPIObject; + parsed: AsyncAPIObject; + semver: AsyncAPISemver; +} +export type Input = string | MaybeAsyncAPI | AsyncAPIDocumentInterface; +export type Diagnostic = ISpectralDiagnostic; +export type SchemaValidateResult = IFunctionResult; +export type AsyncAPIObject = v2.AsyncAPIObject | v3.AsyncAPIObject; +export type AsyncAPISchema = v2.AsyncAPISchemaObject | v3.AsyncAPISchemaObject; diff --git a/apps/parser/esm/types.js b/apps/parser/esm/types.js new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/parser/esm/types.js @@ -0,0 +1 @@ +export {}; diff --git a/apps/parser/esm/utils.d.ts b/apps/parser/esm/utils.d.ts new file mode 100644 index 000000000..56234e81c --- /dev/null +++ b/apps/parser/esm/utils.d.ts @@ -0,0 +1,28 @@ +import { Document } from '@stoplight/spectral-core'; +import type { ISpectralDiagnostic } from '@stoplight/spectral-core'; +import type { BaseModel } from './models'; +import type { AsyncAPISemver, AsyncAPIObject, DetailedAsyncAPI, MaybeAsyncAPI, Diagnostic } from './types'; +export declare function createDetailedAsyncAPI(parsed: AsyncAPIObject, input?: string | MaybeAsyncAPI | AsyncAPIObject, source?: string): DetailedAsyncAPI; +export declare function getSemver(version: string): AsyncAPISemver; +export declare function normalizeInput(asyncapi: string | MaybeAsyncAPI): string; +export declare function hasErrorDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function hasWarningDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function hasInfoDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function hasHintDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; +export declare function setExtension(id: string, value: unknown, model: BaseModel): void; +export declare function setExtensionOnJson(id: string, value: unknown, model: any): void; +export declare function mergePatch(origin: unknown, patch: unknown): T; +export declare function isObject(value: unknown): value is Record; +export declare function hasRef(value: unknown): value is { + $ref: string; +}; +export declare function toJSONPathArray(jsonPath: string): Array; +export declare function createUncaghtDiagnostic(err: unknown, message: string, document?: Document): Diagnostic[]; +export declare function tilde(str: string): string; +export declare function untilde(str: string): string; +export declare function findSubArrayIndex(arr: Array, subarr: Array, fromIndex?: number): number; +export declare function resolveServerUrl(url: string): { + host: string; + pathname: string | undefined; +}; +export declare function retrieveDeepData(value: Record, path: Array): Record | undefined; diff --git a/apps/parser/esm/utils.js b/apps/parser/esm/utils.js new file mode 100644 index 000000000..c0c55f691 --- /dev/null +++ b/apps/parser/esm/utils.js @@ -0,0 +1,156 @@ +import { Document } from '@stoplight/spectral-core'; +import { DiagnosticSeverity } from '@stoplight/types'; +export function createDetailedAsyncAPI(parsed, input, source) { + return { + source, + input, + parsed, + semver: getSemver(parsed.asyncapi), + }; +} +export function getSemver(version) { + const [major, minor, patchWithRc] = version.split('.'); + const [patch, rc] = patchWithRc.split('-rc'); + return { + version, + major: Number(major), + minor: Number(minor), + patch: Number(patch), + rc: rc && Number(rc), + }; +} +export function normalizeInput(asyncapi) { + if (typeof asyncapi === 'string') { + return asyncapi; + } + return JSON.stringify(asyncapi, undefined, 2); +} +export function hasErrorDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Error); +} +export function hasWarningDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Warning); +} +export function hasInfoDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Information); +} +export function hasHintDiagnostic(diagnostics) { + return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Hint); +} +export function setExtension(id, value, model) { + const modelValue = model.json(); + setExtensionOnJson(id, value, modelValue); +} +export function setExtensionOnJson(id, value, model) { + if (typeof model === 'object' && model) { + id = id.startsWith('x-') ? id : `x-${id}`; + model[String(id)] = value; + } +} +export function mergePatch(origin, patch) { + // If the patch is not an object, it replaces the origin. + if (!isObject(patch)) { + return patch; + } + const result = !isObject(origin) + ? {} // Non objects are being replaced. + : Object.assign({}, origin); // Make sure we never modify the origin. + Object.keys(patch).forEach(key => { + const patchVal = patch[key]; + if (patchVal === null) { + delete result[key]; + } + else { + result[key] = mergePatch(result[key], patchVal); + } + }); + return result; +} +export function isObject(value) { + return Boolean(value) && typeof value === 'object' && Array.isArray(value) === false; +} +export function hasRef(value) { + return isObject(value) && '$ref' in value && typeof value.$ref === 'string'; +} +export function toJSONPathArray(jsonPath) { + return splitPath(serializePath(jsonPath)); +} +export function createUncaghtDiagnostic(err, message, document) { + if (!(err instanceof Error)) { + return []; + } + const range = document ? document.getRangeForJsonPath([]) : Document.DEFAULT_RANGE; + return [ + { + code: 'uncaught-error', + message: `${message}. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, + path: [], + severity: DiagnosticSeverity.Error, + range, + } + ]; +} +export function tilde(str) { + return str.replace(/[~/]{1}/g, (sub) => { + switch (sub) { + case '/': return '~1'; + case '~': return '~0'; + } + return sub; + }); +} +export function untilde(str) { + if (!str.includes('~')) + return str; + return str.replace(/~[01]/g, (sub) => { + switch (sub) { + case '~1': return '/'; + case '~0': return '~'; + } + return sub; + }); +} +export function findSubArrayIndex(arr, subarr, fromIndex = 0) { + let i, found, j; + for (i = fromIndex; i < 1 + (arr.length - subarr.length); ++i) { + found = true; + for (j = 0; j < subarr.length; ++j) { + if (arr[i + j] !== subarr[j]) { + found = false; + break; + } + } + if (found) { + return i; + } + } + return -1; +} +export function resolveServerUrl(url) { + // eslint-disable-next-line prefer-const + let [maybeProtocol, maybeHost] = url.split('://'); + if (!maybeHost) { + maybeHost = maybeProtocol; + } + const [host, ...pathnames] = maybeHost.split('/'); + if (pathnames.length) { + return { host, pathname: `/${pathnames.join('/')}` }; + } + return { host, pathname: undefined }; +} +export function retrieveDeepData(value, path) { + let index = 0; + const length = path.length; + while (typeof value === 'object' && value && index < length) { + value = value[path[index++]]; + } + return index === length ? value : undefined; +} +function serializePath(path) { + if (path.startsWith('#')) + return path.substring(1); + return path; +} +function splitPath(path) { + return path.split('/').filter(Boolean).map(untilde); +} diff --git a/apps/parser/esm/validate.d.ts b/apps/parser/esm/validate.d.ts new file mode 100644 index 000000000..efb050810 --- /dev/null +++ b/apps/parser/esm/validate.d.ts @@ -0,0 +1,25 @@ +import { Document } from '@stoplight/spectral-core'; +import type { Spectral, IRunOpts } from '@stoplight/spectral-core'; +import type { Parser } from './parser'; +import type { ResolverOptions } from './resolver'; +import type { Input, Diagnostic } from './types'; +export interface ValidateOptions extends IRunOpts { + source?: string; + allowedSeverity?: { + error?: boolean; + warning?: boolean; + info?: boolean; + hint?: boolean; + }; + __unstable?: { + resolver?: Omit; + }; +} +export interface ValidateOutput { + validated: unknown; + diagnostics: Diagnostic[]; + extras: { + document: Document; + }; +} +export declare function validate(parser: Parser, parserSpectral: Spectral, asyncapi: Input, options?: ValidateOptions): Promise; diff --git a/apps/parser/esm/validate.js b/apps/parser/esm/validate.js new file mode 100644 index 000000000..a564d9ca1 --- /dev/null +++ b/apps/parser/esm/validate.js @@ -0,0 +1,48 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { Document } from '@stoplight/spectral-core'; +import { Yaml } from '@stoplight/spectral-parsers'; +import { createSpectral } from './spectral'; +import { normalizeInput, mergePatch, hasErrorDiagnostic, hasWarningDiagnostic, hasInfoDiagnostic, hasHintDiagnostic, createUncaghtDiagnostic } from './utils'; +const defaultOptions = { + allowedSeverity: { + error: false, + warning: true, + info: true, + hint: true, + }, + __unstable: {}, +}; +export function validate(parser, parserSpectral, asyncapi, options = {}) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + let document; + try { + const { allowedSeverity } = mergePatch(defaultOptions, options); + const stringifiedDocument = normalizeInput(asyncapi); + document = new Document(stringifiedDocument, Yaml, options.source); + // add input data (asyncapi argument) to the document to reuse it in rules + document.__parserInput = asyncapi; + const spectral = ((_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver) ? createSpectral(parser, options) : parserSpectral; + // eslint-disable-next-line prefer-const + let { resolved: validated, results } = yield spectral.runWithResolved(document, {}); + if ((!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.error) && hasErrorDiagnostic(results)) || + (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.warning) && hasWarningDiagnostic(results)) || + (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.info) && hasInfoDiagnostic(results)) || + (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.hint) && hasHintDiagnostic(results))) { + validated = undefined; + } + return { validated, diagnostics: results, extras: { document: document } }; + } + catch (err) { + return { validated: undefined, diagnostics: createUncaghtDiagnostic(err, 'Error thrown during AsyncAPI document validation', document), extras: { document: document } }; + } + }); +} diff --git a/apps/parser/jest.config.ts b/apps/parser/jest.config.ts index fd08ba804..aeeb621f2 100644 --- a/apps/parser/jest.config.ts +++ b/apps/parser/jest.config.ts @@ -11,8 +11,8 @@ const config: Config.InitialOptions = { // `` is a token Jest substitutes roots: [''], moduleNameMapper: { - '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', - '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', + '^nimma/legacy$': '/../../node_modules/nimma/dist/legacy/cjs/index.js', + '^nimma/(.*)': '/../../node_modules/nimma/dist/cjs/$1', '^@stoplight/spectral-ruleset-bundler/(.*)$': '/node_modules/@stoplight/spectral-ruleset-bundler/dist/$1' }, @@ -28,4 +28,4 @@ const config: Config.InitialOptions = { ], }; -export default config; \ No newline at end of file +export default config; diff --git a/package-lock.json b/package-lock.json index fd03d75d0..87bcf3a07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ }, "apps/docs": { "version": "1.0.0", + "extraneous": true, "dependencies": { "@repo/ui": "*", "next": "^14.1.1", @@ -39,8 +40,301 @@ "typescript": "^5.3.3" } }, + "apps/parser": { + "version": "3.0.14", + "license": "Apache-2.0", + "dependencies": { + "@asyncapi/specs": "^6.6.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7" + }, + "devDependencies": { + "@asyncapi/avro-schema-parser": "^3.0.22", + "@jest/types": "^29.0.2", + "@swc/core": "^1.2.248", + "@swc/jest": "^0.2.22", + "@types/jest": "^27.4.1", + "@types/js-yaml": "^4.0.5", + "@types/node": "^18.16.1", + "@types/node-fetch": "^2.6.2", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "browserify": "^16.3.0", + "browserify-shim": "^3.8.14", + "cross-env": "^7.0.3", + "eslint": "^8.23.0", + "eslint-plugin-github": "^4.3.7", + "eslint-plugin-security": "^1.5.0", + "eslint-plugin-sonarjs": "^0.15.0", + "jest": "^29.0.2", + "markdown-toc": "^1.2.0", + "path-browserify": "^1.0.1", + "puppeteer": "^17.1.1", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "typescript": "^4.8.2", + "webpack": "^5.74.0", + "webpack-bundle-analyzer": "^4.6.1", + "webpack-cli": "^4.10.0" + } + }, + "apps/parser/node_modules/@types/node": { + "version": "18.19.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz", + "integrity": "sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "apps/parser/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "apps/parser/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "apps/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "apps/parser/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "apps/parser/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "apps/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "apps/parser/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "apps/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "apps/parser/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "apps/parser/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "apps/parser/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "apps/parser/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "apps/web": { "version": "1.0.0", + "extraneous": true, "dependencies": { "@repo/ui": "*", "next": "^14.1.1", @@ -81,6 +375,29 @@ "node": ">=6.0.0" } }, + "node_modules/@asyncapi/avro-schema-parser": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.22.tgz", + "integrity": "sha512-nrrIIPehHoS1+Zc0eCO3+ijo7VJhWaFqVTupFYJVxxiwNrx7HpldLiTt1awIUDU6rJTm9czGLQq8MIgtXb/Dqg==", + "dev": true, + "dependencies": { + "@asyncapi/parser": "^3.0.14", + "@types/json-schema": "^7.0.11", + "avsc": "^5.7.6" + } + }, + "node_modules/@asyncapi/parser": { + "resolved": "apps/parser", + "link": true + }, + "node_modules/@asyncapi/specs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.6.0.tgz", + "integrity": "sha512-pXJa0sCeBpif5al5CSa0f3HvwVBQXzd96/Xgq8Jsh6KM4CYxCe7p6paaC9fDjdBVXyWAioQmZiGRxEVUMINbUw==", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, "node_modules/@babel/code-frame": { "version": "7.24.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", @@ -283,6 +600,15 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", @@ -375,64 +701,228 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.14.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.4.tgz", - "integrity": "sha512-VOQOexSilscN24VEY810G/PqtpFvx/z6UqDIjIWbDe2368HhDLkYN5TYwaEz/+eRCUkhJ2WaNLLmQAlxzfWj4w==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/helper-plugin-utils": "^7.12.13" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/types": { @@ -449,6 +939,12 @@ "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -471,6 +967,15 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -576,6 +1081,12 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@github/browserslist-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", + "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", + "dev": true + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -636,6 +1147,8 @@ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -653,6 +1166,8 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=12" }, @@ -665,6 +1180,8 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=12" }, @@ -677,6 +1194,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -694,6 +1213,8 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -709,6 +1230,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -721,1684 +1244,6938 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "engines": { - "node": ">=6.0.0" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@microsoft/tsdoc": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", - "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", - "dev": true - }, - "node_modules/@microsoft/tsdoc-config": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", - "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "@microsoft/tsdoc": "0.14.2", - "ajv": "~6.12.6", - "jju": "~1.4.0", - "resolve": "~1.19.0" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@next/env": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.2.tgz", - "integrity": "sha512-sk72qRfM1Q90XZWYRoJKu/UWlTgihrASiYw/scb15u+tyzcze3bOuJ/UV6TBOQEeUaxOkRqGeuGUdiiuxc5oqw==" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.2.tgz", - "integrity": "sha512-q+Ec2648JtBpKiu/FSJm8HAsFXlNvioHeBCbTP12T1SGcHYwhqHULSfQgFkPgHDu3kzNp2Kem4J54bK4rPQ5SQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "glob": "10.3.10" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.2.tgz", - "integrity": "sha512-3iPgMhzbalizGwHNFUcGnDhFPSgVBHQ8aqSTAMxB5BvJG0oYrDf1WOJZlbXBgunOEj/8KMVbejEur/FpvFsgFQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], + "p-limit": "^2.2.0" + }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "eslint-scope": "5.1.1" + "engines": { + "node": ">=8" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true, - "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=14" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@repo/eslint-config": { - "resolved": "packages/eslint-config", - "link": true - }, - "node_modules/@repo/typescript-config": { - "resolved": "packages/typescript-config", - "link": true - }, - "node_modules/@repo/ui": { - "resolved": "packages/ui", - "link": true - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", - "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==", - "dev": true - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "dev": true - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/@turbo/gen": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@turbo/gen/-/gen-1.13.2.tgz", - "integrity": "sha512-6/Z90XAMbfQCFX3QUyVEy5Te1u8Bm/K2ob7FaD7OrFYLtnKnzTghH1pOglFqfmdHqLusCrGEF00J9lKz176BNQ==", - "dev": true, - "dependencies": { - "@turbo/workspaces": "1.13.2", - "chalk": "2.4.2", - "commander": "^10.0.0", - "fs-extra": "^10.1.0", - "inquirer": "^8.2.4", - "minimatch": "^9.0.0", - "node-plop": "^0.26.3", - "proxy-agent": "^6.2.2", - "ts-node": "^10.9.1", - "update-check": "^1.5.4", - "validate-npm-package-name": "^5.0.0" - }, - "bin": { - "gen": "dist/cli.js" + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/@turbo/workspaces": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@turbo/workspaces/-/workspaces-1.13.2.tgz", - "integrity": "sha512-m1kUcR6VRbJH4Ok0J+dA6blMu3Ywjq1d9rg/4OAMtkLPkO74LjGKtmqw7VNKhYlQBJd3oMyiI3mWn+QL7abtpg==", + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "chalk": "2.4.2", - "commander": "^10.0.0", - "execa": "5.1.1", - "fast-glob": "^3.2.12", - "fs-extra": "^10.1.0", - "gradient-string": "^2.0.0", - "inquirer": "^8.0.0", - "js-yaml": "^4.1.0", - "ora": "4.1.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "update-check": "^1.5.4" + "has-flag": "^4.0.0" }, - "bin": { - "workspaces": "dist/cli.js" + "engines": { + "node": ">=8" } }, - "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/inquirer": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-6.5.0.tgz", - "integrity": "sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@types/through": "*", - "rxjs": "^6.4.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/inquirer/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "color-name": "~1.1.4" }, "engines": { - "npm": ">=2.0.0" + "node": ">=7.0.0" } }, - "node_modules/@types/inquirer/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true + "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/@types/react": { - "version": "18.2.79", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", - "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/react-dom": { - "version": "18.2.25", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz", - "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==", + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", "dev": true, "dependencies": { - "@types/react": "*" + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, - "node_modules/@types/through": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", - "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, "dependencies": { - "@types/node": "*" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/tinycolor2": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.6.tgz", - "integrity": "sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz", - "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==", + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/type-utils": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz", - "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==", + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "eslint": "^8.56.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "typescript": { + "node-notifier": { "optional": true } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz", - "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==", + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz", - "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==", + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@typescript-eslint/types": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz", - "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==", + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz", - "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==", + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz", - "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==", + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "semver": "^7.6.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "*" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" }, - "peerDependencies": { - "eslint": "^8.56.0" + "engines": { + "node": ">=8" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz", - "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.7.0", - "eslint-visitor-keys": "^3.4.3" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@vercel/style-guide": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@vercel/style-guide/-/style-guide-5.2.0.tgz", - "integrity": "sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, "dependencies": { - "@babel/core": "^7.22.11", - "@babel/eslint-parser": "^7.22.11", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/eslint-plugin": "^6.5.0", - "@typescript-eslint/parser": "^6.5.0", - "eslint-config-prettier": "^9.0.0", - "eslint-import-resolver-alias": "^1.1.2", - "eslint-import-resolver-typescript": "^3.6.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jest": "^27.2.3", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-playwright": "^0.16.0", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-testing-library": "^6.0.1", - "eslint-plugin-tsdoc": "^0.2.17", - "eslint-plugin-unicorn": "^48.0.1", - "prettier-plugin-packagejson": "^2.4.5" + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@next/eslint-plugin-next": ">=12.3.0 <15", - "eslint": ">=8.48.0 <9", - "prettier": ">=3.0.0 <4", - "typescript": ">=4.8.0 <6" - }, - "peerDependenciesMeta": { - "@next/eslint-plugin-next": { - "optional": true - }, - "eslint": { - "optional": true - }, - "prettier": { - "optional": true - }, - "typescript": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", - "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/type-utils": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4" + "color-convert": "^2.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/type-utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", - "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=7.0.0" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=8" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", - "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "semver": "^7.5.4" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@vercel/style-guide/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.4.0" + "node": ">=7.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "debug": "^4.3.4" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.0.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", + "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", "engines": { - "node": ">=4" + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "node_modules/@jsep-plugin/ternary": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", + "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/@microsoft/tsdoc": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", + "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", "dev": true }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "node_modules/@microsoft/tsdoc-config": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", + "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", "dev": true, "dependencies": { - "dequal": "^2.0.3" + "@microsoft/tsdoc": "0.14.2", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "node_modules/@next/eslint-plugin-next": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.2.tgz", + "integrity": "sha512-q+Ec2648JtBpKiu/FSJm8HAsFXlNvioHeBCbTP12T1SGcHYwhqHULSfQgFkPgHDu3kzNp2Kem4J54bK4rPQ5SQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "glob": "10.3.10" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "eslint-scope": "5.1.1" } }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, + "node_modules/@openapi-contrib/openapi-schema-to-json-schema": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", + "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "fast-deep-equal": "^3.1.3" } }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true + }, + "node_modules/@repo/eslint-config": { + "resolved": "packages/eslint-config", + "link": true + }, + "node_modules/@repo/typescript-config": { + "resolved": "packages/typescript-config", + "link": true + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", + "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==", + "dev": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@stoplight/json": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", + "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.3", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "jsonc-parser": "~2.2.1", + "lodash": "^4.17.21", + "safe-stable-stringify": "^1.1" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json-ref-readers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", + "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", + "dependencies": { + "node-fetch": "^2.6.0", + "tslib": "^1.14.1" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@stoplight/json-ref-resolver": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", + "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", + "dependencies": { + "@stoplight/json": "^3.21.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0 || ^13.0.0", + "@types/urijs": "^1.19.19", + "dependency-graph": "~0.11.0", + "fast-memoize": "^2.5.2", + "immer": "^9.0.6", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "urijs": "^1.19.11" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/ordered-object-literal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.5.tgz", + "integrity": "sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/path": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", + "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-core": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz", + "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-parsers": "^1.0.0", + "@stoplight/spectral-ref-resolver": "^1.0.0", + "@stoplight/spectral-runtime": "^1.0.0", + "@stoplight/types": "~13.6.0", + "@types/es-aggregate-error": "^1.0.2", + "@types/json-schema": "^7.0.11", + "ajv": "^8.6.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.0", + "es-aggregate-error": "^1.0.7", + "jsonpath-plus": "7.1.0", + "lodash": "~4.17.21", + "lodash.topath": "^4.5.2", + "minimatch": "3.1.2", + "nimma": "0.2.2", + "pony-cause": "^1.0.0", + "simple-eval": "1.0.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dependencies": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", + "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/@stoplight/spectral-core/node_modules/jsonpath-plus": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", + "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@stoplight/spectral-formats": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.6.0.tgz", + "integrity": "sha512-X27qhUfNluiduH0u/QwJqhOd8Wk5YKdxVmKM03Aijlx0AH1H5mYt3l9r7t2L4iyJrsBaFPnMGt7UYJDGxszbNA==", + "dependencies": { + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.8.0", + "@types/json-schema": "^7.0.7", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-functions": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.7.2.tgz", + "integrity": "sha512-f+61/FtIkQeIo+a269CeaeqjpyRsgDyIk6DGr7iS4hyuk1PPk7Uf6MNRDs9FEIBh7CpdEJ+HSHbMLwgpymWTIw==", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.1", + "@stoplight/spectral-core": "^1.7.0", + "@stoplight/spectral-formats": "^1.0.0", + "@stoplight/spectral-runtime": "^1.1.0", + "ajv": "^8.6.3", + "ajv-draft-04": "~1.0.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.0", + "lodash": "~4.17.21", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dependencies": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/@stoplight/spectral-parsers": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.4.tgz", + "integrity": "sha512-nCTVvtX6q71M8o5Uvv9kxU31Gk1TRmgD6/k8HBhdCmKG6FWcwgjiZouA/R3xHLn/VwTI/9k8SdG5Mkdy0RBqbQ==", + "dependencies": { + "@stoplight/json": "~3.21.0", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml": "~4.3.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-parsers/node_modules/@stoplight/types": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-ref-resolver": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.4.tgz", + "integrity": "sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==", + "dependencies": { + "@stoplight/json-ref-readers": "1.2.2", + "@stoplight/json-ref-resolver": "~3.1.6", + "@stoplight/spectral-runtime": "^1.1.2", + "dependency-graph": "0.11.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-runtime": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", + "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", + "dependencies": { + "@stoplight/json": "^3.17.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0", + "abort-controller": "^3.0.0", + "lodash": "^4.17.21", + "node-fetch": "^2.6.7", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-runtime/node_modules/@stoplight/types": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", + "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/types": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.20.0.tgz", + "integrity": "sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.3.0.tgz", + "integrity": "sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.5", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml-ast-parser": "0.0.50", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=10.8" + } + }, + "node_modules/@stoplight/yaml-ast-parser": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.50.tgz", + "integrity": "sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==" + }, + "node_modules/@stoplight/yaml/node_modules/@stoplight/types": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@swc/core": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.16.tgz", + "integrity": "sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.4.16", + "@swc/core-darwin-x64": "1.4.16", + "@swc/core-linux-arm-gnueabihf": "1.4.16", + "@swc/core-linux-arm64-gnu": "1.4.16", + "@swc/core-linux-arm64-musl": "1.4.16", + "@swc/core-linux-x64-gnu": "1.4.16", + "@swc/core-linux-x64-musl": "1.4.16", + "@swc/core-win32-arm64-msvc": "1.4.16", + "@swc/core-win32-ia32-msvc": "1.4.16", + "@swc/core-win32-x64-msvc": "1.4.16" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.16.tgz", + "integrity": "sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.16.tgz", + "integrity": "sha512-t3bgqFoYLWvyVtVL6KkFNCINEoOrIlyggT/kJRgi1y0aXSr0oVgcrQ4ezJpdeahZZ4N+Q6vT3ffM30yIunELNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.16.tgz", + "integrity": "sha512-DvHuwvEF86YvSd0lwnzVcjOTZ0jcxewIbsN0vc/0fqm9qBdMMjr9ox6VCam1n3yYeRtj4VFgrjeNFksqbUejdQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.16.tgz", + "integrity": "sha512-9Uu5YlPbyCvbidjKtYEsPpyZlu16roOZ5c2tP1vHfnU9bgf5Tz5q5VovSduNxPHx+ed2iC1b1URODHvDzbbDuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.16.tgz", + "integrity": "sha512-/YZq/qB1CHpeoL0eMzyqK5/tYZn/rzKoCYDviFU4uduSUIJsDJQuQA/skdqUzqbheOXKAd4mnJ1hT04RbJ8FPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.16.tgz", + "integrity": "sha512-UUjaW5VTngZYDcA8yQlrFmqs1tLi1TxbKlnaJwoNhel9zRQ0yG1YEVGrzTvv4YApSuIiDK18t+Ip927bwucuVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.16.tgz", + "integrity": "sha512-aFhxPifevDTwEDKPi4eRYWzC0p/WYJeiFkkpNU5Uc7a7M5iMWPAbPFUbHesdlb9Jfqs5c07oyz86u+/HySBNPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.16.tgz", + "integrity": "sha512-bTD43MbhIHL2s5QgCwyleaGwl96Gk/scF2TaVKdUe4QlJCDV/YK9h5oIBAp63ckHtE8GHlH4c8dZNBiAXn4Org==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.16.tgz", + "integrity": "sha512-/lmZeAN/qV5XbK2SEvi8e2RkIg8FQNYiSA8y2/Zb4gTUMKVO5JMLH0BSWMiIKMstKDPDSxMWgwJaQHF8UMyPmQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.16.tgz", + "integrity": "sha512-BPAfFfODWXtUu6SwaTTftDHvcbDyWBSI/oanUeRbQR5vVWkXoQ3cxLTsDluc3H74IqXS5z1Uyoe0vNo2hB1opA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@swc/jest": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz", + "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==", + "dev": true, + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@swc/counter": "^0.1.3", + "jsonc-parser": "^3.2.0" + }, + "engines": { + "npm": ">= 7.0.0" + }, + "peerDependencies": { + "@swc/core": "*" + } + }, + "node_modules/@swc/jest/node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "node_modules/@swc/types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", + "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "dev": true, + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/es-aggregate-error": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.6.tgz", + "integrity": "sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/urijs": { + "version": "1.19.25", + "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.25.tgz", + "integrity": "sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==" + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz", + "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/type-utils": "7.7.0", + "@typescript-eslint/utils": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz", + "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/typescript-estree": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz", + "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz", + "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.7.0", + "@typescript-eslint/utils": "7.7.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz", + "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz", + "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz", + "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/typescript-estree": "7.7.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz", + "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vercel/style-guide": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vercel/style-guide/-/style-guide-5.2.0.tgz", + "integrity": "sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.11", + "@babel/eslint-parser": "^7.22.11", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/eslint-plugin": "^6.5.0", + "@typescript-eslint/parser": "^6.5.0", + "eslint-config-prettier": "^9.0.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-import-resolver-typescript": "^3.6.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jest": "^27.2.3", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-playwright": "^0.16.0", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-testing-library": "^6.0.1", + "eslint-plugin-tsdoc": "^0.2.17", + "eslint-plugin-unicorn": "^48.0.1", + "prettier-plugin-packagejson": "^2.4.5" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@next/eslint-plugin-next": ">=12.3.0 <15", + "eslint": ">=8.48.0 <9", + "prettier": ">=3.0.0 <4", + "typescript": ">=4.8.0 <6" + }, + "peerDependenciesMeta": { + "@next/eslint-plugin-next": { + "optional": true + }, + "eslint": { + "optional": true + }, + "prettier": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vercel/style-guide/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "dev": true, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", + "dev": true, + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "dev": true, + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accessory": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", + "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", + "dev": true, + "dependencies": { + "ap": "~0.2.0", + "balanced-match": "~0.2.0", + "dot-parts": "~1.0.0" + } + }, + "node_modules/accessory/node_modules/balanced-match": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", + "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ap": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", + "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", + "dev": true + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autolinker": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", + "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", + "dev": true, + "dependencies": { + "gulp-header": "^1.7.1" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/avsc": { + "version": "5.7.7", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", + "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==", + "engines": { + "node": ">=0.11" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "dependencies": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + }, + "bin": { + "browser-pack": "bin/cmd.js" + } + }, + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "dependencies": { + "resolve": "^1.17.0" + } + }, + "node_modules/browserify": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "dev": true, + "dependencies": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-shim": { + "version": "3.8.16", + "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", + "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", + "dev": true, + "dependencies": { + "exposify": "~0.5.0", + "mothership": "~0.3.0", + "rename-function-calls": "~0.1.0", + "resolve": "~0.6.1", + "through": "~2.3.4" + }, + "peerDependencies": { + "browserify": ">= 2.3" + } + }, + "node_modules/browserify-shim/node_modules/resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "dev": true + }, + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "dev": true, + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserify/node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/browserify/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/browserify/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/browserify/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/browserify/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001611", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", + "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coffee-script": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", + "dev": true, + "bin": { + "cake": "bin/cake", + "coffee": "bin/coffee" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, + "dependencies": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } + }, + "node_modules/combine-source-map/node_modules/convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + }, + "node_modules/combine-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/create-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "dependencies": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + }, + "bin": { + "deps-sort": "bin/cmd.js" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "dev": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.1036444", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz", + "integrity": "sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw==", + "dev": true + }, + "node_modules/diacritics-map": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", + "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/dot-parts": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", + "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", + "dev": true + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.745", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", + "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz", + "integrity": "sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-aggregate-error": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.13.tgz", + "integrity": "sha512-KkzhUUuD2CUMqEc8JEqsXEMDHzDPE8RCjZeUBitsnB1eNcAJWQPiciKsMXe3Yytj4Flw1XLl46Qcf9OxvZha7A==", + "dependencies": { + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", + "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", + "dev": true + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-config-turbo": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.13.2.tgz", + "integrity": "sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==", + "dev": true, + "dependencies": { + "eslint-plugin-turbo": "1.13.2" + }, + "peerDependencies": { + "eslint": ">6.6.0" + } + }, + "node_modules/eslint-import-resolver-alias": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz", + "integrity": "sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==", + "dev": true, + "engines": { + "node": ">= 4" + }, + "peerDependencies": { + "eslint-plugin-import": ">=1.4.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-escompat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", + "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.0" + }, + "peerDependencies": { + "eslint": ">=5.14.1" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-filenames": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", + "dev": true, + "dependencies": { + "lodash.camelcase": "4.3.0", + "lodash.kebabcase": "4.1.1", + "lodash.snakecase": "4.1.1", + "lodash.upperfirst": "4.3.1" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/eslint-plugin-github": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.10.2.tgz", + "integrity": "sha512-F1F5aAFgi1Y5hYoTFzGQACBkw5W1hu2Fu5FSTrMlXqrojJnKl1S2pWO/rprlowRQpt+hzHhqSpsfnodJEVd5QA==", + "dev": true, + "dependencies": { + "@github/browserslist-config": "^1.0.0", + "@typescript-eslint/eslint-plugin": "^7.0.1", + "@typescript-eslint/parser": "^7.0.1", + "aria-query": "^5.3.0", + "eslint-config-prettier": ">=8.0.0", + "eslint-plugin-escompat": "^3.3.3", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-i18n-text": "^1.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-no-only-tests": "^3.0.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-rule-documentation": ">=1.0.0", + "jsx-ast-utils": "^3.3.2", + "prettier": "^3.0.0", + "svg-element-attributes": "^1.3.1" + }, + "bin": { + "eslint-ignore-errors": "bin/eslint-ignore-errors.js" + }, + "peerDependencies": { + "eslint": "^8.0.1" + } + }, + "node_modules/eslint-plugin-i18n-text": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", + "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-no-only-tests": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", + "dev": true, + "engines": { + "node": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-only-warn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-only-warn/-/eslint-plugin-only-warn-1.1.0.tgz", + "integrity": "sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-playwright": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.16.0.tgz", + "integrity": "sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7", + "eslint-plugin-jest": ">=25" + }, + "peerDependenciesMeta": { + "eslint-plugin-jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-prettier/node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-security": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", + "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", + "dev": true, + "dependencies": { + "safe-regex": "^2.1.1" + } + }, + "node_modules/eslint-plugin-sonarjs": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", + "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.2.tgz", + "integrity": "sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-tsdoc": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.17.tgz", + "integrity": "sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "@microsoft/tsdoc-config": "0.16.2" + } + }, + "node_modules/eslint-plugin-turbo": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.13.2.tgz", + "integrity": "sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==", + "dev": true, + "dependencies": { + "dotenv": "16.0.3" + }, + "peerDependencies": { + "eslint": ">6.6.0" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "48.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.1.tgz", + "integrity": "sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^3.8.0", + "clean-regexp": "^1.0.0", + "esquery": "^1.5.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", + "lodash": "^4.17.21", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.5.4", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=8.44.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-rule-documentation": { + "version": "1.0.23", + "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", + "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima-fb": { + "version": "3001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", + "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "node_modules/expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" + "fill-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "node_modules/expand-range/node_modules/fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "node_modules/expand-range/node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", "dev": true, "dependencies": { - "tslib": "^2.0.1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "node_modules/expand-range/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "node_modules/expand-range/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "dependencies": { - "possible-typed-array-names": "^1.0.0" + "isarray": "1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "node_modules/expect/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "dequal": "^2.0.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/expect/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "node_modules/expect/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/expect/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/expect/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/expect/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "node_modules/exposify": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", + "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "globo": "~1.1.0", + "map-obj": "~1.0.1", + "replace-requires": "~1.0.3", + "through2": "~0.4.0", + "transformify": "~0.1.1" + } + }, + "node_modules/exposify/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/exposify/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", + "dev": true + }, + "node_modules/exposify/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/exposify/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/exposify/node_modules/through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", + "dev": true, + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "node_modules/exposify/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "dev": true, + "dependencies": { + "object-keys": "~0.4.0" }, - "bin": { - "browserslist": "cli.js" + "engines": { + "node": ">=0.4" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=0.10.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "dependencies": { - "streamsearch": "^1.1.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=10.16.0" + "node": ">=8.6.0" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, "engines": { - "node": ">=6" + "node": ">= 4.9.1" } }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "reusify": "^1.0.4" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001611", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", - "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "bser": "2.1.1" } }, - "node_modules/change-case": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.1.0.tgz", - "integrity": "sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==", - "dev": true, - "dependencies": { - "camel-case": "^3.0.0", - "constant-case": "^2.0.0", - "dot-case": "^2.1.0", - "header-case": "^1.0.0", - "is-lower-case": "^1.1.0", - "is-upper-case": "^1.1.0", - "lower-case": "^1.1.1", - "lower-case-first": "^1.0.0", - "no-case": "^2.3.2", - "param-case": "^2.1.0", - "pascal-case": "^2.0.0", - "path-case": "^2.1.0", - "sentence-case": "^2.1.0", - "snake-case": "^2.1.0", - "swap-case": "^1.1.0", - "title-case": "^2.1.0", - "upper-case": "^1.1.1", - "upper-case-first": "^1.1.0" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" + "dependencies": { + "pend": "~1.2.0" } }, - "node_modules/clean-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=4" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "node_modules/find-parent-dir": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", + "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", + "dev": true + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "engines": { - "node": ">= 10" + "bin": { + "flat": "cli.js" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, "engines": { - "node": ">=0.8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dependencies": { - "color-name": "1.1.3" + "is-callable": "^1.1.3" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/constant-case": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", - "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==", + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "snake-case": "^2.1.0", - "upper-case": "^1.1.1" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/core-js-pure": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz", - "integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "hasInstallScript": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=14" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">= 8" + "node": ">= 6" } }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">= 14" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "dev": true, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -2407,15 +8184,48 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "call-bind": "^1.0.6", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -2424,76 +8234,47 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=8.0.0" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", "dev": true, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -2502,278 +8283,261 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "dev": true, - "dependencies": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "node_modules/get-tsconfig": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "dependencies": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" + "resolve-pkg-maps": "^1.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/del/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/git-hooks-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" } }, - "node_modules/del/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/del/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/del/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/detect-indent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", - "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", - "dev": true, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, "engines": { - "node": ">=12.20" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/detect-newline": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", - "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/globo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", + "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", "dev": true, + "dependencies": { + "accessory": "~1.1.0", + "is-defined": "~1.0.0", + "ternary": "~1.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">=0.10.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { - "path-type": "^4.0.0" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/docs": { - "resolved": "apps/docs", - "link": true + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/gray-matter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", + "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "ansi-red": "^0.1.1", + "coffee-script": "^1.12.4", + "extend-shallow": "^2.0.1", + "js-yaml": "^3.8.1", + "toml": "^2.3.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/dot-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", - "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==", + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "no-case": "^2.2.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.745", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", - "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", + "node_modules/gray-matter/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "node_modules/gulp-header": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", + "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", + "deprecated": "Removed event-stream from gulp-header", + "dev": true, + "dependencies": { + "concat-with-sourcemaps": "*", + "lodash.template": "^4.4.0", + "through2": "^2.0.0" + } }, - "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "duplexer": "^0.1.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "es-define-property": "^1.0.0" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -2781,929 +8545,929 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/has-require": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", + "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" + "escape-string-regexp": "^1.0.3" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-iterator-helpers": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", - "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", - "dev": true, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", "dev": true, "dependencies": { - "es-errors": "^1.3.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10" } }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10.17.0" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">= 4" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=6" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" }, "bin": { - "eslint": "bin/eslint.js" + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "engines": { + "node": ">=0.8.19" } }, - "node_modules/eslint-config-turbo": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.13.2.tgz", - "integrity": "sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "dependencies": { - "eslint-plugin-turbo": "1.13.2" - }, - "peerDependencies": { - "eslint": ">6.6.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/eslint-import-resolver-alias": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz", - "integrity": "sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inline-source-map": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.3.tgz", + "integrity": "sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==", + "dev": true, + "dependencies": { + "source-map": "~0.5.3" + } + }, + "node_modules/inline-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "engines": { - "node": ">= 4" - }, - "peerDependencies": { - "eslint-plugin-import": ">=1.4.0" + "node": ">=0.10.0" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "node_modules/insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", "dev": true, "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "bin": { + "insert-module-globals": "bin/cmd.js" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { - "ms": "^2.1.1" + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", - "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "fast-glob": "^3.3.1", - "get-tsconfig": "^4.5.0", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, "dependencies": { - "debug": "^3.2.7" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { - "ms": "^2.1.1" + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6.5.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" + "builtin-modules": "^3.3.0" }, "engines": { - "node": ">=4" + "node": ">=6" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dependencies": { - "esutils": "^2.0.2" + "is-typed-array": "^1.1.13" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { - "brace-expansion": "^1.1.7" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/is-defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", + "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", + "dev": true + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-jest": { - "version": "27.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", - "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", - "eslint": "^7.0.0 || ^8.0.0", - "jest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "call-bind": "^1.0.2" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "is-extglob": "^2.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" - }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=8" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "isobject": "^3.0.1" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-only-warn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-only-warn/-/eslint-plugin-only-warn-1.1.0.tgz", - "integrity": "sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==", - "dev": true, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-playwright": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.16.0.tgz", - "integrity": "sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, - "peerDependencies": { - "eslint": ">=7", - "eslint-plugin-jest": ">=25" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "eslint-plugin-jest": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "dev": true, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" + "call-bind": "^1.0.7" }, "engines": { - "node": ">=4" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { - "node": ">=10" + "node": ">=8" }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { - "esutils": "^2.0.2" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { - "brace-expansion": "^1.1.7" + "call-bind": "^1.0.2" }, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-testing-library": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.2.tgz", - "integrity": "sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.58.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10" } }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=10" } }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=8" } }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10" } }, - "node_modules/eslint-plugin-tsdoc": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.17.tgz", - "integrity": "sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { - "@microsoft/tsdoc": "0.14.2", - "@microsoft/tsdoc-config": "0.16.2" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/eslint-plugin-turbo": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.13.2.tgz", - "integrity": "sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==", + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, "dependencies": { - "dotenv": "16.0.3" - }, - "peerDependencies": { - "eslint": ">6.6.0" + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" } }, - "node_modules/eslint-plugin-unicorn": { - "version": "48.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.1.tgz", - "integrity": "sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "@eslint-community/eslint-utils": "^4.4.0", - "ci-info": "^3.8.0", - "clean-regexp": "^1.0.0", - "esquery": "^1.5.0", - "indent-string": "^4.0.0", - "is-builtin-module": "^3.2.1", - "jsesc": "^3.0.2", - "lodash": "^4.17.21", - "pluralize": "^8.0.0", - "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.27", - "regjsparser": "^0.10.0", - "semver": "^7.5.4", - "strip-indent": "^3.0.0" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=16" + "node": ">=14" }, "funding": { - "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + "url": "https://github.com/sponsors/isaacs" }, - "peerDependencies": { - "eslint": ">=8.44.0" + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, "bin": { - "jsesc": "bin/jsesc" + "jest": "bin/jest.js" }, "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "engines": { - "node": ">=8.0.0" + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint/node_modules/ansi-styles": { + "node_modules/jest-circus/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -3718,17 +9482,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/chalk": { + "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -3744,7 +9498,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/color-convert": { + "node_modules/jest-circus/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -3756,77 +9510,93 @@ "node": ">=7.0.0" } }, - "node_modules/eslint/node_modules/color-name": { + "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/eslint/node_modules/escape-string-regexp": { + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/supports-color": { + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-circus/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -3838,578 +9608,643 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10" + "node": ">=7.0.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.6.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/jest-config/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "*" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "node_modules/jest-config/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=8" } }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { - "is-callable": "^1.1.3" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=12" + "node": ">=7.0.0" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/jest-docblock/node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "color-convert": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/get-tsconfig": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", - "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "resolve-pkg-maps": "^1.0.0" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/get-uri": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", - "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4", - "fs-extra": "^11.2.0" - }, "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/get-uri/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=14.14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/git-hooks-list": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", - "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", + "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "node_modules/jest-each/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/gradient-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/gradient-string/-/gradient-string-2.0.2.tgz", - "integrity": "sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw==", + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "dependencies": { - "chalk": "^4.1.2", - "tinygradient": "^1.1.5" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/gradient-string/node_modules/ansi-styles": { + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -4424,7 +10259,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/gradient-string/node_modules/chalk": { + "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -4440,7 +10275,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/gradient-string/node_modules/color-convert": { + "node_modules/jest-matcher-utils/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -4452,13 +10287,13 @@ "node": ">=7.0.0" } }, - "node_modules/gradient-string/node_modules/color-name": { + "node_modules/jest-matcher-utils/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/gradient-string/node_modules/has-flag": { + "node_modules/jest-matcher-utils/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -4467,7 +10302,16 @@ "node": ">=8" } }, - "node_modules/gradient-string/node_modules/supports-color": { + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -4479,289 +10323,407 @@ "node": ">=8" } }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, - "bin": { - "handlebars": "bin/handlebars" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.4.7" + "node": ">=8" }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "es-define-property": "^1.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "dependencies": { - "has-symbols": "^1.0.3" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "dependencies": { - "function-bind": "^1.1.2" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/header-case": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", - "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==", + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.3" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 14" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 14" + "node": ">=7.0.0" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=10.17.0" + "node": ">=8" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=0.8.19" + "node": ">=7.0.0" } }, - "node_modules/indent-string": { + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runner/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=12.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/inquirer/node_modules/ansi-styles": { + "node_modules/jest-runtime/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -4776,7 +10738,17 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/inquirer/node_modules/chalk": { + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -4792,7 +10764,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/inquirer/node_modules/color-convert": { + "node_modules/jest-runtime/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -4804,600 +10776,590 @@ "node": ">=7.0.0" } }, - "node_modules/inquirer/node_modules/color-name": { + "node_modules/jest-runtime/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/inquirer/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 12" + "node": ">=8" } }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=7.0.0" } }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { - "is-typed-array": "^1.1.13" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-lower-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "lower-case": "^1.1.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.7" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.14" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-upper-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==", + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "upper-case": "^1.1.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "node": ">=8" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "@isaacs/cliui": "^8.0.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/jju": { @@ -5409,13 +11371,13 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -5423,11 +11385,13 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true + "node_modules/jsep": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", + "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==", + "engines": { + "node": ">= 10.16.0" + } }, "node_modules/jsesc": { "version": "2.5.2", @@ -5459,6 +11423,15 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -5474,19 +11447,62 @@ "json5": "lib/cli.js" }, "engines": { - "node": ">=6" + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", + "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsonpath-plus": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", + "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "dependencies": { - "universalify": "^2.0.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" } }, "node_modules/jsx-ast-utils": { @@ -5513,6 +11529,37 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -5531,6 +11578,26 @@ "node": ">=0.10" } }, + "node_modules/lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", + "dev": true, + "dependencies": { + "set-getter": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -5550,6 +11617,42 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/list-item": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", + "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", + "dev": true, + "dependencies": { + "expand-range": "^1.8.1", + "extend-shallow": "^2.0.1", + "is-number": "^2.1.0", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/list-item/node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -5568,13 +11671,30 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", "dev": true }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "node_modules/lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", "dev": true }, "node_modules/lodash.merge": { @@ -5583,22 +11703,47 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -5606,21 +11751,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true - }, - "node_modules/lower-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.2" - } - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -5630,12 +11760,97 @@ "yallist": "^3.0.2" } }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-link": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", + "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-toc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", + "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.2", + "diacritics-map": "^0.1.0", + "gray-matter": "^2.1.0", + "lazy-cache": "^2.0.2", + "list-item": "^1.1.1", + "markdown-link": "^0.1.1", + "minimist": "^1.2.0", + "mixin-deep": "^1.1.3", + "object.pick": "^1.2.0", + "remarkable": "^1.7.1", + "repeat-string": "^1.6.1", + "strip-color": "^0.1.0" + }, + "bin": { + "markdown-toc": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -5664,6 +11879,46 @@ "node": ">=8.6" } }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -5682,6 +11937,18 @@ "node": ">=4" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, "node_modules/minimatch": { "version": "9.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", @@ -5711,323 +11978,200 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/next": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.2.tgz", - "integrity": "sha512-oGwUaa2bCs47FbuxWMpOoXtBMPYpvTPgdZr3UAo+pu7Ns00z9otmYpoeV1HEiYL06AlRQQIA/ypK526KjJfaxg==", - "dependencies": { - "@next/env": "14.2.2", - "@swc/helpers": "0.5.5", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "graceful-fs": "^4.2.11", - "postcss": "8.4.31", - "styled-jsx": "5.1.1" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=18.17.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.2", - "@next/swc-darwin-x64": "14.2.2", - "@next/swc-linux-arm64-gnu": "14.2.2", - "@next/swc-linux-arm64-musl": "14.2.2", - "@next/swc-linux-x64-gnu": "14.2.2", - "@next/swc-linux-x64-musl": "14.2.2", - "@next/swc-win32-arm64-msvc": "14.2.2", - "@next/swc-win32-ia32-msvc": "14.2.2", - "@next/swc-win32-x64-msvc": "14.2.2" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1" - } - }, - "node_modules/node-plop": { - "version": "0.26.3", - "resolved": "https://registry.npmjs.org/node-plop/-/node-plop-0.26.3.tgz", - "integrity": "sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==", - "dev": true, - "dependencies": { - "@babel/runtime-corejs3": "^7.9.2", - "@types/inquirer": "^6.5.0", - "change-case": "^3.1.0", - "del": "^5.1.0", - "globby": "^10.0.1", - "handlebars": "^4.4.3", - "inquirer": "^7.1.0", - "isbinaryfile": "^4.0.2", - "lodash.get": "^4.4.2", - "mkdirp": "^0.5.1", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=8.9.4" - } - }, - "node_modules/node-plop/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/node-plop/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/node-plop/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/node-plop/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "dev": true, + "dependencies": { + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "module-deps": "bin/cmd.js" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.8.0" } }, - "node_modules/node-plop/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/module-deps/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/node-plop/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/module-deps/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/node-plop/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "node_modules/module-deps/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/module-deps/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/node-plop/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/mothership": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", + "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "find-parent-dir": "~0.3.0" } }, - "node_modules/node-plop/node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "node_modules/node-plop/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nimma": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", + "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", "dependencies": { - "brace-expansion": "^1.1.7" + "@jsep-plugin/regex": "^1.0.1", + "@jsep-plugin/ternary": "^1.0.2", + "astring": "^1.8.1", + "jsep": "^1.2.0" }, "engines": { - "node": "*" + "node": "^12.20 || >=14.13" + }, + "optionalDependencies": { + "jsonpath-plus": "^6.0.1", + "lodash.topath": "^4.5.2" } }, - "node_modules/node-plop/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, + "node_modules/nimma/node_modules/jsonpath-plus": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", + "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", + "optional": true, "engines": { - "npm": ">=2.0.0" + "node": ">=10.0.0" } }, - "node_modules/node-plop/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dependencies": { - "has-flag": "^4.0.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/node-plop/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node_modules/node-releases": { @@ -6057,6 +12201,15 @@ "semver": "bin/semver" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -6082,7 +12235,6 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6091,7 +12243,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, "engines": { "node": ">= 0.4" } @@ -6100,7 +12251,6 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -6177,6 +12327,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.values": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", @@ -6218,6 +12380,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -6235,104 +12406,12 @@ "node": ">= 0.8.0" } }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -6363,18 +12442,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -6384,57 +12451,48 @@ "node": ">=6" } }, - "node_modules/pac-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", - "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", - "dev": true, - "dependencies": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "pac-resolver": "^7.0.0", - "socks-proxy-agent": "^8.0.2" - }, - "engines": { - "node": ">= 14" - } + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true }, - "node_modules/pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" + "callsites": "^3.0.0" }, "engines": { - "node": ">= 14" + "node": ">=6" } }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", "dev": true, "dependencies": { - "no-case": "^2.2.0" + "path-platform": "~0.11.15" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" }, "engines": { - "node": ">=6" + "node": ">= 0.10" } }, "node_modules/parse-json": { @@ -6455,24 +12513,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pascal-case": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", - "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==", + "node_modules/patch-text": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", + "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", "dev": true, - "dependencies": { - "camel-case": "^3.0.0", - "upper-case-first": "^1.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/path-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", - "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==", - "dev": true, - "dependencies": { - "no-case": "^2.2.0" - } + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true }, "node_modules/path-exists": { "version": "4.0.0", @@ -6507,11 +12561,22 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/path-scurry": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -6528,6 +12593,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": "14 || >=16.14" } @@ -6541,10 +12608,33 @@ "node": ">=8" } }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "node_modules/picomatch": { "version": "2.3.1", @@ -6558,6 +12648,79 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -6567,42 +12730,22 @@ "node": ">=4" } }, + "node_modules/pony-cause": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", + "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, "engines": { "node": ">= 0.4" } }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6627,6 +12770,18 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/prettier-plugin-packagejson": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.0.tgz", @@ -6645,43 +12800,84 @@ } } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/proxy-agent": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", - "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.3", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, "engines": { - "node": ">= 14" + "node": ">= 0.6.0" } }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, "engines": { - "node": ">=12" + "node": ">=0.4.0" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, "node_modules/proxy-from-env": { @@ -6690,15 +12886,133 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/puppeteer": { + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.1.3.tgz", + "integrity": "sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw==", + "deprecated": "< 21.8.0 is no longer supported", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.1036444", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.8.1" + }, + "engines": { + "node": ">=14.1.0" + } + }, + "node_modules/puppeteer/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/puppeteer/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/qs": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -6719,51 +13033,55 @@ } ] }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, - "bin": { - "rc": "cli.js" + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/randomatic/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "node_modules/randomatic/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "node_modules/react-is": { @@ -6772,6 +13090,51 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "node_modules/read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/read-only-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/read-only-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -6888,6 +13251,18 @@ "node": ">= 6" } }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", @@ -6928,7 +13303,6 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, "dependencies": { "call-bind": "^1.0.6", "define-properties": "^1.2.1", @@ -6942,28 +13316,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", - "dev": true, - "dependencies": { - "rc": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regjsparser": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", @@ -6985,6 +13337,193 @@ "jsesc": "bin/jsesc" } }, + "node_modules/remarkable": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", + "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", + "dev": true, + "dependencies": { + "argparse": "^1.0.10", + "autolinker": "~0.28.0" + }, + "bin": { + "remarkable": "bin/remarkable.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/remarkable/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/remarkable/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/rename-function-calls": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", + "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", + "dev": true, + "dependencies": { + "detective": "~3.1.0" + } + }, + "node_modules/rename-function-calls/node_modules/detective": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", + "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", + "dev": true, + "dependencies": { + "escodegen": "~1.1.0", + "esprima-fb": "3001.1.0-dev-harmony-fb" + } + }, + "node_modules/rename-function-calls/node_modules/escodegen": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", + "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", + "dev": true, + "dependencies": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": "~0.1.30" + } + }, + "node_modules/rename-function-calls/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/rename-function-calls/node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/rename-function-calls/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rename-function-calls/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-requires": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", + "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", + "dev": true, + "dependencies": { + "detective": "^4.5.0", + "has-require": "~1.2.1", + "patch-text": "~1.0.2", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/replace-requires/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/replace-requires/node_modules/detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "dependencies": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -7002,6 +13541,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -7020,17 +13580,13 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/reusify": { @@ -7100,13 +13656,14 @@ "node": "*" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "engines": { - "node": ">=0.12.0" + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "node_modules/run-parallel": { @@ -7132,20 +13689,10 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/safe-array-concat": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -7179,11 +13726,19 @@ } ] }, + "node_modules/safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "dependencies": { + "regexp-tree": "~0.1.1" + } + }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -7196,18 +13751,27 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "node_modules/safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/semver": { @@ -7243,21 +13807,19 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/sentence-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", - "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==", + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case-first": "^1.1.2" + "randombytes": "^2.1.0" } }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -7274,7 +13836,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -7285,6 +13846,71 @@ "node": ">= 0.4" } }, + "node_modules/set-getter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", + "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", + "dev": true, + "dependencies": { + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", + "dev": true, + "dependencies": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "node_modules/shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7302,15 +13928,23 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "engines": { - "node": ">=8" + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -7330,60 +13964,64 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/snake-case": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", - "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==", - "dev": true, + "node_modules/simple-eval": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", + "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", "dependencies": { - "no-case": "^2.2.0" + "jsep": "^1.1.2" + }, + "engines": { + "node": ">=12" } }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "node": ">= 10" } }, - "node_modules/socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.7.1" - }, "engines": { - "node": ">= 14" + "node": ">=8" } }, "node_modules/sort-object-keys": { @@ -7451,12 +14089,14 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "engines": { - "node": ">=0.10.0" + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "node_modules/spdx-correct": { @@ -7491,18 +14131,175 @@ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", "dev": true }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, "engines": { - "node": ">=10.0.0" + "node": ">=8" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-combiner2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-splicer/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-splicer/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-splicer/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-splicer/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, "node_modules/string_decoder": { @@ -7514,6 +14311,19 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -7534,6 +14344,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -7547,7 +14359,9 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", @@ -7585,7 +14399,6 @@ "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -7603,7 +14416,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -7617,7 +14429,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -7648,6 +14459,8 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -7664,6 +14477,15 @@ "node": ">=4" } }, + "node_modules/strip-color": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -7673,109 +14495,301 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "dependencies": { + "minimist": "^1.1.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-element-attributes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", + "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/synckit": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz", + "integrity": "sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "dependencies": { + "acorn-node": "^1.2.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "dependencies": { - "min-indent": "^1.0.0" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/ternary": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", + "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", + "dev": true + }, + "node_modules/terser": { + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz", + "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" } }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, "dependencies": { - "client-only": "0.0.1" + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + "webpack": "^5.1.0" }, "peerDependenciesMeta": { - "@babel/core": { + "@swc/core": { "optional": true }, - "babel-plugin-macros": { + "esbuild": { + "optional": true + }, + "uglify-js": { "optional": true } } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=4" + "node": ">= 10.13.0" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/swap-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "lower-case": "^1.1.1", - "upper-case": "^1.1.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/synckit": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz", - "integrity": "sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=6" + "node": "*" } }, "node_modules/text-table": { @@ -7790,44 +14804,70 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/tinycolor2": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", - "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/tinygradient": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/tinygradient/-/tinygradient-1.1.5.tgz", - "integrity": "sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "@types/tinycolor2": "^1.4.0", - "tinycolor2": "^1.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/title-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", - "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.0.3" + "safe-buffer": "~5.1.0" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", "dev": true, "dependencies": { - "os-tmpdir": "~1.0.2" + "process": "~0.11.0" }, "engines": { "node": ">=0.6.0" } }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -7837,6 +14877,18 @@ "node": ">=4" } }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7849,6 +14901,59 @@ "node": ">=8.0" } }, + "node_modules/toml": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/transformify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", + "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", + "dev": true, + "dependencies": { + "readable-stream": "~1.1.9" + } + }, + "node_modules/transformify/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/transformify/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/transformify/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -7861,6 +14966,105 @@ "typescript": ">=4.2.0" } }, + "node_modules/ts-loader": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ts-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ts-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ts-loader/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ts-loader/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ts-loader/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ts-node": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", @@ -7954,6 +15158,12 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, "node_modules/turbo": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.2.tgz", @@ -7996,6 +15206,15 @@ "node": ">= 0.8.0" } }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", @@ -8012,7 +15231,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -8026,7 +15244,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -8045,7 +15262,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -8065,7 +15281,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "dev": true, "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -8081,6 +15296,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, "node_modules/typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", @@ -8094,24 +15315,19 @@ "node": ">=14.17" } }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "node_modules/umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", "dev": true, - "optional": true, "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" + "umd": "bin/cli.js" } }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -8122,21 +15338,37 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", "dev": true, - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + }, + "bin": { + "undeclared-identifiers": "bin.js" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/update-browserslist-db": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", @@ -8167,38 +15399,42 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", - "dev": true, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" + "punycode": "^2.1.0" } }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" }, - "node_modules/upper-case-first": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==", + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dev": true, "dependencies": { - "upper-case": "^1.1.1" + "punycode": "^1.4.1", + "qs": "^6.11.2" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, "dependencies": { - "punycode": "^2.1.0" + "inherits": "2.0.3" } }, "node_modules/util-deprecate": { @@ -8207,12 +15443,40 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "engines": { + "node": ">= 4" + } + }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -8223,30 +15487,250 @@ "spdx-expression-parse": "^3.0.0" } }, - "node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { - "builtins": "^5.0.0" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10.13.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/webpack": { + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.16.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, "dependencies": { - "defaults": "^1.0.3" + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/web": { - "resolved": "apps/web", - "link": true + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "cross-spawn": "^7.0.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "@webpack-cli/migrate": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, "node_modules/which": { "version": "2.0.2", @@ -8267,7 +15751,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -8327,7 +15810,6 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", - "dev": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -8342,32 +15824,20 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -8385,6 +15855,8 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -8400,6 +15872,8 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -8411,46 +15885,67 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "3.1.1", @@ -8458,6 +15953,43 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -8482,6 +16014,7 @@ "packages/eslint-config": { "name": "@repo/eslint-config", "version": "0.0.0", + "dev": true, "devDependencies": { "@typescript-eslint/eslint-plugin": "^7.1.0", "@typescript-eslint/parser": "^7.1.0", @@ -8495,11 +16028,13 @@ "packages/typescript-config": { "name": "@repo/typescript-config", "version": "0.0.0", + "dev": true, "license": "MIT" }, "packages/ui": { "name": "@repo/ui", "version": "0.0.0", + "extraneous": true, "devDependencies": { "@repo/eslint-config": "*", "@repo/typescript-config": "*", diff --git a/package.json b/package.json index b9f443697..307e06314 100644 --- a/package.json +++ b/package.json @@ -2,10 +2,13 @@ "name": "parser-js", "private": true, "scripts": { - "build": "turbo build", - "dev": "turbo dev", - "lint": "turbo lint", - "format": "prettier --write \"**/*.{ts,tsx,md}\"" + "test": "turbo run test", + "lint":"turbo run lint", + "build": "turbo run build", + "parser:test:unit":"turbo run test:unit --filter=@asyncapi/parser", + "parser:test":"turbo run test --filter=@asyncapi/parser", + "parser:test:browser":"turbo run test:browser --filter=@asyncapi/parser", + "parser:build":"turbo run build --filter=@asyncapi/parser" }, "devDependencies": { "@repo/eslint-config": "*", diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md deleted file mode 100644 index 8b42d901b..000000000 --- a/packages/eslint-config/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# `@turbo/eslint-config` - -Collection of internal eslint configurations. diff --git a/packages/eslint-config/library.js b/packages/eslint-config/library.js deleted file mode 100644 index c667cd100..000000000 --- a/packages/eslint-config/library.js +++ /dev/null @@ -1,34 +0,0 @@ -const { resolve } = require("node:path"); - -const project = resolve(process.cwd(), "tsconfig.json"); - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["eslint:recommended", "prettier", "eslint-config-turbo"], - plugins: ["only-warn"], - globals: { - React: true, - JSX: true, - }, - env: { - node: true, - }, - settings: { - "import/resolver": { - typescript: { - project, - }, - }, - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - "dist/", - ], - overrides: [ - { - files: ["*.js?(x)", "*.ts?(x)"], - }, - ], -}; diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js deleted file mode 100644 index 6000e5467..000000000 --- a/packages/eslint-config/next.js +++ /dev/null @@ -1,35 +0,0 @@ -const { resolve } = require("node:path"); - -const project = resolve(process.cwd(), "tsconfig.json"); - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: [ - "eslint:recommended", - "prettier", - require.resolve("@vercel/style-guide/eslint/next"), - "eslint-config-turbo", - ], - globals: { - React: true, - JSX: true, - }, - env: { - node: true, - browser: true, - }, - plugins: ["only-warn"], - settings: { - "import/resolver": { - typescript: { - project, - }, - }, - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - ], - overrides: [{ files: ["*.js?(x)", "*.ts?(x)"] }], -}; diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json deleted file mode 100644 index 5c51c03d2..000000000 --- a/packages/eslint-config/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "@repo/eslint-config", - "version": "0.0.0", - "private": true, - "files": [ - "library.js", - "next.js", - "react-internal.js" - ], - "devDependencies": { - "@vercel/style-guide": "^5.2.0", - "eslint-config-turbo": "^1.12.4", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-only-warn": "^1.1.0", - "@typescript-eslint/parser": "^7.1.0", - "@typescript-eslint/eslint-plugin": "^7.1.0", - "typescript": "^5.3.3" - } -} diff --git a/packages/eslint-config/react-internal.js b/packages/eslint-config/react-internal.js deleted file mode 100644 index f56c9249e..000000000 --- a/packages/eslint-config/react-internal.js +++ /dev/null @@ -1,43 +0,0 @@ -const { resolve } = require("node:path"); - -const project = resolve(process.cwd(), "tsconfig.json"); - -/* - * This is a custom ESLint configuration for use with - * internal (bundled by their consumer) libraries - * that utilize React. - * - * This config extends the Vercel Engineering Style Guide. - * For more information, see https://github.com/vercel/style-guide - * - */ - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["eslint:recommended", "prettier", "eslint-config-turbo"], - plugins: ["only-warn"], - globals: { - React: true, - JSX: true, - }, - env: { - browser: true, - }, - settings: { - "import/resolver": { - typescript: { - project, - }, - }, - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - "dist/", - ], - overrides: [ - // Force ESLint to detect .tsx files - { files: ["*.js?(x)", "*.ts?(x)"] }, - ], -}; diff --git a/packages/typescript-config/base.json b/packages/typescript-config/base.json deleted file mode 100644 index 0f80cfd67..000000000 --- a/packages/typescript-config/base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "display": "Default", - "compilerOptions": { - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "incremental": false, - "isolatedModules": true, - "lib": ["es2022", "DOM", "DOM.Iterable"], - "module": "NodeNext", - "moduleDetection": "force", - "moduleResolution": "NodeNext", - "noUncheckedIndexedAccess": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "strict": true, - "target": "ES2022" - } -} diff --git a/packages/typescript-config/nextjs.json b/packages/typescript-config/nextjs.json deleted file mode 100644 index 44f428991..000000000 --- a/packages/typescript-config/nextjs.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "display": "Next.js", - "extends": "./base.json", - "compilerOptions": { - "plugins": [{ "name": "next" }], - "module": "ESNext", - "moduleResolution": "Bundler", - "allowJs": true, - "jsx": "preserve", - "noEmit": true - } -} diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json deleted file mode 100644 index 27c0e6043..000000000 --- a/packages/typescript-config/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@repo/typescript-config", - "version": "0.0.0", - "private": true, - "license": "MIT", - "publishConfig": { - "access": "public" - } -} diff --git a/packages/typescript-config/react-library.json b/packages/typescript-config/react-library.json deleted file mode 100644 index 44924d9ed..000000000 --- a/packages/typescript-config/react-library.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "display": "React Library", - "extends": "./base.json", - "compilerOptions": { - "jsx": "react-jsx" - } -} diff --git a/packages/ui/.eslintrc.js b/packages/ui/.eslintrc.js deleted file mode 100644 index 46464139c..000000000 --- a/packages/ui/.eslintrc.js +++ /dev/null @@ -1,10 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: ["@repo/eslint-config/react-internal.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: "./tsconfig.lint.json", - tsconfigRootDir: __dirname, - }, -}; diff --git a/packages/ui/package.json b/packages/ui/package.json deleted file mode 100644 index 5ba651dd6..000000000 --- a/packages/ui/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "@repo/ui", - "version": "0.0.0", - "private": true, - "exports": { - "./button": "./src/button.tsx", - "./card": "./src/card.tsx", - "./code": "./src/code.tsx" - }, - "scripts": { - "lint": "eslint . --max-warnings 0", - "generate:component": "turbo gen react-component" - }, - "devDependencies": { - "@repo/eslint-config": "*", - "@repo/typescript-config": "*", - "@turbo/gen": "^1.12.4", - "@types/node": "^20.11.24", - "@types/eslint": "^8.56.5", - "@types/react": "^18.2.61", - "@types/react-dom": "^18.2.19", - "eslint": "^8.57.0", - "react": "^18.2.0", - "typescript": "^5.3.3" - } -} diff --git a/packages/ui/src/button.tsx b/packages/ui/src/button.tsx deleted file mode 100644 index 78e5420c3..000000000 --- a/packages/ui/src/button.tsx +++ /dev/null @@ -1,20 +0,0 @@ -"use client"; - -import { ReactNode } from "react"; - -interface ButtonProps { - children: ReactNode; - className?: string; - appName: string; -} - -export const Button = ({ children, className, appName }: ButtonProps) => { - return ( - - ); -}; diff --git a/packages/ui/src/card.tsx b/packages/ui/src/card.tsx deleted file mode 100644 index f69672e13..000000000 --- a/packages/ui/src/card.tsx +++ /dev/null @@ -1,25 +0,0 @@ -export function Card({ - className, - title, - children, - href, -}: { - className?: string; - title: string; - children: React.ReactNode; - href: string; -}): JSX.Element { - return ( - -

- {title} -> -

-

{children}

-
- ); -} diff --git a/packages/ui/src/code.tsx b/packages/ui/src/code.tsx deleted file mode 100644 index 769d9711f..000000000 --- a/packages/ui/src/code.tsx +++ /dev/null @@ -1,9 +0,0 @@ -export function Code({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}): JSX.Element { - return {children}; -} diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json deleted file mode 100644 index ca86687c4..000000000 --- a/packages/ui/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@repo/typescript-config/react-library.json", - "compilerOptions": { - "outDir": "dist" - }, - "include": ["src"], - "exclude": ["node_modules", "dist"] -} diff --git a/packages/ui/tsconfig.lint.json b/packages/ui/tsconfig.lint.json deleted file mode 100644 index df2762ee5..000000000 --- a/packages/ui/tsconfig.lint.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@repo/typescript-config/react-library.json", - "compilerOptions": { - "outDir": "dist" - }, - "include": ["src", "turbo"], - "exclude": ["node_modules", "dist"] -} diff --git a/packages/ui/turbo/generators/config.ts b/packages/ui/turbo/generators/config.ts deleted file mode 100644 index b3facf1f0..000000000 --- a/packages/ui/turbo/generators/config.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { PlopTypes } from "@turbo/gen"; - -// Learn more about Turborepo Generators at https://turbo.build/repo/docs/core-concepts/monorepos/code-generation - -export default function generator(plop: PlopTypes.NodePlopAPI): void { - // A simple generator to add a new React component to the internal UI library - plop.setGenerator("react-component", { - description: "Adds a new react component", - prompts: [ - { - type: "input", - name: "name", - message: "What is the name of the component?", - }, - ], - actions: [ - { - type: "add", - path: "src/{{kebabCase name}}.tsx", - templateFile: "templates/component.hbs", - }, - { - type: "append", - path: "package.json", - pattern: /"exports": {(?)/g, - template: '"./{{kebabCase name}}": "./src/{{kebabCase name}}.tsx",', - }, - ], - }); -} diff --git a/packages/ui/turbo/generators/templates/component.hbs b/packages/ui/turbo/generators/templates/component.hbs deleted file mode 100644 index d968b9e3a..000000000 --- a/packages/ui/turbo/generators/templates/component.hbs +++ /dev/null @@ -1,8 +0,0 @@ -export const {{ pascalCase name }} = ({ children }: { children: React.ReactNode }) => { - return ( -
-

{{ pascalCase name }} Component

- {children} -
- ); -}; diff --git a/turbo.json b/turbo.json index 781f27481..55e85d89d 100644 --- a/turbo.json +++ b/turbo.json @@ -3,15 +3,11 @@ "globalDependencies": ["**/.env.*local"], "pipeline": { "build": { - "dependsOn": ["^build"], "outputs": [".next/**", "!.next/cache/**"] }, - "lint": { - "dependsOn": ["^lint"] - }, - "dev": { - "cache": false, - "persistent": true - } + "test": {}, + "test:unit": {}, + "test:integration": {}, + "test:browser":{} } } From d455df3b51cb5ed5b1d961a57e684a9848f57187 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 21 Apr 2024 10:50:59 +0530 Subject: [PATCH 022/107] removed unwanted files. --- apps/parser/browser/index.js | 26 -- apps/parser/browser/index.js.LICENSE.txt | 79 ---- apps/parser/cjs/constants.d.ts | 15 - apps/parser/cjs/constants.js | 23 - .../custom-operations/anonymous-naming.d.ts | 2 - .../cjs/custom-operations/anonymous-naming.js | 66 --- .../cjs/custom-operations/apply-traits.d.ts | 3 - .../cjs/custom-operations/apply-traits.js | 100 ----- .../custom-operations/apply-unique-ids.d.ts | 6 - .../cjs/custom-operations/apply-unique-ids.js | 39 -- .../check-circular-refs.d.ts | 2 - .../custom-operations/check-circular-refs.js | 24 -- apps/parser/cjs/custom-operations/index.d.ts | 7 - apps/parser/cjs/custom-operations/index.js | 60 --- .../cjs/custom-operations/parse-schema.d.ts | 4 - .../cjs/custom-operations/parse-schema.js | 158 ------- .../resolve-circular-refs.d.ts | 3 - .../resolve-circular-refs.js | 56 --- apps/parser/cjs/document.d.ts | 9 - apps/parser/cjs/document.js | 71 --- apps/parser/cjs/from.d.ts | 13 - apps/parser/cjs/from.js | 94 ---- apps/parser/cjs/index.d.ts | 16 - apps/parser/cjs/index.js | 35 -- apps/parser/cjs/iterator.d.ts | 42 -- apps/parser/cjs/iterator.js | 228 ---------- apps/parser/cjs/models/asyncapi.d.ts | 30 -- apps/parser/cjs/models/asyncapi.js | 5 - apps/parser/cjs/models/base.d.ts | 17 - apps/parser/cjs/models/base.js | 33 -- apps/parser/cjs/models/binding.d.ts | 7 - apps/parser/cjs/models/binding.js | 2 - apps/parser/cjs/models/bindings.d.ts | 5 - apps/parser/cjs/models/bindings.js | 2 - apps/parser/cjs/models/channel-parameter.d.ts | 10 - apps/parser/cjs/models/channel-parameter.js | 2 - .../parser/cjs/models/channel-parameters.d.ts | 3 - apps/parser/cjs/models/channel-parameters.js | 2 - apps/parser/cjs/models/channel.d.ts | 14 - apps/parser/cjs/models/channel.js | 2 - apps/parser/cjs/models/channels.d.ts | 6 - apps/parser/cjs/models/channels.js | 2 - apps/parser/cjs/models/collection.d.ts | 19 - apps/parser/cjs/models/collection.js | 30 -- apps/parser/cjs/models/components.d.ts | 32 -- apps/parser/cjs/models/components.js | 2 - apps/parser/cjs/models/contact.d.ts | 10 - apps/parser/cjs/models/contact.js | 2 - apps/parser/cjs/models/correlation-id.d.ts | 5 - apps/parser/cjs/models/correlation-id.js | 2 - apps/parser/cjs/models/correlation-ids.d.ts | 3 - apps/parser/cjs/models/correlation-ids.js | 2 - apps/parser/cjs/models/extension.d.ts | 5 - apps/parser/cjs/models/extension.js | 2 - apps/parser/cjs/models/extensions.d.ts | 3 - apps/parser/cjs/models/extensions.js | 2 - apps/parser/cjs/models/external-docs.d.ts | 5 - apps/parser/cjs/models/external-docs.js | 2 - .../cjs/models/external-documentation.d.ts | 6 - .../cjs/models/external-documentation.js | 2 - .../cjs/models/external-documentations.d.ts | 6 - .../cjs/models/external-documentations.js | 10 - apps/parser/cjs/models/index.d.ts | 48 --- apps/parser/cjs/models/index.js | 64 --- apps/parser/cjs/models/info.d.ts | 16 - apps/parser/cjs/models/info.js | 2 - apps/parser/cjs/models/license.d.ts | 7 - apps/parser/cjs/models/license.js | 2 - apps/parser/cjs/models/message-example.d.ts | 12 - apps/parser/cjs/models/message-example.js | 2 - apps/parser/cjs/models/message-examples.d.ts | 3 - apps/parser/cjs/models/message-examples.js | 2 - apps/parser/cjs/models/message-trait.d.ts | 24 -- apps/parser/cjs/models/message-trait.js | 2 - apps/parser/cjs/models/message-traits.d.ts | 3 - apps/parser/cjs/models/message-traits.js | 2 - apps/parser/cjs/models/message.d.ts | 15 - apps/parser/cjs/models/message.js | 2 - apps/parser/cjs/models/messages.d.ts | 6 - apps/parser/cjs/models/messages.js | 2 - apps/parser/cjs/models/mixins.d.ts | 31 -- apps/parser/cjs/models/mixins.js | 2 - apps/parser/cjs/models/oauth-flow.d.ts | 11 - apps/parser/cjs/models/oauth-flow.js | 2 - apps/parser/cjs/models/oauth-flows.d.ts | 13 - apps/parser/cjs/models/oauth-flows.js | 2 - apps/parser/cjs/models/operation-replies.d.ts | 3 - apps/parser/cjs/models/operation-replies.js | 2 - .../cjs/models/operation-reply-address.d.ts | 6 - .../cjs/models/operation-reply-address.js | 2 - .../cjs/models/operation-reply-addresses.d.ts | 3 - .../cjs/models/operation-reply-addresses.js | 2 - apps/parser/cjs/models/operation-reply.d.ts | 13 - apps/parser/cjs/models/operation-reply.js | 2 - apps/parser/cjs/models/operation-trait.d.ts | 11 - apps/parser/cjs/models/operation-trait.js | 2 - apps/parser/cjs/models/operation-traits.d.ts | 3 - apps/parser/cjs/models/operation-traits.js | 2 - apps/parser/cjs/models/operation.d.ts | 18 - apps/parser/cjs/models/operation.js | 2 - apps/parser/cjs/models/operations.d.ts | 6 - apps/parser/cjs/models/operations.js | 2 - apps/parser/cjs/models/schema.d.ts | 57 --- apps/parser/cjs/models/schema.js | 2 - apps/parser/cjs/models/schemas.d.ts | 3 - apps/parser/cjs/models/schemas.js | 2 - .../cjs/models/security-requirement.d.ts | 6 - .../parser/cjs/models/security-requirement.js | 2 - .../cjs/models/security-requirements.d.ts | 3 - .../cjs/models/security-requirements.js | 2 - apps/parser/cjs/models/security-scheme.d.ts | 19 - apps/parser/cjs/models/security-scheme.js | 2 - apps/parser/cjs/models/security-schemes.d.ts | 3 - apps/parser/cjs/models/security-schemes.js | 2 - apps/parser/cjs/models/server-variable.d.ts | 10 - apps/parser/cjs/models/server-variable.js | 2 - apps/parser/cjs/models/server-variables.d.ts | 3 - apps/parser/cjs/models/server-variables.js | 2 - apps/parser/cjs/models/server.d.ts | 22 - apps/parser/cjs/models/server.js | 2 - apps/parser/cjs/models/servers.d.ts | 6 - apps/parser/cjs/models/servers.js | 2 - apps/parser/cjs/models/tag.d.ts | 5 - apps/parser/cjs/models/tag.js | 2 - apps/parser/cjs/models/tags.d.ts | 3 - apps/parser/cjs/models/tags.js | 2 - apps/parser/cjs/models/utils.d.ts | 13 - apps/parser/cjs/models/utils.js | 26 -- apps/parser/cjs/models/v2/asyncapi.d.ts | 31 -- apps/parser/cjs/models/v2/asyncapi.js | 86 ---- apps/parser/cjs/models/v2/binding.d.ts | 12 - apps/parser/cjs/models/v2/binding.js | 22 - apps/parser/cjs/models/v2/bindings.d.ts | 8 - apps/parser/cjs/models/v2/bindings.js | 23 - .../cjs/models/v2/channel-parameter.d.ts | 17 - .../parser/cjs/models/v2/channel-parameter.js | 35 -- .../cjs/models/v2/channel-parameters.d.ts | 6 - .../cjs/models/v2/channel-parameters.js | 10 - apps/parser/cjs/models/v2/channel.d.ts | 24 -- apps/parser/cjs/models/v2/channel.js | 68 --- apps/parser/cjs/models/v2/channels.d.ts | 8 - apps/parser/cjs/models/v2/channels.js | 16 - apps/parser/cjs/models/v2/components.d.ts | 39 -- apps/parser/cjs/models/v2/components.js | 99 ----- apps/parser/cjs/models/v2/contact.d.ts | 13 - apps/parser/cjs/models/v2/contact.js | 29 -- apps/parser/cjs/models/v2/correlation-id.d.ts | 10 - apps/parser/cjs/models/v2/correlation-id.js | 20 - .../parser/cjs/models/v2/correlation-ids.d.ts | 6 - apps/parser/cjs/models/v2/correlation-ids.js | 10 - apps/parser/cjs/models/v2/extension.d.ts | 9 - apps/parser/cjs/models/v2/extension.js | 13 - apps/parser/cjs/models/v2/extensions.d.ts | 6 - apps/parser/cjs/models/v2/extensions.js | 11 - apps/parser/cjs/models/v2/external-docs.d.ts | 10 - apps/parser/cjs/models/v2/external-docs.js | 20 - apps/parser/cjs/models/v2/index.d.ts | 37 -- apps/parser/cjs/models/v2/index.js | 77 ---- apps/parser/cjs/models/v2/info.d.ts | 26 -- apps/parser/cjs/models/v2/info.js | 69 --- apps/parser/cjs/models/v2/license.d.ts | 10 - apps/parser/cjs/models/v2/license.js | 20 - .../parser/cjs/models/v2/message-example.d.ts | 15 - apps/parser/cjs/models/v2/message-example.js | 35 -- .../cjs/models/v2/message-examples.d.ts | 6 - apps/parser/cjs/models/v2/message-examples.js | 10 - apps/parser/cjs/models/v2/message-trait.d.ts | 38 -- apps/parser/cjs/models/v2/message-trait.js | 93 ---- apps/parser/cjs/models/v2/message-traits.d.ts | 6 - apps/parser/cjs/models/v2/message-traits.js | 10 - apps/parser/cjs/models/v2/message.d.ts | 16 - apps/parser/cjs/models/v2/message.js | 67 --- apps/parser/cjs/models/v2/messages.d.ts | 8 - apps/parser/cjs/models/v2/messages.js | 16 - apps/parser/cjs/models/v2/mixins.d.ts | 25 -- apps/parser/cjs/models/v2/mixins.js | 49 --- apps/parser/cjs/models/v2/oauth-flow.d.ts | 14 - apps/parser/cjs/models/v2/oauth-flow.js | 32 -- apps/parser/cjs/models/v2/oauth-flows.d.ts | 16 - apps/parser/cjs/models/v2/oauth-flows.js | 44 -- .../parser/cjs/models/v2/operation-trait.d.ts | 27 -- apps/parser/cjs/models/v2/operation-trait.js | 59 --- .../cjs/models/v2/operation-traits.d.ts | 6 - apps/parser/cjs/models/v2/operation-traits.js | 10 - apps/parser/cjs/models/v2/operation.d.ts | 18 - apps/parser/cjs/models/v2/operation.js | 69 --- apps/parser/cjs/models/v2/operations.d.ts | 8 - apps/parser/cjs/models/v2/operations.js | 16 - apps/parser/cjs/models/v2/schema.d.ts | 66 --- apps/parser/cjs/models/v2/schema.js | 312 -------------- apps/parser/cjs/models/v2/schemas.d.ts | 6 - apps/parser/cjs/models/v2/schemas.js | 10 - .../cjs/models/v2/security-requirement.d.ts | 12 - .../cjs/models/v2/security-requirement.js | 13 - .../cjs/models/v2/security-requirements.d.ts | 6 - .../cjs/models/v2/security-requirements.js | 10 - .../parser/cjs/models/v2/security-scheme.d.ts | 26 -- apps/parser/cjs/models/v2/security-scheme.js | 62 --- .../cjs/models/v2/security-schemes.d.ts | 6 - apps/parser/cjs/models/v2/security-schemes.js | 10 - .../parser/cjs/models/v2/server-variable.d.ts | 17 - apps/parser/cjs/models/v2/server-variable.js | 35 -- .../cjs/models/v2/server-variables.d.ts | 6 - apps/parser/cjs/models/v2/server-variables.js | 10 - apps/parser/cjs/models/v2/server.d.ts | 33 -- apps/parser/cjs/models/v2/server.js | 102 ----- apps/parser/cjs/models/v2/servers.d.ts | 8 - apps/parser/cjs/models/v2/servers.js | 16 - apps/parser/cjs/models/v2/tag.d.ts | 13 - apps/parser/cjs/models/v2/tag.js | 26 -- apps/parser/cjs/models/v2/tags.d.ts | 6 - apps/parser/cjs/models/v2/tags.js | 10 - apps/parser/cjs/models/v3/asyncapi.d.ts | 31 -- apps/parser/cjs/models/v3/asyncapi.js | 93 ---- apps/parser/cjs/models/v3/binding.d.ts | 12 - apps/parser/cjs/models/v3/binding.js | 22 - apps/parser/cjs/models/v3/bindings.d.ts | 8 - apps/parser/cjs/models/v3/bindings.js | 23 - .../cjs/models/v3/channel-parameter.d.ts | 17 - .../parser/cjs/models/v3/channel-parameter.js | 39 -- .../cjs/models/v3/channel-parameters.d.ts | 6 - .../cjs/models/v3/channel-parameters.js | 10 - apps/parser/cjs/models/v3/channel.d.ts | 17 - apps/parser/cjs/models/v3/channel.js | 60 --- apps/parser/cjs/models/v3/channels.d.ts | 8 - apps/parser/cjs/models/v3/channels.js | 16 - apps/parser/cjs/models/v3/components.d.ts | 47 -- apps/parser/cjs/models/v3/components.js | 120 ------ apps/parser/cjs/models/v3/contact.d.ts | 13 - apps/parser/cjs/models/v3/contact.js | 29 -- apps/parser/cjs/models/v3/correlation-id.d.ts | 11 - apps/parser/cjs/models/v3/correlation-id.js | 23 - .../parser/cjs/models/v3/correlation-ids.d.ts | 6 - apps/parser/cjs/models/v3/correlation-ids.js | 10 - apps/parser/cjs/models/v3/extension.d.ts | 10 - apps/parser/cjs/models/v3/extension.js | 16 - apps/parser/cjs/models/v3/extensions.d.ts | 6 - apps/parser/cjs/models/v3/extensions.js | 11 - apps/parser/cjs/models/v3/external-docs.d.ts | 13 - apps/parser/cjs/models/v3/external-docs.js | 23 - apps/parser/cjs/models/v3/index.d.ts | 41 -- apps/parser/cjs/models/v3/index.js | 85 ---- apps/parser/cjs/models/v3/info.d.ts | 26 -- apps/parser/cjs/models/v3/info.js | 60 --- apps/parser/cjs/models/v3/license.d.ts | 10 - apps/parser/cjs/models/v3/license.js | 20 - .../parser/cjs/models/v3/message-example.d.ts | 15 - apps/parser/cjs/models/v3/message-example.js | 35 -- .../cjs/models/v3/message-examples.d.ts | 6 - apps/parser/cjs/models/v3/message-examples.js | 10 - apps/parser/cjs/models/v3/message-trait.d.ts | 23 - apps/parser/cjs/models/v3/message-trait.js | 59 --- apps/parser/cjs/models/v3/message-traits.d.ts | 6 - apps/parser/cjs/models/v3/message-traits.js | 10 - apps/parser/cjs/models/v3/message.d.ts | 18 - apps/parser/cjs/models/v3/message.js | 96 ----- apps/parser/cjs/models/v3/messages.d.ts | 8 - apps/parser/cjs/models/v3/messages.js | 16 - apps/parser/cjs/models/v3/mixins.d.ts | 48 --- apps/parser/cjs/models/v3/mixins.js | 86 ---- apps/parser/cjs/models/v3/oauth-flow.d.ts | 14 - apps/parser/cjs/models/v3/oauth-flow.js | 32 -- apps/parser/cjs/models/v3/oauth-flows.d.ts | 16 - apps/parser/cjs/models/v3/oauth-flows.js | 44 -- .../cjs/models/v3/operation-replies.d.ts | 6 - .../parser/cjs/models/v3/operation-replies.js | 10 - .../models/v3/operation-reply-address.d.ts | 13 - .../cjs/models/v3/operation-reply-address.js | 23 - .../models/v3/operation-reply-addresses.d.ts | 6 - .../models/v3/operation-reply-addresses.js | 10 - .../parser/cjs/models/v3/operation-reply.d.ts | 18 - apps/parser/cjs/models/v3/operation-reply.js | 44 -- .../parser/cjs/models/v3/operation-trait.d.ts | 12 - apps/parser/cjs/models/v3/operation-trait.js | 26 -- .../cjs/models/v3/operation-traits.d.ts | 6 - apps/parser/cjs/models/v3/operation-traits.js | 10 - apps/parser/cjs/models/v3/operation.d.ts | 19 - apps/parser/cjs/models/v3/operation.js | 74 ---- apps/parser/cjs/models/v3/operations.d.ts | 8 - apps/parser/cjs/models/v3/operations.js | 16 - apps/parser/cjs/models/v3/schema.d.ts | 76 ---- apps/parser/cjs/models/v3/schema.js | 325 -------------- apps/parser/cjs/models/v3/schemas.d.ts | 6 - apps/parser/cjs/models/v3/schemas.js | 10 - .../cjs/models/v3/security-requirement.d.ts | 12 - .../cjs/models/v3/security-requirement.js | 13 - .../cjs/models/v3/security-requirements.d.ts | 6 - .../cjs/models/v3/security-requirements.js | 10 - .../parser/cjs/models/v3/security-scheme.d.ts | 26 -- apps/parser/cjs/models/v3/security-scheme.js | 62 --- .../cjs/models/v3/security-schemes.d.ts | 6 - apps/parser/cjs/models/v3/security-schemes.js | 10 - .../parser/cjs/models/v3/server-variable.d.ts | 17 - apps/parser/cjs/models/v3/server-variable.js | 35 -- .../cjs/models/v3/server-variables.d.ts | 6 - apps/parser/cjs/models/v3/server-variables.js | 10 - apps/parser/cjs/models/v3/server.d.ts | 25 -- apps/parser/cjs/models/v3/server.js | 103 ----- apps/parser/cjs/models/v3/servers.d.ts | 8 - apps/parser/cjs/models/v3/servers.js | 16 - apps/parser/cjs/models/v3/tag.d.ts | 16 - apps/parser/cjs/models/v3/tag.js | 29 -- apps/parser/cjs/models/v3/tags.d.ts | 6 - apps/parser/cjs/models/v3/tags.js | 10 - apps/parser/cjs/old-api/asyncapi.d.ts | 40 -- apps/parser/cjs/old-api/asyncapi.js | 161 ------- apps/parser/cjs/old-api/base.d.ts | 7 - apps/parser/cjs/old-api/base.js | 20 - .../parser/cjs/old-api/channel-parameter.d.ts | 9 - apps/parser/cjs/old-api/channel-parameter.js | 22 - apps/parser/cjs/old-api/channel.d.ts | 23 - apps/parser/cjs/old-api/channel.js | 72 ---- apps/parser/cjs/old-api/components.d.ts | 44 -- apps/parser/cjs/old-api/components.js | 107 ----- apps/parser/cjs/old-api/contact.d.ts | 7 - apps/parser/cjs/old-api/contact.js | 16 - apps/parser/cjs/old-api/converter.d.ts | 4 - apps/parser/cjs/old-api/converter.js | 58 --- apps/parser/cjs/old-api/correlation-id.d.ts | 7 - apps/parser/cjs/old-api/correlation-id.js | 16 - apps/parser/cjs/old-api/external-docs.d.ts | 15 - apps/parser/cjs/old-api/external-docs.js | 41 -- apps/parser/cjs/old-api/index.d.ts | 21 - apps/parser/cjs/old-api/index.js | 46 -- apps/parser/cjs/old-api/info.d.ts | 13 - apps/parser/cjs/old-api/info.js | 34 -- apps/parser/cjs/old-api/iterator.d.ts | 42 -- apps/parser/cjs/old-api/iterator.js | 250 ----------- apps/parser/cjs/old-api/license.d.ts | 6 - apps/parser/cjs/old-api/license.js | 13 - apps/parser/cjs/old-api/message-trait.d.ts | 30 -- apps/parser/cjs/old-api/message-trait.js | 87 ---- apps/parser/cjs/old-api/message.d.ts | 11 - apps/parser/cjs/old-api/message.js | 32 -- apps/parser/cjs/old-api/mixins.d.ts | 95 ---- apps/parser/cjs/old-api/mixins.js | 148 ------- apps/parser/cjs/old-api/oauth-flow.d.ts | 8 - apps/parser/cjs/old-api/oauth-flow.js | 19 - apps/parser/cjs/old-api/operation-trait.d.ts | 27 -- apps/parser/cjs/old-api/operation-trait.js | 70 --- apps/parser/cjs/old-api/operation.d.ts | 10 - apps/parser/cjs/old-api/operation.js | 46 -- apps/parser/cjs/old-api/schema.d.ts | 63 --- apps/parser/cjs/old-api/schema.js | 242 ----------- .../cjs/old-api/security-requirement.d.ts | 4 - .../cjs/old-api/security-requirement.js | 7 - apps/parser/cjs/old-api/security-scheme.d.ts | 14 - apps/parser/cjs/old-api/security-scheme.js | 35 -- apps/parser/cjs/old-api/server-variable.d.ts | 12 - apps/parser/cjs/old-api/server-variable.js | 33 -- apps/parser/cjs/old-api/server.d.ts | 25 -- apps/parser/cjs/old-api/server.js | 68 --- apps/parser/cjs/old-api/tag.d.ts | 17 - apps/parser/cjs/old-api/tag.js | 47 -- apps/parser/cjs/parse.d.ts | 23 - apps/parser/cjs/parse.js | 78 ---- apps/parser/cjs/parser.d.ts | 23 - apps/parser/cjs/parser.js | 53 --- apps/parser/cjs/resolver.d.ts | 13 - apps/parser/cjs/resolver.js | 77 ---- apps/parser/cjs/ruleset/formats.d.ts | 8 - apps/parser/cjs/ruleset/formats.js | 45 -- .../ruleset/functions/documentStructure.d.ts | 5 - .../ruleset/functions/documentStructure.js | 133 ------ .../cjs/ruleset/functions/internal.d.ts | 1 - apps/parser/cjs/ruleset/functions/internal.js | 11 - .../ruleset/functions/isAsyncAPIDocument.d.ts | 2 - .../ruleset/functions/isAsyncAPIDocument.js | 27 -- .../cjs/ruleset/functions/uniquenessTags.d.ts | 5 - .../cjs/ruleset/functions/uniquenessTags.js | 43 -- .../ruleset/functions/unusedComponent.d.ts | 3 - .../cjs/ruleset/functions/unusedComponent.js | 37 -- apps/parser/cjs/ruleset/index.d.ts | 10 - apps/parser/cjs/ruleset/index.js | 32 -- apps/parser/cjs/ruleset/ruleset.d.ts | 184 -------- apps/parser/cjs/ruleset/ruleset.js | 198 --------- .../cjs/ruleset/utils/getMissingProps.d.ts | 1 - .../cjs/ruleset/utils/getMissingProps.js | 11 - .../cjs/ruleset/utils/getRedundantProps.d.ts | 1 - .../cjs/ruleset/utils/getRedundantProps.js | 11 - apps/parser/cjs/ruleset/utils/index.d.ts | 4 - apps/parser/cjs/ruleset/utils/index.js | 20 - .../parser/cjs/ruleset/utils/mergeTraits.d.ts | 4 - apps/parser/cjs/ruleset/utils/mergeTraits.js | 35 -- .../cjs/ruleset/utils/parseUrlVariables.d.ts | 1 - .../cjs/ruleset/utils/parseUrlVariables.js | 12 - .../v2/functions/channelParameters.d.ts | 3 - .../ruleset/v2/functions/channelParameters.js | 40 -- .../ruleset/v2/functions/channelServers.d.ts | 6 - .../ruleset/v2/functions/channelServers.js | 48 --- .../cjs/ruleset/v2/functions/checkId.d.ts | 4 - .../cjs/ruleset/v2/functions/checkId.js | 31 -- .../messageExamples-spectral-rule-v2.d.ts | 3 - .../messageExamples-spectral-rule-v2.js | 117 ----- .../ruleset/v2/functions/messageExamples.d.ts | 10 - .../ruleset/v2/functions/messageExamples.js | 82 ---- .../v2/functions/messageIdUniqueness.d.ts | 2 - .../v2/functions/messageIdUniqueness.js | 95 ---- .../v2/functions/operationIdUniqueness.d.ts | 2 - .../v2/functions/operationIdUniqueness.js | 65 --- .../v2/functions/schemaValidation.d.ts | 8 - .../ruleset/v2/functions/schemaValidation.js | 53 --- .../cjs/ruleset/v2/functions/security.d.ts | 3 - .../cjs/ruleset/v2/functions/security.js | 64 --- .../ruleset/v2/functions/serverVariables.d.ts | 4 - .../ruleset/v2/functions/serverVariables.js | 42 -- .../v2/functions/unusedSecuritySchemes.d.ts | 2 - .../v2/functions/unusedSecuritySchemes.js | 56 --- apps/parser/cjs/ruleset/v2/index.d.ts | 1 - apps/parser/cjs/ruleset/v2/index.js | 17 - apps/parser/cjs/ruleset/v2/ruleset.d.ts | 304 ------------- apps/parser/cjs/ruleset/v2/ruleset.js | 356 --------------- .../cjs/ruleset/v2/utils/getAllMessages.d.ts | 7 - .../cjs/ruleset/v2/utils/getAllMessages.js | 34 -- .../ruleset/v2/utils/getAllOperations.d.ts | 8 - .../cjs/ruleset/v2/utils/getAllOperations.js | 30 -- apps/parser/cjs/ruleset/v2/utils/index.d.ts | 2 - apps/parser/cjs/ruleset/v2/utils/index.js | 18 - .../operationMessagesUnambiguity.d.ts | 8 - .../functions/operationMessagesUnambiguity.js | 39 -- apps/parser/cjs/ruleset/v3/index.d.ts | 1 - apps/parser/cjs/ruleset/v3/index.js | 17 - apps/parser/cjs/ruleset/v3/ruleset.d.ts | 58 --- apps/parser/cjs/ruleset/v3/ruleset.js | 61 --- .../schema-parser/asyncapi-schema-parser.d.ts | 2 - .../schema-parser/asyncapi-schema-parser.js | 109 ----- apps/parser/cjs/schema-parser/index.d.ts | 28 -- apps/parser/cjs/schema-parser/index.js | 66 --- .../cjs/schema-parser/spectral-rule-v2.d.ts | 3 - .../cjs/schema-parser/spectral-rule-v2.js | 79 ---- apps/parser/cjs/spec-types/index.d.ts | 2 - apps/parser/cjs/spec-types/index.js | 28 -- apps/parser/cjs/spec-types/v2.d.ts | 363 ---------------- apps/parser/cjs/spec-types/v2.js | 2 - apps/parser/cjs/spec-types/v3.d.ts | 404 ------------------ apps/parser/cjs/spec-types/v3.js | 2 - apps/parser/cjs/spectral.d.ts | 3 - apps/parser/cjs/spectral.js | 15 - apps/parser/cjs/stringify.d.ts | 9 - apps/parser/cjs/stringify.js | 105 ----- apps/parser/cjs/types.d.ts | 24 -- apps/parser/cjs/types.js | 2 - apps/parser/cjs/utils.d.ts | 28 -- apps/parser/cjs/utils.js | 178 -------- apps/parser/cjs/validate.d.ts | 25 -- apps/parser/cjs/validate.js | 52 --- apps/parser/esm/constants.d.ts | 15 - apps/parser/esm/constants.js | 17 - .../custom-operations/anonymous-naming.d.ts | 2 - .../esm/custom-operations/anonymous-naming.js | 62 --- .../esm/custom-operations/apply-traits.d.ts | 3 - .../esm/custom-operations/apply-traits.js | 95 ---- .../custom-operations/apply-unique-ids.d.ts | 6 - .../esm/custom-operations/apply-unique-ids.js | 35 -- .../check-circular-refs.d.ts | 2 - .../custom-operations/check-circular-refs.js | 20 - apps/parser/esm/custom-operations/index.d.ts | 7 - apps/parser/esm/custom-operations/index.js | 55 --- .../esm/custom-operations/parse-schema.d.ts | 4 - .../esm/custom-operations/parse-schema.js | 153 ------- .../resolve-circular-refs.d.ts | 3 - .../resolve-circular-refs.js | 52 --- apps/parser/esm/document.d.ts | 9 - apps/parser/esm/document.js | 62 --- apps/parser/esm/from.d.ts | 13 - apps/parser/esm/from.js | 66 --- apps/parser/esm/index.d.ts | 16 - apps/parser/esm/index.js | 10 - apps/parser/esm/iterator.d.ts | 42 -- apps/parser/esm/iterator.js | 224 ---------- apps/parser/esm/models/asyncapi.d.ts | 30 -- apps/parser/esm/models/asyncapi.js | 2 - apps/parser/esm/models/base.d.ts | 17 - apps/parser/esm/models/base.js | 29 -- apps/parser/esm/models/binding.d.ts | 7 - apps/parser/esm/models/binding.js | 1 - apps/parser/esm/models/bindings.d.ts | 5 - apps/parser/esm/models/bindings.js | 1 - apps/parser/esm/models/channel-parameter.d.ts | 10 - apps/parser/esm/models/channel-parameter.js | 1 - .../parser/esm/models/channel-parameters.d.ts | 3 - apps/parser/esm/models/channel-parameters.js | 1 - apps/parser/esm/models/channel.d.ts | 14 - apps/parser/esm/models/channel.js | 1 - apps/parser/esm/models/channels.d.ts | 6 - apps/parser/esm/models/channels.js | 1 - apps/parser/esm/models/collection.d.ts | 19 - apps/parser/esm/models/collection.js | 26 -- apps/parser/esm/models/components.d.ts | 32 -- apps/parser/esm/models/components.js | 1 - apps/parser/esm/models/contact.d.ts | 10 - apps/parser/esm/models/contact.js | 1 - apps/parser/esm/models/correlation-id.d.ts | 5 - apps/parser/esm/models/correlation-id.js | 1 - apps/parser/esm/models/correlation-ids.d.ts | 3 - apps/parser/esm/models/correlation-ids.js | 1 - apps/parser/esm/models/extension.d.ts | 5 - apps/parser/esm/models/extension.js | 1 - apps/parser/esm/models/extensions.d.ts | 3 - apps/parser/esm/models/extensions.js | 1 - apps/parser/esm/models/external-docs.d.ts | 5 - apps/parser/esm/models/external-docs.js | 1 - .../esm/models/external-documentation.d.ts | 6 - .../esm/models/external-documentation.js | 1 - .../esm/models/external-documentations.d.ts | 6 - .../esm/models/external-documentations.js | 6 - apps/parser/esm/models/index.d.ts | 48 --- apps/parser/esm/models/index.js | 48 --- apps/parser/esm/models/info.d.ts | 16 - apps/parser/esm/models/info.js | 1 - apps/parser/esm/models/license.d.ts | 7 - apps/parser/esm/models/license.js | 1 - apps/parser/esm/models/message-example.d.ts | 12 - apps/parser/esm/models/message-example.js | 1 - apps/parser/esm/models/message-examples.d.ts | 3 - apps/parser/esm/models/message-examples.js | 1 - apps/parser/esm/models/message-trait.d.ts | 24 -- apps/parser/esm/models/message-trait.js | 1 - apps/parser/esm/models/message-traits.d.ts | 3 - apps/parser/esm/models/message-traits.js | 1 - apps/parser/esm/models/message.d.ts | 15 - apps/parser/esm/models/message.js | 1 - apps/parser/esm/models/messages.d.ts | 6 - apps/parser/esm/models/messages.js | 1 - apps/parser/esm/models/mixins.d.ts | 31 -- apps/parser/esm/models/mixins.js | 1 - apps/parser/esm/models/oauth-flow.d.ts | 11 - apps/parser/esm/models/oauth-flow.js | 1 - apps/parser/esm/models/oauth-flows.d.ts | 13 - apps/parser/esm/models/oauth-flows.js | 1 - apps/parser/esm/models/operation-replies.d.ts | 3 - apps/parser/esm/models/operation-replies.js | 1 - .../esm/models/operation-reply-address.d.ts | 6 - .../esm/models/operation-reply-address.js | 1 - .../esm/models/operation-reply-addresses.d.ts | 3 - .../esm/models/operation-reply-addresses.js | 1 - apps/parser/esm/models/operation-reply.d.ts | 13 - apps/parser/esm/models/operation-reply.js | 1 - apps/parser/esm/models/operation-trait.d.ts | 11 - apps/parser/esm/models/operation-trait.js | 1 - apps/parser/esm/models/operation-traits.d.ts | 3 - apps/parser/esm/models/operation-traits.js | 1 - apps/parser/esm/models/operation.d.ts | 18 - apps/parser/esm/models/operation.js | 1 - apps/parser/esm/models/operations.d.ts | 6 - apps/parser/esm/models/operations.js | 1 - apps/parser/esm/models/schema.d.ts | 57 --- apps/parser/esm/models/schema.js | 1 - apps/parser/esm/models/schemas.d.ts | 3 - apps/parser/esm/models/schemas.js | 1 - .../esm/models/security-requirement.d.ts | 6 - .../parser/esm/models/security-requirement.js | 1 - .../esm/models/security-requirements.d.ts | 3 - .../esm/models/security-requirements.js | 1 - apps/parser/esm/models/security-scheme.d.ts | 19 - apps/parser/esm/models/security-scheme.js | 1 - apps/parser/esm/models/security-schemes.d.ts | 3 - apps/parser/esm/models/security-schemes.js | 1 - apps/parser/esm/models/server-variable.d.ts | 10 - apps/parser/esm/models/server-variable.js | 1 - apps/parser/esm/models/server-variables.d.ts | 3 - apps/parser/esm/models/server-variables.js | 1 - apps/parser/esm/models/server.d.ts | 22 - apps/parser/esm/models/server.js | 1 - apps/parser/esm/models/servers.d.ts | 6 - apps/parser/esm/models/servers.js | 1 - apps/parser/esm/models/tag.d.ts | 5 - apps/parser/esm/models/tag.js | 1 - apps/parser/esm/models/tags.d.ts | 3 - apps/parser/esm/models/tags.js | 1 - apps/parser/esm/models/utils.d.ts | 13 - apps/parser/esm/models/utils.js | 21 - apps/parser/esm/models/v2/asyncapi.d.ts | 31 -- apps/parser/esm/models/v2/asyncapi.js | 82 ---- apps/parser/esm/models/v2/binding.d.ts | 12 - apps/parser/esm/models/v2/binding.js | 18 - apps/parser/esm/models/v2/bindings.d.ts | 8 - apps/parser/esm/models/v2/bindings.js | 19 - .../esm/models/v2/channel-parameter.d.ts | 17 - .../parser/esm/models/v2/channel-parameter.js | 31 -- .../esm/models/v2/channel-parameters.d.ts | 6 - .../esm/models/v2/channel-parameters.js | 6 - apps/parser/esm/models/v2/channel.d.ts | 24 -- apps/parser/esm/models/v2/channel.js | 64 --- apps/parser/esm/models/v2/channels.d.ts | 8 - apps/parser/esm/models/v2/channels.js | 12 - apps/parser/esm/models/v2/components.d.ts | 39 -- apps/parser/esm/models/v2/components.js | 95 ---- apps/parser/esm/models/v2/contact.d.ts | 13 - apps/parser/esm/models/v2/contact.js | 25 -- apps/parser/esm/models/v2/correlation-id.d.ts | 10 - apps/parser/esm/models/v2/correlation-id.js | 16 - .../parser/esm/models/v2/correlation-ids.d.ts | 6 - apps/parser/esm/models/v2/correlation-ids.js | 6 - apps/parser/esm/models/v2/extension.d.ts | 9 - apps/parser/esm/models/v2/extension.js | 9 - apps/parser/esm/models/v2/extensions.d.ts | 6 - apps/parser/esm/models/v2/extensions.js | 7 - apps/parser/esm/models/v2/external-docs.d.ts | 10 - apps/parser/esm/models/v2/external-docs.js | 16 - apps/parser/esm/models/v2/index.d.ts | 37 -- apps/parser/esm/models/v2/index.js | 37 -- apps/parser/esm/models/v2/info.d.ts | 26 -- apps/parser/esm/models/v2/info.js | 65 --- apps/parser/esm/models/v2/license.d.ts | 10 - apps/parser/esm/models/v2/license.js | 16 - .../parser/esm/models/v2/message-example.d.ts | 15 - apps/parser/esm/models/v2/message-example.js | 31 -- .../esm/models/v2/message-examples.d.ts | 6 - apps/parser/esm/models/v2/message-examples.js | 6 - apps/parser/esm/models/v2/message-trait.d.ts | 38 -- apps/parser/esm/models/v2/message-trait.js | 89 ---- apps/parser/esm/models/v2/message-traits.d.ts | 6 - apps/parser/esm/models/v2/message-traits.js | 6 - apps/parser/esm/models/v2/message.d.ts | 16 - apps/parser/esm/models/v2/message.js | 63 --- apps/parser/esm/models/v2/messages.d.ts | 8 - apps/parser/esm/models/v2/messages.js | 12 - apps/parser/esm/models/v2/mixins.d.ts | 25 -- apps/parser/esm/models/v2/mixins.js | 39 -- apps/parser/esm/models/v2/oauth-flow.d.ts | 14 - apps/parser/esm/models/v2/oauth-flow.js | 28 -- apps/parser/esm/models/v2/oauth-flows.d.ts | 16 - apps/parser/esm/models/v2/oauth-flows.js | 40 -- .../parser/esm/models/v2/operation-trait.d.ts | 27 -- apps/parser/esm/models/v2/operation-trait.js | 55 --- .../esm/models/v2/operation-traits.d.ts | 6 - apps/parser/esm/models/v2/operation-traits.js | 6 - apps/parser/esm/models/v2/operation.d.ts | 18 - apps/parser/esm/models/v2/operation.js | 65 --- apps/parser/esm/models/v2/operations.d.ts | 8 - apps/parser/esm/models/v2/operations.js | 12 - apps/parser/esm/models/v2/schema.d.ts | 66 --- apps/parser/esm/models/v2/schema.js | 308 ------------- apps/parser/esm/models/v2/schemas.d.ts | 6 - apps/parser/esm/models/v2/schemas.js | 6 - .../esm/models/v2/security-requirement.d.ts | 12 - .../esm/models/v2/security-requirement.js | 9 - .../esm/models/v2/security-requirements.d.ts | 6 - .../esm/models/v2/security-requirements.js | 6 - .../parser/esm/models/v2/security-scheme.d.ts | 26 -- apps/parser/esm/models/v2/security-scheme.js | 58 --- .../esm/models/v2/security-schemes.d.ts | 6 - apps/parser/esm/models/v2/security-schemes.js | 6 - .../parser/esm/models/v2/server-variable.d.ts | 17 - apps/parser/esm/models/v2/server-variable.js | 31 -- .../esm/models/v2/server-variables.d.ts | 6 - apps/parser/esm/models/v2/server-variables.js | 6 - apps/parser/esm/models/v2/server.d.ts | 33 -- apps/parser/esm/models/v2/server.js | 98 ----- apps/parser/esm/models/v2/servers.d.ts | 8 - apps/parser/esm/models/v2/servers.js | 12 - apps/parser/esm/models/v2/tag.d.ts | 13 - apps/parser/esm/models/v2/tag.js | 22 - apps/parser/esm/models/v2/tags.d.ts | 6 - apps/parser/esm/models/v2/tags.js | 6 - apps/parser/esm/models/v3/asyncapi.d.ts | 31 -- apps/parser/esm/models/v3/asyncapi.js | 89 ---- apps/parser/esm/models/v3/binding.d.ts | 12 - apps/parser/esm/models/v3/binding.js | 18 - apps/parser/esm/models/v3/bindings.d.ts | 8 - apps/parser/esm/models/v3/bindings.js | 19 - .../esm/models/v3/channel-parameter.d.ts | 17 - .../parser/esm/models/v3/channel-parameter.js | 35 -- .../esm/models/v3/channel-parameters.d.ts | 6 - .../esm/models/v3/channel-parameters.js | 6 - apps/parser/esm/models/v3/channel.d.ts | 17 - apps/parser/esm/models/v3/channel.js | 56 --- apps/parser/esm/models/v3/channels.d.ts | 8 - apps/parser/esm/models/v3/channels.js | 12 - apps/parser/esm/models/v3/components.d.ts | 47 -- apps/parser/esm/models/v3/components.js | 116 ----- apps/parser/esm/models/v3/contact.d.ts | 13 - apps/parser/esm/models/v3/contact.js | 25 -- apps/parser/esm/models/v3/correlation-id.d.ts | 11 - apps/parser/esm/models/v3/correlation-id.js | 19 - .../parser/esm/models/v3/correlation-ids.d.ts | 6 - apps/parser/esm/models/v3/correlation-ids.js | 6 - apps/parser/esm/models/v3/extension.d.ts | 10 - apps/parser/esm/models/v3/extension.js | 12 - apps/parser/esm/models/v3/extensions.d.ts | 6 - apps/parser/esm/models/v3/extensions.js | 7 - apps/parser/esm/models/v3/external-docs.d.ts | 13 - apps/parser/esm/models/v3/external-docs.js | 19 - apps/parser/esm/models/v3/index.d.ts | 41 -- apps/parser/esm/models/v3/index.js | 41 -- apps/parser/esm/models/v3/info.d.ts | 26 -- apps/parser/esm/models/v3/info.js | 56 --- apps/parser/esm/models/v3/license.d.ts | 10 - apps/parser/esm/models/v3/license.js | 16 - .../parser/esm/models/v3/message-example.d.ts | 15 - apps/parser/esm/models/v3/message-example.js | 31 -- .../esm/models/v3/message-examples.d.ts | 6 - apps/parser/esm/models/v3/message-examples.js | 6 - apps/parser/esm/models/v3/message-trait.d.ts | 23 - apps/parser/esm/models/v3/message-trait.js | 55 --- apps/parser/esm/models/v3/message-traits.d.ts | 6 - apps/parser/esm/models/v3/message-traits.js | 6 - apps/parser/esm/models/v3/message.d.ts | 18 - apps/parser/esm/models/v3/message.js | 92 ---- apps/parser/esm/models/v3/messages.d.ts | 8 - apps/parser/esm/models/v3/messages.js | 12 - apps/parser/esm/models/v3/mixins.d.ts | 48 --- apps/parser/esm/models/v3/mixins.js | 75 ---- apps/parser/esm/models/v3/oauth-flow.d.ts | 14 - apps/parser/esm/models/v3/oauth-flow.js | 28 -- apps/parser/esm/models/v3/oauth-flows.d.ts | 16 - apps/parser/esm/models/v3/oauth-flows.js | 40 -- .../esm/models/v3/operation-replies.d.ts | 6 - .../parser/esm/models/v3/operation-replies.js | 6 - .../models/v3/operation-reply-address.d.ts | 13 - .../esm/models/v3/operation-reply-address.js | 19 - .../models/v3/operation-reply-addresses.d.ts | 6 - .../models/v3/operation-reply-addresses.js | 6 - .../parser/esm/models/v3/operation-reply.d.ts | 18 - apps/parser/esm/models/v3/operation-reply.js | 40 -- .../parser/esm/models/v3/operation-trait.d.ts | 12 - apps/parser/esm/models/v3/operation-trait.js | 22 - .../esm/models/v3/operation-traits.d.ts | 6 - apps/parser/esm/models/v3/operation-traits.js | 6 - apps/parser/esm/models/v3/operation.d.ts | 19 - apps/parser/esm/models/v3/operation.js | 70 --- apps/parser/esm/models/v3/operations.d.ts | 8 - apps/parser/esm/models/v3/operations.js | 12 - apps/parser/esm/models/v3/schema.d.ts | 76 ---- apps/parser/esm/models/v3/schema.js | 321 -------------- apps/parser/esm/models/v3/schemas.d.ts | 6 - apps/parser/esm/models/v3/schemas.js | 6 - .../esm/models/v3/security-requirement.d.ts | 12 - .../esm/models/v3/security-requirement.js | 9 - .../esm/models/v3/security-requirements.d.ts | 6 - .../esm/models/v3/security-requirements.js | 6 - .../parser/esm/models/v3/security-scheme.d.ts | 26 -- apps/parser/esm/models/v3/security-scheme.js | 58 --- .../esm/models/v3/security-schemes.d.ts | 6 - apps/parser/esm/models/v3/security-schemes.js | 6 - .../parser/esm/models/v3/server-variable.d.ts | 17 - apps/parser/esm/models/v3/server-variable.js | 31 -- .../esm/models/v3/server-variables.d.ts | 6 - apps/parser/esm/models/v3/server-variables.js | 6 - apps/parser/esm/models/v3/server.d.ts | 25 -- apps/parser/esm/models/v3/server.js | 99 ----- apps/parser/esm/models/v3/servers.d.ts | 8 - apps/parser/esm/models/v3/servers.js | 12 - apps/parser/esm/models/v3/tag.d.ts | 16 - apps/parser/esm/models/v3/tag.js | 25 -- apps/parser/esm/models/v3/tags.d.ts | 6 - apps/parser/esm/models/v3/tags.js | 6 - apps/parser/esm/old-api/asyncapi.d.ts | 40 -- apps/parser/esm/old-api/asyncapi.js | 157 ------- apps/parser/esm/old-api/base.d.ts | 7 - apps/parser/esm/old-api/base.js | 16 - .../parser/esm/old-api/channel-parameter.d.ts | 9 - apps/parser/esm/old-api/channel-parameter.js | 18 - apps/parser/esm/old-api/channel.d.ts | 23 - apps/parser/esm/old-api/channel.js | 68 --- apps/parser/esm/old-api/components.d.ts | 44 -- apps/parser/esm/old-api/components.js | 103 ----- apps/parser/esm/old-api/contact.d.ts | 7 - apps/parser/esm/old-api/contact.js | 12 - apps/parser/esm/old-api/converter.d.ts | 4 - apps/parser/esm/old-api/converter.js | 53 --- apps/parser/esm/old-api/correlation-id.d.ts | 7 - apps/parser/esm/old-api/correlation-id.js | 12 - apps/parser/esm/old-api/external-docs.d.ts | 15 - apps/parser/esm/old-api/external-docs.js | 37 -- apps/parser/esm/old-api/index.d.ts | 21 - apps/parser/esm/old-api/index.js | 21 - apps/parser/esm/old-api/info.d.ts | 13 - apps/parser/esm/old-api/info.js | 30 -- apps/parser/esm/old-api/iterator.d.ts | 42 -- apps/parser/esm/old-api/iterator.js | 246 ----------- apps/parser/esm/old-api/license.d.ts | 6 - apps/parser/esm/old-api/license.js | 9 - apps/parser/esm/old-api/message-trait.d.ts | 30 -- apps/parser/esm/old-api/message-trait.js | 83 ---- apps/parser/esm/old-api/message.d.ts | 11 - apps/parser/esm/old-api/message.js | 28 -- apps/parser/esm/old-api/mixins.d.ts | 95 ---- apps/parser/esm/old-api/mixins.js | 138 ------ apps/parser/esm/old-api/oauth-flow.d.ts | 8 - apps/parser/esm/old-api/oauth-flow.js | 15 - apps/parser/esm/old-api/operation-trait.d.ts | 27 -- apps/parser/esm/old-api/operation-trait.js | 66 --- apps/parser/esm/old-api/operation.d.ts | 10 - apps/parser/esm/old-api/operation.js | 42 -- apps/parser/esm/old-api/schema.d.ts | 63 --- apps/parser/esm/old-api/schema.js | 238 ----------- .../esm/old-api/security-requirement.d.ts | 4 - .../esm/old-api/security-requirement.js | 3 - apps/parser/esm/old-api/security-scheme.d.ts | 14 - apps/parser/esm/old-api/security-scheme.js | 31 -- apps/parser/esm/old-api/server-variable.d.ts | 12 - apps/parser/esm/old-api/server-variable.js | 29 -- apps/parser/esm/old-api/server.d.ts | 25 -- apps/parser/esm/old-api/server.js | 64 --- apps/parser/esm/old-api/tag.d.ts | 17 - apps/parser/esm/old-api/tag.js | 43 -- apps/parser/esm/parse.d.ts | 23 - apps/parser/esm/parse.js | 71 --- apps/parser/esm/parser.d.ts | 23 - apps/parser/esm/parser.js | 49 --- apps/parser/esm/resolver.d.ts | 13 - apps/parser/esm/resolver.js | 73 ---- apps/parser/esm/ruleset/formats.d.ts | 8 - apps/parser/esm/ruleset/formats.js | 41 -- .../ruleset/functions/documentStructure.d.ts | 5 - .../ruleset/functions/documentStructure.js | 126 ------ .../esm/ruleset/functions/internal.d.ts | 1 - apps/parser/esm/ruleset/functions/internal.js | 8 - .../ruleset/functions/isAsyncAPIDocument.d.ts | 2 - .../ruleset/functions/isAsyncAPIDocument.js | 24 -- .../esm/ruleset/functions/uniquenessTags.d.ts | 5 - .../esm/ruleset/functions/uniquenessTags.js | 40 -- .../ruleset/functions/unusedComponent.d.ts | 3 - .../esm/ruleset/functions/unusedComponent.js | 34 -- apps/parser/esm/ruleset/index.d.ts | 10 - apps/parser/esm/ruleset/index.js | 28 -- apps/parser/esm/ruleset/ruleset.d.ts | 184 -------- apps/parser/esm/ruleset/ruleset.js | 195 --------- .../esm/ruleset/utils/getMissingProps.d.ts | 1 - .../esm/ruleset/utils/getMissingProps.js | 7 - .../esm/ruleset/utils/getRedundantProps.d.ts | 1 - .../esm/ruleset/utils/getRedundantProps.js | 7 - apps/parser/esm/ruleset/utils/index.d.ts | 4 - apps/parser/esm/ruleset/utils/index.js | 4 - .../parser/esm/ruleset/utils/mergeTraits.d.ts | 4 - apps/parser/esm/ruleset/utils/mergeTraits.js | 31 -- .../esm/ruleset/utils/parseUrlVariables.d.ts | 1 - .../esm/ruleset/utils/parseUrlVariables.js | 8 - .../v2/functions/channelParameters.d.ts | 3 - .../ruleset/v2/functions/channelParameters.js | 37 -- .../ruleset/v2/functions/channelServers.d.ts | 6 - .../ruleset/v2/functions/channelServers.js | 45 -- .../esm/ruleset/v2/functions/checkId.d.ts | 4 - .../esm/ruleset/v2/functions/checkId.js | 28 -- .../messageExamples-spectral-rule-v2.d.ts | 3 - .../messageExamples-spectral-rule-v2.js | 113 ----- .../ruleset/v2/functions/messageExamples.d.ts | 10 - .../ruleset/v2/functions/messageExamples.js | 77 ---- .../v2/functions/messageIdUniqueness.d.ts | 2 - .../v2/functions/messageIdUniqueness.js | 92 ---- .../v2/functions/operationIdUniqueness.d.ts | 2 - .../v2/functions/operationIdUniqueness.js | 62 --- .../v2/functions/schemaValidation.d.ts | 8 - .../ruleset/v2/functions/schemaValidation.js | 50 --- .../esm/ruleset/v2/functions/security.d.ts | 3 - .../esm/ruleset/v2/functions/security.js | 61 --- .../ruleset/v2/functions/serverVariables.d.ts | 4 - .../ruleset/v2/functions/serverVariables.js | 39 -- .../v2/functions/unusedSecuritySchemes.d.ts | 2 - .../v2/functions/unusedSecuritySchemes.js | 53 --- apps/parser/esm/ruleset/v2/index.d.ts | 1 - apps/parser/esm/ruleset/v2/index.js | 1 - apps/parser/esm/ruleset/v2/ruleset.d.ts | 304 ------------- apps/parser/esm/ruleset/v2/ruleset.js | 352 --------------- .../esm/ruleset/v2/utils/getAllMessages.d.ts | 7 - .../esm/ruleset/v2/utils/getAllMessages.js | 30 -- .../ruleset/v2/utils/getAllOperations.d.ts | 8 - .../esm/ruleset/v2/utils/getAllOperations.js | 26 -- apps/parser/esm/ruleset/v2/utils/index.d.ts | 2 - apps/parser/esm/ruleset/v2/utils/index.js | 2 - .../operationMessagesUnambiguity.d.ts | 8 - .../functions/operationMessagesUnambiguity.js | 36 -- apps/parser/esm/ruleset/v3/index.d.ts | 1 - apps/parser/esm/ruleset/v3/index.js | 1 - apps/parser/esm/ruleset/v3/ruleset.d.ts | 58 --- apps/parser/esm/ruleset/v3/ruleset.js | 58 --- .../schema-parser/asyncapi-schema-parser.d.ts | 2 - .../schema-parser/asyncapi-schema-parser.js | 102 ----- apps/parser/esm/schema-parser/index.d.ts | 28 -- apps/parser/esm/schema-parser/index.js | 58 --- .../esm/schema-parser/spectral-rule-v2.d.ts | 3 - .../esm/schema-parser/spectral-rule-v2.js | 75 ---- apps/parser/esm/spec-types/index.d.ts | 2 - apps/parser/esm/spec-types/index.js | 2 - apps/parser/esm/spec-types/v2.d.ts | 363 ---------------- apps/parser/esm/spec-types/v2.js | 1 - apps/parser/esm/spec-types/v3.d.ts | 404 ------------------ apps/parser/esm/spec-types/v3.js | 1 - apps/parser/esm/spectral.d.ts | 3 - apps/parser/esm/spectral.js | 11 - apps/parser/esm/stringify.d.ts | 9 - apps/parser/esm/stringify.js | 97 ----- apps/parser/esm/types.d.ts | 24 -- apps/parser/esm/types.js | 1 - apps/parser/esm/utils.d.ts | 28 -- apps/parser/esm/utils.js | 156 ------- apps/parser/esm/validate.d.ts | 25 -- apps/parser/esm/validate.js | 48 --- 890 files changed, 26231 deletions(-) delete mode 100644 apps/parser/browser/index.js delete mode 100644 apps/parser/browser/index.js.LICENSE.txt delete mode 100644 apps/parser/cjs/constants.d.ts delete mode 100644 apps/parser/cjs/constants.js delete mode 100644 apps/parser/cjs/custom-operations/anonymous-naming.d.ts delete mode 100644 apps/parser/cjs/custom-operations/anonymous-naming.js delete mode 100644 apps/parser/cjs/custom-operations/apply-traits.d.ts delete mode 100644 apps/parser/cjs/custom-operations/apply-traits.js delete mode 100644 apps/parser/cjs/custom-operations/apply-unique-ids.d.ts delete mode 100644 apps/parser/cjs/custom-operations/apply-unique-ids.js delete mode 100644 apps/parser/cjs/custom-operations/check-circular-refs.d.ts delete mode 100644 apps/parser/cjs/custom-operations/check-circular-refs.js delete mode 100644 apps/parser/cjs/custom-operations/index.d.ts delete mode 100644 apps/parser/cjs/custom-operations/index.js delete mode 100644 apps/parser/cjs/custom-operations/parse-schema.d.ts delete mode 100644 apps/parser/cjs/custom-operations/parse-schema.js delete mode 100644 apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts delete mode 100644 apps/parser/cjs/custom-operations/resolve-circular-refs.js delete mode 100644 apps/parser/cjs/document.d.ts delete mode 100644 apps/parser/cjs/document.js delete mode 100644 apps/parser/cjs/from.d.ts delete mode 100644 apps/parser/cjs/from.js delete mode 100644 apps/parser/cjs/index.d.ts delete mode 100644 apps/parser/cjs/index.js delete mode 100644 apps/parser/cjs/iterator.d.ts delete mode 100644 apps/parser/cjs/iterator.js delete mode 100644 apps/parser/cjs/models/asyncapi.d.ts delete mode 100644 apps/parser/cjs/models/asyncapi.js delete mode 100644 apps/parser/cjs/models/base.d.ts delete mode 100644 apps/parser/cjs/models/base.js delete mode 100644 apps/parser/cjs/models/binding.d.ts delete mode 100644 apps/parser/cjs/models/binding.js delete mode 100644 apps/parser/cjs/models/bindings.d.ts delete mode 100644 apps/parser/cjs/models/bindings.js delete mode 100644 apps/parser/cjs/models/channel-parameter.d.ts delete mode 100644 apps/parser/cjs/models/channel-parameter.js delete mode 100644 apps/parser/cjs/models/channel-parameters.d.ts delete mode 100644 apps/parser/cjs/models/channel-parameters.js delete mode 100644 apps/parser/cjs/models/channel.d.ts delete mode 100644 apps/parser/cjs/models/channel.js delete mode 100644 apps/parser/cjs/models/channels.d.ts delete mode 100644 apps/parser/cjs/models/channels.js delete mode 100644 apps/parser/cjs/models/collection.d.ts delete mode 100644 apps/parser/cjs/models/collection.js delete mode 100644 apps/parser/cjs/models/components.d.ts delete mode 100644 apps/parser/cjs/models/components.js delete mode 100644 apps/parser/cjs/models/contact.d.ts delete mode 100644 apps/parser/cjs/models/contact.js delete mode 100644 apps/parser/cjs/models/correlation-id.d.ts delete mode 100644 apps/parser/cjs/models/correlation-id.js delete mode 100644 apps/parser/cjs/models/correlation-ids.d.ts delete mode 100644 apps/parser/cjs/models/correlation-ids.js delete mode 100644 apps/parser/cjs/models/extension.d.ts delete mode 100644 apps/parser/cjs/models/extension.js delete mode 100644 apps/parser/cjs/models/extensions.d.ts delete mode 100644 apps/parser/cjs/models/extensions.js delete mode 100644 apps/parser/cjs/models/external-docs.d.ts delete mode 100644 apps/parser/cjs/models/external-docs.js delete mode 100644 apps/parser/cjs/models/external-documentation.d.ts delete mode 100644 apps/parser/cjs/models/external-documentation.js delete mode 100644 apps/parser/cjs/models/external-documentations.d.ts delete mode 100644 apps/parser/cjs/models/external-documentations.js delete mode 100644 apps/parser/cjs/models/index.d.ts delete mode 100644 apps/parser/cjs/models/index.js delete mode 100644 apps/parser/cjs/models/info.d.ts delete mode 100644 apps/parser/cjs/models/info.js delete mode 100644 apps/parser/cjs/models/license.d.ts delete mode 100644 apps/parser/cjs/models/license.js delete mode 100644 apps/parser/cjs/models/message-example.d.ts delete mode 100644 apps/parser/cjs/models/message-example.js delete mode 100644 apps/parser/cjs/models/message-examples.d.ts delete mode 100644 apps/parser/cjs/models/message-examples.js delete mode 100644 apps/parser/cjs/models/message-trait.d.ts delete mode 100644 apps/parser/cjs/models/message-trait.js delete mode 100644 apps/parser/cjs/models/message-traits.d.ts delete mode 100644 apps/parser/cjs/models/message-traits.js delete mode 100644 apps/parser/cjs/models/message.d.ts delete mode 100644 apps/parser/cjs/models/message.js delete mode 100644 apps/parser/cjs/models/messages.d.ts delete mode 100644 apps/parser/cjs/models/messages.js delete mode 100644 apps/parser/cjs/models/mixins.d.ts delete mode 100644 apps/parser/cjs/models/mixins.js delete mode 100644 apps/parser/cjs/models/oauth-flow.d.ts delete mode 100644 apps/parser/cjs/models/oauth-flow.js delete mode 100644 apps/parser/cjs/models/oauth-flows.d.ts delete mode 100644 apps/parser/cjs/models/oauth-flows.js delete mode 100644 apps/parser/cjs/models/operation-replies.d.ts delete mode 100644 apps/parser/cjs/models/operation-replies.js delete mode 100644 apps/parser/cjs/models/operation-reply-address.d.ts delete mode 100644 apps/parser/cjs/models/operation-reply-address.js delete mode 100644 apps/parser/cjs/models/operation-reply-addresses.d.ts delete mode 100644 apps/parser/cjs/models/operation-reply-addresses.js delete mode 100644 apps/parser/cjs/models/operation-reply.d.ts delete mode 100644 apps/parser/cjs/models/operation-reply.js delete mode 100644 apps/parser/cjs/models/operation-trait.d.ts delete mode 100644 apps/parser/cjs/models/operation-trait.js delete mode 100644 apps/parser/cjs/models/operation-traits.d.ts delete mode 100644 apps/parser/cjs/models/operation-traits.js delete mode 100644 apps/parser/cjs/models/operation.d.ts delete mode 100644 apps/parser/cjs/models/operation.js delete mode 100644 apps/parser/cjs/models/operations.d.ts delete mode 100644 apps/parser/cjs/models/operations.js delete mode 100644 apps/parser/cjs/models/schema.d.ts delete mode 100644 apps/parser/cjs/models/schema.js delete mode 100644 apps/parser/cjs/models/schemas.d.ts delete mode 100644 apps/parser/cjs/models/schemas.js delete mode 100644 apps/parser/cjs/models/security-requirement.d.ts delete mode 100644 apps/parser/cjs/models/security-requirement.js delete mode 100644 apps/parser/cjs/models/security-requirements.d.ts delete mode 100644 apps/parser/cjs/models/security-requirements.js delete mode 100644 apps/parser/cjs/models/security-scheme.d.ts delete mode 100644 apps/parser/cjs/models/security-scheme.js delete mode 100644 apps/parser/cjs/models/security-schemes.d.ts delete mode 100644 apps/parser/cjs/models/security-schemes.js delete mode 100644 apps/parser/cjs/models/server-variable.d.ts delete mode 100644 apps/parser/cjs/models/server-variable.js delete mode 100644 apps/parser/cjs/models/server-variables.d.ts delete mode 100644 apps/parser/cjs/models/server-variables.js delete mode 100644 apps/parser/cjs/models/server.d.ts delete mode 100644 apps/parser/cjs/models/server.js delete mode 100644 apps/parser/cjs/models/servers.d.ts delete mode 100644 apps/parser/cjs/models/servers.js delete mode 100644 apps/parser/cjs/models/tag.d.ts delete mode 100644 apps/parser/cjs/models/tag.js delete mode 100644 apps/parser/cjs/models/tags.d.ts delete mode 100644 apps/parser/cjs/models/tags.js delete mode 100644 apps/parser/cjs/models/utils.d.ts delete mode 100644 apps/parser/cjs/models/utils.js delete mode 100644 apps/parser/cjs/models/v2/asyncapi.d.ts delete mode 100644 apps/parser/cjs/models/v2/asyncapi.js delete mode 100644 apps/parser/cjs/models/v2/binding.d.ts delete mode 100644 apps/parser/cjs/models/v2/binding.js delete mode 100644 apps/parser/cjs/models/v2/bindings.d.ts delete mode 100644 apps/parser/cjs/models/v2/bindings.js delete mode 100644 apps/parser/cjs/models/v2/channel-parameter.d.ts delete mode 100644 apps/parser/cjs/models/v2/channel-parameter.js delete mode 100644 apps/parser/cjs/models/v2/channel-parameters.d.ts delete mode 100644 apps/parser/cjs/models/v2/channel-parameters.js delete mode 100644 apps/parser/cjs/models/v2/channel.d.ts delete mode 100644 apps/parser/cjs/models/v2/channel.js delete mode 100644 apps/parser/cjs/models/v2/channels.d.ts delete mode 100644 apps/parser/cjs/models/v2/channels.js delete mode 100644 apps/parser/cjs/models/v2/components.d.ts delete mode 100644 apps/parser/cjs/models/v2/components.js delete mode 100644 apps/parser/cjs/models/v2/contact.d.ts delete mode 100644 apps/parser/cjs/models/v2/contact.js delete mode 100644 apps/parser/cjs/models/v2/correlation-id.d.ts delete mode 100644 apps/parser/cjs/models/v2/correlation-id.js delete mode 100644 apps/parser/cjs/models/v2/correlation-ids.d.ts delete mode 100644 apps/parser/cjs/models/v2/correlation-ids.js delete mode 100644 apps/parser/cjs/models/v2/extension.d.ts delete mode 100644 apps/parser/cjs/models/v2/extension.js delete mode 100644 apps/parser/cjs/models/v2/extensions.d.ts delete mode 100644 apps/parser/cjs/models/v2/extensions.js delete mode 100644 apps/parser/cjs/models/v2/external-docs.d.ts delete mode 100644 apps/parser/cjs/models/v2/external-docs.js delete mode 100644 apps/parser/cjs/models/v2/index.d.ts delete mode 100644 apps/parser/cjs/models/v2/index.js delete mode 100644 apps/parser/cjs/models/v2/info.d.ts delete mode 100644 apps/parser/cjs/models/v2/info.js delete mode 100644 apps/parser/cjs/models/v2/license.d.ts delete mode 100644 apps/parser/cjs/models/v2/license.js delete mode 100644 apps/parser/cjs/models/v2/message-example.d.ts delete mode 100644 apps/parser/cjs/models/v2/message-example.js delete mode 100644 apps/parser/cjs/models/v2/message-examples.d.ts delete mode 100644 apps/parser/cjs/models/v2/message-examples.js delete mode 100644 apps/parser/cjs/models/v2/message-trait.d.ts delete mode 100644 apps/parser/cjs/models/v2/message-trait.js delete mode 100644 apps/parser/cjs/models/v2/message-traits.d.ts delete mode 100644 apps/parser/cjs/models/v2/message-traits.js delete mode 100644 apps/parser/cjs/models/v2/message.d.ts delete mode 100644 apps/parser/cjs/models/v2/message.js delete mode 100644 apps/parser/cjs/models/v2/messages.d.ts delete mode 100644 apps/parser/cjs/models/v2/messages.js delete mode 100644 apps/parser/cjs/models/v2/mixins.d.ts delete mode 100644 apps/parser/cjs/models/v2/mixins.js delete mode 100644 apps/parser/cjs/models/v2/oauth-flow.d.ts delete mode 100644 apps/parser/cjs/models/v2/oauth-flow.js delete mode 100644 apps/parser/cjs/models/v2/oauth-flows.d.ts delete mode 100644 apps/parser/cjs/models/v2/oauth-flows.js delete mode 100644 apps/parser/cjs/models/v2/operation-trait.d.ts delete mode 100644 apps/parser/cjs/models/v2/operation-trait.js delete mode 100644 apps/parser/cjs/models/v2/operation-traits.d.ts delete mode 100644 apps/parser/cjs/models/v2/operation-traits.js delete mode 100644 apps/parser/cjs/models/v2/operation.d.ts delete mode 100644 apps/parser/cjs/models/v2/operation.js delete mode 100644 apps/parser/cjs/models/v2/operations.d.ts delete mode 100644 apps/parser/cjs/models/v2/operations.js delete mode 100644 apps/parser/cjs/models/v2/schema.d.ts delete mode 100644 apps/parser/cjs/models/v2/schema.js delete mode 100644 apps/parser/cjs/models/v2/schemas.d.ts delete mode 100644 apps/parser/cjs/models/v2/schemas.js delete mode 100644 apps/parser/cjs/models/v2/security-requirement.d.ts delete mode 100644 apps/parser/cjs/models/v2/security-requirement.js delete mode 100644 apps/parser/cjs/models/v2/security-requirements.d.ts delete mode 100644 apps/parser/cjs/models/v2/security-requirements.js delete mode 100644 apps/parser/cjs/models/v2/security-scheme.d.ts delete mode 100644 apps/parser/cjs/models/v2/security-scheme.js delete mode 100644 apps/parser/cjs/models/v2/security-schemes.d.ts delete mode 100644 apps/parser/cjs/models/v2/security-schemes.js delete mode 100644 apps/parser/cjs/models/v2/server-variable.d.ts delete mode 100644 apps/parser/cjs/models/v2/server-variable.js delete mode 100644 apps/parser/cjs/models/v2/server-variables.d.ts delete mode 100644 apps/parser/cjs/models/v2/server-variables.js delete mode 100644 apps/parser/cjs/models/v2/server.d.ts delete mode 100644 apps/parser/cjs/models/v2/server.js delete mode 100644 apps/parser/cjs/models/v2/servers.d.ts delete mode 100644 apps/parser/cjs/models/v2/servers.js delete mode 100644 apps/parser/cjs/models/v2/tag.d.ts delete mode 100644 apps/parser/cjs/models/v2/tag.js delete mode 100644 apps/parser/cjs/models/v2/tags.d.ts delete mode 100644 apps/parser/cjs/models/v2/tags.js delete mode 100644 apps/parser/cjs/models/v3/asyncapi.d.ts delete mode 100644 apps/parser/cjs/models/v3/asyncapi.js delete mode 100644 apps/parser/cjs/models/v3/binding.d.ts delete mode 100644 apps/parser/cjs/models/v3/binding.js delete mode 100644 apps/parser/cjs/models/v3/bindings.d.ts delete mode 100644 apps/parser/cjs/models/v3/bindings.js delete mode 100644 apps/parser/cjs/models/v3/channel-parameter.d.ts delete mode 100644 apps/parser/cjs/models/v3/channel-parameter.js delete mode 100644 apps/parser/cjs/models/v3/channel-parameters.d.ts delete mode 100644 apps/parser/cjs/models/v3/channel-parameters.js delete mode 100644 apps/parser/cjs/models/v3/channel.d.ts delete mode 100644 apps/parser/cjs/models/v3/channel.js delete mode 100644 apps/parser/cjs/models/v3/channels.d.ts delete mode 100644 apps/parser/cjs/models/v3/channels.js delete mode 100644 apps/parser/cjs/models/v3/components.d.ts delete mode 100644 apps/parser/cjs/models/v3/components.js delete mode 100644 apps/parser/cjs/models/v3/contact.d.ts delete mode 100644 apps/parser/cjs/models/v3/contact.js delete mode 100644 apps/parser/cjs/models/v3/correlation-id.d.ts delete mode 100644 apps/parser/cjs/models/v3/correlation-id.js delete mode 100644 apps/parser/cjs/models/v3/correlation-ids.d.ts delete mode 100644 apps/parser/cjs/models/v3/correlation-ids.js delete mode 100644 apps/parser/cjs/models/v3/extension.d.ts delete mode 100644 apps/parser/cjs/models/v3/extension.js delete mode 100644 apps/parser/cjs/models/v3/extensions.d.ts delete mode 100644 apps/parser/cjs/models/v3/extensions.js delete mode 100644 apps/parser/cjs/models/v3/external-docs.d.ts delete mode 100644 apps/parser/cjs/models/v3/external-docs.js delete mode 100644 apps/parser/cjs/models/v3/index.d.ts delete mode 100644 apps/parser/cjs/models/v3/index.js delete mode 100644 apps/parser/cjs/models/v3/info.d.ts delete mode 100644 apps/parser/cjs/models/v3/info.js delete mode 100644 apps/parser/cjs/models/v3/license.d.ts delete mode 100644 apps/parser/cjs/models/v3/license.js delete mode 100644 apps/parser/cjs/models/v3/message-example.d.ts delete mode 100644 apps/parser/cjs/models/v3/message-example.js delete mode 100644 apps/parser/cjs/models/v3/message-examples.d.ts delete mode 100644 apps/parser/cjs/models/v3/message-examples.js delete mode 100644 apps/parser/cjs/models/v3/message-trait.d.ts delete mode 100644 apps/parser/cjs/models/v3/message-trait.js delete mode 100644 apps/parser/cjs/models/v3/message-traits.d.ts delete mode 100644 apps/parser/cjs/models/v3/message-traits.js delete mode 100644 apps/parser/cjs/models/v3/message.d.ts delete mode 100644 apps/parser/cjs/models/v3/message.js delete mode 100644 apps/parser/cjs/models/v3/messages.d.ts delete mode 100644 apps/parser/cjs/models/v3/messages.js delete mode 100644 apps/parser/cjs/models/v3/mixins.d.ts delete mode 100644 apps/parser/cjs/models/v3/mixins.js delete mode 100644 apps/parser/cjs/models/v3/oauth-flow.d.ts delete mode 100644 apps/parser/cjs/models/v3/oauth-flow.js delete mode 100644 apps/parser/cjs/models/v3/oauth-flows.d.ts delete mode 100644 apps/parser/cjs/models/v3/oauth-flows.js delete mode 100644 apps/parser/cjs/models/v3/operation-replies.d.ts delete mode 100644 apps/parser/cjs/models/v3/operation-replies.js delete mode 100644 apps/parser/cjs/models/v3/operation-reply-address.d.ts delete mode 100644 apps/parser/cjs/models/v3/operation-reply-address.js delete mode 100644 apps/parser/cjs/models/v3/operation-reply-addresses.d.ts delete mode 100644 apps/parser/cjs/models/v3/operation-reply-addresses.js delete mode 100644 apps/parser/cjs/models/v3/operation-reply.d.ts delete mode 100644 apps/parser/cjs/models/v3/operation-reply.js delete mode 100644 apps/parser/cjs/models/v3/operation-trait.d.ts delete mode 100644 apps/parser/cjs/models/v3/operation-trait.js delete mode 100644 apps/parser/cjs/models/v3/operation-traits.d.ts delete mode 100644 apps/parser/cjs/models/v3/operation-traits.js delete mode 100644 apps/parser/cjs/models/v3/operation.d.ts delete mode 100644 apps/parser/cjs/models/v3/operation.js delete mode 100644 apps/parser/cjs/models/v3/operations.d.ts delete mode 100644 apps/parser/cjs/models/v3/operations.js delete mode 100644 apps/parser/cjs/models/v3/schema.d.ts delete mode 100644 apps/parser/cjs/models/v3/schema.js delete mode 100644 apps/parser/cjs/models/v3/schemas.d.ts delete mode 100644 apps/parser/cjs/models/v3/schemas.js delete mode 100644 apps/parser/cjs/models/v3/security-requirement.d.ts delete mode 100644 apps/parser/cjs/models/v3/security-requirement.js delete mode 100644 apps/parser/cjs/models/v3/security-requirements.d.ts delete mode 100644 apps/parser/cjs/models/v3/security-requirements.js delete mode 100644 apps/parser/cjs/models/v3/security-scheme.d.ts delete mode 100644 apps/parser/cjs/models/v3/security-scheme.js delete mode 100644 apps/parser/cjs/models/v3/security-schemes.d.ts delete mode 100644 apps/parser/cjs/models/v3/security-schemes.js delete mode 100644 apps/parser/cjs/models/v3/server-variable.d.ts delete mode 100644 apps/parser/cjs/models/v3/server-variable.js delete mode 100644 apps/parser/cjs/models/v3/server-variables.d.ts delete mode 100644 apps/parser/cjs/models/v3/server-variables.js delete mode 100644 apps/parser/cjs/models/v3/server.d.ts delete mode 100644 apps/parser/cjs/models/v3/server.js delete mode 100644 apps/parser/cjs/models/v3/servers.d.ts delete mode 100644 apps/parser/cjs/models/v3/servers.js delete mode 100644 apps/parser/cjs/models/v3/tag.d.ts delete mode 100644 apps/parser/cjs/models/v3/tag.js delete mode 100644 apps/parser/cjs/models/v3/tags.d.ts delete mode 100644 apps/parser/cjs/models/v3/tags.js delete mode 100644 apps/parser/cjs/old-api/asyncapi.d.ts delete mode 100644 apps/parser/cjs/old-api/asyncapi.js delete mode 100644 apps/parser/cjs/old-api/base.d.ts delete mode 100644 apps/parser/cjs/old-api/base.js delete mode 100644 apps/parser/cjs/old-api/channel-parameter.d.ts delete mode 100644 apps/parser/cjs/old-api/channel-parameter.js delete mode 100644 apps/parser/cjs/old-api/channel.d.ts delete mode 100644 apps/parser/cjs/old-api/channel.js delete mode 100644 apps/parser/cjs/old-api/components.d.ts delete mode 100644 apps/parser/cjs/old-api/components.js delete mode 100644 apps/parser/cjs/old-api/contact.d.ts delete mode 100644 apps/parser/cjs/old-api/contact.js delete mode 100644 apps/parser/cjs/old-api/converter.d.ts delete mode 100644 apps/parser/cjs/old-api/converter.js delete mode 100644 apps/parser/cjs/old-api/correlation-id.d.ts delete mode 100644 apps/parser/cjs/old-api/correlation-id.js delete mode 100644 apps/parser/cjs/old-api/external-docs.d.ts delete mode 100644 apps/parser/cjs/old-api/external-docs.js delete mode 100644 apps/parser/cjs/old-api/index.d.ts delete mode 100644 apps/parser/cjs/old-api/index.js delete mode 100644 apps/parser/cjs/old-api/info.d.ts delete mode 100644 apps/parser/cjs/old-api/info.js delete mode 100644 apps/parser/cjs/old-api/iterator.d.ts delete mode 100644 apps/parser/cjs/old-api/iterator.js delete mode 100644 apps/parser/cjs/old-api/license.d.ts delete mode 100644 apps/parser/cjs/old-api/license.js delete mode 100644 apps/parser/cjs/old-api/message-trait.d.ts delete mode 100644 apps/parser/cjs/old-api/message-trait.js delete mode 100644 apps/parser/cjs/old-api/message.d.ts delete mode 100644 apps/parser/cjs/old-api/message.js delete mode 100644 apps/parser/cjs/old-api/mixins.d.ts delete mode 100644 apps/parser/cjs/old-api/mixins.js delete mode 100644 apps/parser/cjs/old-api/oauth-flow.d.ts delete mode 100644 apps/parser/cjs/old-api/oauth-flow.js delete mode 100644 apps/parser/cjs/old-api/operation-trait.d.ts delete mode 100644 apps/parser/cjs/old-api/operation-trait.js delete mode 100644 apps/parser/cjs/old-api/operation.d.ts delete mode 100644 apps/parser/cjs/old-api/operation.js delete mode 100644 apps/parser/cjs/old-api/schema.d.ts delete mode 100644 apps/parser/cjs/old-api/schema.js delete mode 100644 apps/parser/cjs/old-api/security-requirement.d.ts delete mode 100644 apps/parser/cjs/old-api/security-requirement.js delete mode 100644 apps/parser/cjs/old-api/security-scheme.d.ts delete mode 100644 apps/parser/cjs/old-api/security-scheme.js delete mode 100644 apps/parser/cjs/old-api/server-variable.d.ts delete mode 100644 apps/parser/cjs/old-api/server-variable.js delete mode 100644 apps/parser/cjs/old-api/server.d.ts delete mode 100644 apps/parser/cjs/old-api/server.js delete mode 100644 apps/parser/cjs/old-api/tag.d.ts delete mode 100644 apps/parser/cjs/old-api/tag.js delete mode 100644 apps/parser/cjs/parse.d.ts delete mode 100644 apps/parser/cjs/parse.js delete mode 100644 apps/parser/cjs/parser.d.ts delete mode 100644 apps/parser/cjs/parser.js delete mode 100644 apps/parser/cjs/resolver.d.ts delete mode 100644 apps/parser/cjs/resolver.js delete mode 100644 apps/parser/cjs/ruleset/formats.d.ts delete mode 100644 apps/parser/cjs/ruleset/formats.js delete mode 100644 apps/parser/cjs/ruleset/functions/documentStructure.d.ts delete mode 100644 apps/parser/cjs/ruleset/functions/documentStructure.js delete mode 100644 apps/parser/cjs/ruleset/functions/internal.d.ts delete mode 100644 apps/parser/cjs/ruleset/functions/internal.js delete mode 100644 apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts delete mode 100644 apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js delete mode 100644 apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts delete mode 100644 apps/parser/cjs/ruleset/functions/uniquenessTags.js delete mode 100644 apps/parser/cjs/ruleset/functions/unusedComponent.d.ts delete mode 100644 apps/parser/cjs/ruleset/functions/unusedComponent.js delete mode 100644 apps/parser/cjs/ruleset/index.d.ts delete mode 100644 apps/parser/cjs/ruleset/index.js delete mode 100644 apps/parser/cjs/ruleset/ruleset.d.ts delete mode 100644 apps/parser/cjs/ruleset/ruleset.js delete mode 100644 apps/parser/cjs/ruleset/utils/getMissingProps.d.ts delete mode 100644 apps/parser/cjs/ruleset/utils/getMissingProps.js delete mode 100644 apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts delete mode 100644 apps/parser/cjs/ruleset/utils/getRedundantProps.js delete mode 100644 apps/parser/cjs/ruleset/utils/index.d.ts delete mode 100644 apps/parser/cjs/ruleset/utils/index.js delete mode 100644 apps/parser/cjs/ruleset/utils/mergeTraits.d.ts delete mode 100644 apps/parser/cjs/ruleset/utils/mergeTraits.js delete mode 100644 apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts delete mode 100644 apps/parser/cjs/ruleset/utils/parseUrlVariables.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/channelParameters.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/channelServers.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/checkId.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/checkId.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/messageExamples.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/schemaValidation.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/security.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/security.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/serverVariables.js delete mode 100644 apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js delete mode 100644 apps/parser/cjs/ruleset/v2/index.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/index.js delete mode 100644 apps/parser/cjs/ruleset/v2/ruleset.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/ruleset.js delete mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllMessages.js delete mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/utils/getAllOperations.js delete mode 100644 apps/parser/cjs/ruleset/v2/utils/index.d.ts delete mode 100644 apps/parser/cjs/ruleset/v2/utils/index.js delete mode 100644 apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts delete mode 100644 apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js delete mode 100644 apps/parser/cjs/ruleset/v3/index.d.ts delete mode 100644 apps/parser/cjs/ruleset/v3/index.js delete mode 100644 apps/parser/cjs/ruleset/v3/ruleset.d.ts delete mode 100644 apps/parser/cjs/ruleset/v3/ruleset.js delete mode 100644 apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts delete mode 100644 apps/parser/cjs/schema-parser/asyncapi-schema-parser.js delete mode 100644 apps/parser/cjs/schema-parser/index.d.ts delete mode 100644 apps/parser/cjs/schema-parser/index.js delete mode 100644 apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts delete mode 100644 apps/parser/cjs/schema-parser/spectral-rule-v2.js delete mode 100644 apps/parser/cjs/spec-types/index.d.ts delete mode 100644 apps/parser/cjs/spec-types/index.js delete mode 100644 apps/parser/cjs/spec-types/v2.d.ts delete mode 100644 apps/parser/cjs/spec-types/v2.js delete mode 100644 apps/parser/cjs/spec-types/v3.d.ts delete mode 100644 apps/parser/cjs/spec-types/v3.js delete mode 100644 apps/parser/cjs/spectral.d.ts delete mode 100644 apps/parser/cjs/spectral.js delete mode 100644 apps/parser/cjs/stringify.d.ts delete mode 100644 apps/parser/cjs/stringify.js delete mode 100644 apps/parser/cjs/types.d.ts delete mode 100644 apps/parser/cjs/types.js delete mode 100644 apps/parser/cjs/utils.d.ts delete mode 100644 apps/parser/cjs/utils.js delete mode 100644 apps/parser/cjs/validate.d.ts delete mode 100644 apps/parser/cjs/validate.js delete mode 100644 apps/parser/esm/constants.d.ts delete mode 100644 apps/parser/esm/constants.js delete mode 100644 apps/parser/esm/custom-operations/anonymous-naming.d.ts delete mode 100644 apps/parser/esm/custom-operations/anonymous-naming.js delete mode 100644 apps/parser/esm/custom-operations/apply-traits.d.ts delete mode 100644 apps/parser/esm/custom-operations/apply-traits.js delete mode 100644 apps/parser/esm/custom-operations/apply-unique-ids.d.ts delete mode 100644 apps/parser/esm/custom-operations/apply-unique-ids.js delete mode 100644 apps/parser/esm/custom-operations/check-circular-refs.d.ts delete mode 100644 apps/parser/esm/custom-operations/check-circular-refs.js delete mode 100644 apps/parser/esm/custom-operations/index.d.ts delete mode 100644 apps/parser/esm/custom-operations/index.js delete mode 100644 apps/parser/esm/custom-operations/parse-schema.d.ts delete mode 100644 apps/parser/esm/custom-operations/parse-schema.js delete mode 100644 apps/parser/esm/custom-operations/resolve-circular-refs.d.ts delete mode 100644 apps/parser/esm/custom-operations/resolve-circular-refs.js delete mode 100644 apps/parser/esm/document.d.ts delete mode 100644 apps/parser/esm/document.js delete mode 100644 apps/parser/esm/from.d.ts delete mode 100644 apps/parser/esm/from.js delete mode 100644 apps/parser/esm/index.d.ts delete mode 100644 apps/parser/esm/index.js delete mode 100644 apps/parser/esm/iterator.d.ts delete mode 100644 apps/parser/esm/iterator.js delete mode 100644 apps/parser/esm/models/asyncapi.d.ts delete mode 100644 apps/parser/esm/models/asyncapi.js delete mode 100644 apps/parser/esm/models/base.d.ts delete mode 100644 apps/parser/esm/models/base.js delete mode 100644 apps/parser/esm/models/binding.d.ts delete mode 100644 apps/parser/esm/models/binding.js delete mode 100644 apps/parser/esm/models/bindings.d.ts delete mode 100644 apps/parser/esm/models/bindings.js delete mode 100644 apps/parser/esm/models/channel-parameter.d.ts delete mode 100644 apps/parser/esm/models/channel-parameter.js delete mode 100644 apps/parser/esm/models/channel-parameters.d.ts delete mode 100644 apps/parser/esm/models/channel-parameters.js delete mode 100644 apps/parser/esm/models/channel.d.ts delete mode 100644 apps/parser/esm/models/channel.js delete mode 100644 apps/parser/esm/models/channels.d.ts delete mode 100644 apps/parser/esm/models/channels.js delete mode 100644 apps/parser/esm/models/collection.d.ts delete mode 100644 apps/parser/esm/models/collection.js delete mode 100644 apps/parser/esm/models/components.d.ts delete mode 100644 apps/parser/esm/models/components.js delete mode 100644 apps/parser/esm/models/contact.d.ts delete mode 100644 apps/parser/esm/models/contact.js delete mode 100644 apps/parser/esm/models/correlation-id.d.ts delete mode 100644 apps/parser/esm/models/correlation-id.js delete mode 100644 apps/parser/esm/models/correlation-ids.d.ts delete mode 100644 apps/parser/esm/models/correlation-ids.js delete mode 100644 apps/parser/esm/models/extension.d.ts delete mode 100644 apps/parser/esm/models/extension.js delete mode 100644 apps/parser/esm/models/extensions.d.ts delete mode 100644 apps/parser/esm/models/extensions.js delete mode 100644 apps/parser/esm/models/external-docs.d.ts delete mode 100644 apps/parser/esm/models/external-docs.js delete mode 100644 apps/parser/esm/models/external-documentation.d.ts delete mode 100644 apps/parser/esm/models/external-documentation.js delete mode 100644 apps/parser/esm/models/external-documentations.d.ts delete mode 100644 apps/parser/esm/models/external-documentations.js delete mode 100644 apps/parser/esm/models/index.d.ts delete mode 100644 apps/parser/esm/models/index.js delete mode 100644 apps/parser/esm/models/info.d.ts delete mode 100644 apps/parser/esm/models/info.js delete mode 100644 apps/parser/esm/models/license.d.ts delete mode 100644 apps/parser/esm/models/license.js delete mode 100644 apps/parser/esm/models/message-example.d.ts delete mode 100644 apps/parser/esm/models/message-example.js delete mode 100644 apps/parser/esm/models/message-examples.d.ts delete mode 100644 apps/parser/esm/models/message-examples.js delete mode 100644 apps/parser/esm/models/message-trait.d.ts delete mode 100644 apps/parser/esm/models/message-trait.js delete mode 100644 apps/parser/esm/models/message-traits.d.ts delete mode 100644 apps/parser/esm/models/message-traits.js delete mode 100644 apps/parser/esm/models/message.d.ts delete mode 100644 apps/parser/esm/models/message.js delete mode 100644 apps/parser/esm/models/messages.d.ts delete mode 100644 apps/parser/esm/models/messages.js delete mode 100644 apps/parser/esm/models/mixins.d.ts delete mode 100644 apps/parser/esm/models/mixins.js delete mode 100644 apps/parser/esm/models/oauth-flow.d.ts delete mode 100644 apps/parser/esm/models/oauth-flow.js delete mode 100644 apps/parser/esm/models/oauth-flows.d.ts delete mode 100644 apps/parser/esm/models/oauth-flows.js delete mode 100644 apps/parser/esm/models/operation-replies.d.ts delete mode 100644 apps/parser/esm/models/operation-replies.js delete mode 100644 apps/parser/esm/models/operation-reply-address.d.ts delete mode 100644 apps/parser/esm/models/operation-reply-address.js delete mode 100644 apps/parser/esm/models/operation-reply-addresses.d.ts delete mode 100644 apps/parser/esm/models/operation-reply-addresses.js delete mode 100644 apps/parser/esm/models/operation-reply.d.ts delete mode 100644 apps/parser/esm/models/operation-reply.js delete mode 100644 apps/parser/esm/models/operation-trait.d.ts delete mode 100644 apps/parser/esm/models/operation-trait.js delete mode 100644 apps/parser/esm/models/operation-traits.d.ts delete mode 100644 apps/parser/esm/models/operation-traits.js delete mode 100644 apps/parser/esm/models/operation.d.ts delete mode 100644 apps/parser/esm/models/operation.js delete mode 100644 apps/parser/esm/models/operations.d.ts delete mode 100644 apps/parser/esm/models/operations.js delete mode 100644 apps/parser/esm/models/schema.d.ts delete mode 100644 apps/parser/esm/models/schema.js delete mode 100644 apps/parser/esm/models/schemas.d.ts delete mode 100644 apps/parser/esm/models/schemas.js delete mode 100644 apps/parser/esm/models/security-requirement.d.ts delete mode 100644 apps/parser/esm/models/security-requirement.js delete mode 100644 apps/parser/esm/models/security-requirements.d.ts delete mode 100644 apps/parser/esm/models/security-requirements.js delete mode 100644 apps/parser/esm/models/security-scheme.d.ts delete mode 100644 apps/parser/esm/models/security-scheme.js delete mode 100644 apps/parser/esm/models/security-schemes.d.ts delete mode 100644 apps/parser/esm/models/security-schemes.js delete mode 100644 apps/parser/esm/models/server-variable.d.ts delete mode 100644 apps/parser/esm/models/server-variable.js delete mode 100644 apps/parser/esm/models/server-variables.d.ts delete mode 100644 apps/parser/esm/models/server-variables.js delete mode 100644 apps/parser/esm/models/server.d.ts delete mode 100644 apps/parser/esm/models/server.js delete mode 100644 apps/parser/esm/models/servers.d.ts delete mode 100644 apps/parser/esm/models/servers.js delete mode 100644 apps/parser/esm/models/tag.d.ts delete mode 100644 apps/parser/esm/models/tag.js delete mode 100644 apps/parser/esm/models/tags.d.ts delete mode 100644 apps/parser/esm/models/tags.js delete mode 100644 apps/parser/esm/models/utils.d.ts delete mode 100644 apps/parser/esm/models/utils.js delete mode 100644 apps/parser/esm/models/v2/asyncapi.d.ts delete mode 100644 apps/parser/esm/models/v2/asyncapi.js delete mode 100644 apps/parser/esm/models/v2/binding.d.ts delete mode 100644 apps/parser/esm/models/v2/binding.js delete mode 100644 apps/parser/esm/models/v2/bindings.d.ts delete mode 100644 apps/parser/esm/models/v2/bindings.js delete mode 100644 apps/parser/esm/models/v2/channel-parameter.d.ts delete mode 100644 apps/parser/esm/models/v2/channel-parameter.js delete mode 100644 apps/parser/esm/models/v2/channel-parameters.d.ts delete mode 100644 apps/parser/esm/models/v2/channel-parameters.js delete mode 100644 apps/parser/esm/models/v2/channel.d.ts delete mode 100644 apps/parser/esm/models/v2/channel.js delete mode 100644 apps/parser/esm/models/v2/channels.d.ts delete mode 100644 apps/parser/esm/models/v2/channels.js delete mode 100644 apps/parser/esm/models/v2/components.d.ts delete mode 100644 apps/parser/esm/models/v2/components.js delete mode 100644 apps/parser/esm/models/v2/contact.d.ts delete mode 100644 apps/parser/esm/models/v2/contact.js delete mode 100644 apps/parser/esm/models/v2/correlation-id.d.ts delete mode 100644 apps/parser/esm/models/v2/correlation-id.js delete mode 100644 apps/parser/esm/models/v2/correlation-ids.d.ts delete mode 100644 apps/parser/esm/models/v2/correlation-ids.js delete mode 100644 apps/parser/esm/models/v2/extension.d.ts delete mode 100644 apps/parser/esm/models/v2/extension.js delete mode 100644 apps/parser/esm/models/v2/extensions.d.ts delete mode 100644 apps/parser/esm/models/v2/extensions.js delete mode 100644 apps/parser/esm/models/v2/external-docs.d.ts delete mode 100644 apps/parser/esm/models/v2/external-docs.js delete mode 100644 apps/parser/esm/models/v2/index.d.ts delete mode 100644 apps/parser/esm/models/v2/index.js delete mode 100644 apps/parser/esm/models/v2/info.d.ts delete mode 100644 apps/parser/esm/models/v2/info.js delete mode 100644 apps/parser/esm/models/v2/license.d.ts delete mode 100644 apps/parser/esm/models/v2/license.js delete mode 100644 apps/parser/esm/models/v2/message-example.d.ts delete mode 100644 apps/parser/esm/models/v2/message-example.js delete mode 100644 apps/parser/esm/models/v2/message-examples.d.ts delete mode 100644 apps/parser/esm/models/v2/message-examples.js delete mode 100644 apps/parser/esm/models/v2/message-trait.d.ts delete mode 100644 apps/parser/esm/models/v2/message-trait.js delete mode 100644 apps/parser/esm/models/v2/message-traits.d.ts delete mode 100644 apps/parser/esm/models/v2/message-traits.js delete mode 100644 apps/parser/esm/models/v2/message.d.ts delete mode 100644 apps/parser/esm/models/v2/message.js delete mode 100644 apps/parser/esm/models/v2/messages.d.ts delete mode 100644 apps/parser/esm/models/v2/messages.js delete mode 100644 apps/parser/esm/models/v2/mixins.d.ts delete mode 100644 apps/parser/esm/models/v2/mixins.js delete mode 100644 apps/parser/esm/models/v2/oauth-flow.d.ts delete mode 100644 apps/parser/esm/models/v2/oauth-flow.js delete mode 100644 apps/parser/esm/models/v2/oauth-flows.d.ts delete mode 100644 apps/parser/esm/models/v2/oauth-flows.js delete mode 100644 apps/parser/esm/models/v2/operation-trait.d.ts delete mode 100644 apps/parser/esm/models/v2/operation-trait.js delete mode 100644 apps/parser/esm/models/v2/operation-traits.d.ts delete mode 100644 apps/parser/esm/models/v2/operation-traits.js delete mode 100644 apps/parser/esm/models/v2/operation.d.ts delete mode 100644 apps/parser/esm/models/v2/operation.js delete mode 100644 apps/parser/esm/models/v2/operations.d.ts delete mode 100644 apps/parser/esm/models/v2/operations.js delete mode 100644 apps/parser/esm/models/v2/schema.d.ts delete mode 100644 apps/parser/esm/models/v2/schema.js delete mode 100644 apps/parser/esm/models/v2/schemas.d.ts delete mode 100644 apps/parser/esm/models/v2/schemas.js delete mode 100644 apps/parser/esm/models/v2/security-requirement.d.ts delete mode 100644 apps/parser/esm/models/v2/security-requirement.js delete mode 100644 apps/parser/esm/models/v2/security-requirements.d.ts delete mode 100644 apps/parser/esm/models/v2/security-requirements.js delete mode 100644 apps/parser/esm/models/v2/security-scheme.d.ts delete mode 100644 apps/parser/esm/models/v2/security-scheme.js delete mode 100644 apps/parser/esm/models/v2/security-schemes.d.ts delete mode 100644 apps/parser/esm/models/v2/security-schemes.js delete mode 100644 apps/parser/esm/models/v2/server-variable.d.ts delete mode 100644 apps/parser/esm/models/v2/server-variable.js delete mode 100644 apps/parser/esm/models/v2/server-variables.d.ts delete mode 100644 apps/parser/esm/models/v2/server-variables.js delete mode 100644 apps/parser/esm/models/v2/server.d.ts delete mode 100644 apps/parser/esm/models/v2/server.js delete mode 100644 apps/parser/esm/models/v2/servers.d.ts delete mode 100644 apps/parser/esm/models/v2/servers.js delete mode 100644 apps/parser/esm/models/v2/tag.d.ts delete mode 100644 apps/parser/esm/models/v2/tag.js delete mode 100644 apps/parser/esm/models/v2/tags.d.ts delete mode 100644 apps/parser/esm/models/v2/tags.js delete mode 100644 apps/parser/esm/models/v3/asyncapi.d.ts delete mode 100644 apps/parser/esm/models/v3/asyncapi.js delete mode 100644 apps/parser/esm/models/v3/binding.d.ts delete mode 100644 apps/parser/esm/models/v3/binding.js delete mode 100644 apps/parser/esm/models/v3/bindings.d.ts delete mode 100644 apps/parser/esm/models/v3/bindings.js delete mode 100644 apps/parser/esm/models/v3/channel-parameter.d.ts delete mode 100644 apps/parser/esm/models/v3/channel-parameter.js delete mode 100644 apps/parser/esm/models/v3/channel-parameters.d.ts delete mode 100644 apps/parser/esm/models/v3/channel-parameters.js delete mode 100644 apps/parser/esm/models/v3/channel.d.ts delete mode 100644 apps/parser/esm/models/v3/channel.js delete mode 100644 apps/parser/esm/models/v3/channels.d.ts delete mode 100644 apps/parser/esm/models/v3/channels.js delete mode 100644 apps/parser/esm/models/v3/components.d.ts delete mode 100644 apps/parser/esm/models/v3/components.js delete mode 100644 apps/parser/esm/models/v3/contact.d.ts delete mode 100644 apps/parser/esm/models/v3/contact.js delete mode 100644 apps/parser/esm/models/v3/correlation-id.d.ts delete mode 100644 apps/parser/esm/models/v3/correlation-id.js delete mode 100644 apps/parser/esm/models/v3/correlation-ids.d.ts delete mode 100644 apps/parser/esm/models/v3/correlation-ids.js delete mode 100644 apps/parser/esm/models/v3/extension.d.ts delete mode 100644 apps/parser/esm/models/v3/extension.js delete mode 100644 apps/parser/esm/models/v3/extensions.d.ts delete mode 100644 apps/parser/esm/models/v3/extensions.js delete mode 100644 apps/parser/esm/models/v3/external-docs.d.ts delete mode 100644 apps/parser/esm/models/v3/external-docs.js delete mode 100644 apps/parser/esm/models/v3/index.d.ts delete mode 100644 apps/parser/esm/models/v3/index.js delete mode 100644 apps/parser/esm/models/v3/info.d.ts delete mode 100644 apps/parser/esm/models/v3/info.js delete mode 100644 apps/parser/esm/models/v3/license.d.ts delete mode 100644 apps/parser/esm/models/v3/license.js delete mode 100644 apps/parser/esm/models/v3/message-example.d.ts delete mode 100644 apps/parser/esm/models/v3/message-example.js delete mode 100644 apps/parser/esm/models/v3/message-examples.d.ts delete mode 100644 apps/parser/esm/models/v3/message-examples.js delete mode 100644 apps/parser/esm/models/v3/message-trait.d.ts delete mode 100644 apps/parser/esm/models/v3/message-trait.js delete mode 100644 apps/parser/esm/models/v3/message-traits.d.ts delete mode 100644 apps/parser/esm/models/v3/message-traits.js delete mode 100644 apps/parser/esm/models/v3/message.d.ts delete mode 100644 apps/parser/esm/models/v3/message.js delete mode 100644 apps/parser/esm/models/v3/messages.d.ts delete mode 100644 apps/parser/esm/models/v3/messages.js delete mode 100644 apps/parser/esm/models/v3/mixins.d.ts delete mode 100644 apps/parser/esm/models/v3/mixins.js delete mode 100644 apps/parser/esm/models/v3/oauth-flow.d.ts delete mode 100644 apps/parser/esm/models/v3/oauth-flow.js delete mode 100644 apps/parser/esm/models/v3/oauth-flows.d.ts delete mode 100644 apps/parser/esm/models/v3/oauth-flows.js delete mode 100644 apps/parser/esm/models/v3/operation-replies.d.ts delete mode 100644 apps/parser/esm/models/v3/operation-replies.js delete mode 100644 apps/parser/esm/models/v3/operation-reply-address.d.ts delete mode 100644 apps/parser/esm/models/v3/operation-reply-address.js delete mode 100644 apps/parser/esm/models/v3/operation-reply-addresses.d.ts delete mode 100644 apps/parser/esm/models/v3/operation-reply-addresses.js delete mode 100644 apps/parser/esm/models/v3/operation-reply.d.ts delete mode 100644 apps/parser/esm/models/v3/operation-reply.js delete mode 100644 apps/parser/esm/models/v3/operation-trait.d.ts delete mode 100644 apps/parser/esm/models/v3/operation-trait.js delete mode 100644 apps/parser/esm/models/v3/operation-traits.d.ts delete mode 100644 apps/parser/esm/models/v3/operation-traits.js delete mode 100644 apps/parser/esm/models/v3/operation.d.ts delete mode 100644 apps/parser/esm/models/v3/operation.js delete mode 100644 apps/parser/esm/models/v3/operations.d.ts delete mode 100644 apps/parser/esm/models/v3/operations.js delete mode 100644 apps/parser/esm/models/v3/schema.d.ts delete mode 100644 apps/parser/esm/models/v3/schema.js delete mode 100644 apps/parser/esm/models/v3/schemas.d.ts delete mode 100644 apps/parser/esm/models/v3/schemas.js delete mode 100644 apps/parser/esm/models/v3/security-requirement.d.ts delete mode 100644 apps/parser/esm/models/v3/security-requirement.js delete mode 100644 apps/parser/esm/models/v3/security-requirements.d.ts delete mode 100644 apps/parser/esm/models/v3/security-requirements.js delete mode 100644 apps/parser/esm/models/v3/security-scheme.d.ts delete mode 100644 apps/parser/esm/models/v3/security-scheme.js delete mode 100644 apps/parser/esm/models/v3/security-schemes.d.ts delete mode 100644 apps/parser/esm/models/v3/security-schemes.js delete mode 100644 apps/parser/esm/models/v3/server-variable.d.ts delete mode 100644 apps/parser/esm/models/v3/server-variable.js delete mode 100644 apps/parser/esm/models/v3/server-variables.d.ts delete mode 100644 apps/parser/esm/models/v3/server-variables.js delete mode 100644 apps/parser/esm/models/v3/server.d.ts delete mode 100644 apps/parser/esm/models/v3/server.js delete mode 100644 apps/parser/esm/models/v3/servers.d.ts delete mode 100644 apps/parser/esm/models/v3/servers.js delete mode 100644 apps/parser/esm/models/v3/tag.d.ts delete mode 100644 apps/parser/esm/models/v3/tag.js delete mode 100644 apps/parser/esm/models/v3/tags.d.ts delete mode 100644 apps/parser/esm/models/v3/tags.js delete mode 100644 apps/parser/esm/old-api/asyncapi.d.ts delete mode 100644 apps/parser/esm/old-api/asyncapi.js delete mode 100644 apps/parser/esm/old-api/base.d.ts delete mode 100644 apps/parser/esm/old-api/base.js delete mode 100644 apps/parser/esm/old-api/channel-parameter.d.ts delete mode 100644 apps/parser/esm/old-api/channel-parameter.js delete mode 100644 apps/parser/esm/old-api/channel.d.ts delete mode 100644 apps/parser/esm/old-api/channel.js delete mode 100644 apps/parser/esm/old-api/components.d.ts delete mode 100644 apps/parser/esm/old-api/components.js delete mode 100644 apps/parser/esm/old-api/contact.d.ts delete mode 100644 apps/parser/esm/old-api/contact.js delete mode 100644 apps/parser/esm/old-api/converter.d.ts delete mode 100644 apps/parser/esm/old-api/converter.js delete mode 100644 apps/parser/esm/old-api/correlation-id.d.ts delete mode 100644 apps/parser/esm/old-api/correlation-id.js delete mode 100644 apps/parser/esm/old-api/external-docs.d.ts delete mode 100644 apps/parser/esm/old-api/external-docs.js delete mode 100644 apps/parser/esm/old-api/index.d.ts delete mode 100644 apps/parser/esm/old-api/index.js delete mode 100644 apps/parser/esm/old-api/info.d.ts delete mode 100644 apps/parser/esm/old-api/info.js delete mode 100644 apps/parser/esm/old-api/iterator.d.ts delete mode 100644 apps/parser/esm/old-api/iterator.js delete mode 100644 apps/parser/esm/old-api/license.d.ts delete mode 100644 apps/parser/esm/old-api/license.js delete mode 100644 apps/parser/esm/old-api/message-trait.d.ts delete mode 100644 apps/parser/esm/old-api/message-trait.js delete mode 100644 apps/parser/esm/old-api/message.d.ts delete mode 100644 apps/parser/esm/old-api/message.js delete mode 100644 apps/parser/esm/old-api/mixins.d.ts delete mode 100644 apps/parser/esm/old-api/mixins.js delete mode 100644 apps/parser/esm/old-api/oauth-flow.d.ts delete mode 100644 apps/parser/esm/old-api/oauth-flow.js delete mode 100644 apps/parser/esm/old-api/operation-trait.d.ts delete mode 100644 apps/parser/esm/old-api/operation-trait.js delete mode 100644 apps/parser/esm/old-api/operation.d.ts delete mode 100644 apps/parser/esm/old-api/operation.js delete mode 100644 apps/parser/esm/old-api/schema.d.ts delete mode 100644 apps/parser/esm/old-api/schema.js delete mode 100644 apps/parser/esm/old-api/security-requirement.d.ts delete mode 100644 apps/parser/esm/old-api/security-requirement.js delete mode 100644 apps/parser/esm/old-api/security-scheme.d.ts delete mode 100644 apps/parser/esm/old-api/security-scheme.js delete mode 100644 apps/parser/esm/old-api/server-variable.d.ts delete mode 100644 apps/parser/esm/old-api/server-variable.js delete mode 100644 apps/parser/esm/old-api/server.d.ts delete mode 100644 apps/parser/esm/old-api/server.js delete mode 100644 apps/parser/esm/old-api/tag.d.ts delete mode 100644 apps/parser/esm/old-api/tag.js delete mode 100644 apps/parser/esm/parse.d.ts delete mode 100644 apps/parser/esm/parse.js delete mode 100644 apps/parser/esm/parser.d.ts delete mode 100644 apps/parser/esm/parser.js delete mode 100644 apps/parser/esm/resolver.d.ts delete mode 100644 apps/parser/esm/resolver.js delete mode 100644 apps/parser/esm/ruleset/formats.d.ts delete mode 100644 apps/parser/esm/ruleset/formats.js delete mode 100644 apps/parser/esm/ruleset/functions/documentStructure.d.ts delete mode 100644 apps/parser/esm/ruleset/functions/documentStructure.js delete mode 100644 apps/parser/esm/ruleset/functions/internal.d.ts delete mode 100644 apps/parser/esm/ruleset/functions/internal.js delete mode 100644 apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts delete mode 100644 apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js delete mode 100644 apps/parser/esm/ruleset/functions/uniquenessTags.d.ts delete mode 100644 apps/parser/esm/ruleset/functions/uniquenessTags.js delete mode 100644 apps/parser/esm/ruleset/functions/unusedComponent.d.ts delete mode 100644 apps/parser/esm/ruleset/functions/unusedComponent.js delete mode 100644 apps/parser/esm/ruleset/index.d.ts delete mode 100644 apps/parser/esm/ruleset/index.js delete mode 100644 apps/parser/esm/ruleset/ruleset.d.ts delete mode 100644 apps/parser/esm/ruleset/ruleset.js delete mode 100644 apps/parser/esm/ruleset/utils/getMissingProps.d.ts delete mode 100644 apps/parser/esm/ruleset/utils/getMissingProps.js delete mode 100644 apps/parser/esm/ruleset/utils/getRedundantProps.d.ts delete mode 100644 apps/parser/esm/ruleset/utils/getRedundantProps.js delete mode 100644 apps/parser/esm/ruleset/utils/index.d.ts delete mode 100644 apps/parser/esm/ruleset/utils/index.js delete mode 100644 apps/parser/esm/ruleset/utils/mergeTraits.d.ts delete mode 100644 apps/parser/esm/ruleset/utils/mergeTraits.js delete mode 100644 apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts delete mode 100644 apps/parser/esm/ruleset/utils/parseUrlVariables.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/channelParameters.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/channelServers.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/channelServers.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/checkId.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/checkId.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/messageExamples.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/schemaValidation.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/security.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/security.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/serverVariables.js delete mode 100644 apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js delete mode 100644 apps/parser/esm/ruleset/v2/index.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/index.js delete mode 100644 apps/parser/esm/ruleset/v2/ruleset.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/ruleset.js delete mode 100644 apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/utils/getAllMessages.js delete mode 100644 apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/utils/getAllOperations.js delete mode 100644 apps/parser/esm/ruleset/v2/utils/index.d.ts delete mode 100644 apps/parser/esm/ruleset/v2/utils/index.js delete mode 100644 apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts delete mode 100644 apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js delete mode 100644 apps/parser/esm/ruleset/v3/index.d.ts delete mode 100644 apps/parser/esm/ruleset/v3/index.js delete mode 100644 apps/parser/esm/ruleset/v3/ruleset.d.ts delete mode 100644 apps/parser/esm/ruleset/v3/ruleset.js delete mode 100644 apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts delete mode 100644 apps/parser/esm/schema-parser/asyncapi-schema-parser.js delete mode 100644 apps/parser/esm/schema-parser/index.d.ts delete mode 100644 apps/parser/esm/schema-parser/index.js delete mode 100644 apps/parser/esm/schema-parser/spectral-rule-v2.d.ts delete mode 100644 apps/parser/esm/schema-parser/spectral-rule-v2.js delete mode 100644 apps/parser/esm/spec-types/index.d.ts delete mode 100644 apps/parser/esm/spec-types/index.js delete mode 100644 apps/parser/esm/spec-types/v2.d.ts delete mode 100644 apps/parser/esm/spec-types/v2.js delete mode 100644 apps/parser/esm/spec-types/v3.d.ts delete mode 100644 apps/parser/esm/spec-types/v3.js delete mode 100644 apps/parser/esm/spectral.d.ts delete mode 100644 apps/parser/esm/spectral.js delete mode 100644 apps/parser/esm/stringify.d.ts delete mode 100644 apps/parser/esm/stringify.js delete mode 100644 apps/parser/esm/types.d.ts delete mode 100644 apps/parser/esm/types.js delete mode 100644 apps/parser/esm/utils.d.ts delete mode 100644 apps/parser/esm/utils.js delete mode 100644 apps/parser/esm/validate.d.ts delete mode 100644 apps/parser/esm/validate.js diff --git a/apps/parser/browser/index.js b/apps/parser/browser/index.js deleted file mode 100644 index 83a551fa3..000000000 --- a/apps/parser/browser/index.js +++ /dev/null @@ -1,26 +0,0 @@ -/*! For license information please see index.js.LICENSE.txt */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AsyncAPIParser=t():e.AsyncAPIParser=t()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={41913:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(63282),r=i(99029),s=i(41520),o=i(62586),a=i(48708),c=i(42023),p="errorMessage",d=new n.Name("emUsed"),f={required:"missingProperty",dependencies:"property",dependentRequired:"property"},l=/\$\{[^}]+\}/,u=/\$\{([^}]+)\}/g,m=/^""\s*\+\s*|\s*\+\s*""$/g;const h=(e,t={})=>{if(!e.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(e.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return e.addKeyword(function(e){return{keyword:p,schemaType:["string","object"],post:!0,code(t){const{gen:i,data:h,schema:y,schemaValue:g,it:b}=t;if(!1===b.createErrors)return;const v=y,$=r.strConcat(c.default.instancePath,b.errorPath);function j(e,t){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath === ${$}`,n._`${e}.keyword in ${t}`,n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`/^\\/[^\\/]*$/.test(${e}.schemaPath.slice(${b.errSchemaPath.length}))`)}function _(e,t){const n=[];for(const i in e){const e=t[i];l.test(e)&&n.push([i,x(e)])}return i.object(...n)}function w(e){return l.test(e)?new s._Code(s.safeStringify(e).replace(u,((e,t)=>`" + JSON.stringify(${o.getData(t,b)}) + "`)).replace(m,"")):n.stringify(e)}function x(e){return n._`function(){return ${w(e)}}`}i.if(n._`${c.default.errors} > 0`,(()=>{if("object"==typeof v){const[s,o]=function(e){let t,i;for(const n in e){if("properties"===n||"items"===n)continue;const r=e[n];if("object"==typeof r){t||(t={});const e=t[n]={};for(const t in r)e[t]=[]}else i||(i={}),i[n]=[]}return[t,i]}(v);o&&function(r){const s=i.const("emErrors",n.stringify(r)),o=i.const("templates",_(r,y));i.forOf("err",c.default.vErrors,(e=>i.if(j(e,s),(()=>i.code(n._`${s}[${e}.keyword].push(${e})`).assign(n._`${e}.${d}`,!0)))));const{singleError:p}=e;if(p){const e=i.let("message",n._`""`),r=i.let("paramsErrors",n._`[]`);f((t=>{i.if(e,(()=>i.code(n._`${e} += ${"string"==typeof p?p:";"}`))),i.code(n._`${e} += ${l(t)}`),i.assign(r,n._`${r}.concat(${s}[${t}])`)})),a.reportError(t,{message:e,params:n._`{errors: ${r}}`})}else f((e=>a.reportError(t,{message:l(e),params:n._`{errors: ${s}[${e}]}`})));function f(e){i.forIn("key",s,(t=>i.if(n._`${s}[${t}].length`,(()=>e(t)))))}function l(e){return n._`${e} in ${o} ? ${o}[${e}]() : ${g}[${e}]`}}(o),s&&function(e){const r=i.const("emErrors",n.stringify(e)),s=[];for(const t in e)s.push([t,_(e[t],y[t])]);const o=i.const("templates",i.object(...s)),p=i.scopeValue("obj",{ref:f,code:n.stringify(f)}),l=i.let("emPropParams"),u=i.let("emParamsErrors");i.forOf("err",c.default.vErrors,(e=>i.if(j(e,r),(()=>{i.assign(l,n._`${p}[${e}.keyword]`),i.assign(u,n._`${r}[${e}.keyword][${e}.params[${l}]]`),i.if(u,(()=>i.code(n._`${u}.push(${e})`).assign(n._`${e}.${d}`,!0)))})))),i.forIn("key",r,(e=>i.forIn("keyProp",n._`${r}[${e}]`,(s=>{i.assign(u,n._`${r}[${e}][${s}]`),i.if(n._`${u}.length`,(()=>{const r=i.const("tmpl",n._`${o}[${e}] && ${o}[${e}][${s}]`);a.reportError(t,{message:n._`${r} ? ${r}() : ${g}[${e}][${s}]`,params:n._`{errors: ${u}}`})}))}))))}(s),function(e){const{props:s,items:o}=e;if(!s&&!o)return;const f=n._`typeof ${h} == "object"`,l=n._`Array.isArray(${h})`,u=i.let("emErrors");let m,b;const v=i.let("templates");function j(e,t){i.assign(u,n.stringify(e)),i.assign(v,_(e,t))}s&&o?(m=i.let("emChildKwd"),i.if(f),i.if(l,(()=>{j(o,y.items),i.assign(m,n.str`items`)}),(()=>{j(s,y.properties),i.assign(m,n.str`properties`)})),b=n._`[${m}]`):o?(i.if(l),j(o,y.items),b=n._`.items`):s&&(i.if(r.and(f,r.not(l))),j(s,y.properties),b=n._`.properties`),i.forOf("err",c.default.vErrors,(e=>function(e,t,s){i.if(r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath.indexOf(${$}) === 0`),(()=>{const r=i.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:n._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),o=i.const("emMatches",n._`${r}.exec(${e}.instancePath.slice(${$}.length))`),a=i.const("emChild",n._`${o} && ${o}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);i.if(n._`${a} !== undefined && ${a} in ${t}`,(()=>s(a)))}))}(e,u,(t=>i.code(n._`${u}[${t}].push(${e})`).assign(n._`${e}.${d}`,!0))))),i.forIn("key",u,(e=>i.if(n._`${u}[${e}].length`,(()=>{a.reportError(t,{message:n._`${e} in ${v} ? ${v}[${e}]() : ${g}${b}[${e}]`,params:n._`{errors: ${u}[${e}]}`}),i.assign(n._`${c.default.vErrors}[${c.default.errors}-1].instancePath`,n._`${$} + "/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})))),i.endIf()}(function({properties:e,items:t}){const i={};if(e){i.props={};for(const t in e)i.props[t]=[]}if(t){i.items={};for(let e=0;ei.if(function(e){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,r.or(n._`${e}.instancePath === ${$}`,r.and(n._`${e}.instancePath.indexOf(${$}) === 0`,n._`${e}.instancePath[${$}.length] === "/"`)),n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`${e}.schemaPath[${b.errSchemaPath}.length] === "/"`)}(e),(()=>i.code(n._`${s}.push(${e})`).assign(n._`${e}.${d}`,!0))))),i.if(n._`${s}.length`,(()=>a.reportError(t,{message:w(e),params:n._`{errors: ${s}}`})))}(s),e.keepErrors||function(){const e=i.const("emErrs",n._`[]`);i.forOf("err",c.default.vErrors,(t=>i.if(n._`!${t}.${d}`,(()=>i.code(n._`${e}.push(${t})`))))),i.assign(c.default.vErrors,e).assign(c.default.errors,n._`${e}.length`)}()}))},metaSchema:{anyOf:[{type:"string"},{type:"object",properties:{properties:{$ref:"#/$defs/stringMap"},items:{$ref:"#/$defs/stringList"},required:{$ref:"#/$defs/stringOrMap"},dependencies:{$ref:"#/$defs/stringOrMap"}},additionalProperties:{type:"string"}}],$defs:{stringMap:{type:"object",additionalProperties:{type:"string"}},stringOrMap:{anyOf:[{type:"string"},{$ref:"#/$defs/stringMap"}]},stringList:{type:"array",items:{type:"string"}}}}}}(t))};t.default=h,e.exports=h,e.exports.default=h},63282:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(4042),r=i(86144),s=i(36653),o=i(72079),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(62586);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(99029);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(13558);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(34551);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},41520:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(41520),r=i(57845);var s=i(41520);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(57845);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},57845:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(41520);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},48708:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(99029),r=i(94227),s=i(42023);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},73835:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(99029),r=i(13558),s=i(42023),o=i(66939),a=i(94227),c=i(62586);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},42023:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},34551:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(66939);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},66939:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(94227),r=i(38792),s=i(7106),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},10396:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},94227:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(99029),r=i(41520);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},7887:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},28727:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(48708),r=i(99029),s=i(42023),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},10208:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(10396),r=i(7887),s=i(48708),o=i(99029),a=i(94227);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null - || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null - || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" - || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},7870:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(99029),r=i(94227);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},62586:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(28727),r=i(10208),s=i(7887),o=i(10208),a=i(7870),c=i(33673),p=i(24495),d=i(99029),f=i(42023),l=i(66939),u=i(94227),m=i(48708);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},33673:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(99029),r=i(42023),s=i(15765),o=i(48708);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},24495:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(99029),r=i(94227);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},4042:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(62586);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(99029);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(13558),o=i(34551),a=i(10396),c=i(73835),p=i(99029),d=i(66939),f=i(10208),l=i(94227),u=i(63837),m=i(55944),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},76250:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},53853:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},13558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},15457:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(99029),r=i(94227),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},38660:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s=i(42023),o=i(94227),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},15844:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94227),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},16505:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(15765).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},12661:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},83025:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(99029),r=i(94227),s=i(15765);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, - missingProperty: ${r}, - depsCount: ${t}, - deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},1239:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},56378:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15457),r=i(65354),s=i(20494),o=i(93966),a=i(12661),c=i(83025),p=i(19713),d=i(38660),f=i(40117),l=i(45333),u=i(80304),m=i(16505),h=i(96163),y=i(15844),g=i(1239),b=i(14426);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},20494:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(99029),r=i(94227),s=i(15765),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},93966:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(15765),o=i(15457),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},80304:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94227),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},96163:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},45333:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s=i(94227),o=i(94227),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},65354:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(20494),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},40117:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(62586),r=i(15765),s=i(94227),o=i(38660),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},19713:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},14426:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94227),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},15765:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(99029),r=i(94227),s=i(42023),o=i(94227);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},83463:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},72128:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(83463),r=i(13693),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},13693:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(34551),r=i(15765),s=i(99029),o=i(42023),a=i(73835),c=i(94227),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},36653:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(97652),s=i(73835),o=i(94227),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},97652:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},86144:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(72128),r=i(67060),s=i(56378),o=i(97532),a=i(69857),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},94737:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},97532:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(94737).default];t.default=n},69857:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},27935:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(76250),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},28643:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(76250),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},67060:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(75882),r=i(63439),s=i(77307),o=i(90422),a=i(34486),c=i(34003),p=i(61163),d=i(60617),f=i(27935),l=i(28643),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},61163:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},77307:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=i(94227),s=i(53853),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},75882:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},34486:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},63439:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99029),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},90422:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},34003:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15765),r=i(99029),s=i(94227),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},60617:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(10208),r=i(99029),s=i(94227),o=i(76250),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},7106:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{e.exports={schemas:{"2.0.0":i(4023),"2.1.0":i(88520),"2.2.0":i(83105),"2.3.0":i(11306),"2.4.0":i(64939),"2.5.0":i(55708),"2.6.0":i(11669),"3.0.0":i(64292)},schemasWithoutId:{"2.0.0":i(69486),"2.1.0":i(61401),"2.2.0":i(30192),"2.3.0":i(85323),"2.4.0":i(45002),"2.5.0":i(85765),"2.6.0":i(94220),"3.0.0":i(95309)}}},64868:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(8839);t.resolveFile=function(e){return new Promise(((t,i)=>{const r=e.href();n.readFile(r,"utf8",((e,n)=>{e?i(e):t(n)}))}))}},71602:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(35696),r=i(98203);class s extends Error{constructor(){super(...arguments),this.name="OpenError"}}t.OpenError=s;class o extends Error{constructor(){super(...arguments),this.name="ReadError"}}function a(e,t={}){return n.__awaiter(this,void 0,void 0,(function*(){const i=e.href(),n=yield r.default(i,t);if(n.ok)return n.text();if(404===n.status)throw new s(`Page not found: ${i}`);throw new o(`${n.status} ${n.statusText}`)}))}t.NetworkError=o,t.resolveHttp=a,t.createResolveHttp=function(e={}){return t=>a(t,e)}},54668:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(71602);t.createResolveHttp=n.createResolveHttp,t.resolveHttp=n.resolveHttp,t.NetworkError=n.NetworkError,t.OpenError=n.OpenError;var r=i(64868);t.resolveFile=r.resolveFile},35696:(e,t,i)=>{"use strict";i.r(t),i.d(t,{__assign:()=>s,__asyncDelegator:()=>$,__asyncGenerator:()=>v,__asyncValues:()=>j,__await:()=>b,__awaiter:()=>d,__classPrivateFieldGet:()=>P,__classPrivateFieldSet:()=>S,__createBinding:()=>l,__decorate:()=>a,__exportStar:()=>u,__extends:()=>r,__generator:()=>f,__importDefault:()=>x,__importStar:()=>w,__makeTemplateObject:()=>_,__metadata:()=>p,__param:()=>c,__read:()=>h,__rest:()=>o,__spread:()=>y,__spreadArrays:()=>g,__values:()=>m});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var s=function(){return s=Object.assign||function(e){for(var t,i=1,n=arguments.length;i=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}function c(e,t){return function(i,n){t(i,n,e)}}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function d(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))}function f(e,t){var i,n,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,s=i.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o}function y(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(c,p):d(s[0][2],i)}catch(e){d(s[0][3],e)}var i}function c(e){a("next",e)}function p(e){a("throw",e)}function d(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function $(e){var t,i;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function j(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=m(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,r){!function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)}(n,r,(t=e[i](t)).done,t.value)}))}}}function _(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function w(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function x(e){return e&&e.__esModule?e:{default:e}}function P(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},30924:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Cache=void 0,t.Cache=class{constructor(e={}){this._stats={hits:0,misses:0},this._data={},this._stdTTL=e.stdTTL}get stats(){return this._stats}get(e){const t=this._data[e];if(t&&(!this._stdTTL||(new Date).getTime()-t.ts{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResolveCrawler=void 0;const n=i(46734),r=i(30524),s=i(46123),o=i(19899);t.ResolveCrawler=class{constructor(e,t,i){this._resolved=i,this.resolvers=[],this.pointerGraph=new r.DepGraph({circular:!0}),this.pointerStemGraph=new r.DepGraph({circular:!0}),this.computeGraph=(e,t=[],i="#",n=[])=>{i||(i="#");let r=this._runner.computeRef({val:e,jsonPointer:i,pointerStack:n});if(void 0!==r)this._resolveRef({ref:r,val:e,parentPath:t,pointerStack:n,parentPointer:i,cacheKey:i,resolvingPointer:this.jsonPointer});else if("object"==typeof e)for(const s in e){if(!e.hasOwnProperty(s))continue;const a=e[s],c=o.addToJSONPointer(i,s);r=this._runner.computeRef({key:s,val:a,jsonPointer:c,pointerStack:n}),t.push(s),void 0!==r?this._resolveRef({ref:r,val:a,parentPath:t,parentPointer:c,pointerStack:n,cacheKey:o.uriToJSONPointer(r),resolvingPointer:this.jsonPointer}):"object"==typeof a&&this.computeGraph(a,t,c,n),t.pop()}},this._resolveRef=e=>{const{pointerStack:t,parentPath:i,parentPointer:r,ref:a}=e;if(o.uriIsJSONPointer(a)){if(this._runner.dereferenceInline){const e=o.uriToJSONPointer(a);let c;try{c=(0,n.pointerToPath)(e)}catch(e){return void this._resolved.errors.push({code:"PARSE_POINTER",message:`'${a}' JSON pointer is invalid`,uri:this._runner.baseUri,uriStack:this._runner.uriStack,pointerStack:[],path:[]})}let p=c.length>0;for(const e in c)if(i[e]!==c[e]){p=!1;break}if(p)return;this.pointerStemGraph.hasNode(e)||this.pointerStemGraph.addNode(e);let d="#",f="";for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultGetRef=t.Cache=void 0,i(85608).__exportStar(i(65582),t);var n=i(30924);Object.defineProperty(t,"Cache",{enumerable:!0,get:function(){return n.Cache}});var r=i(49850);Object.defineProperty(t,"defaultGetRef",{enumerable:!0,get:function(){return r.defaultGetRef}})},65582:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Resolver=void 0;const n=i(30524),r=i(30924),s=i(49850);t.Resolver=class{constructor(e={}){this.ctx={},this.uriCache=e.uriCache||new r.Cache,this.resolvers=e.resolvers||{},this.getRef=e.getRef,this.transformRef=e.transformRef,this.dereferenceInline=void 0===e.dereferenceInline||e.dereferenceInline,this.dereferenceRemote=void 0===e.dereferenceRemote||e.dereferenceRemote,this.parseResolveResult=e.parseResolveResult,this.transformDereferenceResult=e.transformDereferenceResult,this.ctx=e.ctx}resolve(e,t={}){const i=new n.DepGraph({circular:!0});return new s.ResolveRunner(e,i,Object.assign(Object.assign({uriCache:this.uriCache,resolvers:this.resolvers,getRef:this.getRef,transformRef:this.transformRef,dereferenceInline:this.dereferenceInline,dereferenceRemote:this.dereferenceRemote,parseResolveResult:this.parseResolveResult,transformDereferenceResult:this.transformDereferenceResult},t),{ctx:Object.assign({},this.ctx||{},t.ctx||{})})).resolve(t)}}},49850:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResolveRunner=t.defaultGetRef=void 0;const n=i(85608),r=i(46734),s=i(98136),o=i(30524),a=i(79725),c=i(46123),p=i(41263),d=i(99472),f=i(99960),l=i(30924),u=i(91226),m=i(19899),h=i(2940);let y=0;t.defaultGetRef=(e,t)=>{if(t&&"object"==typeof t&&"string"==typeof t.$ref)return t.$ref};class g{constructor(e,i=new o.DepGraph({circular:!0}),a={}){this.ctx={},this.computeRef=e=>{const t=this.getRef(e.key,e.val);if(void 0===t)return;let i=new f.ExtendedURI(t);if("#"!==t[0])if(this.isFile(i)){let e=i.toString();i.is("absolute")||(e=this.baseUri.toString()?(0,s.join)((0,s.dirname)(this.baseUri.toString()),(0,s.stripRoot)(e)):""),e&&(i=new d((0,s.toFSPath)(e)).fragment(i.fragment()))}else(i.scheme().includes("http")||""===i.scheme()&&this.baseUri.scheme().includes("http"))&&""!==this.baseUri.authority()&&""===i.authority()&&(i=i.absoluteTo(this.baseUri));return String(i).length>0&&this.isFile(this.baseUri)&&this.isFile(i)&&this.baseUri.path()===i.path()&&(i=new f.ExtendedURI(`#${i.fragment()}`)),this.transformRef?this.transformRef(Object.assign(Object.assign({},e),{ref:i,uri:this.baseUri}),this.ctx):i},this.atMaxUriDepth=()=>this.uriStack.length>=100,this.lookupUri=e=>n.__awaiter(this,void 0,void 0,(function*(){const{ref:t}=e;let i=t.scheme();!this.resolvers[i]&&this.isFile(t)&&(i="file");const n=this.resolvers[i];if(!n)throw new Error(`No resolver defined for scheme '${t.scheme()||"file"}' in ref ${t.toString()}`);let r=yield n.resolve(t,this.ctx);if(this.parseResolveResult)try{r=(yield this.parseResolveResult({uriResult:r,result:r,targetAuthority:t,parentAuthority:this.baseUri,parentPath:e.parentPath,fragment:e.fragment})).result}catch(e){throw new Error(`Could not parse remote reference response for '${t.toString()}' - ${String(e)}`)}return new g(r,this.graph,{depth:this.depth+1,baseUri:t.toString(),root:t,uriStack:this.uriStack,uriCache:this.uriCache,resolvers:this.resolvers,transformRef:this.transformRef,parseResolveResult:this.parseResolveResult,transformDereferenceResult:this.transformDereferenceResult,dereferenceRemote:this.dereferenceRemote,dereferenceInline:this.dereferenceInline,ctx:this.ctx})})),this.lookupAndResolveUri=e=>n.__awaiter(this,void 0,void 0,(function*(){const{val:t,ref:i,resolvingPointer:n,parentPointer:s,pointerStack:o}=e,a=e.parentPath?e.parentPath.slice():[],c=this.computeUriCacheKey(i),d={uri:i,pointerStack:o,targetPath:n===s?[]:a};if(this.uriStack.includes(c))return d.resolved={result:t,graph:this.graph,refMap:{},errors:[],runner:this},d;{let e;const n=this.baseUri.toString(),s=n&&0!==this.depth?n:null;try{if(this.atMaxUriDepth())throw new Error(`Max uri depth (${this.uriStack.length}) reached. Halting, this is probably a circular loop.`);e=yield this.lookupUri({ref:i.clone().fragment(""),fragment:i.fragment(),cacheKey:c,parentPath:a}),s&&(e.uriStack=e.uriStack.concat(s))}catch(e){d.error={code:"RESOLVE_URI",message:String(e),uri:i,uriStack:s?this.uriStack.concat(s):this.uriStack,pointerStack:o,path:a}}if(e&&(d.resolved=yield e.resolve({jsonPointer:m.uriToJSONPointer(i),parentPath:a}),d.resolved.errors.length))for(const e of d.resolved.errors)if("POINTER_MISSING"===e.code&&e.path.join("/")===i.fragment().slice(1)){const n=i.fragment?(0,r.trimStart)(e.path,(0,r.trimStart)(i.fragment(),"/").split("/")):e.path;n&&n.length?p(d.resolved.result,n,t):d.resolved.result&&(d.resolved.result=t)}}return d})),this.id=y+=1,this.depth=a.depth||0,this._source=e,this.resolvers=a.resolvers||{};const c=a.baseUri||"";let u=new d(c||"");this.isFile(u)&&(u=new d((0,s.toFSPath)(c))),this.baseUri=u,this.uriStack=a.uriStack||[],this.uriCache=a.uriCache||new l.Cache,this.root=a.root&&a.root.toString()||this.baseUri.toString()||"root",this.graph=i,this.graph.hasNode(this.root)||this.graph.addNode(this.root,{refMap:{},data:this._source}),this.baseUri&&0===this.depth&&this.uriCache.set(this.computeUriCacheKey(this.baseUri),this),this.getRef=a.getRef||t.defaultGetRef,this.transformRef=a.transformRef,this.depth?this.dereferenceInline=!0:this.dereferenceInline=void 0===a.dereferenceInline||a.dereferenceInline,this.dereferenceRemote=void 0===a.dereferenceRemote||a.dereferenceRemote,this.parseResolveResult=a.parseResolveResult,this.transformDereferenceResult=a.transformDereferenceResult,this.ctx=a.ctx,this.lookupUri=h(this.lookupUri,{serializer:this._cacheKeySerializer,cache:{create:()=>this.uriCache}})}get source(){return this._source}resolve(e){return n.__awaiter(this,void 0,void 0,(function*(){const t={result:this.source,graph:this.graph,refMap:{},errors:[],runner:this};let i;const n=e&&e.jsonPointer&&e.jsonPointer.trim();if(n&&"#"!==n&&"#/"!==n){try{i=(0,r.pointerToPath)(n)}catch(e){return t.errors.push({code:"PARSE_POINTER",message:`'${n}' JSON pointer is invalid`,uri:this.baseUri,uriStack:this.uriStack,pointerStack:[],path:[]}),t}t.result=c(t.result,i)}if(void 0===t.result)return t.errors.push({code:"POINTER_MISSING",message:`'${n}' does not exist @ '${this.baseUri.toString()}'`,uri:this.baseUri,uriStack:this.uriStack,pointerStack:[],path:i||[]}),t;const s=new u.ResolveCrawler(this,n,t);s.computeGraph(t.result,i,n||"");let o=[];if(s.resolvers.length&&(o=yield Promise.all(s.resolvers)),o.length)for(const e of o){let n=e.targetPath;n.length||(n=i||[]),t.refMap[String(this.baseUri.clone().fragment((0,r.pathToPointer)(n)))]=String(e.uri),this._setGraphNodeEdge(String(this.root),(0,r.pathToPointer)(n),String(e.uri)),e.error&&t.errors.push(e.error),e.resolved&&(e.resolved.errors&&(t.errors=t.errors.concat(e.resolved.errors)),void 0!==e.resolved.result&&(this._source=(0,a.default)(this._source,(t=>{if(e.resolved){if(!n.length)return e.resolved.result;p(t,n,e.resolved.result),this._setGraphNodeData(String(e.uri),e.resolved.result)}}))))}if("object"==typeof this._source?(this.dereferenceInline&&(this._source=(0,a.default)(this._source,(e=>{let i=[];try{i=s.pointerGraph.overallOrder();for(const n of i){const i=s.pointerGraph.dependantsOf(n);if(!i.length)continue;const o=(0,r.pointerToPath)(n),d=0===o.length?(0,a.original)(e):c(e,o);for(const a of i){let i;const c=(0,r.pointerToPath)(a),f=s.pointerStemGraph.dependenciesOf(n);for(const e of f)if((0,r.startsWith)(c,(0,r.pointerToPath)(e))){i=!0;break}i||(t.refMap[(0,r.pathToPointer)(c)]=(0,r.pathToPointer)(o),this._setGraphNodeEdge(this.root,(0,r.pathToPointer)(c),(0,r.pathToPointer)(o)),void 0!==d?(p(e,c,d),this._setGraphNodeData((0,r.pathToPointer)(o),d)):t.errors.push({code:"POINTER_MISSING",message:`'${n}' does not exist`,path:c,uri:this.baseUri,uriStack:this.uriStack,pointerStack:[]}))}}}catch(e){}}))),t.result=i?c(this._source,i):this._source):t.result=this._source,this.transformDereferenceResult){const r=new d(n||"");try{const{result:i,error:n}=yield this.transformDereferenceResult({source:this.source,result:t.result,targetAuthority:r,parentAuthority:this.baseUri,parentPath:e&&e.parentPath||[],fragment:r.fragment()});if(t.result=i,n)throw new Error(`Could not transform dereferenced result for '${r.toString()}' - ${String(n)}`)}catch(e){t.errors.push({code:"TRANSFORM_DEREFERENCED",message:`Error: Could not transform dereferenced result for '${this.baseUri.toString()}${""!==r.fragment()?`#${r.fragment()}`:""}' - ${String(e)}`,uri:r,uriStack:this.uriStack,pointerStack:[],path:i})}}return this._setGraphNodeData(this.root,this._source),t}))}_cacheKeySerializer(e){return e&&"object"==typeof e&&e.cacheKey?e.cacheKey:JSON.stringify(arguments)}computeUriCacheKey(e){return e.clone().fragment("").toString()}isFile(e){const t=e.scheme();if("file"===t)return!0;if(t){if(!this.resolvers[t])return!0}else{if("/"===e.toString().charAt(0))return!0;if(this.baseUri){const e=this.baseUri.scheme();return Boolean(!e||"file"===e||!this.resolvers[e])}}return!1}_setGraphNodeData(e,t){if(!this.graph.hasNode(e))return;const i=this.graph.getNodeData(e)||{};i.data=t,this.graph.setNodeData(e,i)}_setGraphNodeEdge(e,t,i){if(!this.graph.hasNode(e))return;const n=this.graph.getNodeData(e)||{};n.refMap=n.refMap||{},n.refMap[t]=i,this.graph.setNodeData(e,n)}}t.ResolveRunner=g},99960:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedURI=void 0;const n=i(99472);t.ExtendedURI=class extends n{constructor(e){super(e),this._value=e.trim()}get length(){return this._value.length}}},19899:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uriIsJSONPointer=t.uriToJSONPointer=t.addToJSONPointer=void 0;const i=(e,t,i)=>{const n=e.toString();let r="",s=n,o=0,a=s.indexOf(t);for(;a>-1;)r+=n.substring(o,o+a)+i,s=s.substring(a+t.length,s.length),o+=a+t.length,a=s.indexOf(t);return s.length>0&&(r+=n.substring(n.length-s.length,n.length)),r};t.addToJSONPointer=(e,t)=>{return`${e}/${n=t,i(i(n,"~","~0"),"/","~1")}`;var n},t.uriToJSONPointer=e=>"length"in e&&0===e.length?"":""!==e.fragment()?`#${e.fragment()}`:""===e.href()?"#":"",t.uriIsJSONPointer=e=>(!("length"in e)||e.length>0)&&""===e.path()},46734:(e,t,i)=>{"use strict";i.r(t),i.d(t,{BUNDLE_ROOT:()=>Q,ERRORS_ROOT:()=>Z,KEYS:()=>Se,bundleTarget:()=>Y,decodePointer:()=>D,decodePointerFragment:()=>ee,decodePointerUriFragment:()=>D,decycle:()=>te,encodePointer:()=>ie,encodePointerFragment:()=>T,encodePointerUriFragment:()=>R,encodeUriPointer:()=>k,extractPointerFromRef:()=>ne,extractSourceFromRef:()=>K,getFirstPrimitiveProperty:()=>re,getJsonPathForPosition:()=>se,getLastPathSegment:()=>oe,getLocationForJsonPath:()=>ae,hasRef:()=>O,isExternalRef:()=>B,isLocalRef:()=>E,isPlainObject:()=>w,parseTree:()=>pe,parseWithPointers:()=>ce,pathToPointer:()=>M,pointerToPath:()=>F,remapRefs:()=>z,renameObjectKey:()=>ue,reparentBundleTarget:()=>he,resolveExternalRef:()=>ge,resolveExternalRefWithLocation:()=>be,resolveInlineRef:()=>J,resolveInlineRefWithLocation:()=>W,safeParse:()=>ve,safeStringify:()=>je,startsWith:()=>_e,stringify:()=>we,toPropertyPath:()=>xe,trapAccess:()=>Ee,traverse:()=>L,trimStart:()=>Ae});var n,r=i(45250),s=i(98136);function o(e,t){void 0===t&&(t=!1);var i=e.length,n=0,r="",s=0,o=16,d=0,f=0,l=0,u=0,m=0;function h(t,i){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}n++,r++}return r=i)return s=i,o=17;var t=e.charCodeAt(n);if(a(t)){do{n++,r+=String.fromCharCode(t),t=e.charCodeAt(n)}while(a(t));return o=15}if(c(t))return n++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(n)&&(n++,r+="\n"),d++,l=n,o=14;switch(t){case 123:return n++,o=1;case 125:return n++,o=2;case 91:return n++,o=3;case 93:return n++,o=4;case 58:return n++,o=6;case 44:return n++,o=5;case 34:return n++,r=function(){for(var t="",r=n;;){if(n>=i){t+=e.substring(r,n),m=2;break}var s=e.charCodeAt(n);if(34===s){t+=e.substring(r,n),n++;break}if(92!==s){if(s>=0&&s<=31){if(c(s)){t+=e.substring(r,n),m=2;break}m=6}n++}else{if(t+=e.substring(r,n),++n>=i){m=2;break}switch(e.charCodeAt(n++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=h(4,!0);o>=0?t+=String.fromCharCode(o):m=4;break;default:m=5}r=n}}return t}(),o=10;case 47:var y=n-1;if(47===e.charCodeAt(n+1)){for(n+=2;n=12&&e<=15);return e}:y,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return n-s},getTokenStartLine:function(){return f},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return m}}}function a(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function c(e){return 10===e||13===e||8232===e||8233===e}function p(e){return e>=48&&e<=57}!function(e){e.DEFAULT={allowTrailingComma:!1}}(n||(n={}));var d=o,f=function e(t,i,n){if(void 0===n&&(n=!1),function(e,t,i){return void 0===i&&(i=!1),t>=e.offset&&t0)for(var n=r.getToken();17!==n;){if(-1!==t.indexOf(n)){v();break}if(-1!==i.indexOf(n))break;n=v()}}function j(e){var t=r.getTokenValue();return e?u(t):p(t),v(),!0}return v(),17===r.getToken()?!!i.allowEmptyContent||($(4,[],[]),!1):function e(){switch(r.getToken()){case 3:return function(){f(),v();for(var t=!1;4!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(t||$(4,[],[]),m(","),v(),4===r.getToken()&&b)break}else t&&$(6,[],[]);e()||$(4,[],[4,5]),t=!0}return l(),4!==r.getToken()?$(8,[4],[]):v(),!0}();case 1:return function(){c(),v();for(var t=!1;2!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(t||$(4,[],[]),m(","),v(),2===r.getToken()&&b)break}else t&&$(6,[],[]);(10!==r.getToken()?($(3,[],[2,5]),0):(j(!1),6===r.getToken()?(m(":"),v(),e()||$(4,[],[2,5])):$(5,[],[2,5]),1))||$(4,[],[2,5]),t=!0}return d(),2!==r.getToken()?$(7,[2],[]):v(),!0}();case 10:return j(!0);default:return function(){switch(r.getToken()){case 11:var e=0;try{"number"!=typeof(e=JSON.parse(r.getTokenValue()))&&($(2),e=0)}catch(e){$(2)}u(e);break;case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return v(),!0}()}}()?(17!==r.getToken()&&$(9,[],[]),!0):($(4,[],[]),!1)};function m(e){switch(e){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return""}const h=`__object_order_${Math.floor(Date.now()/36e5)}__`,y=Symbol.for(h),g=(String(y),{defineProperty:(e,t,i)=>(!Object.prototype.hasOwnProperty.call(e,t)&&y in e?e[y].push(t):"value"in i&&t===y&&-1===i.value.lastIndexOf(y)&&i.value.push(y),Reflect.defineProperty(e,t,i)),deleteProperty(e,t){const i=Object.prototype.hasOwnProperty.call(e,t),n=Reflect.deleteProperty(e,t);if(n&&i&&y in e){const i=e[y].indexOf(t);-1!==i&&e[y].splice(i,1)}return n},ownKeys:e=>y in e?e[y]:Reflect.ownKeys(e),set(e,t,i){const n=Object.prototype.hasOwnProperty.call(e,t),r=Reflect.set(e,t,i);return r&&!n&&y in e&&e[y].push(t),r}});function b(e,t=Reflect.ownKeys(e)){"undefined"!=typeof process&&v(process)&&v(process.env);const i=new Proxy(e,g);return function(e,t){y in e?(e[y].length=0,e[y].push(...t)):Reflect.defineProperty(e,y,{configurable:!0,value:t})}(i,t),i}function v(e){return null!==e&&"object"==typeof e}var $=i(94169),j=i(11145),_=i.n(j);function w(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype||"function"==typeof e.constructor&&Function.toString.call(Object)===Function.toString.call(e.constructor)}function x(e,t,i){if(!w(e)&&!Array.isArray(e)||!(t in e))throw new ReferenceError(`Could not resolve '${i}'`)}function P(e){if("string"!=typeof e.$ref)throw new TypeError("$ref should be a string")}const S=e=>w(e)&&"$ref"in e,O=e=>S(e)&&"string"==typeof e.$ref,E=e=>e.length>0&&("#"===e||/^#\S*$/.test(e)),A=(e,t,i)=>{const n=e.toString();let r="",s=n,o=0,a=s.indexOf(t);for(;a>-1;)r+=n.substring(o,o+a)+i,s=s.substring(a+t.length,s.length),o+=a+t.length,a=s.indexOf(t);return s.length>0&&(r+=n.substring(n.length-s.length,n.length)),r},T=e=>"number"==typeof e?e:A(A(e,"~","~0"),"/","~1"),I=/[^a-zA–Z0–9_.!~*'()\/\-\u{D800}-\u{DFFF}]/gu;function k(e){return e.replace(I,encodeURIComponent)}const R=e=>{const t=T(e);return"number"==typeof t?t:k(t)},M=e=>q(e),q=e=>{if(e&&"object"!=typeof e)throw new TypeError("Invalid type: path must be an array of segments.");return 0===e.length?"#":`#/${e.map(R).join("/")}`};function C(e){try{return decodeURIComponent(e)}catch(t){return e}}const N=/%[0-9a-f]+/gi,D=e=>{let t;try{t=decodeURIComponent(e)}catch(i){t=e.replace(N,C)}return A(A(t,"~1","/"),"~0","~")},F=e=>U(e),U=e=>{if("string"!=typeof e)throw new TypeError("Invalid type: JSON Pointers are represented as strings.");if(0===e.length||"#"!==e[0])throw new URIError("Invalid JSON Pointer syntax; URI fragment identifiers must begin with a hash.");if(1===e.length)return[];if("/"!==e[1])throw new URIError("Invalid JSON Pointer syntax.");return(e=>{const t=e.length,i=[];let n=-1;for(;++n{const n={value:e,path:i};t.onEnter&&t.onEnter(n);for(const n of Object.keys(e)){const r=e[n];t.onProperty&&t.onProperty({parent:e,parentPath:i,property:n,propertyValue:r}),"object"==typeof r&&null!==r&&V(r,t,i.concat(n))}t.onLeave&&t.onLeave(n)},L=(e,t)=>{"object"==typeof e&&null!==e&&V(e,"function"==typeof t?{onProperty:t}:t,[])};function z(e,t,i){L(e,{onProperty({property:e,propertyValue:n,parent:r}){"$ref"===e&&"string"==typeof n&&n.startsWith(t)&&(r.$ref=`${i}${n.slice(t.length)}`)}})}const B=e=>e.length>0&&"#"!==e[0],K=e=>{if("string"!=typeof e||0===e.length||!B(e))return null;const t=e.indexOf("#");return-1===t?e:e.slice(0,t)};function G(e,t){return w(t)&&w(e)&&("summary"in e||"description"in e)?Object.assign(Object.assign(Object.assign({},t),"description"in e?{description:e.description}:null),"summary"in e?{summary:e.summary}:null):t}function*H(e,t,i){S(e.value)&&(P(e.value),yield[-1,e.value]);for(const[n,r]of t.entries())x(e.value,r,i),e.value=e.value[r],S(e.value)&&(P(e.value),yield[n,e.value])}function J(e,t){return W(e,t).value}function W(e,t){return function e(t,i,n,r){if(null!==K(i))throw new ReferenceError("Cannot resolve external references");const s=F(i);let o=[...s];"#"===i&&S(t)&&(P(t),s.unshift(...F(t.$ref)));const a={value:t};for(const[c,p]of H(a,s,i)){if(n.includes(p))return{source:null,location:null!=r?r:o,value:n[n.length-1]};n.push(p);const i=e(t,p.$ref,n,o);a.value=i.value,(o=i.location).push(...s.slice(c+1))}return{source:null,location:o,value:n.length>0?G(n[n.length-1],a.value):a.value}}(e,t,[])}const Q="#/__bundled__",Z="#/__errors__",Y=({document:e,path:t,bundleRoot:i="#/__bundled__",errorsRoot:n="#/__errors__",cloneDocument:s=!0,keyProvider:o},a)=>{if(t===i||t===n)throw new Error("Roots do not make any sense");const c=s?(0,r.cloneDeep)(e):e;return X(c,F(i),F(n),t,o)(t,{[t]:!0},a)},X=(e,t,i,n,s)=>{const o=new Set,a=(c,p,d,f={},l={},u={})=>{const m=F(c),h=(0,r.get)(e,m);L(d||h,{onEnter:({value:i})=>{if(O(i)&&E(i.$ref)){const d=i.$ref;if(u[d])return;if(d===c&&(f[d]="#"),f[d])return void(i.$ref=f[d]);let m,h,y,g,b;try{let i;m=F(d),s&&(i=s({document:e,path:m})),i||(i=(({document:e,path:t})=>0===t.length?"root":Array.isArray((0,r.get)(e,t.slice(0,-1)))?`${t[t.length-2]}_${t[t.length-1]}`:String(t[t.length-1]))({document:e,path:m})),y=i;let n=1;for(;o.has(y);)if(y=`${i}_${++n}`,n>20)throw new Error(`Keys ${i}_2 through ${i}_20 already taken.`);o.add(y),h=[...t,y],g=M(h)}catch(e){u[d]=e instanceof Error?e.message:String(e)}if(!m||!h||!g)return;if("object"==typeof e&&null!==e&&!(b=(0,r.get)(e,m)))try{b=J(Object(e),d)}catch(e){}void 0!==b&&(f[d]=g,i.$ref=g,(0,r.has)(l,h)||(Array.isArray(b)?(0,r.set)(l,h,new Array(b.length).fill(null)):"object"==typeof b&&(0,r.setWith)(l,h,{},Object),(0,r.set)(l,h,b),"#"===d?function(e,t,i,n){const s=i.map((e=>`[${JSON.stringify(e)}]`)).join(""),o=JSON.parse(JSON.stringify((0,r.omit)(Object(e),s))),a={};(0,r.set)(t,n,o),(0,r.set)(o,i,a),z(o,"#",M(n)),a.$ref="#"}(e,l,F(n),h):p[d]||(p[d]=!0,a(c,p,b,f,l,u),p[d]=!1)))}}});const y=(0,r.get)(l,t);return y&&Object.keys(y).length&&(0,r.set)(h,t,y),(Object.keys(u).length||(0,r.has)(e,i))&&(0,r.set)(h,i,(0,r.has)(e,i)?(0,r.get)(e,i):u),h};return a},ee=e=>A(A(e,"~1","/"),"~0","~"),te=(e,t)=>{const i=new WeakMap;return function e(n,r){let s;if(t&&(n=t(n)),w(n)||Array.isArray(n)){const t=i.get(n);return t?{$ref:t}:(i.set(n,M(r)),Array.isArray(n)?s=n.map(((t,i)=>e(t,[...r,String(i)]))):(s={},Object.keys(n).forEach((t=>{s[t]=e(n[t],[...r,t])}))),i.delete(n),s)}return n}(e,[])},ie=e=>A(A(e,"~","~0"),"//","/~1"),ne=e=>{if("string"!=typeof e||0===e.length)return null;const t=e.indexOf("#");return-1===t?null:e.slice(t)},re=e=>{const t=d(e,!0);if(t.scan(),1!==t.getToken())return;if(t.scan(),2===t.getToken())return;if(10!==t.getToken())throw new SyntaxError("Unexpected character");const i=t.getTokenValue();if(t.scan(),6!==t.getToken())throw new SyntaxError("Colon expected");switch(t.scan(),t.getToken()){case 10:return[i,t.getTokenValue()];case 11:return[i,Number(t.getTokenValue())];case 8:return[i,!0];case 9:return[i,!1];case 7:return[i,null];case 16:throw new SyntaxError("Unexpected character");case 17:throw new SyntaxError("Unexpected end of file");default:return}},se=({lineMap:e,ast:t},i)=>{const n=e[i.line],r=e[i.line+1];if(void 0===n)return;const s=f(t,void 0===r?n+i.character:Math.min(r,n+i.character),!0);if(void 0===s)return;const o=l(s);return 0!==o.length?o:void 0};function oe(e){return ee(e.split("/").pop()||"")}const ae=({ast:e},t,i=!1)=>{const n=function(e,t,i){e:for(const n of t){const t=Number.isInteger(Number(n))?Number(n):n;if("string"==typeof t||"number"==typeof t&&"array"!==e.type){if("object"!==e.type||!Array.isArray(e.children))return i?e:void 0;for(const i of e.children)if(Array.isArray(i.children)&&i.children[0].value===String(t)&&2===i.children.length){e=i.children[1];continue e}return i?e:void 0}if("array"!==e.type||t<0||!Array.isArray(e.children)||t>=e.children.length)return i?e:void 0;e=e.children[t]}return e}(e,t,i);if(void 0!==n&&void 0!==n.range)return{range:n.range}},ce=(e,t={disallowComments:!0})=>{const i=[],{ast:n,data:r,lineMap:s}=pe(e,i,t);return{data:r,diagnostics:i,ast:n,lineMap:s}};function pe(e,t=[],i){const n=fe(e);let r={type:"array",offset:-1,length:-1,children:[],parent:void 0},s=null,o=[];const a=new WeakMap,c=[];function p(e){"property"===r.type&&(r.length=e-r.offset,r=r.parent)}function d(e,t,i){return{start:{line:e,character:t},end:{line:e,character:t+i}}}function f(e){return r.children.push(e),e}function l(e){Array.isArray(o)?o.push(e):null!==s&&(o[s]=e)}function h(e){l(e),c.push(o),o=e,s=null}function g(){o=c.pop()}u(e,{onObjectBegin:(e,t,n,s)=>{r=f({type:"object",offset:e,length:-1,parent:r,children:[],range:d(n,s,t)}),!1===i.ignoreDuplicateKeys&&a.set(r,[]),h(function(e){return e?b({}):{}}(!0===i.preserveKeyOrder))},onObjectProperty:(e,n,c,p,l)=>{if((r=f({type:"property",offset:n,length:-1,parent:r,children:[]})).children.push({type:"string",value:e,offset:n,length:c,parent:r}),!1===i.ignoreDuplicateKeys){const i=a.get(r.parent);i&&(0!==i.length&&i.includes(e)?t.push({range:d(p,l,c),message:"DuplicateKey",severity:$.h_.Error,path:le(r),code:20}):i.push(e))}!0===i.preserveKeyOrder&&function(e,t){if(!(t in e))return;const i=e[y],n=i.indexOf(t);-1!==n&&(i.splice(n,1),i.push(t))}(o,e),s=e},onObjectEnd:(e,t,n,s)=>{!1===i.ignoreDuplicateKeys&&a.delete(r),r.length=e+t-r.offset,r.range&&(r.range.end.line=n,r.range.end.character=s+t),r=r.parent,p(e+t),g()},onArrayBegin:(e,t,i,n)=>{r=f({type:"array",offset:e,length:-1,parent:r,children:[],range:d(i,n,t)}),h([])},onArrayEnd:(e,t,i,n)=>{r.length=e+t-r.offset,r.range&&(r.range.end.line=i,r.range.end.character=n+t),r=r.parent,p(e+t),g()},onLiteralValue:(e,t,i,n,s)=>{f({type:de(e),offset:t,length:i,parent:r,value:e,range:d(n,s,i)}),p(t+i),l(e)},onSeparator:(e,t)=>{"property"===r.type&&(":"===e?r.colonOffset=t:","===e&&p(t))},onError:(e,i,n,r,s)=>{t.push({range:d(r,s,n),message:m(e),severity:$.h_.Error,code:e})}},i);const v=r.children[0];return v&&delete v.parent,{ast:v,data:o[0],lineMap:n}}function de(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";default:return"null"}}const fe=e=>{const t=[0];let i=0;for(;i{if(!e||!Object.hasOwnProperty.call(e,t)||t===i)return e;const n={};for(const[r,s]of Object.entries(e))r===t?n[i]=s:r in n||(n[r]=s);return n};function me(e){return w(e)||Array.isArray(e)}function he(e,t,i){if(i.length<=1||t.length<=1)throw Error("Source/target path must not be empty and point at root");if(0===t.indexOf(i))throw Error("Target path cannot be contained within source");const n=F(t);let r=e;for(const e of n){if(!me(r))return;r=r[e]}if(!me(r))return;const s=F(i);let o=e;for(const[e,t]of s.entries()){if(!me(o)||t in o)return;const i=e===s.length-1?r:{};o[t]=i,o=i}delete e[n[0]],function e(t,i,n){for(const r of Object.keys(t)){const s=t[r];if("$ref"!==r)me(s)&&e(s,i,n);else{if("string"!=typeof s||!E(s))continue;0===s.indexOf(i)&&(t[r]=s.replace(i,n))}}}(e,t,i)}async function ye(e,t,i,n,r){let o=function(e,t){const i=K(t);return null===i?e:(0,s.isAbsolute)(i)?i:(0,s.join)((0,s.dirname)(e),i)}(t,i);const a=ne(i)||"#",c=await e[o],p=F(a);let d=[...p];const f={value:c};for(const[i,s]of H(f,p,a)){if(n.includes(s))return{source:t,location:null!=r?r:d,value:n[n.length-1]};n.push(s);const a=await ye(e,o,s.$ref,n,d);({source:o,location:d}=a),f.value=a.value,d.push(...p.slice(i+1))}return{source:o,location:d,value:n.length>0?G(n[n.length-1],f.value):f.value}}async function ge(e,t,i){return(await be(e,t,i)).value}function be(e,t,i){return ye(e,t,i,[])}const ve=(e,t)=>{if("string"!=typeof e)return e;try{const i=$e(e);return"string"==typeof i?i:JSON.parse(e,t)}catch(e){return}},$e=e=>{const t=Number(e);return Number.isFinite(t)?String(t)===e?t:e:NaN},je=(e,t,i)=>{if("string"==typeof e)return e;try{return JSON.stringify(e,t,i)}catch(n){return _()(e,t,i)}},_e=(e,t)=>{if(e instanceof Array){if(t instanceof Array){if(t.length>e.length)return!1;for(const i in t){if(!t.hasOwnProperty(i))continue;const n=parseInt(e[i]),r=parseInt(t[i]);if(isNaN(n)&&isNaN(r)){if(e[i]!==t[i])return!1}else if(n!==r)return!1}}}else{if("string"!=typeof e)return!1;if("string"==typeof t)return e.startsWith(t)}return!0},we=(e,t,i)=>{const n=je(e,t,i);if(void 0===n)throw new Error("The value could not be stringified");return n};function xe(e){return e.replace(/^(\/|#\/)/,"").split("/").map(ee).map(Pe).join(".")}function Pe(e){return e.includes(".")?`["${e.replace(/"/g,'\\"')}"]`:e}const Se=Symbol.for(h),Oe={ownKeys:e=>Se in e?e[Se]:Reflect.ownKeys(e)},Ee=e=>new Proxy(e,Oe);function Ae(e,t){if("string"==typeof e&&"string"==typeof t)return(0,r.trimStart)(e,t);if(!(e&&Array.isArray(e)&&e.length&&t&&Array.isArray(t)&&t.length))return e;let i=0;for(const n in e)if(e.hasOwnProperty(n)){if(e[n]!==t[n])break;i++}return e.slice(i)}},98136:(e,t,i)=>{"use strict";function n(e){let t="";return e.absolute&&("file"===e.protocol?(e.drive&&(t+=e.drive),t+="/"):(t+=e.protocol+"://",e.origin&&(t+=e.origin+"/"))),""===(t+=e.path.join("/"))&&(t="."),t}function r(e,t,i,n){this.message=e,this.expected=t,this.found=i,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r)}i.r(t),i.d(t,{basename:()=>d,deserializeSrn:()=>j,dirname:()=>f,extname:()=>l,format:()=>n,isAbsolute:()=>u,isURL:()=>m,join:()=>h,normalize:()=>a,parse:()=>o,relative:()=>y,resolve:()=>g,sep:()=>b,serializeSrn:()=>_,startsWithWindowsDrive:()=>v,stripRoot:()=>$,toFSPath:()=>a}),function(e,t){function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i}(r,Error),r.buildMessage=function(e,t){var i={literal:function(e){return'"'+r(e.text)+'"'},class:function(e){var t,i="";for(t=0;t0){for(t=1,n=1;tJ&&(J=G,W=[]),W.push(e))}function te(){var t;return(t=function(){var e,t,i,n,r;return e=G,(t=ie())!==a&&(i=ne())!==a&&(n=se())!==a&&(r=oe())!==a?e=t=d(t,i,n,r):(G=e,e=a),e===a&&(e=G,(t=ie())!==a&&(i=ne())!==a&&(n=function(){var e;return(e=b)!==a&&(e=R()),e}())!==a?e=t=f(t,i,n):(G=e,e=a)),e}())===a&&(t=function(){var t,i,n,r;return t=G,(i=function(){var t;return e.substr(G,7).toLowerCase()===j?(t=e.substr(G,7),G+=7):(t=a,ee(_)),t===a&&(e.substr(G,5).toLowerCase()===w?(t=e.substr(G,5),G+=5):(t=a,ee(x))),t!==a&&(t=P()),t}())!==a&&(n=re())!==a&&(r=oe())!==a?t=i=$(i,n,r):(G=t,t=a),t}())===a&&(t=function(){var e,t,i;return e=G,(t=re())!==a&&(i=oe())!==a?e=t=S(t,i):(G=e,e=a),e}())===a&&(t=function(){var t,i;return t=G,function(){var t;return(t=function(){var t,i,n;return t=G,46===e.charCodeAt(G)?(i=D,G++):(i=a,ee(F)),i!==a&&(n=ce())!==a?t=i=[i,n]:(G=t,t=a),t}())===a&&(t=b),t}()!==a&&(i=oe())!==a?t=M(i):(G=t,t=a),t}()),t}function ie(){var t,i;return e.substr(G,7).toLowerCase()===l?(i=e.substr(G,7),G+=7):(i=a,ee(u)),i!==a&&(i=m()),(t=i)===a&&(t=function(){var t;return e.substr(G,8).toLowerCase()===h?(t=e.substr(G,8),G+=8):(t=a,ee(y)),t!==a&&(t=g()),t}()),t}function ne(){var t,i,n;if(t=G,i=[],(n=pe())!==a)for(;n!==a;)i.push(n),n=pe();else i=a;return(t=i!==a?e.substring(t,G):i)===a&&(t=G,(i=b)!==a&&(i=v()),t=i),t}function re(){var t;return(t=function(){var t,i,n,r;return t=G,(i=ce())===a&&(i=null),i!==a?(O.test(e.charAt(G))?(n=e.charAt(G),G++):(n=a,ee(E)),n!==a?(58===e.charCodeAt(G)?(r=A,G++):(r=a,ee(T)),r!==a&&ce()!==a?t=i=I(n):(G=t,t=a)):(G=t,t=a)):(G=t,t=a),t}())===a&&(t=se()),t}function se(){var e;return(e=ce())!==a&&(e=k()),e}function oe(){var e;return(e=function e(){var t,i,n;return t=G,(i=ae())!==a&&ce()!==a&&(n=e())!==a?t=i=C(i,n):(G=t,t=a),t===a&&(t=G,(i=ae())!==a&&(i=N(i)),t=i),t}())!==a&&(e=q(e)),e}function ae(){var t,i,n;if(t=G,i=[],(n=pe())!==a)for(;n!==a;)i.push(n),n=pe();else i=a;return(t=i!==a?e.substring(t,G):i)===a&&(t=b),t}function ce(){var t;return 47===e.charCodeAt(G)?(t=U,G++):(t=a,ee(V)),t===a&&(92===e.charCodeAt(G)?(t=L,G++):(t=a,ee(z))),t}function pe(){var t;return B.test(e.charAt(G))?(t=e.charAt(G),G++):(t=a,ee(K)),t}if((i=p())!==a&&G===e.length)return i;throw i!==a&&G""!==e&&"."!==e));const i=[];for(const n of t)".."===n&&i.length&&".."!==i[i.length-1]?i.pop():".."===n&&e.absolute||i.push(n);return e.path=i,e}function p(e){let t=e.lastIndexOf(".");".."===e&&(t=-1),"."===e&&(t=-1);let i=e,n="";return t>0&&(i=e.slice(0,t),n=e.slice(t)),{name:i,ext:n}}const d=(e,t)=>{const i=c(o(e)).path.pop();if(!i)return"";const{name:n,ext:r}=p(i);return!0===t||t===r?n:`${n}${r}`},f=e=>{const t=c(o(e));return t.path.pop(),n(c(t))},l=e=>{const t=c(o(e)).path.pop();if(!t)return"";const{ext:i}=p(t);return i};function u(e){return o(e).absolute}function m(e){const t=o(e);return"http"===t.protocol||"https"===t.protocol}const h=(...e)=>{if(0===e.length)return".";const t=e.map(o),i=Object.assign({},t[0]);for(let n=1;nnull!==o(e).drive,$=e=>o(e).path.filter(Boolean).join("/");function j(e){const[t,i,n,...r]=e.split("/"),s=r.length?`/${r.join("/")}`:void 0;let o,a;return s&&(o=r.find((e=>e.includes("."))))&&(a=p(o).ext),{shortcode:t,orgSlug:i,projectSlug:n,uri:s,file:o,ext:a}}function _({shortcode:e,orgSlug:t,projectSlug:i,uri:n=""}){return[e,t,i,n.replace(/^\//,"")].filter(Boolean).join("/")}},11673:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(70130),r=i(38581),s=i(52816),o=i(77146),a=i(91844),c=i(91911),p="errorMessage",d=new n.Name("emUsed"),f={required:"missingProperty",dependencies:"property",dependentRequired:"property"},l=/\$\{[^}]+\}/,u=/\$\{([^}]+)\}/g,m=/^""\s*\+\s*|\s*\+\s*""$/g;const h=(e,t={})=>{if(!e.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(e.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return e.addKeyword(function(e){return{keyword:p,schemaType:["string","object"],post:!0,code(t){const{gen:i,data:h,schema:y,schemaValue:g,it:b}=t;if(!1===b.createErrors)return;const v=y,$=r.strConcat(c.default.instancePath,b.errorPath);function j(e,t){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath === ${$}`,n._`${e}.keyword in ${t}`,n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`/^\\/[^\\/]*$/.test(${e}.schemaPath.slice(${b.errSchemaPath.length}))`)}function _(e,t){const n=[];for(const i in e){const e=t[i];l.test(e)&&n.push([i,x(e)])}return i.object(...n)}function w(e){return l.test(e)?new s._Code(s.safeStringify(e).replace(u,((e,t)=>`" + JSON.stringify(${o.getData(t,b)}) + "`)).replace(m,"")):n.stringify(e)}function x(e){return n._`function(){return ${w(e)}}`}i.if(n._`${c.default.errors} > 0`,(()=>{if("object"==typeof v){const[s,o]=function(e){let t,i;for(const n in e){if("properties"===n||"items"===n)continue;const r=e[n];if("object"==typeof r){t||(t={});const e=t[n]={};for(const t in r)e[t]=[]}else i||(i={}),i[n]=[]}return[t,i]}(v);o&&function(r){const s=i.const("emErrors",n.stringify(r)),o=i.const("templates",_(r,y));i.forOf("err",c.default.vErrors,(e=>i.if(j(e,s),(()=>i.code(n._`${s}[${e}.keyword].push(${e})`).assign(n._`${e}.${d}`,!0)))));const{singleError:p}=e;if(p){const e=i.let("message",n._`""`),r=i.let("paramsErrors",n._`[]`);f((t=>{i.if(e,(()=>i.code(n._`${e} += ${"string"==typeof p?p:";"}`))),i.code(n._`${e} += ${l(t)}`),i.assign(r,n._`${r}.concat(${s}[${t}])`)})),a.reportError(t,{message:e,params:n._`{errors: ${r}}`})}else f((e=>a.reportError(t,{message:l(e),params:n._`{errors: ${s}[${e}]}`})));function f(e){i.forIn("key",s,(t=>i.if(n._`${s}[${t}].length`,(()=>e(t)))))}function l(e){return n._`${e} in ${o} ? ${o}[${e}]() : ${g}[${e}]`}}(o),s&&function(e){const r=i.const("emErrors",n.stringify(e)),s=[];for(const t in e)s.push([t,_(e[t],y[t])]);const o=i.const("templates",i.object(...s)),p=i.scopeValue("obj",{ref:f,code:n.stringify(f)}),l=i.let("emPropParams"),u=i.let("emParamsErrors");i.forOf("err",c.default.vErrors,(e=>i.if(j(e,r),(()=>{i.assign(l,n._`${p}[${e}.keyword]`),i.assign(u,n._`${r}[${e}.keyword][${e}.params[${l}]]`),i.if(u,(()=>i.code(n._`${u}.push(${e})`).assign(n._`${e}.${d}`,!0)))})))),i.forIn("key",r,(e=>i.forIn("keyProp",n._`${r}[${e}]`,(s=>{i.assign(u,n._`${r}[${e}][${s}]`),i.if(n._`${u}.length`,(()=>{const r=i.const("tmpl",n._`${o}[${e}] && ${o}[${e}][${s}]`);a.reportError(t,{message:n._`${r} ? ${r}() : ${g}[${e}][${s}]`,params:n._`{errors: ${u}}`})}))}))))}(s),function(e){const{props:s,items:o}=e;if(!s&&!o)return;const f=n._`typeof ${h} == "object"`,l=n._`Array.isArray(${h})`,u=i.let("emErrors");let m,b;const v=i.let("templates");function j(e,t){i.assign(u,n.stringify(e)),i.assign(v,_(e,t))}s&&o?(m=i.let("emChildKwd"),i.if(f),i.if(l,(()=>{j(o,y.items),i.assign(m,n.str`items`)}),(()=>{j(s,y.properties),i.assign(m,n.str`properties`)})),b=n._`[${m}]`):o?(i.if(l),j(o,y.items),b=n._`.items`):s&&(i.if(r.and(f,r.not(l))),j(s,y.properties),b=n._`.properties`),i.forOf("err",c.default.vErrors,(e=>function(e,t,s){i.if(r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath.indexOf(${$}) === 0`),(()=>{const r=i.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:n._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),o=i.const("emMatches",n._`${r}.exec(${e}.instancePath.slice(${$}.length))`),a=i.const("emChild",n._`${o} && ${o}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);i.if(n._`${a} !== undefined && ${a} in ${t}`,(()=>s(a)))}))}(e,u,(t=>i.code(n._`${u}[${t}].push(${e})`).assign(n._`${e}.${d}`,!0))))),i.forIn("key",u,(e=>i.if(n._`${u}[${e}].length`,(()=>{a.reportError(t,{message:n._`${e} in ${v} ? ${v}[${e}]() : ${g}${b}[${e}]`,params:n._`{errors: ${u}[${e}]}`}),i.assign(n._`${c.default.vErrors}[${c.default.errors}-1].instancePath`,n._`${$} + "/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})))),i.endIf()}(function({properties:e,items:t}){const i={};if(e){i.props={};for(const t in e)i.props[t]=[]}if(t){i.items={};for(let e=0;ei.if(function(e){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,r.or(n._`${e}.instancePath === ${$}`,r.and(n._`${e}.instancePath.indexOf(${$}) === 0`,n._`${e}.instancePath[${$}.length] === "/"`)),n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`${e}.schemaPath[${b.errSchemaPath}.length] === "/"`)}(e),(()=>i.code(n._`${s}.push(${e})`).assign(n._`${e}.${d}`,!0))))),i.if(n._`${s}.length`,(()=>a.reportError(t,{message:w(e),params:n._`{errors: ${s}}`})))}(s),e.keepErrors||function(){const e=i.const("emErrs",n._`[]`);i.forOf("err",c.default.vErrors,(t=>i.if(n._`!${t}.${d}`,(()=>i.code(n._`${e}.push(${t})`))))),i.assign(c.default.vErrors,e).assign(c.default.errors,n._`${e}.length`)}()}))},metaSchema:{anyOf:[{type:"string"},{type:"object",properties:{properties:{$ref:"#/$defs/stringMap"},items:{$ref:"#/$defs/stringList"},required:{$ref:"#/$defs/stringOrMap"},dependencies:{$ref:"#/$defs/stringOrMap"}},additionalProperties:{type:"string"}}],$defs:{stringMap:{type:"object",additionalProperties:{type:"string"}},stringOrMap:{anyOf:[{type:"string"},{$ref:"#/$defs/stringMap"}]},stringList:{type:"array",items:{type:"string"}}}}}}(t))};t.default=h,e.exports=h,e.exports.default=h},70130:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(12362),r=i(10496),s=i(6317),o=i(46063),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(77146);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(38581);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(1110);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(60535);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},52816:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(52816),r=i(59157);var s=i(52816);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(59157);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},59157:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(52816);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},91844:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(38581),r=i(29811),s=i(91911);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},71435:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(38581),r=i(1110),s=i(91911),o=i(5339),a=i(29811),c=i(77146);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},91911:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},60535:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(5339);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},5339:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(29811),r=i(38792),s=i(85826),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},2812:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},29811:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(38581),r=i(52816);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},94223:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},31799:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(91844),r=i(38581),s=i(91911),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},53280:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(2812),r=i(94223),s=i(91844),o=i(38581),a=i(29811);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null - || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null - || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" - || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},63742:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(38581),r=i(29811);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},77146:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(31799),r=i(53280),s=i(94223),o=i(53280),a=i(63742),c=i(26953),p=i(64687),d=i(38581),f=i(91911),l=i(5339),u=i(29811),m=i(91844);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},26953:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(38581),r=i(91911),s=i(49653),o=i(91844);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},64687:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(38581),r=i(29811);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},12362:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(77146);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(38581);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(1110),o=i(60535),a=i(2812),c=i(71435),p=i(38581),d=i(5339),f=i(53280),l=i(29811),u=i(66077),m=i(70856),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},37658:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},32861:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},1110:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},84737:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(38581),r=i(29811),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},57412:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s=i(91911),o=i(29811),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},57572:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29811),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},26777:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(49653).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},69077:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},21201:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(38581),r=i(29811),s=i(49653);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, - missingProperty: ${r}, - depsCount: ${t}, - deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},53495:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},38874:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(84737),r=i(80170),s=i(9934),o=i(82286),a=i(69077),c=i(21201),p=i(47425),d=i(57412),f=i(95157),l=i(64341),u=i(78787),m=i(26777),h=i(62211),y=i(57572),g=i(53495),b=i(44026);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},9934:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(38581),r=i(29811),s=i(49653),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},82286:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(49653),o=i(84737),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},78787:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29811),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},62211:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},64341:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s=i(29811),o=i(29811),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},80170:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(9934),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},95157:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(77146),r=i(49653),s=i(29811),o=i(57412),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},47425:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},44026:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29811),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},49653:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(38581),r=i(29811),s=i(91911),o=i(29811);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},31431:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},47360:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(31431),r=i(60221),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},60221:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(60535),r=i(49653),s=i(38581),o=i(91911),a=i(71435),c=i(29811),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},6317:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(39380),s=i(71435),o=i(29811),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},39380:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},10496:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(47360),r=i(29204),s=i(38874),o=i(43420),a=i(83201),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},99057:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},43420:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(99057).default];t.default=n},83201:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},54591:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(37658),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},93571:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(37658),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},29204:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(32426),r=i(86511),s=i(65211),o=i(83062),a=i(52374),c=i(40499),p=i(58731),d=i(71785),f=i(54591),l=i(93571),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},58731:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},65211:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=i(29811),s=i(32861),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},32426:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},52374:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},86511:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38581),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},83062:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},40499:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49653),r=i(38581),s=i(29811),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},71785:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(53280),r=i(38581),s=i(29811),o=i(37658),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},53440:(e,t,i)=>{var n=i(55837),r=i(99986);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),g(function(e){return e.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(c).split("\\.").join(p)}(e),!0).map(f)):[]};var s="\0SLASH"+Math.random()+"\0",o="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",c="\0COMMA"+Math.random()+"\0",p="\0PERIOD"+Math.random()+"\0";function d(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function f(e){return e.split(s).join("\\").split(o).join("{").split(a).join("}").split(c).join(",").split(p).join(".")}function l(e){if(!e)return[""];var t=[],i=r("{","}",e);if(!i)return e.split(",");var n=i.pre,s=i.body,o=i.post,a=n.split(",");a[a.length-1]+="{"+s+"}";var c=l(o);return o.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),t.push.apply(t,a),t}function u(e){return"{"+e+"}"}function m(e){return/^-?0\d/.test(e)}function h(e,t){return e<=t}function y(e,t){return e>=t}function g(e,t){var i=[],s=r("{","}",e);if(!s||/\$$/.test(s.pre))return[e];var o,c=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),p=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),f=c||p,b=s.body.indexOf(",")>=0;if(!f&&!b)return s.post.match(/,.*\}/)?g(e=s.pre+"{"+s.body+a+s.post):[e];if(f)o=s.body.split(/\.\./);else if(1===(o=l(s.body)).length&&1===(o=g(o[0],!1).map(u)).length)return(j=s.post.length?g(s.post,!1):[""]).map((function(e){return s.pre+o[0]+e}));var v,$=s.pre,j=s.post.length?g(s.post,!1):[""];if(f){var _=d(o[0]),w=d(o[1]),x=Math.max(o[0].length,o[1].length),P=3==o.length?Math.abs(d(o[2])):1,S=h;w<_&&(P*=-1,S=y);var O=o.some(m);v=[];for(var E=_;S(E,w);E+=P){var A;if(p)"\\"===(A=String.fromCharCode(E))&&(A="");else if(A=String(E),O){var T=x-A.length;if(T>0){var I=new Array(T+1).join("0");A=E<0?"-"+I+A.slice(1):I+A}}v.push(A)}}else v=n(o,(function(e){return g(e,!1)}));for(var k=0;k{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{e.exports=l,l.Minimatch=u;var n=function(){try{return i(71848)}catch(e){}}()||{sep:"/"};l.sep=n.sep;var r=l.GLOBSTAR=u.GLOBSTAR={},s=i(53440),o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},a="[^/]",c=a+"*?",p="().*{}+?[]^$\\!".split("").reduce((function(e,t){return e[t]=!0,e}),{}),d=/\/+/;function f(e,t){t=t||{};var i={};return Object.keys(e).forEach((function(t){i[t]=e[t]})),Object.keys(t).forEach((function(e){i[e]=t[e]})),i}function l(e,t,i){return h(t),i||(i={}),!(!i.nocomment&&"#"===t.charAt(0))&&new u(t,i).match(e)}function u(e,t){if(!(this instanceof u))return new u(e,t);h(e),t||(t={}),e=e.trim(),t.allowWindowsEscape||"/"===n.sep||(e=e.split(n.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}function m(e,t){return t||(t=this instanceof u?this.options:{}),e=void 0===e?this.pattern:e,h(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:s(e)}l.filter=function(e,t){return t=t||{},function(i,n,r){return l(i,e,t)}},l.defaults=function(e){if(!e||"object"!=typeof e||!Object.keys(e).length)return l;var t=l,i=function(i,n,r){return t(i,n,f(e,r))};return(i.Minimatch=function(i,n){return new t.Minimatch(i,f(e,n))}).defaults=function(i){return t.defaults(f(e,i)).Minimatch},i.filter=function(i,n){return t.filter(i,f(e,n))},i.defaults=function(i){return t.defaults(f(e,i))},i.makeRe=function(i,n){return t.makeRe(i,f(e,n))},i.braceExpand=function(i,n){return t.braceExpand(i,f(e,n))},i.match=function(i,n,r){return t.match(i,n,f(e,r))},i},u.defaults=function(e){return l.defaults(e).Minimatch},u.prototype.debug=function(){},u.prototype.make=function(){var e=this.pattern,t=this.options;if(t.nocomment||"#"!==e.charAt(0))if(e){this.parseNegate();var i=this.globSet=this.braceExpand();t.debug&&(this.debug=function(){console.error.apply(console,arguments)}),this.debug(this.pattern,i),i=this.globParts=i.map((function(e){return e.split(d)})),this.debug(this.pattern,i),i=i.map((function(e,t,i){return e.map(this.parse,this)}),this),this.debug(this.pattern,i),i=i.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,i),this.set=i}else this.empty=!0;else this.comment=!0},u.prototype.parseNegate=function(){var e=this.pattern,t=!1,i=0;if(!this.options.nonegate){for(var n=0,r=e.length;n65536)throw new TypeError("pattern is too long")};u.prototype.parse=function(e,t){h(e);var i=this.options;if("**"===e){if(!i.noglobstar)return r;e="*"}if(""===e)return"";var n,s="",d=!!i.nocase,f=!1,l=[],u=[],m=!1,g=-1,b=-1,v="."===e.charAt(0)?"":i.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",$=this;function j(){if(n){switch(n){case"*":s+=c,d=!0;break;case"?":s+=a,d=!0;break;default:s+="\\"+n}$.debug("clearStateChar %j %j",n,s),n=!1}}for(var _,w=0,x=e.length;w-1;I--){var k=u[I],R=s.slice(0,k.reStart),M=s.slice(k.reStart,k.reEnd-8),q=s.slice(k.reEnd-8,k.reEnd),C=s.slice(k.reEnd);q+=C;var N=R.split("(").length-1,D=C;for(w=0;w=0&&!(r=e[s]);s--);for(s=0;s>> no match, partial?",e,l,t,u),l!==a))}if("string"==typeof d?(p=f===d,this.debug("string match",d,f,p)):(p=f.match(d),this.debug("pattern match",d,f,p)),!p)return!1}if(s===a&&o===c)return!0;if(s===a)return i;if(o===c)return s===a-1&&""===e[s];throw new Error("wtf?")}},99999:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aas2_6=t.aas2_5=t.aas2_4=t.aas2_3=t.aas2_2=t.aas2_1=t.aas2_0=t.asyncapi2=t.asyncApi2=t.aas2=void 0;const n=i(46734),r=/^2\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/,s=/^2\.0(?:\.[0-9]*)?$/,o=/^2\.1(?:\.[0-9]*)?$/,a=/^2\.2(?:\.[0-9]*)?$/,c=/^2\.3(?:\.[0-9]*)?$/,p=/^2\.4(?:\.[0-9]*)?$/,d=/^2\.5(?:\.[0-9]*)?$/,f=/^2\.6(?:\.[0-9]*)?$/,l=e=>(0,n.isPlainObject)(e)&&"asyncapi"in e&&r.test(String(e.asyncapi));t.aas2=l,t.aas2.displayName="AsyncAPI 2.x",t.asyncApi2=t.aas2,t.asyncapi2=t.aas2,t.aas2_0=e=>l(e)&&s.test(String(e.asyncapi)),t.aas2_0.displayName="AsyncAPI 2.0.x",t.aas2_1=e=>l(e)&&o.test(String(e.asyncapi)),t.aas2_1.displayName="AsyncAPI 2.1.x",t.aas2_2=e=>l(e)&&a.test(String(e.asyncapi)),t.aas2_2.displayName="AsyncAPI 2.2.x",t.aas2_3=e=>l(e)&&c.test(String(e.asyncapi)),t.aas2_3.displayName="AsyncAPI 2.3.x",t.aas2_4=e=>l(e)&&p.test(String(e.asyncapi)),t.aas2_4.displayName="AsyncAPI 2.4.x",t.aas2_5=e=>l(e)&&d.test(String(e.asyncapi)),t.aas2_5.displayName="AsyncAPI 2.5.x",t.aas2_6=e=>l(e)&&f.test(String(e.asyncapi)),t.aas2_6.displayName="AsyncAPI 2.6.x"},67423:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(59171),t),(0,n.__exportStar)(i(99999),t),(0,n.__exportStar)(i(86202),t)},86202:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.detectDialect=t.extractDraftVersion=t.jsonSchemaDraft2020_12=t.jsonSchemaDraft2019_09=t.jsonSchemaDraft7=t.jsonSchemaDraft6=t.jsonSchemaDraft4=t.jsonSchemaLoose=t.jsonSchema=void 0;const n=i(46734),r=["array","boolean","integer","null","number","object","string"],s=["allOf","oneOf","anyOf","not","if"],o=/^https?:\/\/json-schema.org\/(?:draft-0([467])|draft\/(20(?:19-09|20-12)))\/(?:hyper-)?schema#?$/,a=e=>function(e){return(0,n.isPlainObject)(e)&&"$schema"in e&&"string"==typeof e.$schema}(e)&&e.$schema.includes("//json-schema.org/");function c(e,t){const i=t=>a(t)&&p(t.$schema)===e;return i.displayName=t,i}function p(e){var t;const i=o.exec(e);return null!==i?`draft${null!==(t=i[1])&&void 0!==t?t:i[2]}`:null}t.jsonSchema=a,t.jsonSchema.displayName="JSON Schema",t.jsonSchemaLoose=e=>(0,n.isPlainObject)(e)&&(a(e)||(e=>"type"in e&&("string"==typeof e.type?r.includes(e.type):Array.isArray(e.type)&&e.type.every((e=>r.includes(e)))))(e)||(e=>Array.isArray(e.enum))(e)||(e=>s.some((t=>t in e&&"object"==typeof e[t]&&null!==e[t])))(e)),t.jsonSchemaLoose.displayName="JSON Schema (loose)",t.jsonSchemaDraft4=c("draft4","JSON Schema Draft 4"),t.jsonSchemaDraft6=c("draft6","JSON Schema Draft 6"),t.jsonSchemaDraft7=c("draft7","JSON Schema Draft 7"),t.jsonSchemaDraft2019_09=c("draft2019-09","JSON Schema Draft 2019-09"),t.jsonSchemaDraft2020_12=c("draft2020-12","JSON Schema Draft 2020-12"),t.extractDraftVersion=p,t.detectDialect=function(e){return a(e)?p(e.$schema):null}},59171:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.oas3_1=t.oas3_0=t.oas3=t.oas2=void 0;const n=i(46734);t.oas2=e=>(0,n.isPlainObject)(e)&&"swagger"in e&&2===parseInt(String(e.swagger)),t.oas2.displayName="OpenAPI 2.0 (Swagger)";const r=e=>(0,n.isPlainObject)(e)&&"openapi"in e&&3===Number.parseInt(String(e.openapi));t.oas3=r,t.oas3.displayName="OpenAPI 3.x",t.oas3_0=e=>r(e)&&/^3\.0(?:\.[0-9]*)?$/.test(String(e.openapi)),t.oas3_0.displayName="OpenAPI 3.0.x",t.oas3_1=e=>r(e)&&/^3\.1(?:\.[0-9]*)?$/.test(String(e.openapi)),t.oas3_1.displayName="OpenAPI 3.1.x"},40456:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(45250),r=i(23859),s=i(95955),o=i(9251),a=(e,t)=>"number"!=typeof e&&!Number.isNaN(Number(e))||"number"!=typeof t&&Number.isNaN(Number(t))?"string"!=typeof e||"string"!=typeof t?0:e.localeCompare(t):Math.min(1,Math.max(-1,Number(e)-Number(t)));function c(e){return"string"==typeof e||"number"==typeof e}t.default=(0,r.createRulesetFunction)({input:{type:["object","array"]},options:o.optionSchemas.alphabetical},(function(e,t,{path:i,documentInventory:r}){var o,p;let d;if(d=Array.isArray(e)?e:Object.keys(null!==(p=null===(o=r.findAssociatedItemForPath(i,!0))||void 0===o?void 0:o.document.trapAccess(e))&&void 0!==p?p:e),d.length<2)return;const f=null==t?void 0:t.keyedBy;if(void 0!==f){const e=[];for(const t of d){if(!(0,n.isObject)(t))return[{message:'#{{print("property")}}must be an object'}];e.push(t[f])}d=e}if(!d.every(c))return[{message:'#{{print("property")}}must be one of the allowed types: number, string'}];const l=((e,t)=>{for(let i=0;i=1)return[i,i+1];return null})(d,a);return null!=l?[{...void 0===f?{path:[...i,Array.isArray(e)?l[0]:d[l[0]]]}:null,message:void 0!==f?"properties must follow the alphabetical order":`${(0,s.printValue)(d[l[0]])} must be placed after ${(0,s.printValue)(d[l[1]])}`}]:void 0}))},97685:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CasingType=void 0;const n=i(45250),r=i(23859),s=i(9251),o=i(92805);Object.defineProperty(t,"CasingType",{enumerable:!0,get:function(){return o.CasingType}});const a={[o.CasingType.flat]:"[a-z][a-z{__DIGITS__}]*",[o.CasingType.camel]:"[a-z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}](?:[a-z{__DIGITS__}]+|$))*",[o.CasingType.pascal]:"[A-Z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}](?:[a-z{__DIGITS__}]+|$))*",[o.CasingType.kebab]:"[a-z][a-z{__DIGITS__}]*(?:-[a-z{__DIGITS__}]+)*",[o.CasingType.cobol]:"[A-Z][A-Z{__DIGITS__}]*(?:-[A-Z{__DIGITS__}]+)*",[o.CasingType.snake]:"[a-z][a-z{__DIGITS__}]*(?:_[a-z{__DIGITS__}]+)*",[o.CasingType.macro]:"[A-Z][A-Z{__DIGITS__}]*(?:_[A-Z{__DIGITS__}]+)*"};t.default=(0,r.createRulesetFunction)({input:{type:"string",minLength:1},options:s.optionSchemas.casing},(function(e,t){if(1!==e.length||void 0===t.separator||!0!==t.separator.allowLeading||e!==t.separator.char)return c(a[t.type],t).test(e)?void 0:[{message:`must be ${t.type} case`}]}));const c=(e,t)=>{const i=!0!==t.disallowDigits,r=e.replace(/\{__DIGITS__\}/g,i?"0-9":"");if(void 0===t.separator)return new RegExp(`^${r}$`);const s=`[${(0,n.escapeRegExp)(t.separator.char)}]`,o=!0===t.separator.allowLeading?`${s}?`:"";return new RegExp(`^${o}${r}(?:${s}${r})*$`)}},31181:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.defined},(function(e){if(void 0===e)return[{message:'#{{print("property")}}must be defined'}]}))},18315:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:["string","number","null","boolean"]},options:s.optionSchemas.enumeration},(function(e,{values:t}){if(!t.includes(e))return[{message:`#{{print("value")}} must be equal to one of the allowed values: ${t.map(r.printValue).join(", ")}`}]}))},53547:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.falsy},(function(e){if(e)return[{message:'#{{print("property")}}must be falsy'}]}))},69248:(e,t,i)=>{"use strict";t.fK=t.vN=t.wQ=t.T1=void 0;const n=i(85608),r=((0,n.__importDefault)(i(40456)),(0,n.__importDefault)(i(97685)),(0,n.__importDefault)(i(31181)),(0,n.__importDefault)(i(18315)),(0,n.__importDefault)(i(53547)),(0,n.__importDefault)(i(54782)),(0,n.__importDefault)(i(41146)));Object.defineProperty(t,"T1",{enumerable:!0,get:function(){return r.default}});const s=(0,n.__importDefault)(i(95818));Object.defineProperty(t,"wQ",{enumerable:!0,get:function(){return s.default}});const o=(0,n.__importDefault)(i(11214));Object.defineProperty(t,"vN",{enumerable:!0,get:function(){return o.default}});(0,n.__importDefault)(i(60928));const a=(0,n.__importDefault)(i(67884));Object.defineProperty(t,"fK",{enumerable:!0,get:function(){return a.default}});(0,n.__importDefault)(i(6073))},54782:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(46734),o=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:["array","object","string","number"]},options:o.optionSchemas.length},(function(e,t){let i,n;return i=(0,s.isPlainObject)(e)?Object.keys(e).length:Array.isArray(e)?e.length:"number"==typeof e?e:e.length,"min"in t&&it.max&&(null!=n?n:n=[]).push({message:`#{{print("property")}}must be shorter than ${(0,r.printValue)(t.max)}`}),n}))},9251:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.optionSchemas=void 0;const n=i(92805);t.optionSchemas={alphabetical:{type:["object","null"],properties:{keyedBy:{type:"string",description:"The key to sort an object by."}},additionalProperties:!1,errorMessage:{type:'"alphabetical" function has invalid options specified. Example valid options: null (no options), { "keyedBy": "my-key" }'}},casing:{required:["type"],type:"object",properties:{type:{type:"string",enum:Object.values(n.CasingType),errorMessage:`"casing" function and its "type" option accept the following values: ${Object.values(n.CasingType).join(", ")}`,description:"The casing type to match against."},disallowDigits:{type:"boolean",default:!1,description:"If not true, digits are allowed."},separator:{type:"object",required:["char"],additionalProperties:!1,properties:{char:{type:"string",maxLength:1,errorMessage:'"casing" function and its "separator.char" option accepts only char, i.e. "I" or "/"',description:"The additional char to separate groups of words."},allowLeading:{type:"boolean",description:"Can the group separator char be used at the first char?"}}}},additionalProperties:!1,errorMessage:{type:'"casing" function has invalid options specified. Example valid options: { "type": "camel" }, { "type": "pascal", "disallowDigits": true }'}},defined:null,enumeration:{type:"object",additionalProperties:!1,properties:{values:{type:"array",items:{type:["string","number","null","boolean"]},errorMessage:'"enumeration" and its "values" option support only arrays of primitive values, i.e. ["Berlin", "London", "Paris"]',description:"An array of possible values."}},required:["values"],errorMessage:{type:'"enumeration" function has invalid options specified. Example valid options: { "values": ["Berlin", "London", "Paris"] }, { "values": [2, 3, 5, 8, 13, 21] }'}},falsy:null,length:{type:"object",properties:{min:{type:"number",description:"The minimum length to match."},max:{type:"number",description:"The maximum length to match."}},minProperties:1,additionalProperties:!1,errorMessage:{type:'"length" function has invalid options specified. Example valid options: { "min": 2 }, { "max": 5 }, { "min": 0, "max": 10 }'}},pattern:{type:"object",additionalProperties:!1,properties:{match:{anyOf:[{type:"string"},{type:"object",properties:{exec:{},test:{},flags:{type:"string"}},required:["test","flags"],"x-internal":!0}],errorMessage:'"pattern" function and its "match" option must be string or RegExp instance',description:"If provided, value must match this regex."},notMatch:{anyOf:[{type:"string"},{type:"object",properties:{exec:{},test:{},flags:{type:"string"}},required:["test","flags"],"x-internal":!0}],errorMessage:'"pattern" function and its "notMatch" option must be string or RegExp instance',description:"If provided, value must _not_ match this regex."}},minProperties:1,errorMessage:{type:'"pattern" function has invalid options specified. Example valid options: { "match": "^Stoplight" }, { "notMatch": "Swagger" }, { "match": "Stoplight", "notMatch": "Swagger" }',minProperties:'"pattern" function has invalid options specified. Example valid options: { "match": "^Stoplight" }, { "notMatch": "Swagger" }, { "match": "Stoplight", "notMatch": "Swagger" }'}},truthy:null,undefined:null,schema:{additionalProperties:!1,properties:{schema:{type:"object",description:"Any valid JSON Schema document."},dialect:{enum:["auto","draft4","draft6","draft7","draft2019-09","draft2020-12"],default:"auto",description:"The JSON Schema draft used by function."},allErrors:{type:"boolean",default:!1,description:"Returns all errors when true; otherwise only returns the first error."},prepareResults:{"x-internal":!0}},required:["schema"],type:"object",errorMessage:{type:'"schema" function has invalid options specified. Example valid options: { "schema": { /* any JSON Schema can be defined here */ } , { "schema": { "type": "object" }, "dialect": "auto" }'}},unreferencedReusableObject:{type:"object",properties:{reusableObjectsLocation:{type:"string",format:"json-pointer-uri-fragment",errorMessage:'"unreferencedReusableObject" and its "reusableObjectsLocation" option support only valid JSON Pointer fragments, i.e. "#", "#/foo", "#/paths/~1user"',description:"A local json pointer to the document member holding the reusable objects (eg. #/definitions for an OAS2 document, #/components/schemas for an OAS3 document)."}},additionalProperties:!1,required:["reusableObjectsLocation"],errorMessage:{type:'"unreferencedReusableObject" function has invalid options specified. Example valid options: { "reusableObjectsLocation": "#/components/schemas" }, { "reusableObjectsLocation": "#/$defs" }',required:'"unreferencedReusableObject" function is missing "reusableObjectsLocation" option. Example valid options: { "reusableObjectsLocation": "#/components/schemas" }, { "reusableObjectsLocation": "#/$defs" }'}},xor:{type:"object",properties:{properties:{type:"array",items:{type:"string"},minItems:2,maxItems:2,errorMessage:'"xor" and its "properties" option support 2-item tuples, i.e. ["id", "name"]',description:"The properties to check."}},additionalProperties:!1,required:["properties"],errorMessage:{type:'"xor" function has invalid options specified. Example valid options: { "properties": ["id", "name"] }, { "properties": ["country", "street"] }'}}}},41146:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(9251),o=/^\/(.+)\/([a-z]*)$/,a=new Map;function c(e){const t=a.get(e);if(void 0!==t)return t.lastIndex=0,t;const i=function(e){const t=o.exec(e);return null!==t?new RegExp(t[1],t[2]):new RegExp(e)}(e);return a.set(e,i),i}t.default=(0,n.createRulesetFunction)({input:{type:"string"},options:s.optionSchemas.pattern},(function(e,t){let i;return"match"in t&&(c(t.match).test(e)||(i=[{message:`#{{print("value")}} must match the pattern ${(0,r.printValue)(t.match)}`}])),"notMatch"in t&&c(t.notMatch).test(e)&&(null!=i?i:i=[]).push({message:`#{{print("value")}} must not match the pattern ${(0,r.printValue)(t.notMatch)}`}),i}))},79097:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createAjvInstances=void 0;const n=i(85608),r=(0,n.__importDefault)(i(25248)),s=(0,n.__importDefault)(i(26235)),o=(0,n.__importDefault)(i(19179)),a=(0,n.__importDefault)(i(93916)),c=(0,n.__importDefault)(i(74421)),p=(0,n.__importDefault)(i(33907)),d=(0,n.__importStar)(i(71678)),f=(0,n.__importStar)(i(33978)),l={warn(...e){const t=e[0];if("string"==typeof t){if(t.startsWith("unknown format"))return;console.warn(...e)}},log:console.log,error:console.error};function u(e,t){const i=new e({allErrors:t,meta:!0,messages:!0,strict:!1,allowUnionTypes:!0,logger:l,unicodeRegExp:!1});return(0,c.default)(i),t&&(0,p.default)(i),e===r.default&&(i.addSchema(f),i.addSchema(d)),i}function m(e){let t,i;return{get default(){return null!=t||(t=u(e,!1)),t},get allErrors(){return null!=i||(i=u(e,!0)),i}}}t.createAjvInstances=function(){const e={auto:m(r.default),draft4:m(a.default),"draft2019-09":m(s.default),"draft2020-12":m(o.default)},t=new WeakMap;return function(i,n,r){var s,o,a,c;const p=(null!==(s=e[n])&&void 0!==s?s:e.auto)[r?"allErrors":"default"],d=i.$id;if("string"==typeof d)return null!==(o=p.getSchema(d))&&void 0!==o?o:p.compile(i);{const e=null!==(a=t.get(p))&&void 0!==a?a:t.set(p,new WeakMap).get(p);return null!==(c=e.get(i))&&void 0!==c?c:e.set(i,p.compile(i)).get(i)}}}},95818:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608),r=(0,n.__importDefault)(i(75150)),s=i(67423),o=i(79097),a=(0,n.__importDefault)(i(5773)),c=i(23859),p=i(45250),d=i(9251),f=new WeakMap;t.default=(0,c.createRulesetFunction)({input:null,options:d.optionSchemas.schema},(function(e,t,{path:i,rule:n,documentInventory:c}){var d,l,u;if(void 0===e)return[{path:i,message:'#{{print("property")}}must exist'}];const m=null!==(d=f.get(c))&&void 0!==d?d:f.set(c,(0,o.createAjvInstances)()).get(c),h=[],{allErrors:y=!1,schema:g}=t;try{const n=m(g,null!==(l=void 0===t.dialect||"auto"===t.dialect?(0,s.detectDialect)(g):null==t?void 0:t.dialect)&&void 0!==l?l:"draft7",y);!1===(null==n?void 0:n(e))&&Array.isArray(n.errors)&&(null===(u=t.prepareResults)||void 0===u||u.call(t,n.errors),h.push(...(0,r.default)(g,n.errors,{propertyPath:i,targetValue:e}).map((({suggestion:e,error:t,path:n})=>({message:void 0!==e?`${t}. ${e}`:t,path:[...i,...""!==n?n.replace(/^\//,"").split("/"):[]]})))))}catch(e){if(!(0,p.isError)(e))throw new Error("Unexpected error");n.resolved&&e instanceof a.default||h.push({message:e.message,path:i})}return h}))},11214:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.truthy},(function(e){if(!e)return[{message:'#{{print("property")}}must be truthy'}]}))},92805:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CasingType=void 0,(i=t.CasingType||(t.CasingType={})).flat="flat",i.camel="camel",i.pascal="pascal",i.kebab="kebab",i.cobol="cobol",i.snake="snake",i.macro="macro"},60928:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(9251);t.default=(0,n.createRulesetFunction)({input:null,options:r.optionSchemas.undefined},(function(e){if(void 0!==e)return[{message:'#{{print("property")}}must be undefined'}]}))},67884:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(46734),o=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:"object"},options:o.optionSchemas.unreferencedReusableObject},(function(e,t,{document:i,documentInventory:n}){var o;const a=n.graph;if(null===a)throw new Error("unreferencedReusableObject requires dependency graph");const c=null!==(o=i.source)&&void 0!==o?o:"",p=Object.keys(e).map((e=>`${c}${t.reusableObjectsLocation}/${e}`)),d=new Set(a.overallOrder().map((e=>(0,s.decodePointer)(e))));return p.filter((e=>!d.has(e))).map((e=>({message:"Potential orphaned reusable object has been detected",path:(0,r.safePointerToPath)(e)})))}))},6073:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(23859),r=i(95955),s=i(9251);t.default=(0,n.createRulesetFunction)({input:{type:"object"},options:s.optionSchemas.xor},(function(e,{properties:t}){if(2!==t.length)return;const i=[];return 1!==Object.keys(e).filter((e=>-1!==t.indexOf(e))).length&&i.push({message:`${(0,r.printValue)(t[0])} and ${(0,r.printValue)(t[1])} must not be both defined or both undefined`}),i}))},93916:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(28664),s=i(62187),o=i(74411),a=["/properties"],c="http://json-schema.org/draft-04/schema";class p extends n.default{constructor(e={}){super({...e,schemaId:"id"})}_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(26328);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(26328);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}})},22594:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=["$schema","id","$defs",{keyword:"$comment"},"definitions",i(38727).default];t.default=n},28664:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(22594),r=i(42213),s=i(18976),o=i(97906),a=[n.default,r.default,s.default(),o.default,["title","description","default"]];t.default=a},42213:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85031),r=i(64463),s=i(88909),o=i(51421),a=i(29344),c=i(66632),p=i(15617),d=i(11557),f=i(14691),l=i(33041),u=i(59893),m=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,f.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},l.default,u.default];t.default=m},85031:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(26328),r=i(42559).operators,s={maximum:{exclusive:"exclusiveMaximum",ops:[{okStr:"<=",ok:r.LTE,fail:r.GT},{okStr:"<",ok:r.LT,fail:r.GTE}]},minimum:{exclusive:"exclusiveMinimum",ops:[{okStr:">=",ok:r.GTE,fail:r.LT},{okStr:">",ok:r.GT,fail:r.LTE}]}},o={message:e=>n.str`must be ${c(e).okStr} ${e.schemaCode}`,params:e=>n._`{comparison: ${c(e).okStr}, limit: ${e.schemaCode}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{data:t,schemaCode:i}=e;e.fail$data(n._`${t} ${c(e).fail} ${i} || isNaN(${t})`)}};function c(e){var t;const i=e.keyword,n=(null===(t=e.parentSchema)||void 0===t?void 0:t[s[i].exclusive])?1:0;return s[i].ops[n]}t.default=a},64463:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={exclusiveMaximum:"maximum",exclusiveMinimum:"minimum"},n={keyword:Object.keys(i),type:"number",schemaType:"boolean",code({keyword:e,parentSchema:t}){const n=i[e];if(void 0===t[n])throw new Error(`${e} can only be used with ${n}`)}};t.default=n},33907:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(25248),r=i(42559),s=i(57938),o=i(31988),a=i(21734),c=i(78489),p="errorMessage",d=new n.Name("emUsed"),f={required:"missingProperty",dependencies:"property",dependentRequired:"property"},l=/\$\{[^}]+\}/,u=/\$\{([^}]+)\}/g,m=/^""\s*\+\s*|\s*\+\s*""$/g;const h=(e,t={})=>{if(!e.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(e.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return e.addKeyword(function(e){return{keyword:p,schemaType:["string","object"],post:!0,code(t){const{gen:i,data:h,schema:y,schemaValue:g,it:b}=t;if(!1===b.createErrors)return;const v=y,$=r.strConcat(c.default.instancePath,b.errorPath);function j(e,t){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath === ${$}`,n._`${e}.keyword in ${t}`,n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`/^\\/[^\\/]*$/.test(${e}.schemaPath.slice(${b.errSchemaPath.length}))`)}function _(e,t){const n=[];for(const i in e){const e=t[i];l.test(e)&&n.push([i,x(e)])}return i.object(...n)}function w(e){return l.test(e)?new s._Code(s.safeStringify(e).replace(u,((e,t)=>`" + JSON.stringify(${o.getData(t,b)}) + "`)).replace(m,"")):n.stringify(e)}function x(e){return n._`function(){return ${w(e)}}`}i.if(n._`${c.default.errors} > 0`,(()=>{if("object"==typeof v){const[s,o]=function(e){let t,i;for(const n in e){if("properties"===n||"items"===n)continue;const r=e[n];if("object"==typeof r){t||(t={});const e=t[n]={};for(const t in r)e[t]=[]}else i||(i={}),i[n]=[]}return[t,i]}(v);o&&function(r){const s=i.const("emErrors",n.stringify(r)),o=i.const("templates",_(r,y));i.forOf("err",c.default.vErrors,(e=>i.if(j(e,s),(()=>i.code(n._`${s}[${e}.keyword].push(${e})`).assign(n._`${e}.${d}`,!0)))));const{singleError:p}=e;if(p){const e=i.let("message",n._`""`),r=i.let("paramsErrors",n._`[]`);f((t=>{i.if(e,(()=>i.code(n._`${e} += ${"string"==typeof p?p:";"}`))),i.code(n._`${e} += ${l(t)}`),i.assign(r,n._`${r}.concat(${s}[${t}])`)})),a.reportError(t,{message:e,params:n._`{errors: ${r}}`})}else f((e=>a.reportError(t,{message:l(e),params:n._`{errors: ${s}[${e}]}`})));function f(e){i.forIn("key",s,(t=>i.if(n._`${s}[${t}].length`,(()=>e(t)))))}function l(e){return n._`${e} in ${o} ? ${o}[${e}]() : ${g}[${e}]`}}(o),s&&function(e){const r=i.const("emErrors",n.stringify(e)),s=[];for(const t in e)s.push([t,_(e[t],y[t])]);const o=i.const("templates",i.object(...s)),p=i.scopeValue("obj",{ref:f,code:n.stringify(f)}),l=i.let("emPropParams"),u=i.let("emParamsErrors");i.forOf("err",c.default.vErrors,(e=>i.if(j(e,r),(()=>{i.assign(l,n._`${p}[${e}.keyword]`),i.assign(u,n._`${r}[${e}.keyword][${e}.params[${l}]]`),i.if(u,(()=>i.code(n._`${u}.push(${e})`).assign(n._`${e}.${d}`,!0)))})))),i.forIn("key",r,(e=>i.forIn("keyProp",n._`${r}[${e}]`,(s=>{i.assign(u,n._`${r}[${e}][${s}]`),i.if(n._`${u}.length`,(()=>{const r=i.const("tmpl",n._`${o}[${e}] && ${o}[${e}][${s}]`);a.reportError(t,{message:n._`${r} ? ${r}() : ${g}[${e}][${s}]`,params:n._`{errors: ${u}}`})}))}))))}(s),function(e){const{props:s,items:o}=e;if(!s&&!o)return;const f=n._`typeof ${h} == "object"`,l=n._`Array.isArray(${h})`,u=i.let("emErrors");let m,b;const v=i.let("templates");function j(e,t){i.assign(u,n.stringify(e)),i.assign(v,_(e,t))}s&&o?(m=i.let("emChildKwd"),i.if(f),i.if(l,(()=>{j(o,y.items),i.assign(m,n.str`items`)}),(()=>{j(s,y.properties),i.assign(m,n.str`properties`)})),b=n._`[${m}]`):o?(i.if(l),j(o,y.items),b=n._`.items`):s&&(i.if(r.and(f,r.not(l))),j(s,y.properties),b=n._`.properties`),i.forOf("err",c.default.vErrors,(e=>function(e,t,s){i.if(r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,n._`${e}.instancePath.indexOf(${$}) === 0`),(()=>{const r=i.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:n._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),o=i.const("emMatches",n._`${r}.exec(${e}.instancePath.slice(${$}.length))`),a=i.const("emChild",n._`${o} && ${o}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);i.if(n._`${a} !== undefined && ${a} in ${t}`,(()=>s(a)))}))}(e,u,(t=>i.code(n._`${u}[${t}].push(${e})`).assign(n._`${e}.${d}`,!0))))),i.forIn("key",u,(e=>i.if(n._`${u}[${e}].length`,(()=>{a.reportError(t,{message:n._`${e} in ${v} ? ${v}[${e}]() : ${g}${b}[${e}]`,params:n._`{errors: ${u}[${e}]}`}),i.assign(n._`${c.default.vErrors}[${c.default.errors}-1].instancePath`,n._`${$} + "/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})))),i.endIf()}(function({properties:e,items:t}){const i={};if(e){i.props={};for(const t in e)i.props[t]=[]}if(t){i.items={};for(let e=0;ei.if(function(e){return r.and(n._`${e}.keyword !== ${p}`,n._`!${e}.${d}`,r.or(n._`${e}.instancePath === ${$}`,r.and(n._`${e}.instancePath.indexOf(${$}) === 0`,n._`${e}.instancePath[${$}.length] === "/"`)),n._`${e}.schemaPath.indexOf(${b.errSchemaPath}) === 0`,n._`${e}.schemaPath[${b.errSchemaPath}.length] === "/"`)}(e),(()=>i.code(n._`${s}.push(${e})`).assign(n._`${e}.${d}`,!0))))),i.if(n._`${s}.length`,(()=>a.reportError(t,{message:w(e),params:n._`{errors: ${s}}`})))}(s),e.keepErrors||function(){const e=i.const("emErrs",n._`[]`);i.forOf("err",c.default.vErrors,(t=>i.if(n._`!${t}.${d}`,(()=>i.code(n._`${e}.push(${t})`))))),i.assign(c.default.vErrors,e).assign(c.default.errors,n._`${e}.length`)}()}))},metaSchema:{anyOf:[{type:"string"},{type:"object",properties:{properties:{$ref:"#/$defs/stringMap"},items:{$ref:"#/$defs/stringList"},required:{$ref:"#/$defs/stringOrMap"},dependencies:{$ref:"#/$defs/stringOrMap"}},additionalProperties:{type:"string"}}],$defs:{stringMap:{type:"object",additionalProperties:{type:"string"}},stringOrMap:{anyOf:[{type:"string"},{$ref:"#/$defs/stringMap"}]},stringList:{type:"array",items:{type:"string"}}}}}}(t))};t.default=h,e.exports=h,e.exports.default=h},26235:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(52830),s=i(85718),o=i(70907),a=i(36255),c=i(62187),p=i(20294),d="https://json-schema.org/draft/2019-09/schema";class f extends n.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(s.default),r.default.forEach((e=>this.addVocabulary(e))),this.addVocabulary(o.default),this.addVocabulary(a.default),this.opts.discriminator&&this.addKeyword(c.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;t&&(p.default.call(this,e),this.refs["http://json-schema.org/schema"]=d)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(d)?d:void 0)}}e.exports=t=f,Object.defineProperty(t,"__esModule",{value:!0}),t.default=f;var l=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var u=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var m=i(79860);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return m.default}});var h=i(5773);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return h.default}})},19179:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(76151),s=i(62187),o=i(62602),a="https://json-schema.org/draft/2020-12/schema";class c extends n.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;t&&(o.default.call(this,e),this.refs["http://json-schema.org/schema"]=a)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.exports=t=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var p=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return p.KeywordCxt}});var d=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return d._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return d.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return d.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return d.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return d.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return d.CodeGen}});var f=i(79860);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return f.default}});var l=i(5773);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return l.default}})},25248:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(26328),r=i(52830),s=i(62187),o=i(59513),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(79860);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(5773);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},57938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(57938),r=i(31719);var s=i(57938);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(31719);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},31719:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(57938);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},21734:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(42559),r=i(55673),s=i(78489);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},30225:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(42559),r=i(79860),s=i(78489),o=i(88693),a=i(55673),c=i(31988);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},78489:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},5773:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(88693);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},88693:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(55673),r=i(38792),s=i(6364),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},23750:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},55673:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(42559),r=i(57938);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},55242:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},81437:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(21734),r=i(42559),s=i(78489),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},73586:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(23750),r=i(55242),s=i(21734),o=i(42559),a=i(55673);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null - || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null - || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" - || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},76984:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(42559),r=i(55673);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},31988:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(81437),r=i(73586),s=i(55242),o=i(73586),a=i(76984),c=i(47455),p=i(32341),d=i(42559),f=i(78489),l=i(88693),u=i(55673),m=i(21734);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},47455:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(42559),r=i(78489),s=i(78479),o=i(21734);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},32341:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(42559),r=i(55673);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},26328:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(31988);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(42559);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(79860),o=i(5773),a=i(23750),c=i(30225),p=i(42559),d=i(88693),f=i(73586),l=i(55673),u=i(96499),m=i(20446),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},20294:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(99976),r=i(29574),s=i(85240),o=i(21604),a=i(90048),c=i(3785),p=i(84312),d=["/properties"];t.default=function(e){return[n,r,s,o,t(this,a),c,t(this,p)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,i){return e?t.$dataMetaSchema(i,d):i}}},62602:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(1900),r=i(94826),s=i(86133),o=i(98204),a=i(88896),c=i(97446),p=i(23501),d=i(9412),f=["/properties"];t.default=function(e){return[n,r,s,o,a,t(this,c),p,t(this,d)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,i){return e?t.$dataMetaSchema(i,f):i}}},40924:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},631:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},79860:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},94367:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(42559),r=i(55673),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},7162:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s=i(78489),o=i(55673),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},44270:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},83087:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(78479).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},45479:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},12143:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(42559),r=i(55673),s=i(78479);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, - missingProperty: ${r}, - depsCount: ${t}, - deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},80407:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(12143),r={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,n.validateSchemaDeps)(e)};t.default=r},53449:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},18976:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94367),r=i(47560),s=i(97964),o=i(50892),a=i(45479),c=i(12143),p=i(59775),d=i(7162),f=i(87299),l=i(62903),u=i(98269),m=i(83087),h=i(75349),y=i(44270),g=i(53449),b=i(82776);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},97964:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(42559),r=i(55673),s=i(78479),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},50892:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(78479),o=i(94367),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},98269:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},75349:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},62903:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s=i(55673),o=i(55673),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},47560:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(97964),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},87299:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(31988),r=i(78479),s=i(55673),o=i(7162),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},59775:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},82776:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},78479:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(42559),r=i(55673),s=i(78489),o=i(55673);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},30685:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},69158:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(30685),r=i(38727),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},38727:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(5773),r=i(78479),s=i(42559),o=i(78489),a=i(30225),c=i(55673),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},62187:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(9994),s=i(30225),o=i(55673),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},9994:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},76151:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(69158),r=i(93578),s=i(18976),o=i(85718),a=i(70907),c=i(36255),p=i(97906),d=i(32643),f=[o.default,n.default,r.default,(0,s.default)(!0),p.default,d.metadataVocabulary,d.contentVocabulary,a.default,c.default];t.default=f},52830:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(69158),r=i(93578),s=i(18976),o=i(97906),a=i(32643),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},92294:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dynamicAnchor=void 0;const n=i(42559),r=i(78489),s=i(30225),o=i(38727),a={keyword:"$dynamicAnchor",schemaType:"string",code:e=>c(e,e.schema)};function c(e,t){const{gen:i,it:a}=e;a.schemaEnv.root.dynamicAnchors[t]=!0;const c=n._`${r.default.dynamicAnchors}${(0,n.getProperty)(t)}`,p="#"===a.errSchemaPath?a.validateName:function(e){const{schemaEnv:t,schema:i,self:n}=e.it,{root:r,baseId:a,localRefs:c,meta:p}=t.root,{schemaId:d}=n.opts,f=new s.SchemaEnv({schema:i,schemaId:d,root:r,baseId:a,localRefs:c,meta:p});return s.compileSchema.call(n,f),(0,o.getValidate)(e,f)}(e);i.if(n._`!${c}`,(()=>i.assign(c,p)))}t.dynamicAnchor=c,t.default=a},2010:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dynamicRef=void 0;const n=i(42559),r=i(78489),s=i(38727),o={keyword:"$dynamicRef",schemaType:"string",code:e=>a(e,e.schema)};function a(e,t){const{gen:i,keyword:o,it:a}=e;if("#"!==t[0])throw new Error(`"${o}" only supports hash fragment reference`);const c=t.slice(1);if(a.allErrors)p();else{const t=i.let("valid",!1);p(t),e.ok(t)}function p(e){if(a.schemaEnv.root.dynamicAnchors[c]){const t=i.let("_v",n._`${r.default.dynamicAnchors}${(0,n.getProperty)(c)}`);i.if(t,d(t,e),d(a.validateName,e))}else d(a.validateName,e)()}function d(t,n){return n?()=>i.block((()=>{(0,s.callRef)(e,t),i.let(n,!0)})):()=>(0,s.callRef)(e,t)}}t.dynamicRef=a,t.default=o},85718:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(92294),r=i(2010),s=i(29983),o=i(85065),a=[n.default,r.default,s.default,o.default];t.default=a},29983:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(92294),r=i(55673),s={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,n.dynamicAnchor)(e,""):(0,r.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};t.default=s},85065:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2010),r={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,n.dynamicRef)(e,e.schema)};t.default=r},60963:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},97906:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(60963).default];t.default=n},32643:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},70907:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(1944),r=i(80407),s=i(81496),o=[n.default,r.default,s.default];t.default=o},36255:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(62066),r=i(97575),s=[n.default,r.default];t.default=s},97575:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e,a=o.items||0;if(!0===a)return;const c=t.const("len",n._`${s}.length`);if(!1===i)e.setParams({len:a}),e.fail(n._`${c} > ${a}`);else if("object"==typeof i&&!(0,r.alwaysValidSchema)(o,i)){const i=t.var("valid",n._`${c} <= ${a}`);t.if((0,n.not)(i),(()=>function(i,s){t.forRange("i",s,c,(s=>{e.subschema({keyword:"unevaluatedItems",dataProp:s,dataPropType:r.Type.Num},i),o.allErrors||t.if((0,n.not)(i),(()=>t.break()))}))}(i,a))),e.ok(i)}o.items=!0}};t.default=s},62066:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(78489),o={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:e})=>n._`{unevaluatedProperty: ${e.unevaluatedProperty}}`},code(e){const{gen:t,schema:i,data:o,errsCount:a,it:c}=e;if(!a)throw new Error("ajv implementation error");const{allErrors:p,props:d}=c;function f(s){if(!1===i)return e.setParams({unevaluatedProperty:s}),e.error(),void(p||t.break());if(!(0,r.alwaysValidSchema)(c,i)){const i=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:s,dataPropType:r.Type.Str},i),p||t.if((0,n.not)(i),(()=>t.break()))}}d instanceof n.Name?t.if(n._`${d} !== true`,(()=>t.forIn("key",o,(e=>t.if(function(e,t){return n._`!${e} || !${e}[${t}]`}(d,e),(()=>f(e))))))):!0!==d&&t.forIn("key",o,(e=>void 0===d?f(e):t.if(function(e,t){const i=[];for(const r in e)!0===e[r]&&i.push(n._`${t} !== ${r}`);return(0,n.and)(...i)}(d,e),(()=>f(e))))),c.props=!0,e.ok(n._`${a} === ${s.default.errors}`)}};t.default=o},33041:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(40924),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},1944:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(12143),r={keyword:"dependentRequired",type:"object",schemaType:"object",error:n.error,code:e=>(0,n.validatePropertyDeps)(e)};t.default=r},59893:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(40924),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},93578:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(12040),r=i(88909),s=i(51421),o=i(29344),a=i(66632),c=i(15617),p=i(11557),d=i(14691),f=i(33041),l=i(59893),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},81496:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(55673),r={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:i}){void 0===t.contains&&(0,n.checkStrictMode)(i,`"${e}" without "contains" is ignored`)}};t.default=r},11557:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},51421:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=i(55673),s=i(631),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},12040:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},66632:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},88909:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(42559),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},29344:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},15617:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78479),r=i(42559),s=i(55673),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},14691:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(73586),r=i(42559),s=i(55673),o=i(40924),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},6364:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(50973),t),(0,n.__exportStar)(i(72708),t),(0,n.__exportStar)(i(51562),t)},50973:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Json=t.parseJson=void 0;const n=i(46734);t.parseJson=e=>(0,n.parseWithPointers)(e,{ignoreDuplicateKeys:!1,preserveKeyOrder:!0}),t.Json={parse:t.parseJson,getLocationForJsonPath:n.getLocationForJsonPath,trapAccess:n.trapAccess}},51562:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},72708:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Yaml=t.parseYaml=void 0;const n=i(3740);t.parseYaml=e=>(0,n.parseWithPointers)(e,{ignoreDuplicateKeys:!1,mergeKeys:!0,preserveKeyOrder:!0,attachComments:!1}),t.Yaml={parse:t.parseYaml,getLocationForJsonPath:function(e,t){return(0,n.getLocationForJsonPath)(e,t)},trapAccess:n.trapAccess}},88601:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createHttpAndFileResolver=t.ResolverDepGraph=t.Resolver=t.httpAndFileResolver=void 0;const n=i(85608),r=i(54668),s=i(16586);Object.defineProperty(t,"Resolver",{enumerable:!0,get:function(){return s.Resolver}});const o=i(95955),a=i(30524);function c(e){const t=(0,r.createResolveHttp)({...o.DEFAULT_REQUEST_OPTIONS,...e});return new s.Resolver({resolvers:{https:{resolve:t},http:{resolve:t},file:{resolve:r.resolveFile}}})}(0,n.__exportStar)(i(7944),t),t.httpAndFileResolver=c(),t.ResolverDepGraph=a.DepGraph,t.createHttpAndFileResolver=c},7944:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86663:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_REQUEST_OPTIONS=void 0;const n=(0,i(85608).__importDefault)(i(98203));t.DEFAULT_REQUEST_OPTIONS={},t.default=async(e,i={})=>(0,n.default)(e,{...i,...t.DEFAULT_REQUEST_OPTIONS})},95955:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_REQUEST_OPTIONS=t.fetch=void 0;const n=i(85608);(0,n.__exportStar)(i(14205),t);var r=i(86663);Object.defineProperty(t,"fetch",{enumerable:!0,get:function(){return(0,n.__importDefault)(r).default}}),Object.defineProperty(t,"DEFAULT_REQUEST_OPTIONS",{enumerable:!0,get:function(){return r.DEFAULT_REQUEST_OPTIONS}}),(0,n.__exportStar)(i(65744),t)},65744:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readParsable=t.readFile=void 0;const n=i(85608),r=i(98136),s=(0,n.__importDefault)(i(67083)),o=(0,n.__importStar)(i(18248)),a=i(45250),c=(0,n.__importDefault)(i(86663)),p=i(92918);async function d(e,t){if((0,r.isURL)(e)){let i,n=null;try{const r={};if(r.agent=t.agent,void 0!==t.timeout){const e=new s.default;n=setTimeout((()=>{e.abort()}),t.timeout),r.signal=e.signal}if(i=await(0,c.default)(e,r),!i.ok)throw new Error(i.statusText);return await i.text()}catch(e){throw(0,a.isError)(e)&&"AbortError"===e.name?new Error("Timeout"):e}finally{null!==n&&clearTimeout(n)}}else try{return await new Promise(((i,n)=>{o.readFile(e,t.encoding,((e,t)=>{null!==e?n(e):i(t)}))}))}catch(t){throw new Error(`Could not read ${e}: ${(0,p.printError)(t)}`)}}t.readFile=d,t.readParsable=async function(e,t){try{return await d(e,t)}catch(t){throw new Error(`Could not parse ${e}: ${(0,p.printError)(t)}`)}}},39090:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeSegmentFragment=void 0;const n=i(46734);t.decodeSegmentFragment=function(e){return"string"!=typeof e?String(e):(0,n.decodePointerFragment)(e)}},14205:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(39090),t),(0,n.__exportStar)(i(92918),t),(0,n.__exportStar)(i(73389),t),(0,n.__exportStar)(i(24569),t),(0,n.__exportStar)(i(6291),t)},92918:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printError=void 0;const n=i(45250);t.printError=function(e){return(0,n.isError)(e)?e.message:"unknown error"}},73389:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printPath=t.PrintStyle=void 0;const n=i(46734);var r;!function(e){e.Dot="dot",e.Pointer="pointer",e.EscapedPointer="escapedPointer"}(r=t.PrintStyle||(t.PrintStyle={}));const s=e=>"number"==typeof e?e:(0,n.decodePointerFragment)(e);t.printPath=(e,t)=>{switch(t){case r.Dot:return(0,n.decodePointerFragment)((e=>e.reduce(((e,t,i)=>{var n;return`${e}${null!==(n=(e=>{return"number"==typeof e?`[${e}]`:0===e.length?"['']":/\s/.test(e)?`['${e}']`:"number"!=typeof(t=e)&&Number.isNaN(Number(t))?null:`[${e}]`;var t})(t))&&void 0!==n?n:`${0===i?"":"."}${t}`}`}),""))(e));case r.Pointer:return 0===e.length?"#":`#/${(0,n.decodePointerFragment)(e.join("/"))}`;case r.EscapedPointer:return(0,n.pathToPointer)(e.map(s));default:return String(e)}}},24569:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printValue=void 0;const n=i(45250),r=i(46734);t.printValue=function(e){return void 0===e?"undefined":(0,n.isObject)(e)?Array.isArray(e)?"Array[]":e instanceof RegExp?String(e.source):!(0,r.isPlainObject)(e)&&"constructor"in e&&"string"==typeof e.constructor.name?e.constructor.name:"Object{}":JSON.stringify(e)}},6291:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getClosestJsonPath=t.safePointerToPath=t.getEndRef=t.traverseObjUntilRef=t.isAbsoluteRef=t.startsWithProtocol=void 0;const n=i(46734),r=i(98136),s=i(45250),o=/^[a-z]+:\/\//i;t.startsWithProtocol=e=>o.test(e),t.isAbsoluteRef=e=>(0,r.isAbsolute)(e)||(0,t.startsWithProtocol)(e),t.traverseObjUntilRef=(e,t)=>{let i=e;for(const e of t.slice()){if(!(0,s.isObject)(i))throw new TypeError("Segment is not a part of the object");if(!(e in i)){if((0,n.hasRef)(i))return i.$ref;throw new Error("Segment is not a part of the object")}i=i[e],t.shift()}return(0,n.isPlainObject)(i)&&(0,n.hasRef)(i)&&1===Object.keys(i).length?i.$ref:null},t.getEndRef=(e,t)=>{for(;t in e;)t=e[t];return t},t.safePointerToPath=e=>{const t=(0,n.extractPointerFromRef)(e);return null!==t?(0,n.pointerToPath)(t):[]},t.getClosestJsonPath=(e,t)=>{const i=[];if(!(0,s.isObject)(e))return i;let n=e;for(const e of t){if(!(0,s.isObject)(n)||!(e in n))break;i.push(e),n=n[e]}return i}},29228:(e,t)=>{"use strict";function i(e){return null==e}Object.defineProperty(t,"__esModule",{value:!0}),t.isNothing=i,t.isObject=function(e){return"object"==typeof e&&null!==e},t.toArray=function(e){return Array.isArray(e)?e:i(e)?[]:[e]},t.extend=function(e,t){var i,n,r,s;if(t)for(i=0,n=(s=Object.keys(t)).length;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(29228),r=i(94716),s=i(80406),o=i(23102),a=Object.prototype.toString,c=Object.prototype.hasOwnProperty,p=9,d=10,f=13,l=32,u=33,m=34,h=35,y=37,g=38,b=39,v=42,$=44,j=45,_=58,w=61,x=62,P=63,S=64,O=91,E=93,A=96,T=123,I=124,k=125,R={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},M=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function q(e){var t,i,s;if(t=e.toString(16).toUpperCase(),e<=255)i="x",s=2;else if(e<=65535)i="u",s=4;else{if(!(e<=4294967295))throw new r("code point within a string may not be greater than 0xFFFFFFFF");i="U",s=8}return"\\"+i+n.repeat("0",s-t.length)+t}function C(e){this.schema=e.schema||s,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=n.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var i,n,r,s,o,a,p;if(null===t)return{};for(i={},r=0,s=(n=Object.keys(t)).length;r-1&&i>=e.flowLevel;switch(function(e,t,i,n,r){var s,o,a,c,p=!1,f=!1,l=-1!==n,R=-1,M=U(c=e.charCodeAt(0))&&65279!==c&&!F(c)&&c!==j&&c!==P&&c!==_&&c!==$&&c!==O&&c!==E&&c!==T&&c!==k&&c!==h&&c!==g&&c!==v&&c!==u&&c!==I&&c!==w&&c!==x&&c!==b&&c!==m&&c!==y&&c!==S&&c!==A&&!F(e.charCodeAt(e.length-1));if(t)for(s=0;s0?e.charCodeAt(s-1):null,M=M&&V(o,a)}else{for(s=0;sn&&" "!==e[R+1],R=s);else if(!U(o))return H;a=s>0?e.charCodeAt(s-1):null,M=M&&V(o,a)}f=f||l&&s-R-1>n&&" "!==e[R+1]}return p||f?i>9&&L(e)?H:f?G:K:M&&!r(e)?z:B}(t,a,e.indent,o,(function(t){return function(e,t){var i,n;for(i=0,n=e.implicitTypes.length;i"+W(t,e.indent)+Q(N(function(e,t){for(var i,n,r,s=/(\n+)([^\n]*)/g,o=(r=-1!==(r=e.indexOf("\n"))?r:e.length,s.lastIndex=r,Z(e.slice(0,r),t)),a="\n"===e[0]||" "===e[0];n=s.exec(e);){var c=n[1],p=n[2];i=" "===p[0],o+=c+(a||i||""===p?"":"\n")+Z(p,t),a=i}return o}(t,o),s));case H:return'"'+function(e){for(var t,i,n,r="",s=0;s=55296&&t<=56319&&(i=e.charCodeAt(s+1))>=56320&&i<=57343?(r+=q(1024*(t-55296)+i-56320+65536),s++):r+=!(n=R[t])&&U(t)?e[s]:n||q(t);return r}(t)+'"';default:throw new r("impossible error: invalid scalar style")}}();if(!n){let t=new se(e,s).write(i,"before-eol");""!==t&&(o+=" "+t)}e.dump=o}function W(e,t){var i=L(e)?String(t):"",n="\n"===e[e.length-1];return i+(!n||"\n"!==e[e.length-2]&&"\n"!==e?n?"":"-":"+")+"\n"}function Q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Z(e,t){if(""===e||" "===e[0])return e;for(var i,n,r=/ [^ ]/g,s=0,o=0,a=0,c="";i=r.exec(e);)(a=i.index)-s>t&&(n=o>s?o:a,c+="\n"+e.slice(s,n),s=n+1),o=a;return c+="\n",e.length-s>t&&o>s?c+=e.slice(s,o)+"\n"+e.slice(o+1):c+=e.slice(s),c.slice(1)}function Y(e,t,i){var n,s,o,p,d,f;for(o=0,p=(s=i?e.explicitTypes:e.implicitTypes).length;o tag resolver accepts not "'+f+'" style');n=d.represent[f](t,f)}e.dump=n}return!0}return!1}function X(e,t,i,n,s,o,c){e.tag=null,e.dump=i,Y(e,i,!1)||Y(e,i,!0);var p=a.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t),(null!==e.tag&&"?"!==e.tag||2!==e.indent&&t>0)&&(s=!1);var f,l,u="[object Object]"===p||"[object Array]"===p;if(u&&(l=-1!==(f=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&t>0)&&(s=!1),l&&e.usedDuplicates[f])e.dump="*ref_"+f;else{if(u&&l&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),"[object Object]"===p)n&&0!==Object.keys(e.dump).length?(function(e,t,i,n,s){var o,a,c,p,f,l,u="",m=e.tag,h=Object.keys(i);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new r("sortKeys must be a boolean or a function");var y,g=new se(e,s);for(u+=g.write(t,"before-eol"),u+=g.write(t,"leading"),o=0,a=h.length;o1024)&&(e.dump&&d===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,f&&(l+=D(e,t)),X(e,t+1,p,!0,f,!1,`${s}/${y=c,y.replace(ne,"~0").replace(re,"~1")}`)&&(e.dump&&d===e.dump.charCodeAt(0)?l+=":":l+=": ",u+=l+=e.dump,u+=g.writeAt(t,c,"after")));e.tag=m,e.dump=u||"{}",e.dump+=g.write(t,"trailing")}(e,t,e.dump,s,c),l&&(e.dump="&ref_"+f+e.dump)):(function(e,t,i,n){var r,s,o,a,c,p="",d=e.tag,f=Object.keys(i);for(r=0,s=f.length;r1024&&(c+="? "),c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),X(e,t,a,!1,!1,!1,n)&&(p+=c+=e.dump));e.tag=d,e.dump="{"+p+"}"}(e,t,e.dump,c),l&&(e.dump="&ref_"+f+" "+e.dump));else if("[object Array]"===p){var m=e.noArrayIndent&&t>0?t-1:t;n&&0!==e.dump.length?(function(e,t,i,n,r){var s,o,a="",c=e.tag,p=new se(e,r);for(a+=p.write(t,"before-eol"),a+=p.write(t,"leading"),s=0,o=i.length;s "+e.dump)}return!0}function ee(e,t){var i,n,r=[],s=[];for(te(e,r,s),i=0,n=s.length;i{"use strict";class t{constructor(e,t=null,i=!1){this.name="YAMLException",this.reason=e,this.mark=t,this.message=this.toString(!1),this.isWarning=i}static isInstance(e){if(null!=e&&e.getClassIdentifier&&"function"==typeof e.getClassIdentifier)for(let i of e.getClassIdentifier())if(i==t.CLASS_IDENTIFIER)return!0;return!1}getClassIdentifier(){return[].concat(t.CLASS_IDENTIFIER)}toString(e=!1){var t;return t="JS-YAML: "+(this.reason||"(unknown reason)"),!e&&this.mark&&(t+=" "+this.mark.toString()),t}}t.CLASS_IDENTIFIER="yaml-ast-parser.YAMLException",e.exports=t},85725:(e,t,i)=>{"use strict";function n(e){for(var i in e)t.hasOwnProperty(i)||(t[i]=e[i])}Object.defineProperty(t,"__esModule",{value:!0});var r=i(89130);t.load=r.load,t.loadAll=r.loadAll,t.safeLoad=r.safeLoad,t.safeLoadAll=r.safeLoadAll;var s=i(17128);t.dump=s.dump,t.safeDump=s.safeDump,t.YAMLException=i(94716),n(i(37952)),n(i(58198))},89130:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(37952),r=i(29228),s=i(94716),o=i(57804),a=i(23102),c=i(80406);var p=Object.prototype.hasOwnProperty,d=1,f=2,l=3,u=4,m=1,h=2,y=3,g=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,b=/[\x85\u2028\u2029]/,v=/[,\[\]\{\}]/,$=/^(?:!|!!|![a-z\-]+!)$/i,j=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _(e){return 10===e||13===e}function w(e){return 9===e||32===e}function x(e){return 9===e||32===e||10===e||13===e}function P(e){return 44===e||91===e||93===e||123===e||125===e}function S(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function O(e){return 120===e?2:117===e?4:85===e?8:0}function E(e){return 48<=e&&e<=57?e-48:-1}function A(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var T,I=new Array(256),k=new Array(256),R=new Array(256),M=new Array(256),q=0;q<256;q++)M[q]=k[q]=48===(T=q)?"\0":97===T?"":98===T?"\b":116===T||9===T?"\t":110===T?"\n":118===T?"\v":102===T?"\f":114===T?"\r":101===T?"":32===T?" ":34===T?'"':47===T?"/":92===T?"\\":78===T?"…":95===T?" ":76===T?"\u2028":80===T?"\u2029":"",I[q]=k[q]?1:0,R[q]=1,I[q]||(M[q]="\\"+String.fromCharCode(q));class C{constructor(e,t){this.errorMap={},this.errors=[],this.lines=[],this.input=e,this.filename=t.filename||null,this.schema=t.schema||c,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.allowAnyEscape=t.allowAnyEscape||!1,this.ignoreDuplicateKeys=t.ignoreDuplicateKeys||!1,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}}function N(e,t,i=!1){return new s(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart),i)}function D(e,t,i,n=!1,r=!1){var a=function(e,t){for(var i,n=0;nt);n++)i=e.lines[n];return i||{start:0,line:0}}(e,t);if(a){var c=i+t;if(!e.errorMap[c]){var p=new o(e.filename,e.input,t,a.line,t-a.start);r&&(p.toLineEnd=!0);var d=new s(i,p,n);e.errors.push(d)}}}function F(e,t){var i=N(e,t),n=i.message+i.mark.position;if(!e.errorMap[n]){e.errors.push(i),e.errorMap[n]=1;for(var r=e.position;;){if(e.position>=e.input.length-1)return;var s=e.input.charAt(e.position);if("\n"==s)return e.position--,void(e.position==r&&(e.position+=1));if("\r"==s)return e.position--,void(e.position==r&&(e.position+=1));e.position++}}}function U(e,t){var i=N(e,t);e.onWarning&&e.onWarning.call(null,i)}var V={YAML:function(e,t,i){var n,r,s;null!==e.version&&F(e,"duplication of %YAML directive"),1!==i.length&&F(e,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&F(e,"ill-formed argument of the YAML directive"),r=parseInt(n[1],10),s=parseInt(n[2],10),1!==r&&F(e,"found incompatible YAML document (version 1.2 is required)"),e.version=i[0],e.checkLineBreaks=s<2,2!==s&&F(e,"found incompatible YAML document (version 1.2 is required)")},TAG:function(e,t,i){var n,r;2!==i.length&&F(e,"TAG directive accepts exactly two arguments"),n=i[0],r=i[1],$.test(n)||F(e,"ill-formed tag handle (first argument) of the TAG directive"),p.call(e.tagMap,n)&&F(e,'there is a previously declared suffix for "'+n+'" tag handle'),j.test(r)||F(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=r}};function L(e,t,i,n){var r,s,o,a,c=e.result;if(-1==c.startPosition&&(c.startPosition=t),t<=i){if(a=e.input.slice(t,i),n)for(r=0,s=a.length;r{t.key&&t.key.value===(o.key&&o.key.value)&&(D(e,o.key.startPosition,"duplicate key"),D(e,t.key.startPosition,"duplicate key"))})),t.mappings.push(o),t.endPosition=s?s.endPosition:r.endPosition+1,t}}function B(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):F(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.lines.push({start:e.lineStart,line:e.line})}function K(e){var t=0,i=e.position;do{t=e.input.charCodeAt(++e.position)}while(0!==t&&!_(t));e.comments.push({startPosition:i,endPosition:e.position,value:e.input.slice(i+1,e.position)})}function G(e,t,i){for(var n=0,r=e.input.charCodeAt(e.position);0!==r;){for(;w(r);)9===r&&e.errors.push(N(e,"Using tabs can lead to unpredictable results",!0)),r=e.input.charCodeAt(++e.position);if(t&&35===r&&(K(e),r=e.input.charCodeAt(e.position)),!_(r))break;for(B(e),r=e.input.charCodeAt(e.position),n++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==i&&0!==n&&e.lineIndent1&&(t.value+=r.repeat("\n",i-1))}function W(e,t){var i,r,s=e.tag,o=e.anchor,a=n.newItems(),c=!1;for(null!==e.anchor&&(a.anchorId=e.anchor,e.anchorMap[e.anchor]=a),a.startPosition=e.position,r=e.input.charCodeAt(e.position);0!==r&&45===r&&x(e.input.charCodeAt(e.position+1));)if(c=!0,e.position++,G(e,!0,-1)&&e.lineIndent<=t)a.items.push(null),r=e.input.charCodeAt(e.position);else if(i=e.line,Y(e,t,l,!1,!0),e.result&&(e.result.parent=a,a.items.push(e.result)),G(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==r)F(e,"bad indentation of a sequence entry");else if(e.lineIndentt?q=1:e.lineIndent===t?q=0:e.lineIndentt?q=1:e.lineIndent===t?q=0:e.lineIndent0;)if(_(a=e.input.charCodeAt(--e.position))){e.position++;break}}}else 63===a?(h&&(z(e,d,0,l,null),l=m=null),y=!0,h=!0,s=!0):h?(h=!1,s=!0):F(e,"incomplete explicit mapping pair; a key node is missed"),e.position+=1,a=r;if((e.line===o||e.lineIndent>t)&&(Y(e,t,u,!0,s)&&(h?l=e.result:m=e.result),h||(z(e,d,0,l,m),l=m=null),G(e,!0,-1),a=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==a)F(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?F(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?F(e,"repeat of an indentation width identifier"):(d=t+o-1,p=!0)}if(w(a)){do{a=e.input.charCodeAt(++e.position)}while(w(a));35===a&&(K(e),a=e.input.charCodeAt(e.position))}for(;0!==a;){for(B(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!p||e.lineIndentd&&(d=e.lineIndent),_(a))f++;else{if(e.lineIndent0){for(s=a,o=0;s>0;s--)(a=S(c=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:F(e,"expected hexadecimal character");p.value+=A(o),e.position++}else F(e,"unknown escape sequence");i=r=e.position}else _(c)?(L(e,i,r,!0),J(0,p,G(e,!1,t)),i=r=e.position):e.position===e.lineStart&&H(e)?F(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}F(e,"unexpected end of the stream within a double quoted scalar")}(e,j)?N=!0:function(e){var t,i,r;if(e.length,e.input,42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!x(r)&&!P(r);)r=e.input.charCodeAt(++e.position);return e.position<=t&&(F(e,"name of an alias node must contain at least one character"),e.position=t+1),i=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(i)||(F(e,'unidentified alias "'+i+'"'),e.position<=t&&(e.position=t+1)),e.result=n.newAnchorRef(i,t,e.position,e.anchorMap[i]),G(e,!0,-1),!0}(e)?(N=!0,null===e.tag&&null===e.anchor||F(e,"alias node should not have any properties")):function(e,t,i){var r,s,o,a,c,p,d,f,l=e.kind,u=e.result,m=n.newScalar();if(m.plainScalar=!0,e.result=m,x(f=e.input.charCodeAt(e.position))||P(f)||35===f||38===f||42===f||33===f||124===f||62===f||39===f||34===f||37===f||64===f||96===f)return!1;if((63===f||45===f)&&(x(r=e.input.charCodeAt(e.position+1))||i&&P(r)))return!1;for(e.kind="scalar",s=o=e.position,a=!1;0!==f;){if(58===f){if(x(r=e.input.charCodeAt(e.position+1))||i&&P(r))break}else if(35===f){if(x(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&H(e)||i&&P(f))break;if(_(f)){if(c=e.line,p=e.lineStart,d=e.lineIndent,G(e,!1,-1),e.lineIndent>=t){a=!0,f=e.input.charCodeAt(e.position);continue}e.position=o,e.line=c,e.lineStart=p,e.lineIndent=d;break}}if(a&&(L(e,s,o,!1),J(0,m,e.line-c),s=o=e.position,a=!1),w(f)||(o=e.position+1),f=e.input.charCodeAt(++e.position),e.position>=e.input.length)return!1}return L(e,s,o,!1),-1!=e.result.startPosition?(m.rawValue=e.input.substring(m.startPosition,m.endPosition),!0):(e.kind=l,e.result=u,!1)}(e,j,d===i)&&(N=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result,e.result.anchorId=e.anchor)):0===q&&(N=g&&W(e,T))),null!==e.tag&&"!"!==e.tag)if("!include"==e.tag)e.result||(e.result=n.newScalar(),e.result.startPosition=e.position,e.result.endPosition=e.position,F(e,"!include without value")),e.result.kind=n.Kind.INCLUDE_REF;else if("?"===e.tag)for(b=0,v=e.implicitTypes.length;b tag; it should be "'+$.kind+'", not "'+e.kind+'"'),$.resolve(e.result)?(e.result=$.construct(e.result),null!==e.anchor&&(e.result.anchorId=e.anchor,e.anchorMap[e.anchor]=e.result)):F(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):D(e,U,"unknown tag <"+e.tag+">",!1,!0);return null!==e.tag||null!==e.anchor||N}function X(e){var t,i,n,r,s=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={},e.comments=[];0!==(r=e.input.charCodeAt(e.position))&&(G(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(o=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!x(r);)r=e.input.charCodeAt(++e.position);for(n=[],(i=e.input.slice(t,e.position)).length<1&&F(e,"directive name must not be less than one character in length");0!==r;){for(;w(r);)r=e.input.charCodeAt(++e.position);if(35===r){K(e),r=e.input.charCodeAt(e.position);break}if(_(r))break;for(t=e.position;0!==r&&!x(r);)r=e.input.charCodeAt(++e.position);n.push(e.input.slice(t,e.position))}0!==r&&B(e),p.call(V,i)?V[i](e,i,n):(U(e,'unknown document directive "'+i+'"'),e.position++)}G(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,G(e,!0,-1)):o&&F(e,"directives end mark is expected"),Y(e,e.lineIndent-1,u,!1,!0),G(e,!0,-1),e.checkLineBreaks&&b.test(e.input.slice(s,e.position))&&U(e,"non-ASCII line breaks are interpreted as content"),e.result.comments=e.comments,e.documents.push(e.result),e.position===e.lineStart&&H(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,G(e,!0,-1)):e.position0&&(s[o-1].endPosition=i);for(let e of s)e.errors=n.errors,e.startPosition>e.endPosition&&(e.startPosition=e.endPosition);return s}function te(e,t,i={}){var n,r,s=ee(e,i);for(n=0,r=s.length;n{"use strict";const n=i(29228);e.exports=class{constructor(e,t,i,n,r){this.name=e,this.buffer=t,this.position=i,this.line=n,this.column=r}getSnippet(e=0,t=75){var i,r,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",r=this.position;r>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){i=" ... ",r+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(r,o),n.repeat(" ",e)+i+a+s+"\n"+n.repeat(" ",e+this.position-r+i.length)+"^"}toString(e=!0){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(i+=":\n"+t),i}}},58198:(e,t)=>{"use strict";function i(e){const t=function(e){return 0===e.lastIndexOf("0o",0)?parseInt(e.substring(2),8):parseInt(e)}(e);if(Number.isNaN(t))throw`Invalid integer "${e}"`;return t}var n;Object.defineProperty(t,"__esModule",{value:!0}),t.parseYamlBoolean=function(e){if(["true","True","TRUE"].lastIndexOf(e)>=0)return!0;if(["false","False","FALSE"].lastIndexOf(e)>=0)return!1;throw`Invalid boolean "${e}"`},t.parseYamlInteger=i,t.parseYamlBigInteger=function(e){const t=i(e);return t>Number.MAX_SAFE_INTEGER&&-1===e.lastIndexOf("0o",0)?BigInt(e):t},t.parseYamlFloat=function(e){if([".nan",".NaN",".NAN"].lastIndexOf(e)>=0)return NaN;const t=/^([-+])?(?:\.inf|\.Inf|\.INF)$/.exec(e);if(t)return"-"===t[1]?-1/0:1/0;const i=parseFloat(e);if(!isNaN(i))return i;throw`Invalid float "${e}"`},function(e){e[e.null=0]="null",e[e.bool=1]="bool",e[e.int=2]="int",e[e.float=3]="float",e[e.string=4]="string"}(n=t.ScalarType||(t.ScalarType={})),t.determineScalarType=function(e){if(void 0===e)return n.null;if(e.doubleQuoted||!e.plainScalar||e.singleQuoted)return n.string;const t=e.value;return["null","Null","NULL","~",""].indexOf(t)>=0||null==t?n.null:["true","True","TRUE","false","False","FALSE"].indexOf(t)>=0?n.bool:/^[-+]?[0-9]+$/.test(t)||/^0o[0-7]+$/.test(t)||/^0x[0-9a-fA-F]+$/.test(t)?n.int:/^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$/.test(t)||/^[-+]?(\.inf|\.Inf|\.INF)$/.test(t)||[".nan",".NaN",".NAN"].indexOf(t)>=0?n.float:n.string}},63114:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(29228),r=i(94716),s=i(23697);function o(e,t,i){var n=[];return e.include.forEach((function(e){i=o(e,t,i)})),e[t].forEach((function(e){i.forEach((function(t,i){t.tag===e.tag&&n.push(i)})),i.push(e)})),i.filter((function(e,t){return-1===n.indexOf(t)}))}class a{constructor(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=o(this,"implicit",[]),this.compiledExplicit=o(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,i={};function n(e){i[e.tag]=e}for(e=0,t=arguments.length;e{"use strict";const n=i(63114);e.exports=new n.Schema({include:[i(24875)]})},80406:(e,t,i)=>{"use strict";const n=i(63114);var r=new n.Schema({include:[i(23102)],explicit:[i(64520),i(20903)]});n.Schema.DEFAULT=r,e.exports=r},23102:(e,t,i)=>{"use strict";var n=new(i(63114).Schema)({include:[i(17646)],implicit:[i(25138),i(67514)],explicit:[i(27529),i(6805),i(95967),i(33530)]});e.exports=n},84452:(e,t,i)=>{"use strict";const n=i(63114);e.exports=new n.Schema({explicit:[i(41381),i(62021),i(35744)]})},24875:(e,t,i)=>{"use strict";const n=i(63114);e.exports=new n.Schema({include:[i(84452)],implicit:[i(99049),i(86628),i(84627),i(77620)]})},23697:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(94716);var r=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];t.Type=class{constructor(e,t){var i,o;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===r.indexOf(t))throw new n('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(i=t.styleAliases||null,o={},null!==i&&Object.keys(i).forEach((function(e){i[e].forEach((function(t){o[String(t)]=e}))})),o),-1===s.indexOf(this.kind))throw new n('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}},27529:(e,t,i)=>{"use strict";var n=i(1048).hp;const r=i(23697);var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new r.Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,i,n=0,r=e.length,o=s;for(i=0;i64)){if(t<0)return!1;n+=6}return n%8==0},construct:function(e){var t,i,r=e.replace(/[\r\n=]/g,""),o=r.length,a=s,c=0,p=[];for(t=0;t>16&255),p.push(c>>8&255),p.push(255&c)),c=c<<6|a.indexOf(r.charAt(t));return 0==(i=o%4*6)?(p.push(c>>16&255),p.push(c>>8&255),p.push(255&c)):18===i?(p.push(c>>10&255),p.push(c>>2&255)):12===i&&p.push(c>>4&255),n?new n(p):p},predicate:function(e){return n&&n.isBuffer(e)},represent:function(e){var t,i,n="",r=0,o=e.length,a=s;for(t=0;t>18&63],n+=a[r>>12&63],n+=a[r>>6&63],n+=a[63&r]),r=(r<<8)+e[t];return 0==(i=o%3)?(n+=a[r>>18&63],n+=a[r>>12&63],n+=a[r>>6&63],n+=a[63&r]):2===i?(n+=a[r>>10&63],n+=a[r>>4&63],n+=a[r<<2&63],n+=a[64]):1===i&&(n+=a[r>>2&63],n+=a[r<<4&63],n+=a[64],n+=a[64]),n}})},86628:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},77620:(e,t,i)=>{"use strict";const n=i(29228),r=i(23697);var s=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");e.exports=new r.Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!!s.test(e)},construct:function(e){var t,i,n,r;return i="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],0<="+-".indexOf(t[0])&&(t=t.slice(1)),".inf"===t?1===i?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:0<=t.indexOf(":")?(t.split(":").forEach((function(e){r.unshift(parseFloat(e,10))})),t=0,n=1,r.forEach((function(e){t+=e*n,n*=60})),i*t):i*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(0!=e%1||n.isNegativeZero(e))},represent:function(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(n.isNegativeZero(e))return"-0.0";return e.toString(10)},defaultStyle:"lowercase"})},84627:(e,t,i)=>{"use strict";const n=i(29228),r=i(23697);function s(e){return 48<=e&&e<=55}function o(e){return 48<=e&&e<=57}e.exports=new r.Type("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,i,n=e.length,r=0,a=!1;if(!n)return!1;if("-"!==(t=e[r])&&"+"!==t||(t=e[++r]),"0"===t){if(r+1===n)return!0;if("b"===(t=e[++r])){for(r++;r{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,i=/\/([gim]*)$/.exec(e),n="";if("/"===t[0]){if(i&&(n=i[1]),n.length>3)return!1;if("/"!==t[t.length-n.length-1])return!1;t=t.slice(1,t.length-n.length-1)}try{return new RegExp(t,n),!0}catch(e){return!1}},construct:function(e){var t=e,i=/\/([gim]*)$/.exec(e),n="";return"/"===t[0]&&(i&&(n=i[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},64520:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},35744:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},67514:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},99049:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},6805:(e,t,i)=>{"use strict";const n=i(23697);var r=Object.prototype.hasOwnProperty,s=Object.prototype.toString;e.exports=new n.Type("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,i,n,o,a,c=[],p=e;for(t=0,i=p.length;t{"use strict";const n=i(23697),r=i(37952);var s=Object.prototype.toString;e.exports=new n.Type("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;if(e.kind!=r.Kind.SEQ)return!1;var t,i,n,o=e.items;for(t=0,i=o.length;t{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},33530:(e,t,i)=>{"use strict";const n=i(23697),r=i(37952);Object.prototype.hasOwnProperty,e.exports=new n.Type("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){return null===e||e.kind==r.Kind.MAP},construct:function(e){return null!==e?e:{}}})},41381:(e,t,i)=>{"use strict";const n=i(23697);e.exports=new n.Type("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},25138:(e,t,i)=>{"use strict";const n=i(23697);var r=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]))?))?)?$");e.exports=new n.Type("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&null!==r.exec(e)},construct:function(e){var t,i,n,s,o,a,c,p,d=0,f=null;if(null===(t=r.exec(e)))throw new Error("Date resolve error");if(i=+t[1],n=+t[2]-1,s=+t[3],!t[4])return new Date(Date.UTC(i,n,s));if(o=+t[4],a=+t[5],c=+t[6],t[7]){for(d=t[7].slice(0,3);d.length<3;)d+="0";d=+d}return t[9]&&(f=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(f=-f)),p=new Date(Date.UTC(i,n,s,o,a,c,d)),f&&p.setTime(p.getTime()-f),p},instanceOf:Date,represent:function(e){return e.toISOString()}})},37952:(e,t)=>{"use strict";var i;function n(){return{errors:[],startPosition:-1,endPosition:-1,items:[],kind:i.SEQ,parent:null}}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SCALAR=0]="SCALAR",e[e.MAPPING=1]="MAPPING",e[e.MAP=2]="MAP",e[e.SEQ=3]="SEQ",e[e.ANCHOR_REF=4]="ANCHOR_REF",e[e.INCLUDE_REF=5]="INCLUDE_REF"}(i=t.Kind||(t.Kind={})),t.newMapping=function(e,t){var n=t?t.endPosition:e.endPosition+1;return{key:e,value:t,startPosition:e.startPosition,endPosition:n,kind:i.MAPPING,parent:null,errors:[]}},t.newAnchorRef=function(e,t,n,r){return{errors:[],referencesAnchor:e,value:r,startPosition:t,endPosition:n,kind:i.ANCHOR_REF,parent:null}},t.newScalar=function(e=""){const t={errors:[],startPosition:-1,endPosition:-1,value:""+e,kind:i.SCALAR,parent:null,doubleQuoted:!1,rawValue:""+e};return"string"!=typeof e&&(t.valueObject=e),t},t.newItems=n,t.newSeq=function(){return n()},t.newMap=function(e){return{errors:[],startPosition:-1,endPosition:-1,mappings:e||[],kind:i.MAP,parent:null}}},2185:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(82585),r=i(88725);t.buildJsonPath=function(e){const t=[];let i=e;for(;e;){switch(e.kind){case n.Kind.SCALAR:t.unshift(e.value);break;case n.Kind.MAPPING:i!==e.key&&(t.length>0&&r.isObject(e.value)&&e.value.value===t[0]?t[0]=e.key.value:t.unshift(e.key.value));break;case n.Kind.SEQ:if(i){const r=e.items.indexOf(i);i.kind===n.Kind.SCALAR?t[0]=r:-1!==r&&t.unshift(r)}}i=e,e=e.parent}return t}},79157:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(82585),r=i(88725);t.dereferenceAnchor=(e,i)=>{if(!r.isObject(e))return e;if(e.kind===n.Kind.ANCHOR_REF&&e.referencesAnchor===i)return null;switch(e.kind){case n.Kind.MAP:return Object.assign({},e,{mappings:e.mappings.map((e=>t.dereferenceAnchor(e,i)))});case n.Kind.SEQ:return Object.assign({},e,{items:e.items.map((e=>t.dereferenceAnchor(e,i)))});case n.Kind.MAPPING:return Object.assign({},e,{value:t.dereferenceAnchor(e.value,i)});case n.Kind.SCALAR:return e;case n.Kind.ANCHOR_REF:return r.isObject(e.value)&&s(e)?null:e;default:return e}};const s=e=>{const{referencesAnchor:t}=e;let i=e;for(;i=i.parent;)if("anchorId"in i&&i.anchorId===t)return!0;return!1}},77665:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2185),r=i(82585),s=i(88725);function o(e,t,i){const n=i[t-1]+1,s=i[t];switch(e.kind){case r.Kind.MAPPING:return e.key;case r.Kind.MAP:if(0!==e.mappings.length)for(const r of e.mappings)if(r.startPosition>n&&r.startPosition<=s)return o(r,t,i);break;case r.Kind.SEQ:if(0!==e.items.length)for(const r of e.items)if(null!==r&&r.startPosition>n&&r.startPosition<=s)return o(r,t,i)}return e}function a(e,t,i,n){for(const o of function*(e){switch(e.kind){case r.Kind.MAP:if(0!==e.mappings.length)for(const t of e.mappings)s.isObject(t)&&(yield t);break;case r.Kind.MAPPING:s.isObject(e.key)&&(yield e.key),s.isObject(e.value)&&(yield e.value);break;case r.Kind.SEQ:if(0!==e.items.length)for(const t of e.items)s.isObject(t)&&(yield t);break;case r.Kind.SCALAR:yield e}}(e))if(o.startPosition<=t&&t<=o.endPosition)return o.kind===r.Kind.SCALAR?o:a(o,t,i,n);if(n[i-1]===n[i]-1)return e;if(e.startPosition{if(i>=t.length||r>=t[i])return;const o=0===i?0:t[i-1]+1,c=a(e,Math.min(t[i]-1,o+r),i,t);if(!s.isObject(c))return;const p=n.buildJsonPath(c);return 0!==p.length?p:void 0}},70581:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(61162),r=i(82585),s=i(88725);function o(e,t){if(e.parent&&e.parent.kind===r.Kind.MAPPING){if(null===e.parent.value)return e.parent.endPosition;if(e.kind!==r.Kind.SCALAR)return e.parent.key.endPosition+1}return null===e.parent&&t-e.startPosition==0?0:e.startPosition}function a(e){switch(e.kind){case r.Kind.SEQ:const{items:t}=e;if(0!==t.length){const e=t[t.length-1];if(null!==e)return a(e)}break;case r.Kind.MAPPING:if(null!==e.value)return a(e.value);break;case r.Kind.MAP:if(null!==e.value&&0!==e.mappings.length)return a(e.mappings[e.mappings.length-1]);break;case r.Kind.SCALAR:if(null!==e.parent&&e.parent.kind===r.Kind.MAPPING&&null===e.parent.value)return e.parent.endPosition}return e.endPosition}function c(e,t){return t?e.reduce(((e,t)=>(s.isObject(t)&&("<<"===t.key.value?e.push(...p(t.value)):e.push(t)),e)),[]):e}function p(e){if(!s.isObject(e))return[];switch(e.kind){case r.Kind.SEQ:return e.items.reduceRight(((e,t)=>(e.push(...p(t)),e)),[]);case r.Kind.MAP:return e.mappings;case r.Kind.ANCHOR_REF:return p(e.value);default:return[]}}t.getLocationForJsonPath=({ast:e,lineMap:t,metadata:i},n,p=!1)=>{const f=function(e,t,{closest:i,mergeKeys:n}){e:for(const o of t){if(!s.isObject(e))return i?e:void 0;switch(e.kind){case r.Kind.MAP:const t=c(e.mappings,n);for(let i=t.length-1;i>=0;i--){const n=t[i];if(n.key.value===o){e=null===n.value?n.key:n.value;continue e}}return i?e:void 0;case r.Kind.SEQ:for(let t=0;t0?t[0]:0),end:a(f)})};const d=(e,{start:t=0,end:i=0})=>{const r=n.lineForPosition(t,e),s=n.lineForPosition(i,e);return{range:{start:{line:r,character:t-(0===r?0:e[r-1])},end:{line:s,character:i-(0===s?0:e[s-1])}}}}},3740:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);n.__exportStar(i(2185),t),n.__exportStar(i(79157),t),n.__exportStar(i(77665),t),n.__exportStar(i(70581),t),n.__exportStar(i(61162),t);var r=i(36527);t.parse=r.parse;var s=i(53241);t.parseWithPointers=s.parseWithPointers,n.__exportStar(i(74958),t),n.__exportStar(i(82585),t),n.__exportStar(i(60519),t)},61162:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lineForPosition=(e,i,n=0,r)=>{if(0===e||0===i.length||e=i[s]&&!i[s+1])return s+1;const o=i[Math.min(s+1,i.length)];return e===i[s]-1?s:e>=i[s]&&e<=o?e===o?s+2:s+1:e>i[s]?t.lineForPosition(e,i,s+1,r):t.lineForPosition(e,i,n,s-1)}},36527:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(53241);t.parse=e=>n.parseWithPointers(e).data},53241:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(93643),r=i(29824),s=i(85725),o=i(2185),a=i(79157),c=i(61162),p=i(82585),d=i(88725);t.parseWithPointers=(e,t)=>{const i=h(e),n=s.load(e,Object.assign({},t,{ignoreDuplicateKeys:!0})),r={ast:n,lineMap:i,data:void 0,diagnostics:[],metadata:t,comments:{}};if(!n)return r;const o=function(e){return void 0===e?{attachComments:!1,preserveKeyOrder:!1,bigInt:!1,mergeKeys:!1,json:!0,ignoreDuplicateKeys:!1}:Object.assign({},e,{attachComments:!0===e.attachComments,preserveKeyOrder:!0===e.preserveKeyOrder,bigInt:!0===e.bigInt,mergeKeys:!0===e.mergeKeys,json:!1!==e.json,ignoreDuplicateKeys:!1!==e.ignoreDuplicateKeys})}(t),a=new S(r.comments,S.mapComments(o.attachComments&&n.comments?n.comments:[],i),n,i,"#"),c={lineMap:i,diagnostics:r.diagnostics};return r.data=u(c,n,a,o),n.errors&&r.diagnostics.push(...g(n.errors,i)),r.diagnostics.length>0&&r.diagnostics.sort(((e,t)=>e.range.start.line-t.range.start.line)),Array.isArray(r.ast.errors)&&(r.ast.errors.length=0),r};const f=/~/g,l=/\//g,u=(e,t,i,n)=>{if(t)switch(t.kind){case p.Kind.MAP:{const r=i.enter(t),{lineMap:s,diagnostics:o}=e,{preserveKeyOrder:a,ignoreDuplicateKeys:c,json:p,mergeKeys:d}=n,h=v(a),y=[],g=d,$=!p,w=!c;for(const i of t.mappings){if(!_(i,s,o,$))continue;const t=String(m(i.key)),c=r.enter(i,t.replace(f,"~0").replace(l,"~1"));if(($||w)&&(!g||"<<"!==t))if(y.includes(t)){if($)throw new Error("Duplicate YAML mapping key encountered");w&&o.push(x(i.key,s,"duplicate key"))}else y.push(t);if(g&&"<<"===t){const t=b(u(e,i.value,c,n),a);Object.assign(h,t)}else h[t]=u(e,i.value,c,n),a&&j(h,t);c.attachComments()}return r.attachComments(),h}case p.Kind.SEQ:{const r=i.enter(t),s=t.items.map(((t,i)=>{if(null!==t){const s=r.enter(t,i),o=u(e,t,s,n);return s.attachComments(),o}return null}));return r.attachComments(),s}case p.Kind.SCALAR:{const e=m(t);return n.bigInt||"bigint"!=typeof e?e:Number(e)}case p.Kind.ANCHOR_REF:return d.isObject(t.value)&&(t.value=a.dereferenceAnchor(t.value,t.referencesAnchor)),u(e,t.value,i,n);default:return null}return t};function m(e){switch(s.determineScalarType(e)){case p.ScalarType.null:return null;case p.ScalarType.string:return String(e.value);case p.ScalarType.bool:return s.parseYamlBoolean(e.value);case p.ScalarType.int:return s.parseYamlBigInteger(e.value);case p.ScalarType.float:return s.parseYamlFloat(e.value)}}const h=e=>{const t=[];let i=0;for(;i{const i=[];let n=-1,s=0;for(const o of e){const e={code:o.name,message:o.reason,severity:o.isWarning?r.DiagnosticSeverity.Warning:r.DiagnosticSeverity.Error,range:{start:{line:o.mark.line,character:o.mark.column},end:{line:o.mark.line,character:o.mark.toLineEnd?y(t,o.mark.line):o.mark.column}}};"missed comma between flow collection entries"===o.reason?n=-1===n?s:n:-1!==n&&(i[n].range.end=e.range.end,i[n].message="invalid mixed usage of block and flow styles",i.length=n+1,s=i.length,n=-1),i.push(e),s++}return i},b=(e,t)=>Array.isArray(e)?e.reduceRight(t?(e,t)=>{const i=Object.keys(t);Object.assign(e,t);for(let t=i.length-1;t>=0;t--)r=e,s=i[t],$(r,s),n.getOrder(r).unshift(s);var r,s;return e}:(e,t)=>Object.assign(e,t),v(t)):"object"!=typeof e||null===e?null:Object(e);function v(e){return e?n.default({}):{}}function $(e,t){if(!(t in e))return;const i=n.getOrder(e),r=i.indexOf(t);-1!==r&&i.splice(r,1)}function j(e,t){$(e,t),n.getOrder(e).push(t)}function _(e,t,i,n){if(e.key.kind!==p.Kind.SCALAR)return n||i.push(w(e.key,t,"mapping key must be a string scalar",n)),!1;if(!n){const r=typeof m(e.key);"string"!==r&&i.push(w(e.key,t,`mapping key must be a string scalar rather than ${null===e.key.valueObject?"null":r}`,n))}return!0}function w(e,t,i,n){const s=x(e,t,i);return s.code="YAMLIncompatibleValue",s.severity=n?r.DiagnosticSeverity.Hint:r.DiagnosticSeverity.Warning,s}function x(e,t,i){return{code:"YAMLException",message:i,severity:r.DiagnosticSeverity.Error,path:o.buildJsonPath(e),range:P(t,e.startPosition,e.endPosition)}}function P(e,t,i){const n=c.lineForPosition(t,e),r=c.lineForPosition(i,e);return{start:{line:n,character:0===n?t:t-e[n-1]},end:{line:r,character:0===r?i:i-e[r-1]}}}class S{constructor(e,t,i,n,r){if(this.attachedComments=e,this.node=i,this.lineMap=n,this.pointer=r,0===t.length)this.comments=[];else{const e=this.getStartPosition(i),n=this.getEndPosition(i),r=c.lineForPosition(e,this.lineMap),s=c.lineForPosition(n,this.lineMap),o=[];for(let e=t.length-1;e>=0;e--){const i=t[e];i.range.start.line>=r&&i.range.end.line<=s&&(o.push(i),t.splice(e,1))}this.comments=o}}getStartPosition(e){return null===e.parent?0:e.kind===p.Kind.MAPPING?e.key.startPosition:e.startPosition}getEndPosition(e){switch(e.kind){case p.Kind.MAPPING:return null===e.value?e.endPosition:this.getEndPosition(e.value);case p.Kind.MAP:return 0===e.mappings.length?e.endPosition:e.mappings[e.mappings.length-1].endPosition;case p.Kind.SEQ:{if(0===e.items.length)return e.endPosition;const t=e.items[e.items.length-1];return null===t?e.endPosition:t.endPosition}default:return e.endPosition}}static mapComments(e,t){return e.map((e=>({value:e.value,range:P(t,e.startPosition,e.endPosition),startPosition:e.startPosition,endPosition:e.endPosition})))}enter(e,t){return new S(this.attachedComments,this.comments,e,this.lineMap,void 0===t?this.pointer:`${this.pointer}/${t}`)}static isLeading(e,t){switch(e.kind){case p.Kind.MAP:return 0===e.mappings.length||e.mappings[0].startPosition>t;case p.Kind.SEQ:{if(0===e.items.length)return!0;const i=e.items[0];return null===i||i.startPosition>t}case p.Kind.MAPPING:return null===e.value||e.value.startPosition>t;default:return!1}}static isTrailing(e,t){switch(e.kind){case p.Kind.MAP:return e.mappings.length>0&&t>e.mappings[e.mappings.length-1].endPosition;case p.Kind.SEQ:if(0===e.items.length)return!1;const i=e.items[e.items.length-1];return null!==i&&t>i.endPosition;case p.Kind.MAPPING:return null!==e.value&&t>e.value.endPosition;default:return!1}}static findBetween(e,t,i){switch(e.kind){case p.Kind.MAP:{let n;for(const r of e.mappings)if(t>r.startPosition)n=r.key.value;else if(void 0!==n&&r.startPosition>i)return[n,r.key.value];return null}case p.Kind.SEQ:{let n;for(let r=0;rs.startPosition)n=String(r);else if(void 0!==n&&s.startPosition>i)return[n,String(r)]}return null}default:return null}}isBeforeEOL(e){return this.node.kind===p.Kind.SCALAR||this.node.kind===p.Kind.MAPPING&&e.range.end.line===c.lineForPosition(this.node.key.endPosition,this.lineMap)}attachComments(){if(0===this.comments.length)return;const e=this.attachedComments[this.pointer]=this.attachedComments[this.pointer]||[];for(const t of this.comments)if(this.isBeforeEOL(t))e.push({value:t.value,placement:"before-eol"});else if(S.isLeading(this.node,t.startPosition))e.push({value:t.value,placement:"leading"});else if(S.isTrailing(this.node,t.endPosition))e.push({value:t.value,placement:"trailing"});else{const i=S.findBetween(this.node,t.startPosition,t.endPosition);null!==i?e.push({value:t.value,placement:"between",between:i}):e.push({value:t.value,placement:"trailing"})}}}},74958:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85725);t.safeStringify=(e,t)=>"string"==typeof e?e:n.safeDump(e,t)},60519:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(93643);t.KEYS=Symbol.for(n.ORDER_KEY_ID);const r={ownKeys:e=>t.KEYS in e?e[t.KEYS]:Reflect.ownKeys(e)};t.trapAccess=e=>new Proxy(e,r)},82585:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85725);t.Kind=n.Kind,t.ScalarType=n.ScalarType},88725:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=e=>null!==e&&"object"==typeof e},67083:e=>{"use strict";const{AbortController:t,AbortSignal:i}="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0;e.exports=t,e.exports.AbortSignal=i,e.exports.default=t},65733:(e,t)=>{"use strict";function i(e,t){return{validate:e,compare:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.formatNames=t.fastFormats=t.fullFormats=void 0,t.fullFormats={date:i(s,o),time:i(c,p),"date-time":i((function(e){const t=e.split(d);return 2===t.length&&s(t[0])&&c(t[1],!0)}),f),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:function(e){return l.test(e)&&u.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:function(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}},uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:function(e){return m.lastIndex=0,m.test(e)},int32:{type:"number",validate:function(e){return Number.isInteger(e)&&e<=y&&e>=h}},int64:{type:"number",validate:function(e){return Number.isInteger(e)}},float:{type:"number",validate:g},double:{type:"number",validate:g},password:!0,binary:!0},t.fastFormats={...t.fullFormats,date:i(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:i(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,p),"date-time":i(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,f),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},t.formatNames=Object.keys(t.fullFormats);const n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,r=[0,31,28,31,30,31,30,31,31,30,31,30,31];function s(e){const t=n.exec(e);if(!t)return!1;const i=+t[1],s=+t[2],o=+t[3];return s>=1&&s<=12&&o>=1&&o<=(2===s&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(i)?29:r[s])}function o(e,t){if(e&&t)return e>t?1:e(t=n[1]+n[2]+n[3]+(n[4]||""))?1:e{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(65733),r=i(31038),s=i(58704),o=new s.Name("fullFormats"),a=new s.Name("fastFormats"),c=(e,t={keywords:!0})=>{if(Array.isArray(t))return p(e,t,n.fullFormats,o),e;const[i,s]="fast"===t.mode?[n.fastFormats,a]:[n.fullFormats,o];return p(e,t.formats||n.formatNames,i,s),t.keywords&&r.default(e),e};function p(e,t,i,n){var r,o;null!==(r=(o=e.opts.code).formats)&&void 0!==r||(o.formats=s._`require("ajv-formats/dist/formats").${n}`);for(const n of t)e.addFormat(n,i[n])}c.get=(e,t="full")=>{const i=("fast"===t?n.fastFormats:n.fullFormats)[e];if(!i)throw new Error(`Unknown format "${e}"`);return i},e.exports=t=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c},31038:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatLimitDefinition=void 0;const n=i(21011),r=i(58704),s=r.operators,o={formatMaximum:{okStr:"<=",ok:s.LTE,fail:s.GT},formatMinimum:{okStr:">=",ok:s.GTE,fail:s.LT},formatExclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},formatExclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},a={message:({keyword:e,schemaCode:t})=>r.str`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>r._`{comparison: ${o[e].okStr}, limit: ${t}}`};t.formatLimitDefinition={keyword:Object.keys(o),type:"string",schemaType:"string",$data:!0,error:a,code(e){const{gen:t,data:i,schemaCode:s,keyword:a,it:c}=e,{opts:p,self:d}=c;if(!p.validateFormats)return;const f=new n.KeywordCxt(c,d.RULES.all.format.definition,"format");function l(e){return r._`${e}.compare(${i}, ${s}) ${o[a].fail} 0`}f.$data?function(){const i=t.scopeValue("formats",{ref:d.formats,code:p.code.formats}),n=t.const("fmt",r._`${i}[${f.schemaCode}]`);e.fail$data(r.or(r._`typeof ${n} != "object"`,r._`${n} instanceof RegExp`,r._`typeof ${n}.compare != "function"`,l(n)))}():function(){const i=f.schema,n=d.formats[i];if(!n||!0===n)return;if("object"!=typeof n||n instanceof RegExp||"function"!=typeof n.compare)throw new Error(`"${a}": format "${i}" does not define "compare" function`);const s=t.scopeValue("formats",{key:i,ref:n,code:p.code.formats?r._`${p.code.formats}${r.getProperty(i)}`:void 0});e.fail$data(l(s))}()},dependencies:["format"]},t.default=e=>(e.addKeyword(t.formatLimitDefinition),e)},21011:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=i(16105),r=i(7489),s=i(25314),o=i(79510),a=["/properties"],c="http://json-schema.org/draft-07/schema";class p extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,a):o;this.addMetaSchema(e,c,!1),this.refs["http://json-schema.org/schema"]=c}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=p,Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;var d=i(44317);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var f=i(58704);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return f._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return f.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return f.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return f.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return f.CodeGen}});var l=i(93737);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return l.default}});var u=i(3206);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})},63379:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class i{}t._CodeOrName=i,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends i{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends i{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function s(e,...t){const i=[e[0]];let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=i(63379),r=i(73032);var s=i(63379);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return s.Name}});var o=i(73032);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class a{optimizeNodes(){return this}optimizeNames(e,t){return this}}class c extends a{constructor(e,t,i){super(),this.varKind=e,this.name=t,this.rhs=i}render({es5:e,_n:t}){const i=e?r.varKinds.var:this.varKind,n=void 0===this.rhs?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class p extends a{constructor(e,t,i){super(),this.lhs=e,this.rhs=t,this.sideEffects=i}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,t),this}get names(){return T(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class d extends p{constructor(e,t,i,n){super(e,i,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class f extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class l extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class u extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class m extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class h extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,i)=>t+i.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const i=e[t].optimizeNodes();Array.isArray(i)?e.splice(t,1,...i):i?e[t]=i:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:i}=this;let n=i.length;for(;n--;){const r=i[n];r.optimizeNames(e,t)||(k(e,r.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>A(e,t.names)),{})}}class y extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class g extends h{}class b extends y{}b.kind="else";class v extends y{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new b(e):e}return t?!1===e?t instanceof v?t:t.nodes:this.nodes.length?this:new v(R(e),t instanceof v?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var i;if(this.else=null===(i=this.else)||void 0===i?void 0:i.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return T(e,this.condition),this.else&&A(e,this.else.names),e}}v.kind="if";class $ extends y{}$.kind="for";class j extends ${constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return A(super.names,this.iteration.names)}}class _ extends ${constructor(e,t,i,n){super(),this.varKind=e,this.name=t,this.from=i,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:i,from:n,to:s}=this;return`for(${t} ${i}=${n}; ${i}<${s}; ${i}++)`+super.render(e)}get names(){const e=T(super.names,this.from);return T(e,this.to)}}class w extends ${constructor(e,t,i,n){super(),this.loop=e,this.varKind=t,this.name=i,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return A(super.names,this.iterable.names)}}class x extends y{constructor(e,t,i){super(),this.name=e,this.args=t,this.async=i}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}x.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class S extends y{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var i,n;return super.optimizeNames(e,t),null===(i=this.catch)||void 0===i||i.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&A(e,this.catch.names),this.finally&&A(e,this.finally.names),e}}class O extends y{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}O.kind="catch";class E extends y{render(e){return"finally"+super.render(e)}}function A(e,t){for(const i in t)e[i]=(e[i]||0)+(t[i]||0);return e}function T(e,t){return t instanceof n._CodeOrName?A(e,t.names):e}function I(e,t,i){return e instanceof n.Name?s(e):(r=e)instanceof n._Code&&r._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==i[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=s(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var r;function s(e){const n=i[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function k(e,t){for(const i in t)e[i]=(e[i]||0)-(t[i]||0)}function R(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${N(e)}`}E.kind="finally",t.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const i=this._extScope.value(e,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,i,n){const r=this._scope.toName(t);return void 0!==i&&n&&(this._constants[r.str]=i),this._leafNode(new c(e,r,i)),r}const(e,t,i){return this._def(r.varKinds.const,e,t,i)}let(e,t,i){return this._def(r.varKinds.let,e,t,i)}var(e,t,i){return this._def(r.varKinds.var,e,t,i)}assign(e,t,i){return this._leafNode(new p(e,t,i))}add(e,i){return this._leafNode(new d(e,t.operators.ADD,i))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new m(e)),this}object(...e){const t=["{"];for(const[i,r]of e)t.length>1&&t.push(","),t.push(i),(i!==r||this.opts.es5)&&(t.push(":"),(0,n.addCodeArg)(t,r));return t.push("}"),new n._Code(t)}if(e,t,i){if(this._blockNode(new v(e)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new v(e))}else(){return this._elseNode(new b)}endIf(){return this._endBlockNode(v,b)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new j(e),t)}forRange(e,t,i,n,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const o=this._scope.toName(e);return this._for(new _(s,o,t,i),(()=>n(o)))}forOf(e,t,i,s=r.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(o,n._`${e}[${t}]`),i(o)}))}return this._for(new w("of",s,o,t),(()=>i(o)))}forIn(e,t,i,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,i);const o=this._scope.toName(e);return this._for(new w("in",s,o,t),(()=>i(o)))}endFor(){return this._endBlockNode($)}label(e){return this._leafNode(new f(e))}break(e){return this._leafNode(new l(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new S;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new O(e),t(e)}return i&&(this._currNode=n.finally=new E,this.code(i)),this._endBlockNode(O,E)}throw(e){return this._leafNode(new u(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const i=this._nodes.length-t;if(i<0||void 0!==e&&i!==e)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=n.nil,i,r){return this._blockNode(new x(e,t,i)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const i=this._currNode;if(i instanceof e||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof v))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=R;const M=C(t.operators.AND);t.and=function(...e){return e.reduce(M)};const q=C(t.operators.OR);function C(e){return(t,i)=>t===n.nil?i:i===n.nil?t:n._`${N(t)} ${e} ${N(i)}`}function N(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(...e){return e.reduce(q)}},73032:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=i(63379);class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var s;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(s=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,i;if((null===(i=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===i?void 0:i.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=o;class a extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:i}){this.value=e,this.scopePath=n._`.${new n.Name(t)}[${i}]`}}t.ValueScopeName=a;const c=n._`\n`;t.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?c:n.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var i;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:r}=n,s=null!==(i=t.key)&&void 0!==i?i:t.ref;let o=this._values[r];if(o){const e=o.get(s);if(e)return e}else o=this._values[r]=new Map;o.set(s,n);const a=this._scope[r]||(this._scope[r]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:r,itemIndex:c}),n}getValue(e,t){const i=this._values[e];if(i)return i.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(e=this._values,t,i){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,i)}_reduceValues(e,i,o={},a){let c=n.nil;for(const p in e){const d=e[p];if(!d)continue;const f=o[p]=o[p]||new Map;d.forEach((e=>{if(f.has(e))return;f.set(e,s.Started);let o=i(e);if(o){const i=this.opts.es5?t.varKinds.var:t.varKinds.const;c=n._`${c}${i} ${e} = ${o};${this.opts._n}`}else{if(!(o=null==a?void 0:a(e)))throw new r(e);c=n._`${c}${o}${this.opts._n}`}f.set(e,s.Completed)}))}return c}}},32287:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=i(58704),r=i(59236),s=i(98946);function o(e,t){const i=e.const("err",t);e.if(n._`${s.default.vErrors} === null`,(()=>e.assign(s.default.vErrors,n._`[${i}]`)),n._`${s.default.vErrors}.push(${i})`),e.code(n._`${s.default.errors}++`)}function a(e,t){const{gen:i,validateName:r,schemaEnv:s}=e;s.$async?i.throw(n._`new ${e.ValidationError}(${t})`):(i.assign(n._`${r}.errors`,t),i.return(!1))}t.keywordError={message:({keyword:e})=>n.str`must pass "${e}" keyword validation`},t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?n.str`"${e}" keyword must be ${t} ($data)`:n.str`"${e}" keyword is invalid ($data)`},t.reportError=function(e,i=t.keywordError,r,s){const{it:c}=e,{gen:d,compositeRule:f,allErrors:l}=c,u=p(e,i,r);(null!=s?s:f||l)?o(d,u):a(c,n._`[${u}]`)},t.reportExtraError=function(e,i=t.keywordError,n){const{it:r}=e,{gen:c,compositeRule:d,allErrors:f}=r;o(c,p(e,i,n)),d||f||a(r,s.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(s.default.errors,t),e.if(n._`${s.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${s.default.vErrors}.length`,t)),(()=>e.assign(s.default.vErrors,null)))))},t.extendErrors=function({gen:e,keyword:t,schemaValue:i,data:r,errsCount:o,it:a}){if(void 0===o)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",o,s.default.errors,(o=>{e.const(c,n._`${s.default.vErrors}[${o}]`),e.if(n._`${c}.instancePath === undefined`,(()=>e.assign(n._`${c}.instancePath`,(0,n.strConcat)(s.default.instancePath,a.errorPath)))),e.assign(n._`${c}.schemaPath`,n.str`${a.errSchemaPath}/${t}`),a.opts.verbose&&(e.assign(n._`${c}.schema`,i),e.assign(n._`${c}.data`,r))}))};const c={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function p(e,t,i){const{createErrors:r}=e.it;return!1===r?n._`{}`:function(e,t,i={}){const{gen:r,it:o}=e,a=[d(o,i),f(e,i)];return function(e,{params:t,message:i},r){const{keyword:o,data:a,schemaValue:p,it:d}=e,{opts:f,propertyName:l,topSchemaRef:u,schemaPath:m}=d;r.push([c.keyword,o],[c.params,"function"==typeof t?t(e):t||n._`{}`]),f.messages&&r.push([c.message,"function"==typeof i?i(e):i]),f.verbose&&r.push([c.schema,p],[c.parentSchema,n._`${u}${m}`],[s.default.data,a]),l&&r.push([c.propertyName,l])}(e,t,a),r.object(...a)}(e,t,i)}function d({errorPath:e},{instancePath:t}){const i=t?n.str`${e}${(0,r.getErrorPath)(t,r.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)]}function f({keyword:e,it:{errSchemaPath:t}},{schemaPath:i,parentSchema:s}){let o=s?t:n.str`${t}/${e}`;return i&&(o=n.str`${o}${(0,r.getErrorPath)(i,r.Type.Str)}`),[c.schemaPath,o]}},83130:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=i(58704),r=i(93737),s=i(98946),o=i(49110),a=i(59236),c=i(44317);class p{constructor(e){var t;let i;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(i=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,o.normalizeId)(null==i?void 0:i[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==i?void 0:i.$async,this.refs={}}}function d(e){const t=l.call(this,e);if(t)return t;const i=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:a,lines:p}=this.opts.code,{ownProperties:d}=this.opts,f=new n.CodeGen(this.scope,{es5:a,lines:p,ownProperties:d});let u;e.$async&&(u=f.scopeValue("Error",{ref:r.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const m=f.scopeName("validate");e.validateName=m;const h={gen:f,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:u,schema:e.schema,schemaEnv:e,rootId:i,baseId:e.baseId||i,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let y;try{this._compilations.add(e),(0,c.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);const t=f.toString();y=`${f.scopeRefs(s.default.scope)}return ${t}`,this.opts.code.process&&(y=this.opts.code.process(y,e));const i=new Function(`${s.default.self}`,`${s.default.scope}`,y)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),!0===this.opts.code.source&&(i.source={validateName:m,validateCode:t,scopeValues:f._values}),this.opts.unevaluated){const{props:e,items:t}=h;i.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},i.source&&(i.source.evaluated=(0,n.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,y&&this.logger.error("Error compiling schema, function code:",y),t}finally{this._compilations.delete(e)}}function f(e){return(0,o.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:d.call(this,e)}function l(e){for(const n of this._compilations)if(i=e,(t=n).schema===i.schema&&t.root===i.root&&t.baseId===i.baseId)return n;var t,i}function u(e,t){let i;for(;"string"==typeof(i=this.refs[t]);)t=i;return i||this.schemas[t]||m.call(this,e,t)}function m(e,t){const i=this.opts.uriResolver.parse(t),n=(0,o._getFullPath)(this.opts.uriResolver,i);let r=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===r)return y.call(this,i,e);const s=(0,o.normalizeId)(n),a=this.refs[s]||this.schemas[s];if("string"==typeof a){const t=m.call(this,e,a);if("object"!=typeof(null==t?void 0:t.schema))return;return y.call(this,i,t)}if("object"==typeof(null==a?void 0:a.schema)){if(a.validate||d.call(this,a),s===(0,o.normalizeId)(t)){const{schema:t}=a,{schemaId:i}=this.opts,n=t[i];return n&&(r=(0,o.resolveUrl)(this.opts.uriResolver,r,n)),new p({schema:t,schemaId:i,root:e,baseId:r})}return y.call(this,i,a)}}t.SchemaEnv=p,t.compileSchema=d,t.resolveRef=function(e,t,i){var n;i=(0,o.resolveUrl)(this.opts.uriResolver,t,i);const r=e.refs[i];if(r)return r;let s=u.call(this,e,i);if(void 0===s){const r=null===(n=e.localRefs)||void 0===n?void 0:n[i],{schemaId:o}=this.opts;r&&(s=new p({schema:r,schemaId:o,root:e,baseId:t}))}return void 0!==s?e.refs[i]=f.call(this,s):void 0},t.getCompilingSchema=l,t.resolveSchema=m;const h=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function y(e,{baseId:t,schema:i,root:n}){var r;if("/"!==(null===(r=e.fragment)||void 0===r?void 0:r[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof i)return;const e=i[(0,a.unescapeFragment)(n)];if(void 0===e)return;const r="object"==typeof(i=e)&&i[this.opts.schemaId];!h.has(n)&&r&&(t=(0,o.resolveUrl)(this.opts.uriResolver,t,r))}let s;if("boolean"!=typeof i&&i.$ref&&!(0,a.schemaHasRulesButRef)(i,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,i.$ref);s=m.call(this,n,e)}const{schemaId:c}=this.opts;return s=s||new p({schema:i,schemaId:c,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}},98946:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=r},3206:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(49110);class r extends Error{constructor(e,t,i,r){super(r||`can't resolve reference ${i} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,i),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=r},49110:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=i(59236),r=i(38792),s=i(48963),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!c(e):!!t&&p(e)<=t)};const a=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c(e){for(const t in e){if(a.has(t))return!0;const i=e[t];if(Array.isArray(i)&&i.some(c))return!0;if("object"==typeof i&&c(i))return!0}return!1}function p(e){let t=0;for(const i in e){if("$ref"===i)return 1/0;if(t++,!o.has(i)&&("object"==typeof e[i]&&(0,n.eachItem)(e[i],(e=>t+=p(e))),t===1/0))return 1/0}return t}function d(e,t="",i){!1!==i&&(t=u(t));const n=e.parse(t);return f(e,n)}function f(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=d,t._getFullPath=f;const l=/#\/?$/;function u(e){return e?e.replace(l,""):""}t.normalizeId=u,t.resolveUrl=function(e,t,i){return i=u(i),e.resolve(t,i)};const m=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:i,uriResolver:n}=this.opts,o=u(e[i]||t),a={"":o},c=d(n,o,!1),p={},f=new Set;return s(e,{allKeys:!0},((e,t,n,r)=>{if(void 0===r)return;const s=c+t;let o=a[r];function d(t){const i=this.opts.uriResolver.resolve;if(t=u(o?i(o,t):t),f.has(t))throw h(t);f.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==u(s)&&("#"===t[0]?(l(e,p[t],t),p[t]=e):this.refs[t]=s),t}function y(e){if("string"==typeof e){if(!m.test(e))throw new Error(`invalid anchor "${e}"`);d.call(this,`#${e}`)}}"string"==typeof e[i]&&(o=d.call(this,e[i])),y.call(this,e.$anchor),y.call(this,e.$dynamicAnchor),a[t]=o})),p;function l(e,t,i){if(void 0!==t&&!r(e,t))throw h(i)}function h(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},3573:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const i=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&i.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},59236:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=i(58704),r=i(63379);function s(e,t=e.schema){const{opts:i,self:n}=e;if(!i.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const i in t)r[i]||m(e,`unknown keyword: "${i}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const i in e)if(t[i])return!0;return!1}function a(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function c(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function p({mergeNames:e,mergeToName:t,mergeValues:i,resultToName:r}){return(s,o,a,c)=>{const p=void 0===a?o:a instanceof n.Name?(o instanceof n.Name?e(s,o,a):t(s,o,a),a):o instanceof n.Name?(t(s,a,o),o):i(o,a);return c!==n.Name||p instanceof n.Name?p:r(s,p)}}function d(e,t){if(!0===t)return e.var("props",!0);const i=e.var("props",n._`{}`);return void 0!==t&&f(e,i,t),i}function f(e,t,i){Object.keys(i).forEach((i=>e.assign(n._`${t}${(0,n.getProperty)(i)}`,!0)))}t.toHash=function(e){const t={};for(const i of e)t[i]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(s(e,t),!o(t,e.self.RULES.all))},t.checkUnknownRules=s,t.schemaHasRules=o,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const i in e)if("$ref"!==i&&t.all[i])return!0;return!1},t.schemaRefOrVal=function({topSchemaRef:e,schemaPath:t},i,r,s){if(!s){if("number"==typeof i||"boolean"==typeof i)return i;if("string"==typeof i)return n._`${i}`}return n._`${e}${t}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return c(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(a(e))},t.escapeJsonPointer=a,t.unescapeJsonPointer=c,t.eachItem=function(e,t){if(Array.isArray(e))for(const i of e)t(i);else t(e)},t.mergeEvaluated={props:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(i,!0)),(()=>e.assign(i,n._`${i} || {}`).code(n._`Object.assign(${i}, ${t})`)))})),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>{!0===t?e.assign(i,!0):(e.assign(i,n._`${i} || {}`),f(e,i,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:d}),items:p({mergeNames:(e,t,i)=>e.if(n._`${i} !== true && ${t} !== undefined`,(()=>e.assign(i,n._`${t} === true ? true : ${i} > ${t} ? ${i} : ${t}`))),mergeToName:(e,t,i)=>e.if(n._`${i} !== true`,(()=>e.assign(i,!0===t||n._`${i} > ${t} ? ${i} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=d,t.setEvaluated=f;const l={};var u;function m(e,t,i=e.opts.strictSchema){if(i){if(t=`strict mode: ${t}`,!0===i)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:l[t.code]||(l[t.code]=new r._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(u=t.Type||(t.Type={})),t.getErrorPath=function(e,t,i){if(e instanceof n.Name){const r=t===u.Num;return i?r?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:r?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,n.getProperty)(e).toString():"/"+a(e)},t.checkStrictMode=m},41152:(e,t)=>{"use strict";function i(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var i;return void 0!==e[t.keyword]||(null===(i=t.definition.implements)||void 0===i?void 0:i.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&i(e,r)},t.shouldUseGroup=i,t.shouldUseRule=n},3550:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=i(32287),r=i(58704),s=i(98946),o={message:"boolean schema is false"};function a(e,t){const{gen:i,data:r}=e,s={gen:i,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(s,o,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:i,validateName:n}=e;!1===i?a(e,!1):"object"==typeof i&&!0===i.$async?t.return(s.default.data):(t.assign(r._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:i,schema:n}=e;!1===n?(i.var(t,!1),a(e)):i.var(t,!0)}},84321:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=i(3573),r=i(41152),s=i(32287),o=i(58704),a=i(59236);var c;function p(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(c=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=p(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=p,t.coerceAndCheckDataType=function(e,t){const{gen:i,data:n,opts:s}=e,a=function(e,t){return t?e.filter((e=>d.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),p=t.length>0&&!(0===a.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(p){const r=l(t,n,s.strictNumbers,c.Wrong);i.if(r,(()=>{a.length?function(e,t,i){const{gen:n,data:r,opts:s}=e,a=n.let("dataType",o._`typeof ${r}`),c=n.let("coerced",o._`undefined`);"array"===s.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,(()=>n.assign(r,o._`${r}[0]`).assign(a,o._`typeof ${r}`).if(l(t,r,s.strictNumbers),(()=>n.assign(c,r))))),n.if(o._`${c} !== undefined`);for(const e of i)(d.has(e)||"array"===e&&"array"===s.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${r}`).elseIf(o._`${r} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${r} === null - || (${a} == "string" && ${r} && ${r} == +${r})`).assign(c,o._`+${r}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${r} === null - || (${a} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,o._`+${r}`);case"boolean":return void n.elseIf(o._`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf(o._`${r} === "true" || ${r} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${r} === "" || ${r} === 0 || ${r} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" - || ${a} === "boolean" || ${r} === null`).assign(c,o._`[${r}]`)}}n.else(),m(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(r,c),function({gen:e,parentData:t,parentDataProperty:i},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${i}]`,n)))}(e,c)}))}(e,t,a):m(e)}))}return p};const d=new Set(["string","number","integer","boolean","null"]);function f(e,t,i,n=c.Correct){const r=n===c.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return o._`${t} ${r} null`;case"array":s=o._`Array.isArray(${t})`;break;case"object":s=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return o._`typeof ${t} ${r} ${e}`}return n===c.Correct?s:(0,o.not)(s);function a(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,i?o._`isFinite(${t})`:o.nil)}}function l(e,t,i,n){if(1===e.length)return f(e[0],t,i,n);let r;const s=(0,a.toHash)(e);if(s.array&&s.object){const e=o._`typeof ${t} != "object"`;r=s.null?e:o._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else r=o.nil;s.number&&delete s.integer;for(const e in s)r=(0,o.and)(r,f(e,t,i,n));return r}t.checkDataType=f,t.checkDataTypes=l;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:i,schema:n}=e,r=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:i,schema:n.type,schemaCode:r,schemaValue:r,parentSchema:n,params:{},it:e}}(e);(0,s.reportError)(t,u)}t.reportTypeError=m},19031:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=i(58704),r=i(59236);function s(e,t,i){const{gen:s,compositeRule:o,data:a,opts:c}=e;if(void 0===i)return;const p=n._`${a}${(0,n.getProperty)(t)}`;if(o)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let d=n._`${p} === undefined`;"empty"===c.useDefaults&&(d=n._`${d} || ${p} === null || ${p} === ""`),s.if(d,n._`${p} = ${(0,n.stringify)(i)}`)}t.assignDefaults=function(e,t){const{properties:i,items:n}=e.schema;if("object"===t&&i)for(const t in i)s(e,t,i[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,i)=>s(e,i,t.default)))}},44317:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=i(3550),r=i(84321),s=i(41152),o=i(84321),a=i(19031),c=i(94350),p=i(63564),d=i(58704),f=i(98946),l=i(49110),u=i(59236),m=i(32287);function h({gen:e,validateName:t,schema:i,schemaEnv:n,opts:r},s){r.code.es5?e.func(t,d._`${f.default.data}, ${f.default.valCxt}`,n.$async,(()=>{e.code(d._`"use strict"; ${y(i,r)}`),function(e,t){e.if(f.default.valCxt,(()=>{e.var(f.default.instancePath,d._`${f.default.valCxt}.${f.default.instancePath}`),e.var(f.default.parentData,d._`${f.default.valCxt}.${f.default.parentData}`),e.var(f.default.parentDataProperty,d._`${f.default.valCxt}.${f.default.parentDataProperty}`),e.var(f.default.rootData,d._`${f.default.valCxt}.${f.default.rootData}`),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`${f.default.valCxt}.${f.default.dynamicAnchors}`)}),(()=>{e.var(f.default.instancePath,d._`""`),e.var(f.default.parentData,d._`undefined`),e.var(f.default.parentDataProperty,d._`undefined`),e.var(f.default.rootData,f.default.data),t.dynamicRef&&e.var(f.default.dynamicAnchors,d._`{}`)}))}(e,r),e.code(s)})):e.func(t,d._`${f.default.data}, ${function(e){return d._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${e.dynamicRef?d._`, ${f.default.dynamicAnchors}={}`:d.nil}}={}`}(r)}`,n.$async,(()=>e.code(y(i,r)).code(s)))}function y(e,t){const i="object"==typeof e&&e[t.schemaId];return i&&(t.code.source||t.code.process)?d._`/*# sourceURL=${i} */`:d.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const i in e)if(t.RULES.all[i])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:i,opts:n,self:r}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}(e)}function $(e,t){if(e.opts.jtd)return _(e,[],!1,t);const i=(0,r.getSchemaTypes)(e.schema);_(e,i,!(0,r.coerceAndCheckDataType)(e,i),t)}function j({gen:e,schemaEnv:t,schema:i,errSchemaPath:n,opts:r}){const s=i.$comment;if(!0===r.$comment)e.code(d._`${f.default.self}.logger.log(${s})`);else if("function"==typeof r.$comment){const i=d.str`${n}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(d._`${f.default.self}.opts.$comment(${s}, ${i}, ${r}.schema)`)}}function _(e,t,i,n){const{gen:r,schema:a,data:c,allErrors:p,opts:l,self:m}=e,{RULES:h}=m;function y(u){(0,s.shouldUseGroup)(a,u)&&(u.type?(r.if((0,o.checkDataType)(u.type,c,l.strictNumbers)),w(e,u),1===t.length&&t[0]===u.type&&i&&(r.else(),(0,o.reportTypeError)(e)),r.endIf()):w(e,u),p||r.if(d._`${f.default.errors} === ${n||0}`))}!a.$ref||!l.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(a,h)?(l.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{x(e.dataTypes,t)||P(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const i=[];for(const n of e.dataTypes)x(t,n)?i.push(n):t.includes("integer")&&"number"===n&&i.push("integer");e.dataTypes=i}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&P(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const i=e.self.RULES.all;for(const n in i){const r=i[n];if("object"==typeof r&&(0,s.shouldUseRule)(e.schema,r)){const{type:i}=r.definition;i.length&&!i.some((e=>{return n=e,(i=t).includes(n)||"number"===n&&i.includes("integer");var i,n}))&&P(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of h.rules)y(e);y(h.post)}))):r.block((()=>O(e,"$ref",h.all.$ref.definition)))}function w(e,t){const{gen:i,schema:n,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),i.block((()=>{for(const i of t.rules)(0,s.shouldUseRule)(n,i)&&O(e,i.keyword,i.definition,t.type)}))}function x(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function P(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:i,gen:n}=e;h(e,(()=>{i.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:i}=e;void 0!==t.default&&i.useDefaults&&i.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(f.default.vErrors,null),n.let(f.default.errors,0),i.unevaluated&&function(e){const{gen:t,validateName:i}=e;e.evaluated=t.const("evaluated",d._`${i}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),$(e),function(e){const{gen:t,schemaEnv:i,validateName:n,ValidationError:r,opts:s}=e;i.$async?t.if(d._`${f.default.errors} === 0`,(()=>t.return(f.default.data)),(()=>t.throw(d._`new ${r}(${f.default.vErrors})`))):(t.assign(d._`${n}.errors`,f.default.vErrors),s.unevaluated&&function({gen:e,evaluated:t,props:i,items:n}){i instanceof d.Name&&e.assign(d._`${t}.props`,i),n instanceof d.Name&&e.assign(d._`${t}.items`,n)}(e),t.return(d._`${f.default.errors} === 0`))}(e)}))}(e):h(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class S{constructor(e,t,i){if((0,c.validateKeywordUsage)(e,t,i),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=i,this.data=e.data,this.schema=e.schema[i],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,i,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${i} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",f.default.errors))}result(e,t,i){this.failResult((0,d.not)(e),t,i)}failResult(e,t,i){this.gen.if(e),i?i():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,i){if(t)return this.setParams(t),this._error(e,i),void this.setParams({});this._error(e,i)}_error(e,t){(e?m.reportExtraError:m.reportError)(this,this.def.error,t)}$dataError(){(0,m.reportError)(this,this.def.$dataError||m.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,m.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,i=d.nil){this.gen.block((()=>{this.check$data(e,i),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:i,schemaCode:n,schemaType:r,def:s}=this;i.if((0,d.or)(d._`${n} === undefined`,t)),e!==d.nil&&i.assign(e,!0),(r.length||s.validateSchema)&&(i.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&i.assign(e,!1)),i.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:i,def:n,it:r}=this;return(0,d.or)(function(){if(i.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(i)?i:[i];return d._`${(0,o.checkDataTypes)(e,t,r.opts.strictNumbers,o.DataType.Wrong)}`}return d.nil}(),function(){if(n.validateSchema){const i=e.scopeValue("validate$data",{ref:n.validateSchema});return d._`!${i}(${t})`}return d.nil}())}subschema(e,t){const i=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(i,this.it,e),(0,p.extendSubschemaMode)(i,e);const r={...this.it,...i,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:i,gen:n,opts:r}=e;r.$comment&&i.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const s=n.const("_errs",f.default.errors);$(e,s),n.var(t,d._`${s} === ${f.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:i,gen:n}=this;i.opts.unevaluated&&(!0!==i.props&&void 0!==e.props&&(i.props=u.mergeEvaluated.props(n,e.props,i.props,t)),!0!==i.items&&void 0!==e.items&&(i.items=u.mergeEvaluated.items(n,e.items,i.items,t)))}mergeValidEvaluated(e,t){const{it:i,gen:n}=this;if(i.opts.unevaluated&&(!0!==i.props||!0!==i.items))return n.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function O(e,t,i,n){const r=new S(e,i,t);"code"in i?i.code(r,n):r.$data&&i.validate?(0,c.funcKeywordCode)(r,i):"macro"in i?(0,c.macroKeywordCode)(r,i):(i.compile||i.validate)&&(0,c.funcKeywordCode)(r,i)}t.KeywordCxt=S;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:i,dataPathArr:n}){let r,s;if(""===e)return f.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,s=f.default.rootData}else{const o=A.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+o[1];if(r=o[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=i[t-a],!r)return s}let o=s;const a=r.split("/");for(const e of a)e&&(s=d._`${s}${(0,d.getProperty)((0,u.unescapeJsonPointer)(e))}`,o=d._`${o} && ${s}`);return o;function c(e,i){return`Cannot access ${e} ${i} levels up, current level is ${t}`}}t.getData=T},94350:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=i(58704),r=i(98946),s=i(90824),o=i(32287);function a(e){const{gen:t,data:i,it:r}=e;t.if(r.parentData,(()=>t.assign(i,n._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,i){if(void 0===i)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof i?{ref:i}:{ref:i,code:(0,n.stringify)(i)})}t.macroKeywordCode=function(e,t){const{gen:i,keyword:r,schema:s,parentSchema:o,it:a}=e,p=t.macro.call(a.self,s,o,a),d=c(i,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const f=i.name("valid");e.subschema({schema:p,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:d,compositeRule:!0},f),e.pass(f,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var i;const{gen:p,keyword:d,schema:f,parentSchema:l,$data:u,it:m}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(m,t);const h=!u&&t.compile?t.compile.call(m.self,f,l,m):t.validate,y=c(p,d,h),g=p.let("valid");function b(i=(t.async?n._`await `:n.nil)){const o=m.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!u||!1===t.schema);p.assign(g,n._`${i}${(0,s.callValidateCode)(e,y,o,a)}`,t.modifying)}function v(e){var i;p.if((0,n.not)(null!==(i=t.valid)&&void 0!==i?i:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const i=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(n._`await `)),(t=>p.assign(g,!1).if(n._`${t} instanceof ${m.ValidationError}`,(()=>p.assign(e,n._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=n._`${y}.errors`;return p.assign(e,null),b(n.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:i}=e;i.if(n._`Array.isArray(${t})`,(()=>{i.assign(r.default.vErrors,n._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,n._`${r.default.vErrors}.length`),(0,o.extendErrors)(e)}),(()=>e.error()))}(e,i)))}})),e.ok(null!==(i=t.valid)&&void 0!==i?i:g)},t.validSchemaType=function(e,t,i=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||i&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:i,errSchemaPath:n},r,s){if(Array.isArray(r.keyword)?!r.keyword.includes(s):r.keyword!==s)throw new Error("ajv implementation error");const o=r.dependencies;if(null==o?void 0:o.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+i.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);i.logger.error(e)}}},63564:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=i(58704),r=i(59236);t.getSubschema=function(e,{keyword:t,schemaProp:i,schema:s,schemaPath:o,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==s)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const s=e.schema[t];return void 0===i?{schema:s,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[i],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(i)}`}}if(void 0!==s){if(void 0===o||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:o,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:i,dataPropType:s,data:o,dataTypes:a,propertyName:c}){if(void 0!==o&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==i){const{errorPath:o,dataPathArr:a,opts:c}=t;d(p.let("data",n._`${t.data}${(0,n.getProperty)(i)}`,!0)),e.errorPath=n.str`${o}${(0,r.getErrorPath)(i,s,c.jsPropertySyntax)}`,e.parentDataProperty=n._`${i}`,e.dataPathArr=[...a,e.parentDataProperty]}function d(i){e.data=i,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,i]}void 0!==o&&(d(o instanceof n.Name?o:p.let("data",o,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:i,compositeRule:n,createErrors:r,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==r&&(e.createErrors=r),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=i}},16105:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=i(44317);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var r=i(58704);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=i(93737),o=i(3206),a=i(3573),c=i(83130),p=i(58704),d=i(49110),f=i(84321),l=i(59236),u=i(74364),m=i(11697),h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},v={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function $(e){var t,i,n,r,s,o,a,c,p,d,f,l,u,y,g,b,v,$,j,_,w,x,P,S,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,I=null!==(n=null===(i=e.code)||void 0===i?void 0:i.regExp)&&void 0!==n?n:h,k=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(o=null!==(s=e.strictSchema)&&void 0!==s?s:E)||void 0===o||o,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(d=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==d?d:"log",strictTuples:null!==(l=null!==(f=e.strictTuples)&&void 0!==f?f:E)&&void 0!==l?l:"log",strictRequired:null!==(y=null!==(u=e.strictRequired)&&void 0!==u?u:E)&&void 0!==y&&y,code:e.code?{...e.code,optimize:T,regExp:I}:{optimize:T,regExp:I},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===($=e.messages)||void 0===$||$,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(P=e.validateFormats)||void 0===P||P,unicodeRegExp:null===(S=e.unicodeRegExp)||void 0===S||S,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class j{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$(e)};const{es5:t,lines:i}=this.opts.code;this.scope=new p.ValueScope({scope:{},prefixes:g,es5:t,lines:i}),this.logger=function(e){if(!1===e)return E;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),_.call(this,b,e,"NOT SUPPORTED"),_.call(this,v,e,"DEPRECATED","warn"),this._metaOpts=O.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),x.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:i}=this.opts;let n=u;"id"===i&&(n={...u},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[i],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let i;if("string"==typeof e){if(i=this.getSchema(e),!i)throw new Error(`no schema with key or ref "${e}"`)}else i=this.compile(e);const n=i(t);return"$async"in i||(this.errors=i.errors),n}compile(e,t){const i=this._addSchema(e,t);return i.validate||this._compileSchemaEnv(i)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:i}=this.opts;return n.call(this,e,t);async function n(e,t){await r.call(this,e.$schema);const i=this._addSchema(e,t);return i.validate||s.call(this,i)}async function r(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const i=await p.call(this,e);this.refs[e]||await r.call(this,i.$schema),this.refs[e]||this.addSchema(i,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=i(e))}finally{delete this._loading[e]}}}addSchema(e,t,i,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,i,n);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,d.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,i,t,n,!0),this}addMetaSchema(e,t,i=this.opts.validateSchema){return this.addSchema(e,t,!0,i),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let i;if(i=e.$schema,void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(i=i||this.opts.defaultMeta||this.defaultMeta(),!i)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(i,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:i}=this.opts,n=new c.SchemaEnv({schema:{},schemaId:i});if(t=c.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let i=e[this.opts.schemaId];return i&&(i=(0,d.normalizeId)(i),delete this.schemas[i],delete this.refs[i]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let i;if("string"==typeof e)i=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=i);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(i=(t=e).keyword,Array.isArray(i)&&!i.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(T.call(this,i,t),!t)return(0,l.eachItem)(i,(e=>I.call(this,e))),this;R.call(this,t);const n={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,l.eachItem)(i,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const i of t.rules){const t=i.rules.findIndex((t=>t.keyword===e));t>=0&&i.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:i="data"}={}){return e&&0!==e.length?e.map((e=>`${i}${e.instancePath} ${e.message}`)).reduce(((e,i)=>e+t+i)):"No errors"}$dataMetaSchema(e,t){const i=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in i){const t=i[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=r[e];n&&s&&(r[e]=q(s))}}return e}_removeAllSchemas(e,t){for(const i in e){const n=e[i];t&&!t.test(i)||("string"==typeof n?delete e[i]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[i]))}}_addSchema(e,t,i,n=this.opts.validateSchema,r=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if("object"==typeof e)s=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;i=(0,d.normalizeId)(s||i);const p=d.getSchemaRefs.call(this,e,i);return a=new c.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:i,localRefs:p}),this._cache.set(a.schema,a),r&&!i.startsWith("#")&&(i&&this._checkUnique(i),this.refs[i]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,i,n="error"){for(const r in e){const s=r;s in t&&this.logger[n](`${i}: option ${r}. ${e[s]}`)}}function w(e){return e=(0,d.normalizeId)(e),this.schemas[e]||this.refs[e]}function x(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function S(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const i=e[t];i.keyword||(i.keyword=t),this.addKeyword(i)}}}function O(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=j,j.ValidationError=s.default,j.MissingRefError=o.default;const E={log(){},warn(){},error(){}},A=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){const{RULES:i}=this;if((0,l.eachItem)(e,(e=>{if(i.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!A.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,i){var n;const r=null==t?void 0:t.post;if(i&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=r?s.post:s.rules.find((({type:e})=>e===i));if(o||(o={type:i,rules:[]},s.rules.push(o)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?k.call(this,o,a,t.before):o.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,i){const n=e.rules.findIndex((e=>e.keyword===i));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${i} is not defined`))}function R(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const M={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,M]}}},63787:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38792);n.code='require("ajv/dist/runtime/equal").default',t.default=n},57898:(e,t)=>{"use strict";function i(e){const t=e.length;let i,n=0,r=0;for(;r=55296&&i<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(2862);n.code='require("ajv/dist/runtime/uri").default',t.default=n},93737:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=i},28572:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=i(58704),r=i(59236),s={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:i}=e,{items:n}=t;Array.isArray(n)?o(e,n):(0,r.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas')}};function o(e,t){const{gen:i,schema:s,data:o,keyword:a,it:c}=e;c.items=!0;const p=i.const("len",n._`${o}.length`);if(!1===s)e.setParams({len:t.length}),e.pass(n._`${p} <= ${t.length}`);else if("object"==typeof s&&!(0,r.alwaysValidSchema)(c,s)){const s=i.var("valid",n._`${p} <= ${t.length}`);i.if((0,n.not)(s),(()=>function(s){i.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},s),c.allErrors||i.if((0,n.not)(s),(()=>i.break()))}))}(s))),e.ok(s)}}t.validateAdditionalItems=o,t.default=s},30995:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s=i(98946),o=i(59236),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:i,parentSchema:a,data:c,errsCount:p,it:d}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:f,opts:l}=d;if(d.props=!0,"all"!==l.removeAdditional&&(0,o.alwaysValidSchema)(d,i))return;const u=(0,n.allSchemaProperties)(a.properties),m=(0,n.allSchemaProperties)(a.patternProperties);function h(e){t.code(r._`delete ${c}[${e}]`)}function y(n){if("all"===l.removeAdditional||l.removeAdditional&&!1===i)h(n);else{if(!1===i)return e.setParams({additionalProperty:n}),e.error(),void(f||t.break());if("object"==typeof i&&!(0,o.alwaysValidSchema)(d,i)){const i=t.name("valid");"failing"===l.removeAdditional?(g(n,i,!1),t.if((0,r.not)(i),(()=>{e.reset(),h(n)}))):(g(n,i),f||t.if((0,r.not)(i),(()=>t.break())))}}}function g(t,i,n){const r={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};!1===n&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,i)}t.forIn("key",c,(i=>{u.length||m.length?t.if(function(i){let s;if(u.length>8){const e=(0,o.schemaRefOrVal)(d,a.properties,"properties");s=(0,n.isOwnProperty)(t,e,i)}else s=u.length?(0,r.or)(...u.map((e=>r._`${i} === ${e}`))):r.nil;return m.length&&(s=(0,r.or)(s,...m.map((t=>r._`${(0,n.usePattern)(e,t)}.test(${i})`)))),(0,r.not)(s)}(i),(()=>y(i))):y(i)})),e.ok(r._`${p} === ${s.default.errors}`)}};t.default=a},79089:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(59236),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:i,it:r}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");const s=t.name("valid");i.forEach(((t,i)=>{if((0,n.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:i},s);e.ok(s),e.mergeEvaluated(o)}))}};t.default=r},11224:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:i(90824).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},64522:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:i,parentSchema:s,data:o,it:a}=e;let c,p;const{minContains:d,maxContains:f}=s;a.opts.next?(c=void 0===d?1:d,p=f):c=1;const l=t.const("len",n._`${o}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,i)){let t=n._`${l} >= ${c}`;return void 0!==p&&(t=n._`${t} && ${l} <= ${p}`),void e.pass(t)}a.items=!0;const u=t.name("valid");function m(){const e=t.name("_valid"),i=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===p?t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0).break())):(t.if(n._`${e} > ${p}`,(()=>t.assign(u,!1).break())),1===c?t.assign(u,!0):t.if(n._`${e} >= ${c}`,(()=>t.assign(u,!0))))}(i)))))}function h(i,n){t.forRange("i",0,l,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},i),n()}))}void 0===p&&1===c?h(u,(()=>t.if(u,(()=>t.break())))):0===c?(t.let(u,!0),void 0!==p&&t.if(n._`${o}.length > 0`,m)):(t.let(u,!1),m()),e.result(u,(()=>e.reset()))}};t.default=s},97302:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=i(58704),r=i(59236),s=i(90824);t.error={message:({params:{property:e,depsCount:t,deps:i}})=>{const r=1===t?"property":"properties";return n.str`must have ${r} ${i} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:i,missingProperty:r}})=>n._`{property: ${e}, - missingProperty: ${r}, - depsCount: ${t}, - deps: ${i}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,i]=function({schema:e}){const t={},i={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:i)[n]=e[n]);return[t,i]}(e);a(e,t),c(e,i)}};function a(e,t=e.schema){const{gen:i,data:r,it:o}=e;if(0===Object.keys(t).length)return;const a=i.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const d=(0,s.propertyInData)(i,r,c,o.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),o.allErrors?i.if(d,(()=>{for(const t of p)(0,s.checkReportMissingProp)(e,t)})):(i.if(n._`${d} && (${(0,s.checkMissingProp)(e,p,a)})`),(0,s.reportMissingProp)(e,a),i.else())}}function c(e,t=e.schema){const{gen:i,data:n,keyword:o,it:a}=e,c=i.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(i.if((0,s.propertyInData)(i,n,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:o,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=o},44516:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:i,it:s}=e;void 0===i.then&&void 0===i.else&&(0,r.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=o(s,"then"),c=o(s,"else");if(!a&&!c)return;const p=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),a&&c){const i=t.let("ifClause");e.setParams({ifClause:i}),t.if(d,f("then",i),f("else",i))}else a?t.if(d,f("then")):t.if((0,n.not)(d),f("else"));function f(i,r){return()=>{const s=e.subschema({keyword:i},d);t.assign(p,d),e.mergeValidEvaluated(s,p),r?t.assign(r,n._`${i}`):e.setParams({ifClause:i})}}e.pass(p,(()=>e.error(!0)))}};function o(e,t){const i=e.schema[t];return void 0!==i&&!(0,r.alwaysValidSchema)(e,i)}t.default=s},82747:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(28572),r=i(93159),s=i(15443),o=i(61155),a=i(64522),c=i(97302),p=i(59752),d=i(30995),f=i(20526),l=i(63332),u=i(23266),m=i(11224),h=i(26190),y=i(79089),g=i(44516),b=i(37633);t.default=function(e=!1){const t=[u.default,m.default,h.default,y.default,g.default,b.default,p.default,d.default,c.default,f.default,l.default];return e?t.push(r.default,o.default):t.push(n.default,s.default),t.push(a.default),t}},15443:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=i(58704),r=i(59236),s=i(90824),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:i}=e;if(Array.isArray(t))return a(e,"additionalItems",t);i.items=!0,(0,r.alwaysValidSchema)(i,t)||e.ok((0,s.validateArray)(e))}};function a(e,t,i=e.schema){const{gen:s,parentSchema:o,data:a,keyword:c,it:p}=e;!function(e){const{opts:n,errSchemaPath:s}=p,o=i.length,a=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${c}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,r.checkStrictMode)(p,e,n.strictTuples)}}(o),p.opts.unevaluated&&i.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(s,i.length,p.items));const d=s.name("valid"),f=s.const("len",n._`${a}.length`);i.forEach(((t,i)=>{(0,r.alwaysValidSchema)(p,t)||(s.if(n._`${f} > ${i}`,(()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},d))),e.ok(d))}))}t.validateTuple=a,t.default=o},61155:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(90824),o=i(28572),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:i,it:n}=e,{prefixItems:a}=i;n.items=!0,(0,r.alwaysValidSchema)(n,t)||(a?(0,o.validateAdditionalItems)(e,a):e.ok((0,s.validateArray)(e)))}};t.default=a},23266:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(59236),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:i,it:r}=e;if((0,n.alwaysValidSchema)(r,i))return void e.fail();const s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},26190:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:i,parentSchema:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const a=i,c=t.let("valid",!1),p=t.let("passing",null),d=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((i,s)=>{let a;(0,r.alwaysValidSchema)(o,i)?t.var(d,!0):a=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},d),s>0&&t.if(n._`${d} && ${c}`).assign(c,!1).assign(p,n._`[${p}, ${s}]`).else(),t.if(d,(()=>{t.assign(c,!0),t.assign(p,s),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=s},63332:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s=i(59236),o=i(59236),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,data:a,parentSchema:c,it:p}=e,{opts:d}=p,f=(0,n.allSchemaProperties)(i),l=f.filter((e=>(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length||l.length===f.length&&(!p.opts.unevaluated||!0===p.props))return;const u=d.strictSchema&&!d.allowMatchingProperties&&c.properties,m=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,o.evaluatedPropsToName)(t,p.props));const{props:h}=p;function y(e){for(const t in u)new RegExp(e).test(t)&&(0,s.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(i){t.forIn("key",a,(s=>{t.if(r._`${(0,n.usePattern)(e,i)}.test(${s})`,(()=>{const n=l.includes(i);n||e.subschema({keyword:"patternProperties",schemaProp:i,dataProp:s,dataPropType:o.Type.Str},m),p.opts.unevaluated&&!0!==h?t.assign(r._`${h}[${s}]`,!0):n||p.allErrors||t.if((0,r.not)(m),(()=>t.break()))}))}))}!function(){for(const e of f)u&&y(e),p.allErrors?g(e):(t.var(m,!0),g(e),t.if(m))}()}};t.default=a},93159:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(15443),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=r},20526:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(44317),r=i(90824),s=i(59236),o=i(30995),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:i,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&o.default.code(new n.KeywordCxt(p,o.default,"additionalProperties"));const d=(0,r.allSchemaProperties)(i);for(const e of d)p.definedProperties.add(e);p.opts.unevaluated&&d.length&&!0!==p.props&&(p.props=s.mergeEvaluated.props(t,(0,s.toHash)(d),p.props));const f=d.filter((e=>!(0,s.alwaysValidSchema)(p,i[e])));if(0===f.length)return;const l=t.name("valid");for(const i of f)u(i)?m(i):(t.if((0,r.propertyInData)(t,c,i,p.opts.ownProperties)),m(i),p.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(i),e.ok(l);function u(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==i[e].default}function m(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};t.default=a},59752:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:i,data:s,it:o}=e;if((0,r.alwaysValidSchema)(o,i))return;const a=t.name("valid");t.forIn("key",s,(i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(a)}};t.default=s},37633:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(59236),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:i}){void 0===t.if&&(0,n.checkStrictMode)(i,`"${e}" without "if" is ignored`)}};t.default=r},90824:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=i(58704),r=i(59236),s=i(98946),o=i(59236);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function c(e,t,i){return n._`${a(e)}.call(${t}, ${i})`}function p(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} === undefined`;return r?(0,n.or)(s,(0,n.not)(c(e,t,i))):s}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:i,data:r,it:s}=e;i.if(p(i,r,t,s.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:i}},r,s){return(0,n.or)(...r.map((r=>(0,n.and)(p(e,t,r,i.ownProperties),n._`${s} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,i,r){const s=n._`${t}${(0,n.getProperty)(i)} !== undefined`;return r?n._`${s} && ${c(e,t,i)}`:s},t.noPropertyInData=p,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((i=>!(0,r.alwaysValidSchema)(e,t[i])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:i,topSchemaRef:r,schemaPath:o,errorPath:a},it:c},p,d,f){const l=f?n._`${e}, ${t}, ${r}${o}`:t,u=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,a)],[s.default.parentData,c.parentData],[s.default.parentDataProperty,c.parentDataProperty],[s.default.rootData,s.default.rootData]];c.opts.dynamicRef&&u.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const m=n._`${l}, ${i.object(...u)}`;return d!==n.nil?n._`${p}.call(${d}, ${m})`:n._`${p}(${m})`};const f=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},i){const r=t.unicodeRegExp?"u":"",{regExp:s}=t.code,a=s(i,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===s.code?f:(0,o.useFunc)(e,s)}(${i}, ${r})`})},t.validateArray=function(e){const{gen:t,data:i,keyword:s,it:o}=e,a=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(o){const c=t.const("len",n._`${i}.length`);t.forRange("i",0,c,(i=>{e.subschema({keyword:s,dataProp:i,dataPropType:r.Type.Num},a),t.if((0,n.not)(a),o)}))}},t.validateUnion=function(e){const{gen:t,schema:i,keyword:s,it:o}=e;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,r.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>i.forEach(((i,r)=>{const o=e.subschema({keyword:s,schemaProp:r,compositeRule:!0},c);t.assign(a,n._`${a} || ${c}`),e.mergeValidEvaluated(o,c)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},7620:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=i},78065:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(7620),r=i(18776),s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,r.default];t.default=s},18776:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=i(3206),r=i(90824),s=i(58704),o=i(98946),a=i(83130),c=i(59236),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:i,it:r}=e,{baseId:o,schemaEnv:c,validateName:p,opts:l,self:u}=r,{root:m}=c;if(("#"===i||"#/"===i)&&o===m.baseId)return function(){if(c===m)return f(e,p,c,c.$async);const i=t.scopeValue("root",{ref:m});return f(e,s._`${i}.validate`,m,m.$async)}();const h=a.resolveRef.call(u,m,o,i);if(void 0===h)throw new n.default(r.opts.uriResolver,o,i);return h instanceof a.SchemaEnv?function(t){const i=d(e,t);f(e,i,t,t.$async)}(h):function(n){const r=t.scopeValue("schema",!0===l.code.source?{ref:n,code:(0,s.stringify)(n)}:{ref:n}),o=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:r,errSchemaPath:i},o);e.mergeEvaluated(a),e.ok(o)}(h)}};function d(e,t){const{gen:i}=e;return t.validate?i.scopeValue("validate",{ref:t.validate}):s._`${i.scopeValue("wrapper",{ref:t})}.validate`}function f(e,t,i,n){const{gen:a,it:p}=e,{allErrors:d,schemaEnv:f,opts:l}=p,u=l.passContext?o.default.this:s.nil;function m(e){const t=s._`${e}.errors`;a.assign(o.default.vErrors,s._`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`),a.assign(o.default.errors,s._`${o.default.vErrors}.length`)}function h(e){var t;if(!p.opts.unevaluated)return;const n=null===(t=null==i?void 0:i.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(n&&!n.dynamicProps)void 0!==n.props&&(p.props=c.mergeEvaluated.props(a,n.props,p.props));else{const t=a.var("props",s._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,s.Name)}if(!0!==p.items)if(n&&!n.dynamicItems)void 0!==n.items&&(p.items=c.mergeEvaluated.items(a,n.items,p.items));else{const t=a.var("items",s._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,s.Name)}}n?function(){if(!f.$async)throw new Error("async schema referenced by sync schema");const i=a.let("valid");a.try((()=>{a.code(s._`await ${(0,r.callValidateCode)(e,t,u)}`),h(t),d||a.assign(i,!0)}),(e=>{a.if(s._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),m(e),d||a.assign(i,!1)})),e.ok(i)}():e.result((0,r.callValidateCode)(e,t,u),(()=>h(t)),(()=>m(t)))}t.getValidate=d,t.callRef=f,t.default=p},25314:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(74943),s=i(83130),o=i(59236),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:i}})=>n._`{error: ${e}, tag: ${i}, tagValue: ${t}}`},code(e){const{gen:t,data:i,schema:a,parentSchema:c,it:p}=e,{oneOf:d}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=a.propertyName;if("string"!=typeof f)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),u=t.const("tag",n._`${i}${(0,n.getProperty)(f)}`);function m(i){const r=t.name("valid"),s=e.subschema({keyword:"oneOf",schemaProp:i},r);return e.mergeEvaluated(s,n.Name),r}t.if(n._`typeof ${u} == "string"`,(()=>function(){const i=function(){var e;const t={},i=r(c);let n=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:u,tagName:f}))),e.ok(l)}};t.default=a},74943:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(i=t.DiscrError||(t.DiscrError={})).Tag="tag",i.Mapping="mapping"},7489:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(78065),r=i(60501),s=i(82747),o=i(31621),a=i(33328),c=[n.default,r.default,(0,s.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},54110:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:i,data:r,$data:s,schema:o,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:d,schemaEnv:f,self:l}=c;p.validateFormats&&(s?function(){const s=i.scopeValue("formats",{ref:l.formats,code:p.code.formats}),o=i.const("fDef",n._`${s}[${a}]`),c=i.let("fType"),d=i.let("format");i.if(n._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>i.assign(c,n._`${o}.type || "string"`).assign(d,n._`${o}.validate`)),(()=>i.assign(c,n._`"string"`).assign(d,o))),e.fail$data((0,n.or)(!1===p.strictSchema?n.nil:n._`${a} && !${d}`,function(){const e=f.$async?n._`(${o}.async ? await ${d}(${r}) : ${d}(${r}))`:n._`${d}(${r})`,i=n._`(typeof ${d} == "function" ? ${e} : ${d}.test(${r}))`;return n._`${d} && ${d} !== true && ${c} === ${t} && !${i}`}()))}():function(){const s=l.formats[o];if(!s)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${d}"`}l.logger.warn(e())}();if(!0===s)return;const[a,c,u]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):p.code.formats?n._`${p.code.formats}${(0,n.getProperty)(o)}`:void 0,r=i.scopeValue("formats",{key:o,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,n._`${r}.validate`]}(s);a===t&&e.pass(function(){if("object"==typeof s&&!(s instanceof RegExp)&&s.async){if(!f.$async)throw new Error("async format in sync schema");return n._`await ${u}(${r})`}return"function"==typeof c?n._`${u}(${r})`:n._`${u}.test(${r})`}())}())}};t.default=r},31621:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[i(54110).default];t.default=n},33328:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},49222:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(63787),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:i,$data:o,schemaCode:a,schema:c}=e;o||c&&"object"==typeof c?e.fail$data(n._`!${(0,r.useFunc)(t,s.default)}(${i}, ${a})`):e.fail(n._`${c} !== ${i}`)}};t.default=o},17852:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(63787),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:i,$data:o,schema:a,schemaCode:c,it:p}=e;if(!o&&0===a.length)throw new Error("enum must have non-empty array");const d=a.length>=p.opts.loopEnum;let f;const l=()=>null!=f?f:f=(0,r.useFunc)(t,s.default);let u;if(d||o)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",c,(e=>t.if(n._`${l()}(${i}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);u=(0,n.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?n._`${l()}(${i}, ${e}[${t}])`:n._`${i} === ${r}`}(e,r))))}e.pass(u)}};t.default=o},60501:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(26871),r=i(1008),s=i(18278),o=i(53579),a=i(38523),c=i(84372),p=i(55188),d=i(65288),f=i(49222),l=i(17852),u=[n.default,r.default,s.default,o.default,a.default,c.default,p.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},f.default,l.default];t.default=u},55188:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxItems"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${i}.length ${s} ${r}`)}};t.default=r},18278:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=i(59236),s=i(57898),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxLength"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:o,it:a}=e,c="maxLength"===t?n.operators.GT:n.operators.LT,p=!1===a.opts.unicode?n._`${i}.length`:n._`${(0,r.useFunc)(e.gen,s.default)}(${i})`;e.fail$data(n._`${p} ${c} ${o}`)}};t.default=o},26871:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r=n.operators,s={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},o={message:({keyword:e,schemaCode:t})=>n.str`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${s[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(s),type:"number",schemaType:"number",$data:!0,error:o,code(e){const{keyword:t,data:i,schemaCode:r}=e;e.fail$data(n._`${i} ${s[t].fail} ${r} || isNaN(${i})`)}};t.default=a},38523:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const i="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${i} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:i,schemaCode:r}=e,s="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${i}).length ${s} ${r}`)}};t.default=r},1008:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(58704),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:i,schemaCode:r,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),c=o?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${r} === 0 || (${a} = ${i}/${r}, ${c}))`)}};t.default=r},53579:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:i,schema:s,schemaCode:o,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=i?r._`(new RegExp(${o}, ${c}))`:(0,n.usePattern)(e,s);e.fail$data(r._`!${p}.test(${t})`)}};t.default=s},84372:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(90824),r=i(58704),s=i(59236),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:i,schemaCode:o,data:a,$data:c,it:p}=e,{opts:d}=p;if(!c&&0===i.length)return;const f=i.length>=d.loopRequired;if(p.allErrors?function(){if(f||c)e.block$data(r.nil,l);else for(const t of i)(0,n.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(f||c){const i=t.let("valid",!0);e.block$data(i,(()=>function(i,s){e.setParams({missingProperty:i}),t.forOf(i,o,(()=>{t.assign(s,(0,n.propertyInData)(t,a,i,d.ownProperties)),t.if((0,r.not)(s),(()=>{e.error(),t.break()}))}),r.nil)}(s,i))),e.ok(i)}else t.if((0,n.checkMissingProp)(e,i,s)),(0,n.reportMissingProp)(e,s),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of i)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,s.checkStrictMode)(p,t,p.opts.strictRequired)}}function l(){t.forOf("prop",o,(i=>{e.setParams({missingProperty:i}),t.if((0,n.noPropertyInData)(t,a,i,d.ownProperties),(()=>e.error()))}))}}};t.default=o},65288:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(84321),r=i(58704),s=i(59236),o=i(63787),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:i,$data:a,schema:c,parentSchema:p,schemaCode:d,it:f}=e;if(!a&&!c)return;const l=t.let("valid"),u=p.items?(0,n.getSchemaTypes)(p.items):[];function m(s,o){const a=t.name("item"),c=(0,n.checkDataTypes)(u,a,f.opts.strictNumbers,n.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${s}--;`,(()=>{t.let(a,r._`${i}[${s}]`),t.if(c,r._`continue`),u.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(o,r._`${p}[${a}]`),e.error(),t.assign(l,!1).break()})).code(r._`${p}[${a}] = ${s}`)}))}function h(n,a){const c=(0,s.useFunc)(t,o.default),p=t.name("outer");t.label(p).for(r._`;${n}--;`,(()=>t.for(r._`${a} = ${n}; ${a}--;`,(()=>t.if(r._`${c}(${i}[${n}], ${i}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(p)}))))))}e.block$data(l,(function(){const n=t.let("i",r._`${i}.length`),s=t.let("j");e.setParams({i:n,j:s}),t.assign(l,!0),t.if(r._`${n} > 1`,(()=>(u.length>0&&!u.some((e=>"object"===e||"array"===e))?m:h)(n,s)))}),r._`${d} === false`),e.ok(l)}};t.default=a},48963:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),i(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function i(e,n,r,s,o,a,c,p,d,f){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var l in n(s,o,a,c,p,d,f),s){var u=s[l];if(Array.isArray(u)){if(l in t.arrayKeywords)for(var m=0;m{"use strict";function i(e,t){for(var i=0;i":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},s=17;t.NEEDS_PARENTHESES=s;var o,a,c,p,d,f,l={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:s,ClassExpression:s,FunctionExpression:s,ObjectExpression:s,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function u(e,t){var i=e.generator;if(e.write("("),null!=t&&t.length>0){i[t[0].type](t[0],e);for(var n=t.length,r=1;r0){e.write(n);for(var o=1;o0){i.VariableDeclarator(n[0],e);for(var s=1;s0){t.write(n),r&&null!=e.comments&&g(t,e.comments,s,n);for(var a=o.length,c=0;c0){for(;r0&&t.write(", ");var s=i[r],o=s.type[6];if("D"===o)t.write(s.local.name,s),r++;else{if("N"!==o)break;t.write("* as "+s.local.name,s),r++}}if(r0)for(var r=0;;){var s=i[r],o=s.local.name;if(t.write(o,s),o!==s.exported.name&&t.write(" as "+s.exported.name),!(++r "),"O"===e.body.type[0]?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression:function(e,t){t.write("this",e)},Super:function(e,t){t.write("super",e)},RestElement:c=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:c,YieldExpression:function(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression:function(e,t){t.write("await ",e),h(t,e.argument,e)},TemplateLiteral:function(e,t){var i=e.quasis,n=e.expressions;t.write("`");for(var r=n.length,s=0;s0)for(var i=e.elements,n=i.length,r=0;;){var s=i[r];if(null!=s&&this[s.type](s,t),!(++r0){t.write(n),r&&null!=e.comments&&g(t,e.comments,s,n);for(var o=","+n,a=e.properties,c=a.length,p=0;;){var d=a[p];if(r&&null!=d.comments&&g(t,d.comments,s,n),t.write(s),this[d.type](d,t),!(++p0)for(var i=e.properties,n=i.length,r=0;this[i[r].type](i[r],t),++r1)&&("U"!==r[0]||"n"!==r[1]&&"p"!==r[1]||!n.prefix||n.operator[0]!==i||"+"!==i&&"-"!==i)||t.write(" "),s?(t.write(i.length>1?" (":"("),this[r](n,t),t.write(")")):this[r](n,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression:function(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression:function(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern:function(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:p=function(e,t){var i="in"===e.operator;i&&t.write("("),h(t,e.left,e,!1),t.write(" "+e.operator+" "),h(t,e.right,e,!0),i&&t.write(")")},LogicalExpression:p,ConditionalExpression:function(e,t){var i=e.test,n=t.expressionsPrecedence[i.type];n===s||n<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[i.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression:function(e,t){t.write("new ");var i=t.expressionsPrecedence[e.callee.type];i===s||i0&&(this.lineEndSize>0&&(1===p.length?e[c-1]===p:e.endsWith(p))?(this.line+=this.lineEndSize,this.column=0):this.column+=c)}},{key:"toString",value:function(){return this.output}}])&&i(t.prototype,n),e}()},99986:e=>{"use strict";function t(e,t,r){e instanceof RegExp&&(e=i(e,r)),t instanceof RegExp&&(t=i(t,r));var s=n(e,t,r);return s&&{start:s[0],end:s[1],pre:r.slice(0,s[0]),body:r.slice(s[0]+e.length,s[1]),post:r.slice(s[1]+t.length)}}function i(e,t){var i=t.match(e);return i?i[0]:null}function n(e,t,i){var n,r,s,o,a,c=i.indexOf(e),p=i.indexOf(t,c+1),d=c;if(c>=0&&p>0){if(e===t)return[c,p];for(n=[],s=i.length;d>=0&&!a;)d==c?(n.push(d),c=i.indexOf(e,d+1)):1==n.length?a=[n.pop(),p]:((r=n.pop())=0?c:p;n.length&&(a=[s,o])}return a}e.exports=t,t.range=n},7991:(e,t)=>{"use strict";t.byteLength=function(e){var t=a(e),i=t[0],n=t[1];return 3*(i+n)/4-n},t.toByteArray=function(e){var t,i,s=a(e),o=s[0],c=s[1],p=new r(function(e,t,i){return 3*(t+i)/4-i}(0,o,c)),d=0,f=c>0?o-4:o;for(i=0;i>16&255,p[d++]=t>>8&255,p[d++]=255&t;return 2===c&&(t=n[e.charCodeAt(i)]<<2|n[e.charCodeAt(i+1)]>>4,p[d++]=255&t),1===c&&(t=n[e.charCodeAt(i)]<<10|n[e.charCodeAt(i+1)]<<4|n[e.charCodeAt(i+2)]>>2,p[d++]=t>>8&255,p[d++]=255&t),p},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,s=[],o=16383,a=0,p=n-r;ap?p:a+o));return 1===r?(t=e[n-1],s.push(i[t>>2]+i[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],s.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"=")),s.join("")};for(var i=[],n=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)i[o]=s[o],n[s.charCodeAt(o)]=o;function a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.indexOf("=");return-1===i&&(i=t),[i,i===t?0:4-i%4]}function c(e,t,n){for(var r,s,o=[],a=t;a>18&63]+i[s>>12&63]+i[s>>6&63]+i[63&s]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},1048:(e,t,i)=>{"use strict";var n=i(7991),r=i(39318),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=c,t.IS=50;var o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,i){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return p(e,t,i)}function p(e,t,i){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var i=0|h(e,t),n=a(i),r=n.write(e,t);return r!==i&&(n=n.slice(0,r)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(V(e,Uint8Array)){var t=new Uint8Array(e);return u(t.buffer,t.byteOffset,t.byteLength)}return l(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(V(e,ArrayBuffer)||e&&V(e.buffer,ArrayBuffer))return u(e,t,i);if("undefined"!=typeof SharedArrayBuffer&&(V(e,SharedArrayBuffer)||e&&V(e.buffer,SharedArrayBuffer)))return u(e,t,i);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,i);var r=function(e){if(c.isBuffer(e)){var t=0|m(e.length),i=a(t);return 0===i.length||e.copy(i,0,0,t),i}return void 0!==e.length?"number"!=typeof e.length||L(e.length)?a(0):l(e):"Buffer"===e.type&&Array.isArray(e.data)?l(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function d(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return d(e),a(e<0?0:0|m(e))}function l(e){for(var t=e.length<0?0:0|m(e.length),i=a(t),n=0;n=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function h(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||V(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var i=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return D(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return F(e).length;default:if(r)return n?-1:D(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,i){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,i);case"utf8":case"utf-8":return S(this,t,i);case"ascii":return E(this,t,i);case"latin1":case"binary":return A(this,t,i);case"base64":return P(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,i);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function g(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}function b(e,t,i,n,r){if(0===e.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),L(i=+i)&&(i=r?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(r)return-1;i=e.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:v(e,t,i,n,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,i):Uint8Array.prototype.lastIndexOf.call(e,t,i):v(e,[t],i,n,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,i,n,r){var s,o=1,a=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,i/=2}function p(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var d=-1;for(s=i;sa&&(i=a-c),s=i;s>=0;s--){for(var f=!0,l=0;lr&&(n=r):n=r;var s=t.length;n>s/2&&(n=s/2);for(var o=0;o>8,r=i%256,s.push(r),s.push(n);return s}(t,e.length-i),e,i,n)}function P(e,t,i){return 0===t&&i===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,i))}function S(e,t,i){i=Math.min(e.length,i);for(var n=[],r=t;r239?4:p>223?3:p>191?2:1;if(r+f<=i)switch(f){case 1:p<128&&(d=p);break;case 2:128==(192&(s=e[r+1]))&&(c=(31&p)<<6|63&s)>127&&(d=c);break;case 3:s=e[r+1],o=e[r+2],128==(192&s)&&128==(192&o)&&(c=(15&p)<<12|(63&s)<<6|63&o)>2047&&(c<55296||c>57343)&&(d=c);break;case 4:s=e[r+1],o=e[r+2],a=e[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(c=(15&p)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&c<1114112&&(d=c)}null===d?(d=65533,f=1):d>65535&&(d-=65536,n.push(d>>>10&1023|55296),d=56320|1023&d),n.push(d),r+=f}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);for(var i="",n=0;nn.length?c.from(s).copy(n,r):Uint8Array.prototype.set.call(n,s,r);else{if(!c.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,r)}r+=s.length}return n},c.byteLength=h,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;ti&&(e+=" ... "),""},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(e,t,i,n,r){if(V(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===i&&(i=e?e.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),t<0||i>e.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&t>=i)return 0;if(n>=r)return-1;if(t>=i)return 1;if(this===e)return 0;for(var s=(r>>>=0)-(n>>>=0),o=(i>>>=0)-(t>>>=0),a=Math.min(s,o),p=this.slice(n,r),d=e.slice(t,i),f=0;f>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-t;if((void 0===i||i>r)&&(i=r),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return $(this,e,t,i);case"utf8":case"utf-8":return j(this,e,t,i);case"ascii":case"latin1":case"binary":return _(this,e,t,i);case"base64":return w(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function E(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;rn)&&(i=n);for(var r="",s=t;si)throw new RangeError("Trying to access beyond buffer length")}function R(e,t,i,n,r,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function M(e,t,i,n,r,s){if(i+n>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function q(e,t,i,n,s){return t=+t,i>>>=0,s||M(e,0,i,4),r.write(e,t,i,n,23,4),i+4}function C(e,t,i,n,s){return t=+t,i>>>=0,s||M(e,0,i,8),r.write(e,t,i,n,52,8),i+8}c.prototype.slice=function(e,t){var i=this.length;(e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t>>=0,t>>>=0,i||k(e,t,this.length);for(var n=this[e],r=1,s=0;++s>>=0,t>>>=0,i||k(e,t,this.length);for(var n=this[e+--t],r=1;t>0&&(r*=256);)n+=this[e+--t]*r;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||k(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||k(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||k(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||k(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||k(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,i){e>>>=0,t>>>=0,i||k(e,t,this.length);for(var n=this[e],r=1,s=0;++s=(r*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,i){e>>>=0,t>>>=0,i||k(e,t,this.length);for(var n=t,r=1,s=this[e+--n];n>0&&(r*=256);)s+=this[e+--n]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return e>>>=0,t||k(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||k(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt16BE=function(e,t){e>>>=0,t||k(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||k(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||k(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return e>>>=0,t||k(e,4,this.length),r.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||k(e,4,this.length),r.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||k(e,8,this.length),r.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||k(e,8,this.length),r.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,i,n){e=+e,t>>>=0,i>>>=0,n||R(this,e,t,i,Math.pow(2,8*i)-1,0);var r=1,s=0;for(this[t]=255&e;++s>>=0,i>>>=0,n||R(this,e,t,i,Math.pow(2,8*i)-1,0);var r=i-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+i},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t>>>=0,!n){var r=Math.pow(2,8*i-1);R(this,e,t,i,r-1,-r)}var s=0,o=1,a=0;for(this[t]=255&e;++s>>=0,!n){var r=Math.pow(2,8*i-1);R(this,e,t,i,r-1,-r)}var s=i-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o|0)-a&255;return t+i},c.prototype.writeInt8=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,i){return e=+e,t>>>=0,i||R(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeFloatLE=function(e,t,i){return q(this,e,t,!0,i)},c.prototype.writeFloatBE=function(e,t,i){return q(this,e,t,!1,i)},c.prototype.writeDoubleLE=function(e,t,i){return C(this,e,t,!0,i)},c.prototype.writeDoubleBE=function(e,t,i){return C(this,e,t,!1,i)},c.prototype.copy=function(e,t,i,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,i=void 0===i?this.length:i>>>0,e||(e=0),"number"==typeof e)for(s=t;s55295&&i<57344){if(!r){if(i>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(t-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((t-=1)<0)break;s.push(i)}else if(i<2048){if((t-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function F(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(N,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,i,n){for(var r=0;r=t.length||r>=e.length);++r)t[r+i]=e[r];return r}function V(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function L(e){return e!=e}var z=function(){for(var e="0123456789abcdef",t=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)t[n+r]=e[i]+e[r];return t}()},79818:(e,t,i)=>{"use strict";var n=i(528),r=i(28498),s=r(n("String.prototype.indexOf"));e.exports=function(e,t){var i=n(e,!!t);return"function"==typeof i&&s(e,".prototype.")>-1?r(i):i}},28498:(e,t,i)=>{"use strict";var n=i(79138),r=i(528),s=i(26108),o=i(3468),a=r("%Function.prototype.apply%"),c=r("%Function.prototype.call%"),p=r("%Reflect.apply%",!0)||n.call(c,a),d=i(64940),f=r("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new o("a function is required");var t=p(n,c,arguments);return s(t,1+f(0,e.length-(arguments.length-1)),!0)};var l=function(){return p(n,a,arguments)};d?d(e.exports,"apply",{value:l}):e.exports.apply=l},55837:e=>{e.exports=function(e,i){for(var n=[],r=0;r{"use strict";var n=i(64940),r=i(5731),s=i(3468),o=i(69336);e.exports=function(e,t,i){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,p=arguments.length>5?arguments[5]:null,d=arguments.length>6&&arguments[6],f=!!o&&o(e,t);if(n)n(e,t,{configurable:null===p&&f?f.configurable:!p,enumerable:null===a&&f?f.enumerable:!a,value:i,writable:null===c&&f?f.writable:!c});else{if(!d&&(a||c||p))throw new r("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=i}}},41857:(e,t,i)=>{"use strict";var n=i(49228),r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),s=Object.prototype.toString,o=Array.prototype.concat,a=i(70686),c=i(17239)(),p=function(e,t,i,n){if(t in e)if(!0===n){if(e[t]===i)return}else if("function"!=typeof(r=n)||"[object Function]"!==s.call(r)||!n())return;var r;c?a(e,t,i,!0):a(e,t,i)},d=function(e,t){var i=arguments.length>2?arguments[2]:{},s=n(t);r&&(s=o.call(s,Object.getOwnPropertySymbols(t)));for(var a=0;a{function i(e,t,i,n){var s={};return function(o){if(!s[o]){var a={},c=[],p=[];for(p.push({node:o,processed:!1});p.length>0;){var d=p[p.length-1],f=d.processed,l=d.node;if(f)p.pop(),c.pop(),a[l]=!1,s[l]=!0,t&&0!==e[l].length||i.push(l);else{if(s[l]){p.pop();continue}if(a[l]){if(n){p.pop();continue}throw c.push(l),new r(c)}a[l]=!0,c.push(l);for(var u=e[l],m=u.length-1;m>=0;m--)p.push({node:u[m],processed:!1});d.processed=!0}}}}}var n=t.DepGraph=function(e){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=e&&!!e.circular};n.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(e,t){this.hasNode(e)||(this.nodes[e]=2===arguments.length?t:e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode:function(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach((function(t){Object.keys(t).forEach((function(i){var n=t[i].indexOf(e);n>=0&&t[i].splice(n,1)}),this)})))},hasNode:function(e){return this.nodes.hasOwnProperty(e)},getNodeData:function(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency:function(e,t){var i;this.hasNode(e)&&(i=this.outgoingEdges[e].indexOf(t))>=0&&this.outgoingEdges[e].splice(i,1),this.hasNode(t)&&(i=this.incomingEdges[t].indexOf(e))>=0&&this.incomingEdges[t].splice(i,1)},clone:function(){var e=this,t=new n;return Object.keys(e.nodes).forEach((function(i){t.nodes[i]=e.nodes[i],t.outgoingEdges[i]=e.outgoingEdges[i].slice(0),t.incomingEdges[i]=e.incomingEdges[i].slice(0)})),t},directDependenciesOf:function(e){if(this.hasNode(e))return this.outgoingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},directDependantsOf:function(e){if(this.hasNode(e))return this.incomingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},dependenciesOf:function(e,t){if(this.hasNode(e)){var n=[];i(this.outgoingEdges,t,n,this.circular)(e);var r=n.indexOf(e);return r>=0&&n.splice(r,1),n}throw new Error("Node does not exist: "+e)},dependantsOf:function(e,t){if(this.hasNode(e)){var n=[];i(this.incomingEdges,t,n,this.circular)(e);var r=n.indexOf(e);return r>=0&&n.splice(r,1),n}throw new Error("Node does not exist: "+e)},overallOrder:function(e){var t=this,n=[],r=Object.keys(this.nodes);if(0===r.length)return n;if(!this.circular){var s=i(this.outgoingEdges,!1,[],this.circular);r.forEach((function(e){s(e)}))}var o=i(this.outgoingEdges,e,n,this.circular);return r.filter((function(e){return 0===t.incomingEdges[e].length})).forEach((function(e){o(e)})),this.circular&&r.filter((function(e){return-1===n.indexOf(e)})).forEach((function(e){o(e)})),n},entryNodes:function(){var e=this;return Object.keys(this.nodes).filter((function(t){return 0===e.incomingEdges[t].length}))}},n.prototype.directDependentsOf=n.prototype.directDependantsOf,n.prototype.dependentsOf=n.prototype.dependantsOf;var r=t.DepGraphCycleError=function(e){var t="Dependency Cycle Found: "+e.join(" -> "),i=new Error(t);return i.cyclePath=e,Object.setPrototypeOf(i,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(i,r),i};r.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(r,Error)},71401:(e,t,i)=>{"use strict";var n=i(10207),r=i(78464),s=i(22693),o=i(17239)(),a=i(51192),c=i(29954),p=i(29838);function d(e,t){var i=new p(t);c(i,f),delete i.constructor;var r=a(s(e,"SYNC"));return n(i,"errors",r),i}o&&Object.defineProperty(d,"prototype",{writable:!1});var f=d.prototype;if(!r(f,"constructor",d)||!r(f,"message","")||!r(f,"name","AggregateError"))throw new p("unable to install AggregateError.prototype properties; please report this!");c(d.prototype,Error.prototype),e.exports=d},99639:(e,t,i)=>{"use strict";var n=i(79138),r=i(41857),s=i(19343),o=i(70686),a=i(71401),c=i(68604),p=i(66614),d=c(),f=s(n.call(d),d.name,!0);o(f,"prototype",d.prototype,!0,!0,!0,!0),r(f,{getPolyfill:c,implementation:a,shim:p}),e.exports=f},68604:(e,t,i)=>{"use strict";var n=i(71401);e.exports=function(){return"function"==typeof AggregateError?AggregateError:n}},66614:(e,t,i)=>{"use strict";var n=i(41857),r=i(6541)(),s=i(68604);e.exports=function(){var e=s();return n(r,{AggregateError:e},{AggregateError:function(){return r.AggregateError!==e}}),e}},64940:(e,t,i)=>{"use strict";var n=i(528)("%Object.defineProperty%",!0)||!1;if(n)try{n({},"a",{value:1})}catch(e){n=!1}e.exports=n},29110:e=>{"use strict";e.exports=EvalError},29838:e=>{"use strict";e.exports=Error},83536:e=>{"use strict";e.exports=RangeError},94943:e=>{"use strict";e.exports=ReferenceError},5731:e=>{"use strict";e.exports=SyntaxError},3468:e=>{"use strict";e.exports=TypeError},32140:e=>{"use strict";e.exports=URIError},38792:e=>{"use strict";e.exports=function e(t,i){if(t===i)return!0;if(t&&i&&"object"==typeof t&&"object"==typeof i){if(t.constructor!==i.constructor)return!1;var n,r,s;if(Array.isArray(t)){if((n=t.length)!=i.length)return!1;for(r=n;0!=r--;)if(!e(t[r],i[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===i.source&&t.flags===i.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===i.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===i.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(i).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(i,s[r]))return!1;for(r=n;0!=r--;){var o=s[r];if(!e(t[o],i[o]))return!1}return!0}return t!=t&&i!=i}},2940:e=>{function t(e,t,i,n){var r,s=null==(r=n)||"number"==typeof r||"boolean"==typeof r?n:i(n),o=t.get(s);return void 0===o&&(o=e.call(this,n),t.set(s,o)),o}function i(e,t,i){var n=Array.prototype.slice.call(arguments,3),r=i(n),s=t.get(r);return void 0===s&&(s=e.apply(this,n),t.set(r,s)),s}function n(e,t,i,n,r){return i.bind(t,e,n,r)}function r(e,r){return n(e,this,1===e.length?t:i,r.cache.create(),r.serializer)}function s(){return JSON.stringify(arguments)}function o(){this.cache=Object.create(null)}o.prototype.has=function(e){return e in this.cache},o.prototype.get=function(e){return this.cache[e]},o.prototype.set=function(e,t){this.cache[e]=t};var a={create:function(){return new o}};e.exports=function(e,t){var i=t&&t.cache?t.cache:a,n=t&&t.serializer?t.serializer:s;return(t&&t.strategy?t.strategy:r)(e,{cache:i,serializer:n})},e.exports.strategies={variadic:function(e,t){return n(e,this,i,t.cache.create(),t.serializer)},monadic:function(e,i){return n(e,this,t,i.cache.create(),i.serializer)}}},28794:e=>{"use strict";var t=Object.prototype.toString,i=Math.max,n=function(e,t){for(var i=[],n=0;n{"use strict";var n=i(28794);e.exports=Function.prototype.bind||n},68993:e=>{"use strict";var t=function(){return"string"==typeof function(){}.name},i=Object.getOwnPropertyDescriptor;if(i)try{i([],"length")}catch(e){i=null}t.functionsHaveConfigurableNames=function(){if(!t()||!i)return!1;var e=i((function(){}),"name");return!!e&&!!e.configurable};var n=Function.prototype.bind;t.boundFunctionsHaveNames=function(){return t()&&"function"==typeof n&&""!==function(){}.bind().name},e.exports=t},528:(e,t,i)=>{"use strict";var n,r=i(29838),s=i(29110),o=i(83536),a=i(94943),c=i(5731),p=i(3468),d=i(32140),f=Function,l=function(e){try{return f('"use strict"; return ('+e+").constructor;")()}catch(e){}},u=Object.getOwnPropertyDescriptor;if(u)try{u({},"")}catch(e){u=null}var m=function(){throw new p},h=u?function(){try{return m}catch(e){try{return u(arguments,"callee").get}catch(e){return m}}}():m,y=i(53558)(),g=i(66869)(),b=Object.getPrototypeOf||(g?function(e){return e.__proto__}:null),v={},$="undefined"!=typeof Uint8Array&&b?b(Uint8Array):n,j={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":y&&b?b([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?n:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":s,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":f,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":y&&b?b(b([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&y&&b?b((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":o,"%ReferenceError%":a,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&y&&b?b((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":y&&b?b(""[Symbol.iterator]()):n,"%Symbol%":y?Symbol:n,"%SyntaxError%":c,"%ThrowTypeError%":h,"%TypedArray%":$,"%TypeError%":p,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":d,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet};if(b)try{null.error}catch(e){var _=b(b(e));j["%Error.prototype%"]=_}var w=function e(t){var i;if("%AsyncFunction%"===t)i=l("async function () {}");else if("%GeneratorFunction%"===t)i=l("function* () {}");else if("%AsyncGeneratorFunction%"===t)i=l("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(i=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var r=e("%AsyncGenerator%");r&&b&&(i=b(r.prototype))}return j[t]=i,i},x={__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"]},P=i(79138),S=i(78554),O=P.call(Function.call,Array.prototype.concat),E=P.call(Function.apply,Array.prototype.splice),A=P.call(Function.call,String.prototype.replace),T=P.call(Function.call,String.prototype.slice),I=P.call(Function.call,RegExp.prototype.exec),k=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,R=/\\(\\)?/g,M=function(e,t){var i,n=e;if(S(x,n)&&(n="%"+(i=x[n])[0]+"%"),S(j,n)){var r=j[n];if(r===v&&(r=w(n)),void 0===r&&!t)throw new p("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:r}}throw new c("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new p("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new p('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,e))throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=function(e){var t=T(e,0,1),i=T(e,-1);if("%"===t&&"%"!==i)throw new c("invalid intrinsic syntax, expected closing `%`");if("%"===i&&"%"!==t)throw new c("invalid intrinsic syntax, expected opening `%`");var n=[];return A(e,k,(function(e,t,i,r){n[n.length]=i?A(r,R,"$1"):t||e})),n}(e),n=i.length>0?i[0]:"",r=M("%"+n+"%",t),s=r.name,o=r.value,a=!1,d=r.alias;d&&(n=d[0],E(i,O([0,1],d)));for(var f=1,l=!0;f=i.length){var g=u(o,m);o=(l=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[m]}else l=S(o,m),o=o[m];l&&!a&&(j[s]=o)}}return o}},60285:e=>{"use strict";"undefined"!=typeof self?e.exports=self:"undefined"!=typeof window?e.exports=window:e.exports=Function("return this")()},6541:(e,t,i)=>{"use strict";var n=i(41857),r=i(60285),s=i(83658),o=i(74952),a=s(),c=function(){return a};n(c,{getPolyfill:s,implementation:r,shim:o}),e.exports=c},83658:(e,t,i)=>{"use strict";var n=i(60285);e.exports=function(){return"object"==typeof i.g&&i.g&&i.g.Math===Math&&i.g.Array===Array?i.g:n}},74952:(e,t,i)=>{"use strict";var n=i(41857),r=i(83658);e.exports=function(){var e=r();if(n.supportsDescriptors){var t=Object.getOwnPropertyDescriptor(e,"globalThis");t&&(!t.configurable||!t.enumerable&&t.writable&&globalThis===e)||Object.defineProperty(e,"globalThis",{configurable:!0,enumerable:!1,value:e,writable:!0})}else"object"==typeof globalThis&&globalThis===e||(e.globalThis=e);return e}},69336:(e,t,i)=>{"use strict";var n=i(528)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(e){n=null}e.exports=n},17239:(e,t,i)=>{"use strict";var n=i(64940),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return 1!==n([],"length",{value:1}).length}catch(e){return!0}},e.exports=r},66869:e=>{"use strict";var t={__proto__:null,foo:{}},i=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!(t instanceof i)}},53558:(e,t,i)=>{"use strict";var n="undefined"!=typeof Symbol&&Symbol,r=i(62908);e.exports=function(){return"function"==typeof n&&"function"==typeof Symbol&&"symbol"==typeof n("foo")&&"symbol"==typeof Symbol("bar")&&r()}},62908:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),i=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(i))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var n=Object.getOwnPropertySymbols(e);if(1!==n.length||n[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(e,t);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},51913:(e,t,i)=>{"use strict";var n=i(62908);e.exports=function(){return n()&&!!Symbol.toStringTag}},78554:(e,t,i)=>{"use strict";var n=Function.prototype.call,r=Object.prototype.hasOwnProperty,s=i(79138);e.exports=s.call(n,r)},39318:(e,t)=>{t.read=function(e,t,i,n,r){var s,o,a=8*r-n-1,c=(1<>1,d=-7,f=i?r-1:0,l=i?-1:1,u=e[t+f];for(f+=l,s=u&(1<<-d)-1,u>>=-d,d+=a;d>0;s=256*s+e[t+f],f+=l,d-=8);for(o=s&(1<<-d)-1,s>>=-d,d+=n;d>0;o=256*o+e[t+f],f+=l,d-=8);if(0===s)s=1-p;else{if(s===c)return o?NaN:1/0*(u?-1:1);o+=Math.pow(2,n),s-=p}return(u?-1:1)*o*Math.pow(2,s-n)},t.write=function(e,t,i,n,r,s){var o,a,c,p=8*s-r-1,d=(1<>1,l=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,u=n?0:s-1,m=n?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=d):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+f>=1?l/c:l*Math.pow(2,1-f))*c>=2&&(o++,c/=2),o+f>=d?(a=0,o=d):o+f>=1?(a=(t*c-1)*Math.pow(2,r),o+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,r),o=0));r>=8;e[i+u]=255&a,u+=m,a/=256,r-=8);for(o=o<0;e[i+u]=255&o,u+=m,o/=256,p-=8);e[i+u-m]|=128*h}},58712:(e,t)=>{function i(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n3?t.t-4:t.t:Array.isArray(e)?1:f(e)?2:l(e)?3:0}function a(e,t){return 2===o(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function c(e,t){return 2===o(e)?e.get(t):e[t]}function p(e,t,i){var n=o(e);2===n?e.set(t,i):3===n?e.add(i):e[t]=i}function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function f(e){return z&&e instanceof Map}function l(e){return B&&e instanceof Set}function u(e){return e.i||e.u}function m(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Y(e);delete t[J];for(var i=Z(t),n=0;n1&&(e.set=e.add=e.clear=e.delete=y),Object.freeze(e),t&&s(e,(function(e,t){return h(t,!0)}),!0)),e}function y(){i(2)}function g(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function b(e){var t=X[e];return t||i(18,e),t}function v(e,t){X[e]||(X[e]=t)}function $(){return V}function j(e,t){t&&(b("Patches"),e.o=[],e.v=[],e.s=t)}function _(e){w(e),e.p.forEach(P),e.p=null}function w(e){e===V&&(V=e.l)}function x(e){return V={p:[],l:V,h:e,_:!0,m:0}}function P(e){var t=e[J];0===t.t||1===t.t?t.j():t.O=!0}function S(e,t){t.m=t.p.length;var n=t.p[0],s=void 0!==e&&e!==n;return t.h.S||b("ES5").P(t,e,s),s?(n[J].g&&(_(t),i(4)),r(e)&&(e=O(t,e),t.l||A(t,e)),t.o&&b("Patches").M(n[J].u,e,t.o,t.v)):e=O(t,n,[]),_(t),t.o&&t.s(t.o,t.v),e!==G?e:void 0}function O(e,t,i){if(g(t))return t;var n=t[J];if(!n)return s(t,(function(r,s){return E(e,n,t,r,s,i)}),!0),t;if(n.A!==e)return t;if(!n.g)return A(e,n.u,!0),n.u;if(!n.R){n.R=!0,n.A.m--;var r=4===n.t||5===n.t?n.i=m(n.k):n.i,o=r,a=!1;3===n.t&&(o=new Set(r),r.clear(),a=!0),s(o,(function(t,s){return E(e,n,r,t,s,i,a)})),A(e,r,!1),i&&e.o&&b("Patches").F(n,i,e.o,e.v)}return n.i}function E(e,t,i,s,o,c,d){if(n(o)){var f=O(e,o,c&&t&&3!==t.t&&!a(t.N,s)?c.concat(s):void 0);if(p(i,s,f),!n(f))return;e._=!1}else d&&i.add(o);if(r(o)&&!g(o)){if(!e.h.D&&e.m<1)return;O(e,o),t&&t.A.l||A(e,o)}}function A(e,t,i){void 0===i&&(i=!1),!e.l&&e.h.D&&e._&&h(t,i)}function T(e,t){var i=e[J];return(i?u(i):e)[t]}function I(e,t){if(t in e)for(var i=Object.getPrototypeOf(e);i;){var n=Object.getOwnPropertyDescriptor(i,t);if(n)return n;i=Object.getPrototypeOf(i)}}function k(e){e.g||(e.g=!0,e.l&&k(e.l))}function R(e){e.i||(e.i=m(e.u))}function M(e,t,i){var n=f(t)?b("MapSet").K(t,i):l(t)?b("MapSet").$(t,i):e.S?function(e,t){var i=Array.isArray(e),n={t:i?1:0,A:t?t.A:$(),g:!1,R:!1,N:{},l:t,u:e,k:null,i:null,j:null,C:!1},r=n,s=ee;i&&(r=[n],s=te);var o=Proxy.revocable(r,s),a=o.revoke,c=o.proxy;return n.k=c,n.j=a,c}(t,i):b("ES5").I(t,i);return(i?i.A:$()).p.push(n),n}function q(e){return n(e)||i(22,e),function e(t){if(!r(t))return t;var i,n=t[J],a=o(t);if(n){if(!n.g&&(n.t<4||!b("ES5").J(n)))return n.u;n.R=!0,i=C(t,a),n.R=!1}else i=C(t,a);return s(i,(function(t,r){n&&c(n.u,t)===r||p(i,t,e(r))})),3===a?new Set(i):i}(e)}function C(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return m(e)}function N(){function e(e,t){var i=o[e];return i?i.enumerable=t:o[e]=i={configurable:!0,enumerable:t,get:function(){return ee.get(this[J],e)},set:function(t){ee.set(this[J],e,t)}},i}function t(e){for(var t=e.length-1;t>=0;t--){var n=e[t][J];if(!n.g)switch(n.t){case 5:r(n)&&k(n);break;case 4:i(n)&&k(n)}}}function i(e){for(var t=e.u,i=e.k,n=Z(i),r=n.length-1;r>=0;r--){var s=n[r];if(s!==J){var o=t[s];if(void 0===o&&!a(t,s))return!0;var c=i[s],p=c&&c[J];if(p?p.u!==o:!d(c,o))return!0}}var f=!!t[J];return n.length!==Z(t).length+(f?0:1)}function r(e){var t=e.k;if(t.length!==e.u.length)return!0;var i=Object.getOwnPropertyDescriptor(t,t.length-1);if(i&&!i.get)return!0;for(var n=0;n1?i-1:0),s=1;s1?n-1:0),s=1;s=0;i--){var r=t[i];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}i>-1&&(t=t.slice(i+1));var s=b("Patches").W;return n(e)?s(e,t):this.produce(e,(function(e){return s(e,t)}))},e}(),ne=new ie,re=ne.produce,se=ne.produceWithPatches.bind(ne),oe=ne.setAutoFreeze.bind(ne),ae=ne.setUseProxies.bind(ne),ce=ne.applyPatches.bind(ne),pe=ne.createDraft.bind(ne),de=ne.finishDraft.bind(ne);t.Immer=ie,t.applyPatches=ce,t.castDraft=function(e){return e},t.castImmutable=function(e){return e},t.createDraft=pe,t.current=q,t.default=re,t.enableAllPlugins=function(){N(),F(),D()},t.enableES5=N,t.enableMapSet=F,t.enablePatches=D,t.finishDraft=de,t.freeze=h,t.immerable=H,t.isDraft=n,t.isDraftable=r,t.nothing=G,t.original=function(e){return n(e)||i(23,e),e[J].u},t.produce=re,t.produceWithPatches=se,t.setAutoFreeze=oe,t.setUseProxies=ae},79725:(e,t,i)=>{"use strict";e.exports=i(58712)},66986:(e,t,i)=>{"use strict";var n=i(78554),r=i(77575)(),s=i(3468),o={assert:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");if(r.assert(e),!o.has(e,t))throw new s("`"+t+"` is not present on `O`")},get:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");var i=r.get(e);return i&&i["$"+t]},has:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");var i=r.get(e);return!!i&&n(i,"$"+t)},set:function(e,t,i){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`O` is not an object");if("string"!=typeof t)throw new s("`slot` must be a string");var n=r.get(e);n||(n={},r.set(e,n)),n["$"+t]=i}};Object.freeze&&Object.freeze(o),e.exports=o},89617:e=>{"use strict";var t,i,n=Function.prototype.toString,r="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof r&&"function"==typeof Object.defineProperty)try{t=Object.defineProperty({},"length",{get:function(){throw i}}),i={},r((function(){throw 42}),null,t)}catch(e){e!==i&&(r=null)}else r=null;var s=/^\s*class\b/,o=function(e){try{var t=n.call(e);return s.test(t)}catch(e){return!1}},a=function(e){try{return!o(e)&&(n.call(e),!0)}catch(e){return!1}},c=Object.prototype.toString,p="function"==typeof Symbol&&!!Symbol.toStringTag,d=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var l=document.all;c.call(l)===c.call(document.all)&&(f=function(e){if((d||!e)&&(void 0===e||"object"==typeof e))try{var t=c.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=r?function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{r(e,null,t)}catch(e){if(e!==i)return!1}return!o(e)&&a(e)}:function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(p)return a(e);if(o(e))return!1;var t=c.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&a(e)}},8120:(e,t,i)=>{"use strict";var n=String.prototype.valueOf,r=Object.prototype.toString,s=i(51913)();e.exports=function(e){return"string"==typeof e||"object"==typeof e&&(s?function(e){try{return n.call(e),!0}catch(e){return!1}}(e):"[object String]"===r.call(e))}},45838:(e,t)=>{var i=/~/,n=/~[01]/g;function r(e){switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Invalid tilde escape: "+e)}function s(e){return i.test(e)?e.replace(n,r):e}function o(e){if("string"==typeof e){if(""===(e=e.split("/"))[0])return e;throw new Error("Invalid JSON pointer.")}if(Array.isArray(e)){for(const t of e)if("string"!=typeof t&&"number"!=typeof t)throw new Error("Invalid JSON pointer. Must be of type string or number.");return e}throw new Error("Invalid JSON pointer.")}function a(e,t){if("object"!=typeof e)throw new Error("Invalid input object.");var i=(t=o(t)).length;if(1===i)return e;for(var n=1;no,void 0===e[n]&&(Array.isArray(e)&&"-"===n&&(n=e.length),r&&(""!==t[o]&&t[o]<1/0||"-"===t[o]?e[n]=[]:e[n]={})),!r)break;e=e[n]}var c=e[n];return void 0===i?delete e[n]:e[n]=i,c}(e,t,i)}t.get=a,t.set=c,t.compile=function(e){var t=o(e);return{get:function(e){return a(e,t)},set:function(e,i){return c(e,t,i)}}}},76502:e=>{"use strict";const t=[],i=[],n=(e,n)=>{if(e===n)return 0;const r=e;e.length>n.length&&(e=n,n=r);let s=e.length,o=n.length;for(;s>0&&e.charCodeAt(~-s)===n.charCodeAt(~-o);)s--,o--;let a,c,p,d,f=0;for(;fc?d>c?c+1:d:d>p?p+1:d;return c};e.exports=n,e.exports.default=n},86981:(e,t,i)=>{var n,r="__lodash_hash_undefined__",s="[object Function]",o="[object GeneratorFunction]",a="[object Symbol]",c=/^\./,p=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,d=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,l="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,u="object"==typeof self&&self&&self.Object===Object&&self,m=l||u||Function("return this")(),h=Array.prototype,y=Function.prototype,g=Object.prototype,b=m["__core-js_shared__"],v=(n=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",$=y.toString,j=g.hasOwnProperty,_=g.toString,w=RegExp("^"+$.call(j).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),x=m.Symbol,P=h.splice,S=q(m,"Map"),O=q(Object,"create"),E=x?x.prototype:void 0,A=E?E.toString:void 0;function T(e){var t=-1,i=e?e.length:0;for(this.clear();++t-1},I.prototype.set=function(e,t){var i=this.__data__,n=R(i,e);return n<0?i.push([e,t]):i[n][1]=t,this},k.prototype.clear=function(){this.__data__={hash:new T,map:new(S||I),string:new T}},k.prototype.delete=function(e){return M(this,e).delete(e)},k.prototype.get=function(e){return M(this,e).get(e)},k.prototype.has=function(e){return M(this,e).has(e)},k.prototype.set=function(e,t){return M(this,e).set(e,t),this};var C=D((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(V(e))return A?A.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var i=[];return c.test(e)&&i.push(""),e.replace(p,(function(e,t,n,r){i.push(n?r.replace(d,"$1"):t||e)})),i}));function N(e){if("string"==typeof e||V(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function D(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],s=i.cache;if(s.has(r))return s.get(r);var o=e.apply(this,n);return i.cache=s.set(r,o),o};return i.cache=new(D.Cache||k),i}D.Cache=k;var F=Array.isArray;function U(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function V(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&_.call(e)==a}e.exports=function(e){return F(e)?function(e,t){for(var i=-1,n=e?e.length:0,r=Array(n);++i{var n=i(23305),r=i(39361),s=i(11112),o=i(25276),a=i(57452);function c(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t{var n=i(12393),r=i(62049),s=i(7144),o=i(7452),a=i(13964);function c(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t{var n=i(94715)(i(78942),"Map");e.exports=n},68250:(e,t,i)=>{var n=i(49753),r=i(5681),s=i(80088),o=i(54732),a=i(59068);function c(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t{var n=i(78942).Symbol;e.exports=n},65111:e=>{e.exports=function(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i{var n=i(57073),r=i(46285),s=Object.prototype.hasOwnProperty;e.exports=function(e,t,i){var o=e[t];s.call(e,t)&&r(o,i)&&(void 0!==i||t in e)||n(e,t,i)}},97034:(e,t,i)=>{var n=i(46285);e.exports=function(e,t){for(var i=e.length;i--;)if(n(e[i][0],t))return i;return-1}},57073:(e,t,i)=>{var n=i(72532);e.exports=function(e,t,i){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i}},57923:(e,t,i)=>{var n=i(93526),r=i(66040);e.exports=function(e,t){for(var i=0,s=(t=n(t,e)).length;null!=e&&i{var n=i(65650),r=i(8870),s=i(29005),o=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?r(e):s(e)}},89624:(e,t,i)=>{var n=i(93655),r=i(64759),s=i(41580),o=i(64066),a=/^\[object .+?Constructor\]$/,c=Function.prototype,p=Object.prototype,d=c.toString,f=p.hasOwnProperty,l=RegExp("^"+d.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!s(e)||r(e))&&(n(e)?l:a).test(o(e))}},87655:(e,t,i)=>{var n=i(3422),r=i(93526),s=i(69632),o=i(41580),a=i(66040);e.exports=function(e,t,i,c){if(!o(e))return e;for(var p=-1,d=(t=r(t,e)).length,f=d-1,l=e;null!=l&&++p{var n=i(65650),r=i(65111),s=i(53142),o=i(51187),a=n?n.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(s(t))return r(t,e)+"";if(o(t))return c?c.call(t):"";var i=t+"";return"0"==i&&1/t==-1/0?"-0":i}},93526:(e,t,i)=>{var n=i(53142),r=i(65187),s=i(96493),o=i(95243);e.exports=function(e,t){return n(e)?e:r(e,t)?[e]:s(o(e))}},41950:(e,t,i)=>{var n=i(78942)["__core-js_shared__"];e.exports=n},72532:(e,t,i)=>{var n=i(94715),r=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=r},74967:(e,t,i)=>{var n="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;e.exports=n},44700:(e,t,i)=>{var n=i(79067);e.exports=function(e,t){var i=e.__data__;return n(t)?i["string"==typeof t?"string":"hash"]:i.map}},94715:(e,t,i)=>{var n=i(89624),r=i(20155);e.exports=function(e,t){var i=r(e,t);return n(i)?i:void 0}},8870:(e,t,i)=>{var n=i(65650),r=Object.prototype,s=r.hasOwnProperty,o=r.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=s.call(e,a),i=e[a];try{e[a]=void 0;var n=!0}catch(e){}var r=o.call(e);return n&&(t?e[a]=i:delete e[a]),r}},20155:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},23305:(e,t,i)=>{var n=i(94497);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},39361:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},11112:(e,t,i)=>{var n=i(94497),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var i=t[e];return"__lodash_hash_undefined__"===i?void 0:i}return r.call(t,e)?t[e]:void 0}},25276:(e,t,i)=>{var n=i(94497),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:r.call(t,e)}},57452:(e,t,i)=>{var n=i(94497);e.exports=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},69632:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,i){var n=typeof e;return!!(i=null==i?9007199254740991:i)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e{var n=i(53142),r=i(51187),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!r(e))||o.test(e)||!s.test(e)||null!=t&&e in Object(t)}},79067:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},64759:(e,t,i)=>{var n,r=i(41950),s=(n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!s&&s in e}},12393:e=>{e.exports=function(){this.__data__=[],this.size=0}},62049:(e,t,i)=>{var n=i(97034),r=Array.prototype.splice;e.exports=function(e){var t=this.__data__,i=n(t,e);return!(i<0||(i==t.length-1?t.pop():r.call(t,i,1),--this.size,0))}},7144:(e,t,i)=>{var n=i(97034);e.exports=function(e){var t=this.__data__,i=n(t,e);return i<0?void 0:t[i][1]}},7452:(e,t,i)=>{var n=i(97034);e.exports=function(e){return n(this.__data__,e)>-1}},13964:(e,t,i)=>{var n=i(97034);e.exports=function(e,t){var i=this.__data__,r=n(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}},49753:(e,t,i)=>{var n=i(25098),r=i(1386),s=i(19770);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(s||r),string:new n}}},5681:(e,t,i)=>{var n=i(44700);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},80088:(e,t,i)=>{var n=i(44700);e.exports=function(e){return n(this,e).get(e)}},54732:(e,t,i)=>{var n=i(44700);e.exports=function(e){return n(this,e).has(e)}},59068:(e,t,i)=>{var n=i(44700);e.exports=function(e,t){var i=n(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}},76853:(e,t,i)=>{var n=i(69011);e.exports=function(e){var t=n(e,(function(e){return 500===i.size&&i.clear(),e})),i=t.cache;return t}},94497:(e,t,i)=>{var n=i(94715)(Object,"create");e.exports=n},29005:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},78942:(e,t,i)=>{var n=i(74967),r="object"==typeof self&&self&&self.Object===Object&&self,s=n||r||Function("return this")();e.exports=s},96493:(e,t,i)=>{var n=i(76853),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,o=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r,(function(e,i,n,r){t.push(n?r.replace(s,"$1"):i||e)})),t}));e.exports=o},66040:(e,t,i)=>{var n=i(51187);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},64066:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},46285:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},46123:(e,t,i)=>{var n=i(57923);e.exports=function(e,t,i){var r=null==e?void 0:n(e,t);return void 0===r?i:r}},53142:e=>{var t=Array.isArray;e.exports=t},93655:(e,t,i)=>{var n=i(87379),r=i(41580);e.exports=function(e){if(!r(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},41580:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},80547:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},51187:(e,t,i)=>{var n=i(87379),r=i(80547);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==n(e)}},45250:function(e,t,i){var n;e=i.nmd(e),function(){var r,s="Expected a function",o="__lodash_hash_undefined__",a="__lodash_placeholder__",c=32,p=128,d=1/0,f=9007199254740991,l=NaN,u=4294967295,m=[["ary",p],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],h="[object Arguments]",y="[object Array]",g="[object Boolean]",b="[object Date]",v="[object Error]",$="[object Function]",j="[object GeneratorFunction]",_="[object Map]",w="[object Number]",x="[object Object]",P="[object Promise]",S="[object RegExp]",O="[object Set]",E="[object String]",A="[object Symbol]",T="[object WeakMap]",I="[object ArrayBuffer]",k="[object DataView]",R="[object Float32Array]",M="[object Float64Array]",q="[object Int8Array]",C="[object Int16Array]",N="[object Int32Array]",D="[object Uint8Array]",F="[object Uint8ClampedArray]",U="[object Uint16Array]",V="[object Uint32Array]",L=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,B=/(__e\(.*?\)|\b__t\)) \+\n'';/g,K=/&(?:amp|lt|gt|quot|#39);/g,G=/[&<>"']/g,H=RegExp(K.source),J=RegExp(G.source),W=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,Y=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ie=RegExp(te.source),ne=/^\s+/,re=/\s/,se=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,ce=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pe=/[()=,{}\[\]\/\s]/,de=/\\(\\)?/g,fe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,le=/\w*$/,ue=/^[-+]0x[0-9a-f]+$/i,me=/^0b[01]+$/i,he=/^\[object .+?Constructor\]$/,ye=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,be=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ve=/($^)/,$e=/['\n\r\u2028\u2029\\]/g,je="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",xe="a-z\\xdf-\\xf6\\xf8-\\xff",Pe="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Oe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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",Ee="["+je+"]",Ae="["+Oe+"]",Te="["+_e+"]",Ie="\\d+",ke="["+we+"]",Re="["+xe+"]",Me="[^"+je+Oe+Ie+we+xe+Pe+"]",qe="\\ud83c[\\udffb-\\udfff]",Ce="[^"+je+"]",Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Pe+"]",Ue="\\u200d",Ve="(?:"+Re+"|"+Me+")",Le="(?:"+Fe+"|"+Me+")",ze="(?:['’](?:d|ll|m|re|s|t|ve))?",Be="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ke="(?:"+Te+"|"+qe+")?",Ge="["+Se+"]?",He=Ge+Ke+"(?:"+Ue+"(?:"+[Ce,Ne,De].join("|")+")"+Ge+Ke+")*",Je="(?:"+[ke,Ne,De].join("|")+")"+He,We="(?:"+[Ce+Te+"?",Te,Ne,De,Ee].join("|")+")",Qe=RegExp("['’]","g"),Ze=RegExp(Te,"g"),Ye=RegExp(qe+"(?="+qe+")|"+We+He,"g"),Xe=RegExp([Fe+"?"+Re+"+"+ze+"(?="+[Ae,Fe,"$"].join("|")+")",Le+"+"+Be+"(?="+[Ae,Fe+Ve,"$"].join("|")+")",Fe+"?"+Ve+"+"+ze,Fe+"+"+Be,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ie,Je].join("|"),"g"),et=RegExp("["+Ue+je+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,it=["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"],nt=-1,rt={};rt[R]=rt[M]=rt[q]=rt[C]=rt[N]=rt[D]=rt[F]=rt[U]=rt[V]=!0,rt[h]=rt[y]=rt[I]=rt[g]=rt[k]=rt[b]=rt[v]=rt[$]=rt[_]=rt[w]=rt[x]=rt[S]=rt[O]=rt[E]=rt[T]=!1;var st={};st[h]=st[y]=st[I]=st[k]=st[g]=st[b]=st[R]=st[M]=st[q]=st[C]=st[N]=st[_]=st[w]=st[x]=st[S]=st[O]=st[E]=st[A]=st[D]=st[F]=st[U]=st[V]=!0,st[v]=st[$]=st[T]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},at=parseFloat,ct=parseInt,pt="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,dt="object"==typeof self&&self&&self.Object===Object&&self,ft=pt||dt||Function("return this")(),lt=t&&!t.nodeType&&t,ut=lt&&e&&!e.nodeType&&e,mt=ut&&ut.exports===lt,ht=mt&&pt.process,yt=function(){try{return ut&&ut.require&&ut.require("util").types||ht&&ht.binding&&ht.binding("util")}catch(e){}}(),gt=yt&&yt.isArrayBuffer,bt=yt&&yt.isDate,vt=yt&&yt.isMap,$t=yt&&yt.isRegExp,jt=yt&&yt.isSet,_t=yt&&yt.isTypedArray;function wt(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)}function xt(e,t,i,n){for(var r=-1,s=null==e?0:e.length;++r-1}function Tt(e,t,i){for(var n=-1,r=null==e?0:e.length;++n-1;);return i}function Xt(e,t){for(var i=e.length;i--&&Ft(t,e[i],0)>-1;);return i}var ei=Bt({À:"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"}),ti=Bt({"&":"&","<":"<",">":">",'"':""","'":"'"});function ii(e){return"\\"+ot[e]}function ni(e){return et.test(e)}function ri(e){var t=-1,i=Array(e.size);return e.forEach((function(e,n){i[++t]=[n,e]})),i}function si(e,t){return function(i){return e(t(i))}}function oi(e,t){for(var i=-1,n=e.length,r=0,s=[];++i",""":'"',"'":"'"}),ui=function e(t){var i,n=(t=null==t?ft:ui.defaults(ft.Object(),t,ui.pick(ft,it))).Array,re=t.Date,je=t.Error,_e=t.Function,we=t.Math,xe=t.Object,Pe=t.RegExp,Se=t.String,Oe=t.TypeError,Ee=n.prototype,Ae=_e.prototype,Te=xe.prototype,Ie=t["__core-js_shared__"],ke=Ae.toString,Re=Te.hasOwnProperty,Me=0,qe=(i=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",Ce=Te.toString,Ne=ke.call(xe),De=ft._,Fe=Pe("^"+ke.call(Re).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ue=mt?t.Buffer:r,Ve=t.Symbol,Le=t.Uint8Array,ze=Ue?Ue.allocUnsafe:r,Be=si(xe.getPrototypeOf,xe),Ke=xe.create,Ge=Te.propertyIsEnumerable,He=Ee.splice,Je=Ve?Ve.isConcatSpreadable:r,We=Ve?Ve.iterator:r,Ye=Ve?Ve.toStringTag:r,et=function(){try{var e=cs(xe,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==ft.clearTimeout&&t.clearTimeout,pt=re&&re.now!==ft.Date.now&&re.now,dt=t.setTimeout!==ft.setTimeout&&t.setTimeout,lt=we.ceil,ut=we.floor,ht=xe.getOwnPropertySymbols,yt=Ue?Ue.isBuffer:r,Ct=t.isFinite,Bt=Ee.join,mi=si(xe.keys,xe),hi=we.max,yi=we.min,gi=re.now,bi=t.parseInt,vi=we.random,$i=Ee.reverse,ji=cs(t,"DataView"),_i=cs(t,"Map"),wi=cs(t,"Promise"),xi=cs(t,"Set"),Pi=cs(t,"WeakMap"),Si=cs(xe,"create"),Oi=Pi&&new Pi,Ei={},Ai=Cs(ji),Ti=Cs(_i),Ii=Cs(wi),ki=Cs(xi),Ri=Cs(Pi),Mi=Ve?Ve.prototype:r,qi=Mi?Mi.valueOf:r,Ci=Mi?Mi.toString:r;function Ni(e){if(ea(e)&&!zo(e)&&!(e instanceof Vi)){if(e instanceof Ui)return e;if(Re.call(e,"__wrapped__"))return Ns(e)}return new Ui(e)}var Di=function(){function e(){}return function(t){if(!Xo(t))return{};if(Ke)return Ke(t);e.prototype=t;var i=new e;return e.prototype=r,i}}();function Fi(){}function Ui(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vi(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=u,this.__views__=[]}function Li(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function on(e,t,i,n,s,o){var a,c=1&t,p=2&t,d=4&t;if(i&&(a=s?i(e,n,s,o):i(e)),a!==r)return a;if(!Xo(e))return e;var f=zo(e);if(f){if(a=function(e){var t=e.length,i=new e.constructor(t);return t&&"string"==typeof e[0]&&Re.call(e,"index")&&(i.index=e.index,i.input=e.input),i}(e),!c)return Sr(e,a)}else{var l=fs(e),u=l==$||l==j;if(Ho(e))return $r(e,c);if(l==x||l==h||u&&!s){if(a=p||u?{}:us(e),!c)return p?function(e,t){return Or(e,ds(e),t)}(e,function(e,t){return e&&Or(t,Ia(t),e)}(a,e)):function(e,t){return Or(e,ps(e),t)}(e,tn(a,e))}else{if(!st[l])return s?e:{};a=function(e,t,i){var n,r=e.constructor;switch(t){case I:return jr(e);case g:case b:return new r(+e);case k:return function(e,t){var i=t?jr(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}(e,i);case R:case M:case q:case C:case N:case D:case F:case U:case V:return _r(e,i);case _:return new r;case w:case E:return new r(e);case S:return function(e){var t=new e.constructor(e.source,le.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return new r;case A:return n=e,qi?xe(qi.call(n)):{}}}(e,l,c)}}o||(o=new Gi);var m=o.get(e);if(m)return m;o.set(e,a),sa(e)?e.forEach((function(n){a.add(on(n,t,i,n,e,o))})):ta(e)&&e.forEach((function(n,r){a.set(r,on(n,t,i,r,e,o))}));var y=f?r:(d?p?ts:es:p?Ia:Ta)(e);return Pt(y||e,(function(n,r){y&&(n=e[r=n]),Yi(a,r,on(n,t,i,r,e,o))})),a}function an(e,t,i){var n=i.length;if(null==e)return!n;for(e=xe(e);n--;){var s=i[n],o=t[s],a=e[s];if(a===r&&!(s in e)||!o(a))return!1}return!0}function cn(e,t,i){if("function"!=typeof e)throw new Oe(s);return Os((function(){e.apply(r,i)}),t)}function pn(e,t,i,n){var r=-1,s=At,o=!0,a=e.length,c=[],p=t.length;if(!a)return c;i&&(t=It(t,Wt(i))),n?(s=Tt,o=!1):t.length>=200&&(s=Zt,o=!1,t=new Ki(t));e:for(;++r-1},zi.prototype.set=function(e,t){var i=this.__data__,n=Xi(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},Bi.prototype.clear=function(){this.size=0,this.__data__={hash:new Li,map:new(_i||zi),string:new Li}},Bi.prototype.delete=function(e){var t=os(this,e).delete(e);return this.size-=t?1:0,t},Bi.prototype.get=function(e){return os(this,e).get(e)},Bi.prototype.has=function(e){return os(this,e).has(e)},Bi.prototype.set=function(e,t){var i=os(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},Ki.prototype.add=Ki.prototype.push=function(e){return this.__data__.set(e,o),this},Ki.prototype.has=function(e){return this.__data__.has(e)},Gi.prototype.clear=function(){this.__data__=new zi,this.size=0},Gi.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},Gi.prototype.get=function(e){return this.__data__.get(e)},Gi.prototype.has=function(e){return this.__data__.has(e)},Gi.prototype.set=function(e,t){var i=this.__data__;if(i instanceof zi){var n=i.__data__;if(!_i||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new Bi(n)}return i.set(e,t),this.size=i.size,this};var dn=Tr(bn),fn=Tr(vn,!0);function ln(e,t){var i=!0;return dn(e,(function(e,n,r){return i=!!t(e,n,r)})),i}function un(e,t,i){for(var n=-1,s=e.length;++n0&&i(a)?t>1?hn(a,t-1,i,n,r):kt(r,a):n||(r[r.length]=a)}return r}var yn=Ir(),gn=Ir(!0);function bn(e,t){return e&&yn(e,t,Ta)}function vn(e,t){return e&&gn(e,t,Ta)}function $n(e,t){return Et(t,(function(t){return Qo(e[t])}))}function jn(e,t){for(var i=0,n=(t=yr(t,e)).length;null!=e&&it}function Pn(e,t){return null!=e&&Re.call(e,t)}function Sn(e,t){return null!=e&&t in xe(e)}function On(e,t,i){for(var s=i?Tt:At,o=e[0].length,a=e.length,c=a,p=n(a),d=1/0,f=[];c--;){var l=e[c];c&&t&&(l=It(l,Wt(t))),d=yi(l.length,d),p[c]=!i&&(t||o>=120&&l.length>=120)?new Ki(c&&l):r}l=e[0];var u=-1,m=p[0];e:for(;++u=a?c:c*("desc"==i[n]?-1:1)}return e.index-t.index}(e,t,i)}));n--;)e[n]=e[n].value;return e}(r)}function Ln(e,t,i){for(var n=-1,r=t.length,s={};++n-1;)a!==e&&He.call(a,c,1),He.call(e,c,1);return e}function Bn(e,t){for(var i=e?t.length:0,n=i-1;i--;){var r=t[i];if(i==n||r!==s){var s=r;hs(r)?He.call(e,r,1):cr(e,r)}}return e}function Kn(e,t){return e+ut(vi()*(t-e+1))}function Gn(e,t){var i="";if(!e||t<1||t>f)return i;do{t%2&&(i+=e),(t=ut(t/2))&&(e+=e)}while(t);return i}function Hn(e,t){return Es(ws(e,t,ic),e+"")}function Jn(e){return Ji(Fa(e))}function Wn(e,t){var i=Fa(e);return Is(i,sn(t,0,i.length))}function Qn(e,t,i,n){if(!Xo(e))return e;for(var s=-1,o=(t=yr(t,e)).length,a=o-1,c=e;null!=c&&++ss?0:s+t),(i=i>s?s:i)<0&&(i+=s),s=t>i?0:i-t>>>0,t>>>=0;for(var o=n(s);++r>>1,o=e[s];null!==o&&!aa(o)&&(i?o<=t:o=200){var p=t?null:Gr(e);if(p)return ai(p);o=!1,r=Zt,c=new Ki}else c=t?[]:a;e:for(;++n=n?e:er(e,t,i)}var vr=ot||function(e){return ft.clearTimeout(e)};function $r(e,t){if(t)return e.slice();var i=e.length,n=ze?ze(i):new e.constructor(i);return e.copy(n),n}function jr(e){var t=new e.constructor(e.byteLength);return new Le(t).set(new Le(e)),t}function _r(e,t){var i=t?jr(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var i=e!==r,n=null===e,s=e==e,o=aa(e),a=t!==r,c=null===t,p=t==t,d=aa(t);if(!c&&!d&&!o&&e>t||o&&a&&p&&!c&&!d||n&&a&&p||!i&&p||!s)return 1;if(!n&&!o&&!d&&e1?i[s-1]:r,a=s>2?i[2]:r;for(o=e.length>3&&"function"==typeof o?(s--,o):r,a&&ys(i[0],i[1],a)&&(o=s<3?r:o,s=1),t=xe(t);++n-1?s[o?t[a]:a]:r}}function Cr(e){return Xr((function(t){var i=t.length,n=i,o=Ui.prototype.thru;for(e&&t.reverse();n--;){var a=t[n];if("function"!=typeof a)throw new Oe(s);if(o&&!c&&"wrapper"==ns(a))var c=new Ui([],!0)}for(n=c?n:i;++n1&&$.reverse(),u&&fc))return!1;var d=o.get(e),f=o.get(t);if(d&&f)return d==t&&f==e;var l=-1,u=!0,m=2&i?new Ki:r;for(o.set(e,t),o.set(t,e);++l-1&&e%1==0&&e1?"& ":"")+t[n],t=t.join(i>2?", ":" "),e.replace(se,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return Pt(m,(function(i){var n="_."+i[0];t&i[1]&&!At(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(ae):[]}(n),i)))}function Ts(e){var t=0,i=0;return function(){var n=gi(),s=16-(n-i);if(i=n,s>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Is(e,t){var i=-1,n=e.length,s=n-1;for(t=t===r?n:t;++i1?e[t-1]:r;return i="function"==typeof i?(e.pop(),i):r,no(e,i)}));function fo(e){var t=Ni(e);return t.__chain__=!0,t}function lo(e,t){return t(e)}var uo=Xr((function(e){var t=e.length,i=t?e[0]:0,n=this.__wrapped__,s=function(t){return rn(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Vi&&hs(i)?((n=n.slice(i,+i+(t?1:0))).__actions__.push({func:lo,args:[s],thisArg:r}),new Ui(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(r),e}))):this.thru(s)})),mo=Er((function(e,t,i){Re.call(e,i)?++e[i]:nn(e,i,1)})),ho=qr(Vs),yo=qr(Ls);function go(e,t){return(zo(e)?Pt:dn)(e,ss(t,3))}function bo(e,t){return(zo(e)?St:fn)(e,ss(t,3))}var vo=Er((function(e,t,i){Re.call(e,i)?e[i].push(t):nn(e,i,[t])})),$o=Hn((function(e,t,i){var r=-1,s="function"==typeof t,o=Ko(e)?n(e.length):[];return dn(e,(function(e){o[++r]=s?wt(t,e,i):En(e,t,i)})),o})),jo=Er((function(e,t,i){nn(e,i,t)}));function _o(e,t){return(zo(e)?It:Cn)(e,ss(t,3))}var wo=Er((function(e,t,i){e[i?0:1].push(t)}),(function(){return[[],[]]})),xo=Hn((function(e,t){if(null==e)return[];var i=t.length;return i>1&&ys(e,t[0],t[1])?t=[]:i>2&&ys(t[0],t[1],t[2])&&(t=[t[0]]),Vn(e,hn(t,1),[])})),Po=pt||function(){return ft.Date.now()};function So(e,t,i){return t=i?r:t,t=e&&null==t?e.length:t,Jr(e,p,r,r,r,r,t)}function Oo(e,t){var i;if("function"!=typeof t)throw new Oe(s);return e=ua(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Eo=Hn((function(e,t,i){var n=1;if(i.length){var r=oi(i,rs(Eo));n|=c}return Jr(e,n,t,i,r)})),Ao=Hn((function(e,t,i){var n=3;if(i.length){var r=oi(i,rs(Ao));n|=c}return Jr(t,n,e,i,r)}));function To(e,t,i){var n,o,a,c,p,d,f=0,l=!1,u=!1,m=!0;if("function"!=typeof e)throw new Oe(s);function h(t){var i=n,s=o;return n=o=r,f=t,c=e.apply(s,i)}function y(e){var i=e-d;return d===r||i>=t||i<0||u&&e-f>=a}function g(){var e=Po();if(y(e))return b(e);p=Os(g,function(e){var i=t-(e-d);return u?yi(i,a-(e-f)):i}(e))}function b(e){return p=r,m&&n?h(e):(n=o=r,c)}function v(){var e=Po(),i=y(e);if(n=arguments,o=this,d=e,i){if(p===r)return function(e){return f=e,p=Os(g,t),l?h(e):c}(d);if(u)return vr(p),p=Os(g,t),h(d)}return p===r&&(p=Os(g,t)),c}return t=ha(t)||0,Xo(i)&&(l=!!i.leading,a=(u="maxWait"in i)?hi(ha(i.maxWait)||0,t):a,m="trailing"in i?!!i.trailing:m),v.cancel=function(){p!==r&&vr(p),f=0,n=d=o=p=r},v.flush=function(){return p===r?c:b(Po())},v}var Io=Hn((function(e,t){return cn(e,1,t)})),ko=Hn((function(e,t,i){return cn(e,ha(t)||0,i)}));function Ro(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Oe(s);var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],s=i.cache;if(s.has(r))return s.get(r);var o=e.apply(this,n);return i.cache=s.set(r,o)||s,o};return i.cache=new(Ro.Cache||Bi),i}function Mo(e){if("function"!=typeof e)throw new Oe(s);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ro.Cache=Bi;var qo=gr((function(e,t){var i=(t=1==t.length&&zo(t[0])?It(t[0],Wt(ss())):It(hn(t,1),Wt(ss()))).length;return Hn((function(n){for(var r=-1,s=yi(n.length,i);++r=t})),Lo=An(function(){return arguments}())?An:function(e){return ea(e)&&Re.call(e,"callee")&&!Ge.call(e,"callee")},zo=n.isArray,Bo=gt?Wt(gt):function(e){return ea(e)&&wn(e)==I};function Ko(e){return null!=e&&Yo(e.length)&&!Qo(e)}function Go(e){return ea(e)&&Ko(e)}var Ho=yt||hc,Jo=bt?Wt(bt):function(e){return ea(e)&&wn(e)==b};function Wo(e){if(!ea(e))return!1;var t=wn(e);return t==v||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!na(e)}function Qo(e){if(!Xo(e))return!1;var t=wn(e);return t==$||t==j||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Zo(e){return"number"==typeof e&&e==ua(e)}function Yo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=f}function Xo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ea(e){return null!=e&&"object"==typeof e}var ta=vt?Wt(vt):function(e){return ea(e)&&fs(e)==_};function ia(e){return"number"==typeof e||ea(e)&&wn(e)==w}function na(e){if(!ea(e)||wn(e)!=x)return!1;var t=Be(e);if(null===t)return!0;var i=Re.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&ke.call(i)==Ne}var ra=$t?Wt($t):function(e){return ea(e)&&wn(e)==S},sa=jt?Wt(jt):function(e){return ea(e)&&fs(e)==O};function oa(e){return"string"==typeof e||!zo(e)&&ea(e)&&wn(e)==E}function aa(e){return"symbol"==typeof e||ea(e)&&wn(e)==A}var ca=_t?Wt(_t):function(e){return ea(e)&&Yo(e.length)&&!!rt[wn(e)]},pa=zr(qn),da=zr((function(e,t){return e<=t}));function fa(e){if(!e)return[];if(Ko(e))return oa(e)?di(e):Sr(e);if(We&&e[We])return function(e){for(var t,i=[];!(t=e.next()).done;)i.push(t.value);return i}(e[We]());var t=fs(e);return(t==_?ri:t==O?ai:Fa)(e)}function la(e){return e?(e=ha(e))===d||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ua(e){var t=la(e),i=t%1;return t==t?i?t-i:t:0}function ma(e){return e?sn(ua(e),0,u):0}function ha(e){if("number"==typeof e)return e;if(aa(e))return l;if(Xo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Xo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Jt(e);var i=me.test(e);return i||ye.test(e)?ct(e.slice(2),i?2:8):ue.test(e)?l:+e}function ya(e){return Or(e,Ia(e))}function ga(e){return null==e?"":or(e)}var ba=Ar((function(e,t){if($s(t)||Ko(t))Or(t,Ta(t),e);else for(var i in t)Re.call(t,i)&&Yi(e,i,t[i])})),va=Ar((function(e,t){Or(t,Ia(t),e)})),$a=Ar((function(e,t,i,n){Or(t,Ia(t),e,n)})),ja=Ar((function(e,t,i,n){Or(t,Ta(t),e,n)})),_a=Xr(rn),wa=Hn((function(e,t){e=xe(e);var i=-1,n=t.length,s=n>2?t[2]:r;for(s&&ys(t[0],t[1],s)&&(n=1);++i1),t})),Or(e,ts(e),i),n&&(i=on(i,7,Zr));for(var r=t.length;r--;)cr(i,t[r]);return i})),qa=Xr((function(e,t){return null==e?{}:function(e,t){return Ln(e,t,(function(t,i){return Sa(e,i)}))}(e,t)}));function Ca(e,t){if(null==e)return{};var i=It(ts(e),(function(e){return[e]}));return t=ss(t),Ln(e,i,(function(e,i){return t(e,i[0])}))}var Na=Hr(Ta),Da=Hr(Ia);function Fa(e){return null==e?[]:Qt(e,Ta(e))}var Ua=Rr((function(e,t,i){return t=t.toLowerCase(),e+(i?Va(t):t)}));function Va(e){return Wa(ga(e).toLowerCase())}function La(e){return(e=ga(e))&&e.replace(be,ei).replace(Ze,"")}var za=Rr((function(e,t,i){return e+(i?"-":"")+t.toLowerCase()})),Ba=Rr((function(e,t,i){return e+(i?" ":"")+t.toLowerCase()})),Ka=kr("toLowerCase"),Ga=Rr((function(e,t,i){return e+(i?"_":"")+t.toLowerCase()})),Ha=Rr((function(e,t,i){return e+(i?" ":"")+Wa(t)})),Ja=Rr((function(e,t,i){return e+(i?" ":"")+t.toUpperCase()})),Wa=kr("toUpperCase");function Qa(e,t,i){return e=ga(e),(t=i?r:t)===r?function(e){return tt.test(e)}(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.match(ce)||[]}(e):e.match(t)||[]}var Za=Hn((function(e,t){try{return wt(e,r,t)}catch(e){return Wo(e)?e:new je(e)}})),Ya=Xr((function(e,t){return Pt(t,(function(t){t=qs(t),nn(e,t,Eo(e[t],e))})),e}));function Xa(e){return function(){return e}}var ec=Cr(),tc=Cr(!0);function ic(e){return e}function nc(e){return Rn("function"==typeof e?e:on(e,1))}var rc=Hn((function(e,t){return function(i){return En(i,e,t)}})),sc=Hn((function(e,t){return function(i){return En(e,i,t)}}));function oc(e,t,i){var n=Ta(t),r=$n(t,n);null!=i||Xo(t)&&(r.length||!n.length)||(i=t,t=e,e=this,r=$n(t,Ta(t)));var s=!(Xo(i)&&"chain"in i&&!i.chain),o=Qo(e);return Pt(r,(function(i){var n=t[i];e[i]=n,o&&(e.prototype[i]=function(){var t=this.__chain__;if(s||t){var i=e(this.__wrapped__);return(i.__actions__=Sr(this.__actions__)).push({func:n,args:arguments,thisArg:e}),i.__chain__=t,i}return n.apply(e,kt([this.value()],arguments))})})),e}function ac(){}var cc=Ur(It),pc=Ur(Ot),dc=Ur(qt);function fc(e){return gs(e)?zt(qs(e)):function(e){return function(t){return jn(t,e)}}(e)}var lc=Lr(),uc=Lr(!0);function mc(){return[]}function hc(){return!1}var yc,gc=Fr((function(e,t){return e+t}),0),bc=Kr("ceil"),vc=Fr((function(e,t){return e/t}),1),$c=Kr("floor"),jc=Fr((function(e,t){return e*t}),1),_c=Kr("round"),wc=Fr((function(e,t){return e-t}),0);return Ni.after=function(e,t){if("function"!=typeof t)throw new Oe(s);return e=ua(e),function(){if(--e<1)return t.apply(this,arguments)}},Ni.ary=So,Ni.assign=ba,Ni.assignIn=va,Ni.assignInWith=$a,Ni.assignWith=ja,Ni.at=_a,Ni.before=Oo,Ni.bind=Eo,Ni.bindAll=Ya,Ni.bindKey=Ao,Ni.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return zo(e)?e:[e]},Ni.chain=fo,Ni.chunk=function(e,t,i){t=(i?ys(e,t,i):t===r)?1:hi(ua(t),0);var s=null==e?0:e.length;if(!s||t<1)return[];for(var o=0,a=0,c=n(lt(s/t));os?0:s+i),(n=n===r||n>s?s:ua(n))<0&&(n+=s),n=i>n?0:ma(n);i>>0)?(e=ga(e))&&("string"==typeof t||null!=t&&!ra(t))&&!(t=or(t))&&ni(e)?br(di(e),0,i):e.split(t,i):[]},Ni.spread=function(e,t){if("function"!=typeof e)throw new Oe(s);return t=null==t?0:hi(ua(t),0),Hn((function(i){var n=i[t],r=br(i,0,t);return n&&kt(r,n),wt(e,this,r)}))},Ni.tail=function(e){var t=null==e?0:e.length;return t?er(e,1,t):[]},Ni.take=function(e,t,i){return e&&e.length?er(e,0,(t=i||t===r?1:ua(t))<0?0:t):[]},Ni.takeRight=function(e,t,i){var n=null==e?0:e.length;return n?er(e,(t=n-(t=i||t===r?1:ua(t)))<0?0:t,n):[]},Ni.takeRightWhile=function(e,t){return e&&e.length?dr(e,ss(t,3),!1,!0):[]},Ni.takeWhile=function(e,t){return e&&e.length?dr(e,ss(t,3)):[]},Ni.tap=function(e,t){return t(e),e},Ni.throttle=function(e,t,i){var n=!0,r=!0;if("function"!=typeof e)throw new Oe(s);return Xo(i)&&(n="leading"in i?!!i.leading:n,r="trailing"in i?!!i.trailing:r),To(e,t,{leading:n,maxWait:t,trailing:r})},Ni.thru=lo,Ni.toArray=fa,Ni.toPairs=Na,Ni.toPairsIn=Da,Ni.toPath=function(e){return zo(e)?It(e,qs):aa(e)?[e]:Sr(Ms(ga(e)))},Ni.toPlainObject=ya,Ni.transform=function(e,t,i){var n=zo(e),r=n||Ho(e)||ca(e);if(t=ss(t,4),null==i){var s=e&&e.constructor;i=r?n?new s:[]:Xo(e)&&Qo(s)?Di(Be(e)):{}}return(r?Pt:bn)(e,(function(e,n,r){return t(i,e,n,r)})),i},Ni.unary=function(e){return So(e,1)},Ni.union=Xs,Ni.unionBy=eo,Ni.unionWith=to,Ni.uniq=function(e){return e&&e.length?ar(e):[]},Ni.uniqBy=function(e,t){return e&&e.length?ar(e,ss(t,2)):[]},Ni.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?ar(e,r,t):[]},Ni.unset=function(e,t){return null==e||cr(e,t)},Ni.unzip=io,Ni.unzipWith=no,Ni.update=function(e,t,i){return null==e?e:pr(e,t,hr(i))},Ni.updateWith=function(e,t,i,n){return n="function"==typeof n?n:r,null==e?e:pr(e,t,hr(i),n)},Ni.values=Fa,Ni.valuesIn=function(e){return null==e?[]:Qt(e,Ia(e))},Ni.without=ro,Ni.words=Qa,Ni.wrap=function(e,t){return Co(hr(t),e)},Ni.xor=so,Ni.xorBy=oo,Ni.xorWith=ao,Ni.zip=co,Ni.zipObject=function(e,t){return ur(e||[],t||[],Yi)},Ni.zipObjectDeep=function(e,t){return ur(e||[],t||[],Qn)},Ni.zipWith=po,Ni.entries=Na,Ni.entriesIn=Da,Ni.extend=va,Ni.extendWith=$a,oc(Ni,Ni),Ni.add=gc,Ni.attempt=Za,Ni.camelCase=Ua,Ni.capitalize=Va,Ni.ceil=bc,Ni.clamp=function(e,t,i){return i===r&&(i=t,t=r),i!==r&&(i=(i=ha(i))==i?i:0),t!==r&&(t=(t=ha(t))==t?t:0),sn(ha(e),t,i)},Ni.clone=function(e){return on(e,4)},Ni.cloneDeep=function(e){return on(e,5)},Ni.cloneDeepWith=function(e,t){return on(e,5,t="function"==typeof t?t:r)},Ni.cloneWith=function(e,t){return on(e,4,t="function"==typeof t?t:r)},Ni.conformsTo=function(e,t){return null==t||an(e,t,Ta(t))},Ni.deburr=La,Ni.defaultTo=function(e,t){return null==e||e!=e?t:e},Ni.divide=vc,Ni.endsWith=function(e,t,i){e=ga(e),t=or(t);var n=e.length,s=i=i===r?n:sn(ua(i),0,n);return(i-=t.length)>=0&&e.slice(i,s)==t},Ni.eq=Fo,Ni.escape=function(e){return(e=ga(e))&&J.test(e)?e.replace(G,ti):e},Ni.escapeRegExp=function(e){return(e=ga(e))&&ie.test(e)?e.replace(te,"\\$&"):e},Ni.every=function(e,t,i){var n=zo(e)?Ot:ln;return i&&ys(e,t,i)&&(t=r),n(e,ss(t,3))},Ni.find=ho,Ni.findIndex=Vs,Ni.findKey=function(e,t){return Nt(e,ss(t,3),bn)},Ni.findLast=yo,Ni.findLastIndex=Ls,Ni.findLastKey=function(e,t){return Nt(e,ss(t,3),vn)},Ni.floor=$c,Ni.forEach=go,Ni.forEachRight=bo,Ni.forIn=function(e,t){return null==e?e:yn(e,ss(t,3),Ia)},Ni.forInRight=function(e,t){return null==e?e:gn(e,ss(t,3),Ia)},Ni.forOwn=function(e,t){return e&&bn(e,ss(t,3))},Ni.forOwnRight=function(e,t){return e&&vn(e,ss(t,3))},Ni.get=Pa,Ni.gt=Uo,Ni.gte=Vo,Ni.has=function(e,t){return null!=e&&ls(e,t,Pn)},Ni.hasIn=Sa,Ni.head=Bs,Ni.identity=ic,Ni.includes=function(e,t,i,n){e=Ko(e)?e:Fa(e),i=i&&!n?ua(i):0;var r=e.length;return i<0&&(i=hi(r+i,0)),oa(e)?i<=r&&e.indexOf(t,i)>-1:!!r&&Ft(e,t,i)>-1},Ni.indexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var r=null==i?0:ua(i);return r<0&&(r=hi(n+r,0)),Ft(e,t,r)},Ni.inRange=function(e,t,i){return t=la(t),i===r?(i=t,t=0):i=la(i),function(e,t,i){return e>=yi(t,i)&&e=-9007199254740991&&e<=f},Ni.isSet=sa,Ni.isString=oa,Ni.isSymbol=aa,Ni.isTypedArray=ca,Ni.isUndefined=function(e){return e===r},Ni.isWeakMap=function(e){return ea(e)&&fs(e)==T},Ni.isWeakSet=function(e){return ea(e)&&"[object WeakSet]"==wn(e)},Ni.join=function(e,t){return null==e?"":Bt.call(e,t)},Ni.kebabCase=za,Ni.last=Js,Ni.lastIndexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var s=n;return i!==r&&(s=(s=ua(i))<0?hi(n+s,0):yi(s,n-1)),t==t?function(e,t,i){for(var n=i+1;n--;)if(e[n]===t)return n;return n}(e,t,s):Dt(e,Vt,s,!0)},Ni.lowerCase=Ba,Ni.lowerFirst=Ka,Ni.lt=pa,Ni.lte=da,Ni.max=function(e){return e&&e.length?un(e,ic,xn):r},Ni.maxBy=function(e,t){return e&&e.length?un(e,ss(t,2),xn):r},Ni.mean=function(e){return Lt(e,ic)},Ni.meanBy=function(e,t){return Lt(e,ss(t,2))},Ni.min=function(e){return e&&e.length?un(e,ic,qn):r},Ni.minBy=function(e,t){return e&&e.length?un(e,ss(t,2),qn):r},Ni.stubArray=mc,Ni.stubFalse=hc,Ni.stubObject=function(){return{}},Ni.stubString=function(){return""},Ni.stubTrue=function(){return!0},Ni.multiply=jc,Ni.nth=function(e,t){return e&&e.length?Un(e,ua(t)):r},Ni.noConflict=function(){return ft._===this&&(ft._=De),this},Ni.noop=ac,Ni.now=Po,Ni.pad=function(e,t,i){e=ga(e);var n=(t=ua(t))?pi(e):0;if(!t||n>=t)return e;var r=(t-n)/2;return Vr(ut(r),i)+e+Vr(lt(r),i)},Ni.padEnd=function(e,t,i){e=ga(e);var n=(t=ua(t))?pi(e):0;return t&&nt){var n=e;e=t,t=n}if(i||e%1||t%1){var s=vi();return yi(e+s*(t-e+at("1e-"+((s+"").length-1))),t)}return Kn(e,t)},Ni.reduce=function(e,t,i){var n=zo(e)?Rt:Kt,r=arguments.length<3;return n(e,ss(t,4),i,r,dn)},Ni.reduceRight=function(e,t,i){var n=zo(e)?Mt:Kt,r=arguments.length<3;return n(e,ss(t,4),i,r,fn)},Ni.repeat=function(e,t,i){return t=(i?ys(e,t,i):t===r)?1:ua(t),Gn(ga(e),t)},Ni.replace=function(){var e=arguments,t=ga(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Ni.result=function(e,t,i){var n=-1,s=(t=yr(t,e)).length;for(s||(s=1,e=r);++nf)return[];var i=u,n=yi(e,u);t=ss(t),e-=u;for(var r=Ht(n,t);++i=o)return e;var c=i-pi(n);if(c<1)return n;var p=a?br(a,0,c).join(""):e.slice(0,c);if(s===r)return p+n;if(a&&(c+=p.length-c),ra(s)){if(e.slice(c).search(s)){var d,f=p;for(s.global||(s=Pe(s.source,ga(le.exec(s))+"g")),s.lastIndex=0;d=s.exec(f);)var l=d.index;p=p.slice(0,l===r?c:l)}}else if(e.indexOf(or(s),c)!=c){var u=p.lastIndexOf(s);u>-1&&(p=p.slice(0,u))}return p+n},Ni.unescape=function(e){return(e=ga(e))&&H.test(e)?e.replace(K,li):e},Ni.uniqueId=function(e){var t=++Me;return ga(e)+t},Ni.upperCase=Ja,Ni.upperFirst=Wa,Ni.each=go,Ni.eachRight=bo,Ni.first=Bs,oc(Ni,(yc={},bn(Ni,(function(e,t){Re.call(Ni.prototype,t)||(yc[t]=e)})),yc),{chain:!1}),Ni.VERSION="4.17.21",Pt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Ni[e].placeholder=Ni})),Pt(["drop","take"],(function(e,t){Vi.prototype[e]=function(i){i=i===r?1:hi(ua(i),0);var n=this.__filtered__&&!t?new Vi(this):this.clone();return n.__filtered__?n.__takeCount__=yi(i,n.__takeCount__):n.__views__.push({size:yi(i,u),type:e+(n.__dir__<0?"Right":"")}),n},Vi.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Pt(["filter","map","takeWhile"],(function(e,t){var i=t+1,n=1==i||3==i;Vi.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ss(e,3),type:i}),t.__filtered__=t.__filtered__||n,t}})),Pt(["head","last"],(function(e,t){var i="take"+(t?"Right":"");Vi.prototype[e]=function(){return this[i](1).value()[0]}})),Pt(["initial","tail"],(function(e,t){var i="drop"+(t?"":"Right");Vi.prototype[e]=function(){return this.__filtered__?new Vi(this):this[i](1)}})),Vi.prototype.compact=function(){return this.filter(ic)},Vi.prototype.find=function(e){return this.filter(e).head()},Vi.prototype.findLast=function(e){return this.reverse().find(e)},Vi.prototype.invokeMap=Hn((function(e,t){return"function"==typeof e?new Vi(this):this.map((function(i){return En(i,e,t)}))})),Vi.prototype.reject=function(e){return this.filter(Mo(ss(e)))},Vi.prototype.slice=function(e,t){e=ua(e);var i=this;return i.__filtered__&&(e>0||t<0)?new Vi(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(i=(t=ua(t))<0?i.dropRight(-t):i.take(t-e)),i)},Vi.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vi.prototype.toArray=function(){return this.take(u)},bn(Vi.prototype,(function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),s=Ni[n?"take"+("last"==t?"Right":""):t],o=n||/^find/.test(t);s&&(Ni.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,c=t instanceof Vi,p=a[0],d=c||zo(t),f=function(e){var t=s.apply(Ni,kt([e],a));return n&&l?t[0]:t};d&&i&&"function"==typeof p&&1!=p.length&&(c=d=!1);var l=this.__chain__,u=!!this.__actions__.length,m=o&&!l,h=c&&!u;if(!o&&d){t=h?t:new Vi(this);var y=e.apply(t,a);return y.__actions__.push({func:lo,args:[f],thisArg:r}),new Ui(y,l)}return m&&h?e.apply(this,a):(y=this.thru(f),m?n?y.value()[0]:y.value():y)})})),Pt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ee[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);Ni.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var r=this.value();return t.apply(zo(r)?r:[],e)}return this[i]((function(i){return t.apply(zo(i)?i:[],e)}))}})),bn(Vi.prototype,(function(e,t){var i=Ni[t];if(i){var n=i.name+"";Re.call(Ei,n)||(Ei[n]=[]),Ei[n].push({name:t,func:i})}})),Ei[Nr(r,2).name]=[{name:"wrapper",func:r}],Vi.prototype.clone=function(){var e=new Vi(this.__wrapped__);return e.__actions__=Sr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sr(this.__views__),e},Vi.prototype.reverse=function(){if(this.__filtered__){var e=new Vi(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vi.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,i=zo(e),n=t<0,r=i?e.length:0,s=function(e,t,i){for(var n=-1,r=i.length;++n=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},Ni.prototype.plant=function(e){for(var t,i=this;i instanceof Fi;){var n=Ns(i);n.__index__=0,n.__values__=r,t?s.__wrapped__=n:t=n;var s=n;i=i.__wrapped__}return s.__wrapped__=e,t},Ni.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vi){var t=e;return this.__actions__.length&&(t=new Vi(this)),(t=t.reverse()).__actions__.push({func:lo,args:[Ys],thisArg:r}),new Ui(t,this.__chain__)}return this.thru(Ys)},Ni.prototype.toJSON=Ni.prototype.valueOf=Ni.prototype.value=function(){return fr(this.__wrapped__,this.__actions__)},Ni.prototype.first=Ni.prototype.head,We&&(Ni.prototype[We]=function(){return this}),Ni}();ft._=ui,(n=function(){return ui}.call(t,i,t,e))===r||(e.exports=n)}.call(this)},69011:(e,t,i)=>{var n=i(68250);function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],s=i.cache;if(s.has(r))return s.get(r);var o=e.apply(this,n);return i.cache=s.set(r,o)||s,o};return i.cache=new(r.Cache||n),i}r.Cache=n,e.exports=r},41263:(e,t,i)=>{var n=i(87655);e.exports=function(e,t,i){return null==e?e:n(e,t,i)}},95243:(e,t,i)=>{var n=i(52291);e.exports=function(e){return null==e?"":n(e)}},98203:(e,t)=>{"use strict";var i=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==i)return i;throw new Error("unable to locate global object")}();e.exports=t=i.fetch,i.fetch&&(t.default=i.fetch.bind(i)),t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response},48660:(e,t,i)=>{var n="function"==typeof Map&&Map.prototype,r=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,s=n&&r&&"function"==typeof r.get?r.get:null,o=n&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,p=a&&c&&"function"==typeof c.get?c.get:null,d=a&&Set.prototype.forEach,f="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,l="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,u="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,m=Boolean.prototype.valueOf,h=Object.prototype.toString,y=Function.prototype.toString,g=String.prototype.match,b=String.prototype.slice,v=String.prototype.replace,$=String.prototype.toUpperCase,j=String.prototype.toLowerCase,_=RegExp.prototype.test,w=Array.prototype.concat,x=Array.prototype.join,P=Array.prototype.slice,S=Math.floor,O="function"==typeof BigInt?BigInt.prototype.valueOf:null,E=Object.getOwnPropertySymbols,A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"==typeof Symbol&&"object"==typeof Symbol.iterator,I="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,k=Object.prototype.propertyIsEnumerable,R=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function M(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||_.call(/e/,t))return t;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var n=e<0?-S(-e):S(e);if(n!==e){var r=String(n),s=b.call(t,r.length+1);return v.call(r,i,"$&_")+"."+v.call(v.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(t,i,"$&_")}var q=i(86973),C=q.custom,N=L(C)?C:null;function D(e,t,i){var n="double"===(i.quoteStyle||t)?'"':"'";return n+e+n}function F(e){return v.call(String(e),/"/g,""")}function U(e){return!("[object Array]"!==K(e)||I&&"object"==typeof e&&I in e)}function V(e){return!("[object RegExp]"!==K(e)||I&&"object"==typeof e&&I in e)}function L(e){if(T)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!A)return!1;try{return A.call(e),!0}catch(e){}return!1}e.exports=function e(t,n,r,a){var c=n||{};if(B(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(B(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var h=!B(c,"customInspect")||c.customInspect;if("boolean"!=typeof h&&"symbol"!==h)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(B(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(B(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var $=c.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return H(t,c);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var _=String(t);return $?M(t,_):_}if("bigint"==typeof t){var S=String(t)+"n";return $?M(t,S):S}var E=void 0===c.depth?5:c.depth;if(void 0===r&&(r=0),r>=E&&E>0&&"object"==typeof t)return U(t)?"[Array]":"[Object]";var C,z=function(e,t){var i;if("\t"===e.indent)i="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;i=x.call(Array(e.indent+1)," ")}return{base:i,prev:x.call(Array(t+1),i)}}(c,r);if(void 0===a)a=[];else if(G(a,t)>=0)return"[Circular]";function J(t,i,n){if(i&&(a=P.call(a)).push(i),n){var s={depth:c.depth};return B(c,"quoteStyle")&&(s.quoteStyle=c.quoteStyle),e(t,s,r+1,a)}return e(t,c,r+1,a)}if("function"==typeof t&&!V(t)){var ee=function(e){if(e.name)return e.name;var t=g.call(y.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),te=X(t,J);return"[Function"+(ee?": "+ee:" (anonymous)")+"]"+(te.length>0?" { "+x.call(te,", ")+" }":"")}if(L(t)){var ie=T?v.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):A.call(t);return"object"!=typeof t||T?ie:W(ie)}if((C=t)&&"object"==typeof C&&("undefined"!=typeof HTMLElement&&C instanceof HTMLElement||"string"==typeof C.nodeName&&"function"==typeof C.getAttribute)){for(var ne="<"+j.call(String(t.nodeName)),re=t.attributes||[],se=0;se"}if(U(t)){if(0===t.length)return"[]";var oe=X(t,J);return z&&!function(e){for(var t=0;t=0)return!1;return!0}(oe)?"["+Y(oe,z)+"]":"[ "+x.call(oe,", ")+" ]"}if(function(e){return!("[object Error]"!==K(e)||I&&"object"==typeof e&&I in e)}(t)){var ae=X(t,J);return"cause"in Error.prototype||!("cause"in t)||k.call(t,"cause")?0===ae.length?"["+String(t)+"]":"{ ["+String(t)+"] "+x.call(ae,", ")+" }":"{ ["+String(t)+"] "+x.call(w.call("[cause]: "+J(t.cause),ae),", ")+" }"}if("object"==typeof t&&h){if(N&&"function"==typeof t[N]&&q)return q(t,{depth:E-r});if("symbol"!==h&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!s||!e||"object"!=typeof e)return!1;try{s.call(e);try{p.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(t)){var ce=[];return o&&o.call(t,(function(e,i){ce.push(J(i,t,!0)+" => "+J(e,t))})),Z("Map",s.call(t),ce,z)}if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e);try{s.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(t)){var pe=[];return d&&d.call(t,(function(e){pe.push(J(e,t))})),Z("Set",p.call(t),pe,z)}if(function(e){if(!f||!e||"object"!=typeof e)return!1;try{f.call(e,f);try{l.call(e,l)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(t))return Q("WeakMap");if(function(e){if(!l||!e||"object"!=typeof e)return!1;try{l.call(e,l);try{f.call(e,f)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(t))return Q("WeakSet");if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{return u.call(e),!0}catch(e){}return!1}(t))return Q("WeakRef");if(function(e){return!("[object Number]"!==K(e)||I&&"object"==typeof e&&I in e)}(t))return W(J(Number(t)));if(function(e){if(!e||"object"!=typeof e||!O)return!1;try{return O.call(e),!0}catch(e){}return!1}(t))return W(J(O.call(t)));if(function(e){return!("[object Boolean]"!==K(e)||I&&"object"==typeof e&&I in e)}(t))return W(m.call(t));if(function(e){return!("[object String]"!==K(e)||I&&"object"==typeof e&&I in e)}(t))return W(J(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if(t===i.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==K(e)||I&&"object"==typeof e&&I in e)}(t)&&!V(t)){var de=X(t,J),fe=R?R(t)===Object.prototype:t instanceof Object||t.constructor===Object,le=t instanceof Object?"":"null prototype",ue=!fe&&I&&Object(t)===t&&I in t?b.call(K(t),8,-1):le?"Object":"",me=(fe||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(ue||le?"["+x.call(w.call([],ue||[],le||[]),": ")+"] ":"");return 0===de.length?me+"{}":z?me+"{"+Y(de,z)+"}":me+"{ "+x.call(de,", ")+" }"}return String(t)};var z=Object.prototype.hasOwnProperty||function(e){return e in this};function B(e,t){return z.call(e,t)}function K(e){return h.call(e)}function G(e,t){if(e.indexOf)return e.indexOf(t);for(var i=0,n=e.length;it.maxStringLength){var i=e.length-t.maxStringLength,n="... "+i+" more character"+(i>1?"s":"");return H(b.call(e,0,t.maxStringLength),t)+n}return D(v.call(v.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,J),"single",t)}function J(e){var t=e.charCodeAt(0),i={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return i?"\\"+i:"\\x"+(t<16?"0":"")+$.call(t.toString(16))}function W(e){return"Object("+e+")"}function Q(e){return e+" { ? }"}function Z(e,t,i,n){return e+" ("+t+") {"+(n?Y(i,n):x.call(i,", "))+"}"}function Y(e,t){if(0===e.length)return"";var i="\n"+t.prev+t.base;return i+x.call(e,","+i)+"\n"+t.prev}function X(e,t){var i=U(e),n=[];if(i){n.length=e.length;for(var r=0;r{"use strict";var n;if(!Object.keys){var r=Object.prototype.hasOwnProperty,s=Object.prototype.toString,o=i(50968),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),p=a.call((function(){}),"prototype"),d=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(e){var t=e.constructor;return t&&t.prototype===e},l={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},u=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!l["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{f(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();n=function(e){var t=null!==e&&"object"==typeof e,i="[object Function]"===s.call(e),n=o(e),a=t&&"[object String]"===s.call(e),l=[];if(!t&&!i&&!n)throw new TypeError("Object.keys called on a non-object");var m=p&&i;if(a&&e.length>0&&!r.call(e,0))for(var h=0;h0)for(var y=0;y{"use strict";var n=Array.prototype.slice,r=i(50968),s=Object.keys,o=s?function(e){return s(e)}:i(78160),a=Object.keys;o.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return r(e)?a(n.call(e)):a(e)})}else Object.keys=o;return Object.keys||o},e.exports=o},50968:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var i=t.call(e),n="[object Arguments]"===i;return n||(n="[object Array]"!==i&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),n}},59756:e=>{"use strict";class t extends Error{constructor(e,{cause:i}={}){super(e),this.name=t.name,i&&(this.cause=i),this.message=e}}const i=e=>{if(!e)return;const t=e.cause;if("function"==typeof t){const t=e.cause();return t instanceof Error?t:void 0}return t instanceof Error?t:void 0},n=(e,t)=>{if(!(e instanceof Error))return"";const r=e.stack||"";if(t.has(e))return r+"\ncauses have become circular...";const s=i(e);return s?(t.add(e),r+"\ncaused by: "+n(s,t)):r},r=(e,t,n)=>{if(!(e instanceof Error))return"";const s=n?"":e.message||"";if(t.has(e))return s+": ...";const o=i(e);if(o){t.add(e);const i="function"==typeof e.cause;return s+(i?"":": ")+r(o,t,i)}return s};e.exports={ErrorWithCause:t,findCauseByReference:(e,t)=>{if(!e||!t)return;if(!(e instanceof Error))return;if(!(t.prototype instanceof Error)&&t!==Error)return;const n=new Set;let r=e;for(;r&&!n.has(r);){if(n.add(r),r instanceof t)return r;r=i(r)}},getErrorCause:i,stackWithCauses:e=>n(e,new Set),messageWithCauses:e=>r(e,new Set)}},11145:(e,t,i)=>{"use strict";const n=i(70998);e.exports=n,n.default=n},70998:e=>{"use strict";e.exports=function(e,i,n){var r,s="";if(t="",arguments.length>1){if("number"==typeof n)for(r=0;r100)return e.replace(n,s);for(var t="",o=0,a=0;an;)e[i]=e[i-1],i--;e[i]=n}return e}},26108:(e,t,i)=>{"use strict";var n=i(528),r=i(70686),s=i(17239)(),o=i(69336),a=i(3468),c=n("%Math.floor%");e.exports=function(e,t){if("function"!=typeof e)throw new a("`fn` is not a function");if("number"!=typeof t||t<0||t>4294967295||c(t)!==t)throw new a("`length` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],n=!0,p=!0;if("length"in e&&o){var d=o(e,"length");d&&!d.configurable&&(n=!1),d&&!d.writable&&(p=!1)}return(n||p||!i)&&(s?r(e,"length",t,!0,!0):r(e,"length",t)),e}},19343:(e,t,i)=>{"use strict";var n=i(70686),r=i(17239)(),s=i(68993).functionsHaveConfigurableNames(),o=i(3468);e.exports=function(e,t){if("function"!=typeof e)throw new o("`fn` is not a function");return arguments.length>2&&!!arguments[2]&&!s||(r?n(e,"name",t,!0,!0):n(e,"name",t)),e}},77575:(e,t,i)=>{"use strict";var n=i(528),r=i(79818),s=i(48660),o=i(3468),a=n("%WeakMap%",!0),c=n("%Map%",!0),p=r("WeakMap.prototype.get",!0),d=r("WeakMap.prototype.set",!0),f=r("WeakMap.prototype.has",!0),l=r("Map.prototype.get",!0),u=r("Map.prototype.set",!0),m=r("Map.prototype.has",!0),h=function(e,t){for(var i,n=e;null!==(i=n.next);n=i)if(i.key===t)return n.next=i.next,i.next=e.next,e.next=i,i};e.exports=function(){var e,t,i,n={assert:function(e){if(!n.has(e))throw new o("Side channel does not contain "+s(e))},get:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(e)return p(e,n)}else if(c){if(t)return l(t,n)}else if(i)return function(e,t){var i=h(e,t);return i&&i.value}(i,n)},has:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(e)return f(e,n)}else if(c){if(t)return m(t,n)}else if(i)return function(e,t){return!!h(e,t)}(i,n);return!1},set:function(n,r){a&&n&&("object"==typeof n||"function"==typeof n)?(e||(e=new a),d(e,n,r)):c?(t||(t=new c),u(t,n,r)):(i||(i={key:{},next:null}),function(e,t,i){var n=h(e,t);n?n.value=i:e.next={key:t,next:e.next,value:i}}(i,n,r))}};return n}},2862:function(e,t){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),i=0;i1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,r=1;r= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,y=String.fromCharCode;function g(e){throw new RangeError(m[e])}function b(e,t){var i=e.split("@"),n="";return i.length>1&&(n=i[0]+"@",e=i[1]),n+function(e,t){for(var i=[],n=e.length;n--;)i[n]=t(e[n]);return i}((e=e.replace(u,".")).split("."),t).join(".")}function v(e){for(var t=[],i=0,n=e.length;i=55296&&r<=56319&&i>1,e+=h(e/t);e>455;n+=d)e=h(e/35);return h(n+36*e/(e+38))},_=function(e){var t,i=[],n=e.length,r=0,s=128,o=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var c=0;c=128&&g("not-basic"),i.push(e.charCodeAt(c));for(var f=a>0?a+1:0;f=n&&g("invalid-input");var y=(t=e.charCodeAt(f++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:d;(y>=d||y>h((p-r)/u))&&g("overflow"),r+=y*u;var b=m<=o?1:m>=o+26?26:m-o;if(yh(p/v)&&g("overflow"),u*=v}var $=i.length+1;o=j(r-l,$,0==l),h(r/$)>p-s&&g("overflow"),s+=h(r/$),r%=$,i.splice(r++,0,s)}return String.fromCodePoint.apply(String,i)},w=function(e){var t=[],i=(e=v(e)).length,n=128,r=0,s=72,o=!0,a=!1,c=void 0;try{for(var f,l=e[Symbol.iterator]();!(o=(f=l.next()).done);o=!0){var u=f.value;u<128&&t.push(y(u))}}catch(e){a=!0,c=e}finally{try{!o&&l.return&&l.return()}finally{if(a)throw c}}var m=t.length,b=m;for(m&&t.push("-");b=n&&E<_&&(_=E)}}catch(e){x=!0,P=e}finally{try{!w&&O.return&&O.return()}finally{if(x)throw P}}var A=b+1;_-n>h((p-r)/A)&&g("overflow"),r+=(_-n)*A,n=_;var T=!0,I=!1,k=void 0;try{for(var R,M=e[Symbol.iterator]();!(T=(R=M.next()).done);T=!0){var q=R.value;if(qp&&g("overflow"),q==n){for(var C=r,N=d;;N+=d){var D=N<=s?1:N>=s+26?26:N-s;if(C>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function O(e){for(var t="",i=0,n=e.length;i=194&&r<224){if(n-i>=6){var s=parseInt(e.substr(i+4,2),16);t+=String.fromCharCode((31&r)<<6|63&s)}else t+=e.substr(i,6);i+=6}else if(r>=224){if(n-i>=9){var o=parseInt(e.substr(i+4,2),16),a=parseInt(e.substr(i+7,2),16);t+=String.fromCharCode((15&r)<<12|(63&o)<<6|63&a)}else t+=e.substr(i,9);i+=9}else t+=e.substr(i,3),i+=3}return t}function E(e,t){function i(e){var i=O(e);return i.match(t.UNRESERVED)?i:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,i).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,i).replace(t.NOT_USERINFO,S).replace(t.PCT_ENCODED,r)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,i).toLowerCase().replace(t.NOT_HOST,S).replace(t.PCT_ENCODED,r)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,i).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,S).replace(t.PCT_ENCODED,r)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,i).replace(t.NOT_QUERY,S).replace(t.PCT_ENCODED,r)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,i).replace(t.NOT_FRAGMENT,S).replace(t.PCT_ENCODED,r)),e}function A(e){return e.replace(/^0*(.*)/,"$1")||"0"}function T(e,t){var i=e.match(t.IPV4ADDRESS)||[],n=c(i,2)[1];return n?n.split(".").map(A).join("."):e}function I(e,t){var i=e.match(t.IPV6ADDRESS)||[],n=c(i,3),r=n[1],s=n[2];if(r){for(var o=r.toLowerCase().split("::").reverse(),a=c(o,2),p=a[0],d=a[1],f=d?d.split(":").map(A):[],l=p.split(":").map(A),u=t.IPV4ADDRESS.test(l[l.length-1]),m=u?7:8,h=l.length-m,y=Array(m),g=0;g1){var $=y.slice(0,b.index),j=y.slice(b.index+b.length);v=$.join(":")+"::"+j.join(":")}else v=y.join(":");return s&&(v+="%"+s),v}return e}var k=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,R=void 0==="".match(/(){0}/)[1];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i={},n=!1!==t.iri?a:o;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var r=e.match(k);if(r){R?(i.scheme=r[1],i.userinfo=r[3],i.host=r[4],i.port=parseInt(r[5],10),i.path=r[6]||"",i.query=r[7],i.fragment=r[8],isNaN(i.port)&&(i.port=r[5])):(i.scheme=r[1]||void 0,i.userinfo=-1!==e.indexOf("@")?r[3]:void 0,i.host=-1!==e.indexOf("//")?r[4]:void 0,i.port=parseInt(r[5],10),i.path=r[6]||"",i.query=-1!==e.indexOf("?")?r[7]:void 0,i.fragment=-1!==e.indexOf("#")?r[8]:void 0,isNaN(i.port)&&(i.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?r[4]:void 0)),i.host&&(i.host=I(T(i.host,n),n)),void 0!==i.scheme||void 0!==i.userinfo||void 0!==i.host||void 0!==i.port||i.path||void 0!==i.query?void 0===i.scheme?i.reference="relative":void 0===i.fragment?i.reference="absolute":i.reference="uri":i.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==i.reference&&(i.error=i.error||"URI is not a "+t.reference+" reference.");var s=P[(t.scheme||i.scheme||"").toLowerCase()];if(t.unicodeSupport||s&&s.unicodeSupport)E(i,n);else{if(i.host&&(t.domainHost||s&&s.domainHost))try{i.host=x.toASCII(i.host.replace(n.PCT_ENCODED,O).toLowerCase())}catch(e){i.error=i.error||"Host's domain name can not be converted to ASCII via punycode: "+e}E(i,o)}s&&s.parse&&s.parse(i,t)}else i.error=i.error||"URI can not be parsed.";return i}var q=/^\.\.?\//,C=/^\/\.(\/|$)/,N=/^\/\.\.(\/|$)/,D=/^\/?(?:.|\n)*?(?=\/|$)/;function F(e){for(var t=[];e.length;)if(e.match(q))e=e.replace(q,"");else if(e.match(C))e=e.replace(C,"/");else if(e.match(N))e=e.replace(N,"/"),t.pop();else if("."===e||".."===e)e="";else{var i=e.match(D);if(!i)throw new Error("Unexpected dot segment condition");var n=i[0];e=e.slice(n.length),t.push(n)}return t.join("")}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.iri?a:o,n=[],r=P[(t.scheme||e.scheme||"").toLowerCase()];if(r&&r.serialize&&r.serialize(e,t),e.host)if(i.IPV6ADDRESS.test(e.host));else if(t.domainHost||r&&r.domainHost)try{e.host=t.iri?x.toUnicode(e.host):x.toASCII(e.host.replace(i.PCT_ENCODED,O).toLowerCase())}catch(i){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+i}E(e,i),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var s=function(e,t){var i=!1!==t.iri?a:o,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(I(T(String(e.host),i),i).replace(i.IPV6ADDRESS,(function(e,t,i){return"["+t+(i?"%25"+i:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}(e,t);if(void 0!==s&&("suffix"!==t.reference&&n.push("//"),n.push(s),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var c=e.path;t.absolutePath||r&&r.absolutePath||(c=F(c)),void 0===s&&(c=c.replace(/^\/\//,"/%2F")),n.push(c)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function V(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=M(U(e,i),i),t=M(U(t,i),i)),!(i=i||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=F(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=F(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function L(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:o.PCT_ENCODED,O)}var z={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var i="https"===String(e.scheme).toLowerCase();return e.port!==(i?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},B={scheme:"https",domainHost:z.domainHost,parse:z.parse,serialize:z.serialize};function K(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var G={scheme:"ws",domainHost:!0,parse:function(e,t){var i=e;return i.secure=K(i),i.resourceName=(i.path||"/")+(i.query?"?"+i.query:""),i.path=void 0,i.query=void 0,i},serialize:function(e,t){if(e.port!==(K(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var i=e.resourceName.split("?"),n=c(i,2),r=n[0],s=n[1];e.path=r&&"/"!==r?r:void 0,e.query=s,e.resourceName=void 0}return e.fragment=void 0,e}},H={scheme:"wss",domainHost:G.domainHost,parse:G.parse,serialize:G.serialize},J={},W="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Q="[0-9A-Fa-f]",Z=i(i("%[EFef]"+Q+"%"+Q+Q+"%"+Q+Q)+"|"+i("%[89A-Fa-f]"+Q+"%"+Q+Q)+"|"+i("%"+Q+Q)),Y=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),X=new RegExp(W,"g"),ee=new RegExp(Z,"g"),te=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',Y),"g"),ie=new RegExp(t("[^]",W,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),ne=ie;function re(e){var t=O(e);return t.match(X)?t:e}var se={scheme:"mailto",parse:function(e,t){var i=e,n=i.to=i.path?i.path.split(","):[];if(i.path=void 0,i.query){for(var r=!1,s={},o=i.query.split("&"),a=0,c=o.length;a1;a++)i.splice(0,1);n[o]=i.join("")}var c=-1,p=0,d=0,f=-1,l=!1;for(o=0;op&&(c=f,p=d)):"0"===n[o]&&(l=!0,f=o,d=1);d>p&&(c=f,p=d),p>1&&n.splice(c,p,""),r=n.length;var u="";for(""===n[0]&&(u=":"),o=0;o=e.length-1)return!1;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return!1;var r=i.list[e.slice(t+1)];return!!r&&r.indexOf(" "+e.slice(n+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var n=i.list[e.slice(t+1)];return!!n&&n.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return null;var r=i.list[e.slice(t+1)];return r?r.indexOf(" "+e.slice(n+1,t)+" ")<0?null:e.slice(n+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return i}))},99472:function(e,t,i){var n,r,s;!function(o,a){"use strict";e.exports?e.exports=a(i(62675),i(69825),i(71811)):(r=[i(62675),i(69825),i(71811)],void 0===(s="function"==typeof(n=a)?n.apply(t,r):n)||(e.exports=s))}(0,(function(e,t,i,n){"use strict";var r=n&&n.URI;function s(e,t){var i=arguments.length>=1;if(!(this instanceof s))return i?arguments.length>=2?new s(e,t):new s(e):new s;if(void 0===e){if(i)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&i)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}s.version="1.19.11";var o=s.prototype,a=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function p(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function d(e){return"Array"===p(e)}function f(e,t){var i,n,r={};if("RegExp"===p(t))r=null;else if(d(t))for(i=0,n=t.length;i]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,s.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},s.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,s.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},s.hostProtocols=["http","https"],s.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,s.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},s.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return s.domAttributes[t]}},s.encode=y,s.decode=decodeURIComponent,s.iso8859=function(){s.encode=escape,s.decode=unescape},s.unicode=function(){s.encode=y,s.decode=decodeURIComponent},s.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},s.encodeQuery=function(e,t){var i=s.encode(e+"");return void 0===t&&(t=s.escapeQuerySpace),t?i.replace(/%20/g,"+"):i},s.decodeQuery=function(e,t){e+="",void 0===t&&(t=s.escapeQuerySpace);try{return s.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var g,b={encode:"encode",decode:"decode"},v=function(e,t){return function(i){try{return s[t](i+"").replace(s.characters[e][t].expression,(function(i){return s.characters[e][t].map[i]}))}catch(e){return i}}};for(g in b)s[g+"PathSegment"]=v("pathname",b[g]),s[g+"UrnPathSegment"]=v("urnpath",b[g]);var $=function(e,t,i){return function(n){var r;r=i?function(e){return s[t](s[i](e))}:s[t];for(var o=(n+"").split(e),a=0,c=o.length;a-1&&(t.fragment=e.substring(i+1)||null,e=e.substring(0,i)),(i=e.indexOf("?"))>-1&&(t.query=e.substring(i+1)||null,e=e.substring(0,i)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=s.parseAuthority(e,t)):(i=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,i)||null,t.protocol&&!t.protocol.match(s.protocol_expression)?t.protocol=void 0:"//"===e.substring(i+1,i+3).replace(/\\/g,"/")?(e=e.substring(i+3),e=s.parseAuthority(e,t)):(e=e.substring(i+1),t.urn=!0)),t.path=e,t},s.parseHost=function(e,t){e||(e="");var i,n,r=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===r&&(r=e.length),"["===e.charAt(0))i=e.indexOf("]"),t.hostname=e.substring(1,i)||null,t.port=e.substring(i+2,r)||null,"/"===t.port&&(t.port=null);else{var o=e.indexOf(":"),a=e.indexOf("/"),c=e.indexOf(":",o+1);-1!==c&&(-1===a||c-1?r:e.length-1);return o>-1&&(-1===r||o-1?u.slice(0,m)+u.slice(m).replace(o,""):u.replace(o,"")).length<=p[0].length||i.ignore&&i.ignore.test(u))){var g=t(u,d,l=d+u.length,e);void 0!==g?(g=String(g),e=e.slice(0,d)+g+e.slice(l),n.lastIndex=d+g.length):n.lastIndex=l}}return n.lastIndex=0,e},s.ensureValidHostname=function(t,i){var n=!!t,r=!1;if(!!i&&(r=l(s.hostProtocols,i)),r&&!n)throw new TypeError("Hostname cannot be empty, if protocol is "+i);if(t&&t.match(s.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(s.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},s.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},s.noConflict=function(e){if(e){var t={URI:this.noConflict()};return n.URITemplate&&"function"==typeof n.URITemplate.noConflict&&(t.URITemplate=n.URITemplate.noConflict()),n.IPv6&&"function"==typeof n.IPv6.noConflict&&(t.IPv6=n.IPv6.noConflict()),n.SecondLevelDomains&&"function"==typeof n.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=n.SecondLevelDomains.noConflict()),t}return n.URI===this&&(n.URI=r),this},o.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=s.build(this._parts),this._deferred_build=!1),this},o.clone=function(){return new s(this)},o.valueOf=o.toString=function(){return this.build(!1)._string},o.protocol=j("protocol"),o.username=j("username"),o.password=j("password"),o.hostname=j("hostname"),o.port=j("port"),o.query=_("query","?"),o.fragment=_("fragment","#"),o.search=function(e,t){var i=this.query(e,t);return"string"==typeof i&&i.length?"?"+i:i},o.hash=function(e,t){var i=this.fragment(e,t);return"string"==typeof i&&i.length?"#"+i:i},o.pathname=function(e,t){if(void 0===e||!0===e){var i=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?s.decodeUrnPath:s.decodePath)(i):i}return this._parts.urn?this._parts.path=e?s.recodeUrnPath(e):"":this._parts.path=e?s.recodePath(e):"/",this.build(!t),this},o.path=o.pathname,o.href=function(e,t){var i;if(void 0===e)return this.toString();this._string="",this._parts=s._parts();var n=e instanceof s,r="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[s.getDomAttribute(e)]||"",r=!1),!n&&r&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=s.parse(String(e),this._parts);else{if(!n&&!r)throw new TypeError("invalid input");var o=n?e._parts:e;for(i in o)"query"!==i&&a.call(this._parts,i)&&(this._parts[i]=o[i]);o.query&&this.query(o.query,!1)}return this.build(!t),this},o.is=function(e){var t=!1,n=!1,r=!1,o=!1,a=!1,c=!1,p=!1,d=!this._parts.urn;switch(this._parts.hostname&&(d=!1,n=s.ip4_expression.test(this._parts.hostname),r=s.ip6_expression.test(this._parts.hostname),a=(o=!(t=n||r))&&i&&i.has(this._parts.hostname),c=o&&s.idn_expression.test(this._parts.hostname),p=o&&s.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return d;case"absolute":return!d;case"domain":case"name":return o;case"sld":return a;case"ip":return t;case"ip4":case"ipv4":case"inet4":return n;case"ip6":case"ipv6":case"inet6":return r;case"idn":return c;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return p}return null};var w=o.protocol,x=o.port,P=o.hostname;o.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(s.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return w.call(this,e,t)},o.scheme=o.protocol,o.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),s.ensureValidPort(e))),x.call(this,e,t))},o.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var i={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==s.parseHost(e,i))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=i.hostname,this._parts.preventInvalidHostname&&s.ensureValidHostname(e,this._parts.protocol)}return P.call(this,e,t)},o.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var i=this.protocol();return this.authority()?(i?i+"://":"")+this.authority():""}var n=s(e);return this.protocol(n.protocol()).authority(n.authority()).build(!t),this},o.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildHost(this._parts):"";if("/"!==s.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildAuthority(this._parts):"";if("/"!==s.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var i=s.buildUserinfo(this._parts);return i?i.substring(0,i.length-1):i}return"@"!==e[e.length-1]&&(e+="@"),s.parseUserinfo(e,this._parts),this.build(!t),this},o.resource=function(e,t){var i;return void 0===e?this.path()+this.search()+this.hash():(i=s.parse(e),this._parts.path=i.path,this._parts.query=i.query,this._parts.fragment=i.fragment,this.build(!t),this)},o.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var i=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,i)||""}var n=this._parts.hostname.length-this.domain().length,r=this._parts.hostname.substring(0,n),o=new RegExp("^"+c(r));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&s.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(o,e),this.build(!t),this},o.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var i=this._parts.hostname.match(/\./g);if(i&&i.length<2)return this._parts.hostname;var n=this._parts.hostname.length-this.tld(t).length-1;return n=this._parts.hostname.lastIndexOf(".",n-1)+1,this._parts.hostname.substring(n)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(s.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var r=new RegExp(c(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(r,e)}return this.build(!t),this},o.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.lastIndexOf("."),r=this._parts.hostname.substring(n+1);return!0!==t&&i&&i.list[r.toLowerCase()]&&i.get(this._parts.hostname)||r}var s;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!i||!i.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');s=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");s=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}return this.build(!t),this},o.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var i=this._parts.path.length-this.filename().length-1,n=this._parts.path.substring(0,i)||(this._parts.hostname?"/":"");return e?s.decodePath(n):n}var r=this._parts.path.length-this.filename().length,o=this._parts.path.substring(0,r),a=new RegExp("^"+c(o));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e),this.build(!t),this},o.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var i=this._parts.path.lastIndexOf("/"),n=this._parts.path.substring(i+1);return e?s.decodePathSegment(n):n}var r=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(r=!0);var o=new RegExp(c(this.filename())+"$");return e=s.recodePath(e),this._parts.path=this._parts.path.replace(o,e),r?this.normalizePath(t):this.build(!t),this},o.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var i,n,r=this.filename(),o=r.lastIndexOf(".");return-1===o?"":(i=r.substring(o+1),n=/^[a-z0-9%]+$/i.test(i)?i:"",e?s.decodePathSegment(n):n)}"."===e.charAt(0)&&(e=e.substring(1));var a,p=this.suffix();if(p)a=e?new RegExp(c(p)+"$"):new RegExp(c("."+p)+"$");else{if(!e)return this;this._parts.path+="."+s.recodePath(e)}return a&&(e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e)),this.build(!t),this},o.segment=function(e,t,i){var n=this._parts.urn?":":"/",r=this.path(),s="/"===r.substring(0,1),o=r.split(n);if(void 0!==e&&"number"!=typeof e&&(i=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(s&&o.shift(),e<0&&(e=Math.max(o.length+e,0)),void 0===t)return void 0===e?o:o[e];if(null===e||void 0===o[e])if(d(t)){o=[];for(var a=0,c=t.length;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},y=c-1,g=Math.floor,b=String.fromCharCode;function v(e){throw new RangeError(h[e])}function $(e,t){for(var i=e.length,n=[];i--;)n[i]=t(e[i]);return n}function j(e,t){var i=e.split("@"),n="";return i.length>1&&(n=i[0]+"@",e=i[1]),n+$((e=e.replace(m,".")).split("."),t).join(".")}function _(e){for(var t,i,n=[],r=0,s=e.length;r=55296&&t<=56319&&r65535&&(t+=b((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+b(e)})).join("")}function x(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function P(e,t,i){var n=0;for(e=i?g(e/f):e>>1,e+=g(e/t);e>y*p>>1;n+=c)e=g(e/y);return g(n+(y+1)*e/(e+d))}function S(e){var t,i,n,r,s,o,d,f,l,u,m,h=[],y=e.length,b=0,$=128,j=72;for((i=e.lastIndexOf("-"))<0&&(i=0),n=0;n=128&&v("not-basic"),h.push(e.charCodeAt(n));for(r=i>0?i+1:0;r=y&&v("invalid-input"),((f=(m=e.charCodeAt(r++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:c)>=c||f>g((a-b)/o))&&v("overflow"),b+=f*o,!(f<(l=d<=j?1:d>=j+p?p:d-j));d+=c)o>g(a/(u=c-l))&&v("overflow"),o*=u;j=P(b-s,t=h.length+1,0==s),g(b/t)>a-$&&v("overflow"),$+=g(b/t),b%=t,h.splice(b++,0,$)}return w(h)}function O(e){var t,i,n,r,s,o,d,f,l,u,m,h,y,$,j,w=[];for(h=(e=_(e)).length,t=128,i=0,s=72,o=0;o=t&&mg((a-i)/(y=n+1))&&v("overflow"),i+=(d-t)*y,t=d,o=0;oa&&v("overflow"),m==t){for(f=i,l=c;!(f<(u=l<=s?1:l>=s+p?p:l-s));l+=c)j=f-u,$=c-u,w.push(b(x(u+j%$,0))),f=g(j/$);w.push(b(x(f,0))),s=P(i,y,n==r),i=0,++n}++i,++t}return w.join("")}o={version:"1.3.2",ucs2:{decode:_,encode:w},decode:S,encode:O,toASCII:function(e){return j(e,(function(e){return u.test(e)?"xn--"+O(e):e}))},toUnicode:function(e){return j(e,(function(e){return l.test(e)?S(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return o}.call(t,i,t,e))||(e.exports=n)}()},8839:()=>{},71848:()=>{},18248:()=>{},86973:()=>{},93643:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=`__object_order_${Math.floor(Date.now()/36e5)}__`,n=Symbol.for(i),r=String(n),s={defineProperty:(e,t,i)=>(!Object.prototype.hasOwnProperty.call(e,t)&&n in e?e[n].push(t):"value"in i&&t===n&&-1===i.value.lastIndexOf(n)&&i.value.push(n),Reflect.defineProperty(e,t,i)),deleteProperty(e,t){const i=Object.prototype.hasOwnProperty.call(e,t),r=Reflect.deleteProperty(e,t);if(r&&i&&n in e){const i=e[n].indexOf(t);-1!==i&&e[n].splice(i,1)}return r},ownKeys:e=>n in e?e[n]:Reflect.ownKeys(e),set(e,t,i){const r=Object.prototype.hasOwnProperty.call(e,t),s=Reflect.set(e,t,i);return s&&!r&&n in e&&e[n].push(t),s}};function o(e,t=Reflect.ownKeys(e)){u(e);const i=new Proxy(e,s);return a(i,t),i}function a(e,t){return n in e?(e[n].length=0,e[n].push(...t),!0):Reflect.defineProperty(e,n,{configurable:!0,value:t})}function c(e){const t=e.slice();for(let e=0;ee!==n))}),t)for(const t of Object.keys(e)){if(t===r)continue;const n=e[t];l(n)&&(i[t]=Array.isArray(n)?c(n):p(n,!0))}return i}function d(e){for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_PARSER_OPTIONS=void 0;const n=i(20613);t.DEFAULT_PARSER_OPTIONS=Object.freeze({incompatibleValues:n.DiagnosticSeverity.Error,duplicateKeys:n.DiagnosticSeverity.Error})},84474:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isParsedResult=t.ParsedDocument=t.Document=t.normalizeSource=void 0;const n=i(98136),r=i(30333),s=i(95955),o=i(46734);function a(e){return void 0===e?null:e.length>0&&!(0,s.startsWithProtocol)(e)?(0,n.normalize)(e):e}t.normalizeSource=a,t.Document=class{constructor(e,t,i){this.input=e,this.parser=t,this.parserResult=t.parse(e),this.source=a(i),this.diagnostics=(0,r.formatParserDiagnostics)(this.parserResult.diagnostics,this.source)}getRangeForJsonPath(e,t){var i;return null===(i=this.parser.getLocationForJsonPath(this.parserResult,e,t))||void 0===i?void 0:i.range}trapAccess(e){return this.parser.trapAccess(e)}static get DEFAULT_RANGE(){return{start:{character:0,line:0},end:{character:0,line:0}}}get data(){return this.parserResult.data}},t.ParsedDocument=class{constructor(e){this.parserResult=e,this.source=a(e.source),this.diagnostics=(0,r.formatParserDiagnostics)(this.parserResult.parsed.diagnostics,this.source)}trapAccess(e){return e}getRangeForJsonPath(e,t){var i;return null===(i=this.parserResult.getLocationForJsonPath(this.parserResult.parsed,e,t))||void 0===i?void 0:i.range}get data(){return this.parserResult.parsed.data}},t.isParsedResult=e=>(0,o.isPlainObject)(e)&&(0,o.isPlainObject)(e.parsed)&&"function"==typeof e.getLocationForJsonPath},47600:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentInventory=void 0;const n=i(85608),r=i(46734),s=i(98136),o=i(45250),a=i(84474),c=i(30333),p=(0,n.__importStar)(i(63083)),d=i(95955);class f{constructor(e,t){this.document=e,this.resolver=t,this.diagnostics=[],this.parseResolveResult=e=>{const t=e.targetAuthority.href().replace(/\/$/,""),i=(0,s.extname)(t),n=String(e.result),r=".json"===i?p.Json:p.Yaml,o=new a.Document(n,r,t);return e.result=o.data,o.diagnostics.length>0&&this.diagnostics.push(...(0,c.formatParserDiagnostics)(o.diagnostics,o.source)),this.referencedDocuments[t]=o,Promise.resolve(e)},this.graph=null,this.errors=null;const i=t.uriCache,n=f._cachedRemoteDocuments.get(i);void 0!==n?this.referencedDocuments=n:(this.referencedDocuments={},f._cachedRemoteDocuments.set(i,this.referencedDocuments))}get source(){return this.document.source}get unresolved(){return this.document.data}get formats(){var e;return null!==(e=this.document.formats)&&void 0!==e?e:null}async resolve(){if(!(0,o.isObjectLike)(this.document.data))return this.graph=null,this.resolved=this.document.data,void(this.errors=null);const e=await this.resolver.resolve(this.document.data,{...null!==this.document.source?{baseUri:this.document.source}:null,parseResolveResult:this.parseResolveResult});this.graph=e.graph,this.resolved=e.result,this.errors=(0,c.formatResolverErrors)(this.document,e.errors)}findAssociatedItemForPath(e,t){if(!t){const t=(0,d.getClosestJsonPath)(this.unresolved,e);return{document:this.document,path:t,missingPropertyPath:e}}try{const t=(0,d.getClosestJsonPath)(this.resolved,e);if(null===(0,d.traverseObjUntilRef)(this.unresolved,t))return{document:this.document,path:(0,d.getClosestJsonPath)(this.unresolved,e),missingPropertyPath:e};const i=0===t.length?[]:e.slice(e.lastIndexOf(t[t.length-1])+1);let{source:n}=this;if(null===n||null===this.graph)return null;let o=this.graph.getNodeData(n).refMap,a=this.document;const c=["#",...e.map(r.encodePointerUriFragment).map(String)];let p="";for(const t of c)for(p.length>0&&(p+="/"),p+=t;p in o;){const t=o[p];if((0,r.isLocalRef)(t))p=t;else{const i=(0,r.extractSourceFromRef)(t);if(null===i)return{document:a,path:(0,d.getClosestJsonPath)(a.data,e),missingPropertyPath:e};n=(0,d.isAbsoluteRef)(i)?i:(0,s.resolve)(n,"..",i);const c=n===this.document.source?this.document:this.referencedDocuments[n];if(null==c)return{document:a,path:(0,d.getClosestJsonPath)(a.data,e),missingPropertyPath:e};a=c,o=this.graph.getNodeData(n).refMap,p=t.indexOf("#")>=0?t.slice(t.indexOf("#")):"#"}}const f=(0,d.getClosestJsonPath)(a.data,this.convertRefMapKeyToPath(p));return{document:a,path:f,missingPropertyPath:[...f,...i]}}catch{return null}}convertRefMapKeyToPath(e){return e.startsWith("#/")&&(e=e.slice(2)),e.split("/").map(r.decodePointerFragment)}}t.DocumentInventory=f,f._cachedRemoteDocuments=new WeakMap},30333:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatResolverErrors=t.formatParserDiagnostics=t.prettyPrintResolverErrorMessage=t.getDiagnosticErrorMessage=void 0;const n=i(20613),r=i(45250),s=i(84474),o=e=>e.toUpperCase(),a=(e,t,i)=>`${t} ${i.toLowerCase()}`;function c(e){const t=p(e.path);let i=e.message.replace(/^[a-z]/,o);return"YAMLException"!==e.code&&(i=i.replace(/([a-z])([A-Z])/g,a)),void 0!==t&&(i=i.replace(/(Duplicate key)/,`$1: ${t}`)),i}t.getDiagnosticErrorMessage=c,t.prettyPrintResolverErrorMessage=e=>e.replace(/^Error\s*:\s*/,"");const p=e=>{if(void 0!==e&&e.length>0)return e[e.length-1]};t.formatParserDiagnostics=function(e,t){return e.map((e=>{var i;return{...e,code:"parser",message:c(e),path:null!==(i=e.path)&&void 0!==i?i:[],...null!==t?{source:t}:null}}))},t.formatResolverErrors=(e,i)=>(0,r.uniqBy)(i,"message").map((i=>{var r;const o=[...i.path,"$ref"],a=null!==(r=e.getRangeForJsonPath(o,!0))&&void 0!==r?r:s.Document.DEFAULT_RANGE,c=i.uriStack.length>0?i.uriStack[i.uriStack.length-1]:e.source;return{code:"invalid-ref",path:o,message:(0,t.prettyPrintResolverErrorMessage)(i.message),severity:n.DiagnosticSeverity.Error,range:a,...null!==c?{source:c}:null}}))},71267:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAggregateError=void 0;const n=i(45250);t.isAggregateError=function(e){return(0,n.isError)(e)&&"AggregateError"===e.constructor.name}},23859:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParsedDocument=t.Document=void 0;const n=i(85608);(0,n.__exportStar)(i(45559),t),(0,n.__exportStar)(i(77327),t);var r=i(84474);Object.defineProperty(t,"Document",{enumerable:!0,get:function(){return r.Document}}),Object.defineProperty(t,"ParsedDocument",{enumerable:!0,get:function(){return r.ParsedDocument}}),(0,n.__exportStar)(i(16090),t)},36246:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveAlias=t.resolveAliasForFormats=void 0;const n=i(1336),r=/^#([A-Za-z0-9_-]+)/;function s({targets:e},t){if(null===t||0===t.size)return null;for(let i=e.length-1;i>=0;i--){const n=e[i];for(const e of n.formats)if(t.has(e))return n.given}return null}function o(e,t,i,a){var c;const p=[];if(t.startsWith("#")){const d=null===(c=r.exec(t))||void 0===c?void 0:c[1];if(null==d)throw new TypeError("Alias must match /^#([A-Za-z0-9_-]+)/");if(a.has(d)){const e=[...a,d];throw new Error(`Alias "${e[0]}" is circular. Resolution stack: ${e.join(" -> ")}`)}if(a.add(d),null===e||!(d in e))throw new ReferenceError(`Alias "${d}" does not exist`);const f=e[d];let l;l=(0,n.isSimpleAliasDefinition)(f)?f:(0,n.isScopedAliasDefinition)(f)?s(f,i):null,null!==l&&p.push(...l.flatMap((n=>o(e,n+t.slice(d.length+1),i,new Set([...a])))))}else p.push(t);return p}t.resolveAliasForFormats=s,t.resolveAlias=function(e,t,i){return o(e,t,i,new Set)}},83486:(e,t)=>{"use strict";function i(e){var t;return null!==(t=e.displayName)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.Formats=void 0;class n extends Set{toJSON(){return Array.from(this).map(i)}}t.Formats=n},95152:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createRulesetFunction=t.RulesetFunctionValidationError=void 0;const n=i(85608),r=(0,n.__importDefault)(i(70130)),s=(0,n.__importDefault)(i(74421)),o=(0,n.__importDefault)(i(11673)),a=i(95955),c=i(572),p=i(45250),d=i(99639),f=new r.default({allErrors:!0,allowUnionTypes:!0,strict:!0,keywords:["x-internal"]});(0,o.default)(f),(0,s.default)(f);class l extends c.RulesetValidationError{constructor(e,t){super("invalid-function-options",l.printMessage(e,t),l.getPath(t))}static getPath(e){const t=["functionOptions",...""===e.instancePath?[]:e.instancePath.slice(1).split("/")];switch(e.keyword){case"additionalProperties":{const i=e.params.additionalProperty;t.push(i);break}}return t}static printMessage(e,t){var i;switch(t.keyword){case"type":return`"${e}" function and its "${(0,a.printPath)(t.instancePath.slice(1).split("/"),a.PrintStyle.Dot)}" option accepts only the following types: ${Array.isArray(t.params.type)?t.params.type.join(", "):String(t.params.type)}`;case"required":{const i=t.params.missingProperty;return`"${e}" function is missing "${""===t.instancePath?i:(0,a.printPath)([...t.instancePath.slice(1).split("/"),i],a.PrintStyle.Dot)}" option`}case"additionalProperties":{const i=t.params.additionalProperty;return`"${e}" function does not support "${""===t.instancePath?i:(0,a.printPath)([...t.instancePath.slice(1).split("/"),i],a.PrintStyle.Dot)}" option`}case"enum":return`"${e}" function and its "${(0,a.printPath)(t.instancePath.slice(1).split("/"),a.PrintStyle.Dot)}" option accepts only the following values: ${t.params.allowedValues.map(a.printValue).join(", ")}`;default:return null!==(i=t.message)&&void 0!==i?i:"unknown error"}}}t.RulesetFunctionValidationError=l;const u=e=>null===e;t.createRulesetFunction=function({input:e,errorOnInvalidInput:t=!1,options:i},n){const r=null===i?u:f.compile(i),s=null!==e?f.compile(e):e,o=function(e,i,...r){var a,c,p;return!1===(null==s?void 0:s(e))?t?[{message:null!==(p=null===(c=null===(a=s.errors)||void 0===a?void 0:a.find((e=>"errorMessage"===e.keyword)))||void 0===c?void 0:c.message)&&void 0!==p?p:"invalid input"}]:void 0:(o.validator(i),n(e,i,...r))};Reflect.defineProperty(o,"name",{value:n.name});const a=new WeakSet;return o.validator=function(e){if(!(0,p.isObject)(e)||!a.has(e)){if(!r(e))throw null===i?new c.RulesetValidationError("invalid-function-options",`"${n.name||""}" function does not accept any options`,["functionOptions"]):"errors"in r&&Array.isArray(r.errors)&&r.errors.length>0?new d(r.errors.map((e=>new l(n.name||"",e)))):new c.RulesetValidationError("invalid-function-options",`"functionOptions" of "${n.name||""}" function must be valid`,["functionOptions"]);(0,p.isObject)(e)&&a.add(e)}},Reflect.defineProperty(o,"schemas",{enumerable:!1,value:{input:e,options:i}}),o}},16090:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rule=t.Formats=t.Ruleset=t.createRulesetFunction=t.getDiagnosticSeverity=t.RulesetValidationError=t.assertValidRuleset=void 0;var n=i(572);Object.defineProperty(t,"assertValidRuleset",{enumerable:!0,get:function(){return n.assertValidRuleset}}),Object.defineProperty(t,"RulesetValidationError",{enumerable:!0,get:function(){return n.RulesetValidationError}});var r=i(92393);Object.defineProperty(t,"getDiagnosticSeverity",{enumerable:!0,get:function(){return r.getDiagnosticSeverity}});var s=i(95152);Object.defineProperty(t,"createRulesetFunction",{enumerable:!0,get:function(){return s.createRulesetFunction}});var o=i(73368);Object.defineProperty(t,"Ruleset",{enumerable:!0,get:function(){return o.Ruleset}});var a=i(83486);Object.defineProperty(t,"Formats",{enumerable:!0,get:function(){return a.Formats}});var c=i(82846);Object.defineProperty(t,"Rule",{enumerable:!0,get:function(){return c.Rule}})},92237:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mergeRule=void 0;const n=i(38647),r=i(82846);function s(e,t){if(void 0===e)throw new ReferenceError(`Cannot extend non-existing rule: "${t}"`)}t.mergeRule=function(e,t,i,o){switch(typeof i){case"boolean":s(e,t),e.enabled=i;break;case"string":case"number":s(e,t),e.severity=i,"off"===i?e.enabled=!1:e.enabled||(e.enabled=!0);break;case"object":if(void 0===e)return(0,n.assertValidRule)(i,t),new r.Rule(t,i,o);Object.assign(e,i,{enabled:!0,owner:e.owner});break;default:throw new Error("Invalid value")}return e}},1679:(e,t)=>{"use strict";function i(e){return Array.isArray(e)?e[0]:e}Object.defineProperty(t,"__esModule",{value:!0}),t.mergeRulesets=void 0,t.mergeRulesets=function(e,t,n){const r={...e,...t};if("extends"in r&&"extends"in r){const e=(s=r.extends,(Array.isArray(s)?s:[s]).map(i));r.extends=[...(Array.isArray(r.extends)?r.extends:[r.extends]).filter((t=>!e.includes(i(t)))),...Array.isArray(r.extends)?r.extends:[r.extends]]}var s;if("aliases"in e&&"aliases"in t&&(r.aliases={...e.aliases,...t.aliases}),!("rules"in e)||!("rules"in t))return r;if(n)r.rules={...e.rules,...t.rules};else{const t=r;"extends"in t?Array.isArray(t.extends)?t.extends=[...t.extends,e]:t.extends=[t.extends,e]:t.extends=e}return r}},82846:(e,t,i)=>{"use strict";var n,r,s,o;Object.defineProperty(t,"__esModule",{value:!0}),t.Rule=void 0;const a=i(85608),c=i(45250),p=i(98136),d=i(46734),f=i(92393),l=i(64100),u=i(83486),m=i(36246);class h{constructor(e,t,i){var c,p,d,f;this.name=e,this.definition=t,this.owner=i,n.set(this,void 0),r.set(this,void 0),s.set(this,void 0),o.set(this,void 0),this.recommended=!1!==t.recommended,(0,a.__classPrivateFieldSet)(this,r,this.recommended,"f"),this.description=null!==(c=t.description)&&void 0!==c?c:null,this.message=null!==(p=t.message)&&void 0!==p?p:null,this.documentationUrl=null!==(d=t.documentationUrl)&&void 0!==d?d:null,this.severity=t.severity,this.resolved=!1!==t.resolved,this.formats="formats"in t?new u.Formats(t.formats):null,this.then=t.then,this.given=t.given,this.extensions=null!==(f=t.extensions)&&void 0!==f?f:null}get enabled(){return(0,a.__classPrivateFieldGet)(this,r,"f")||void 0!==this.overrides}set enabled(e){(0,a.__classPrivateFieldSet)(this,r,e,"f")}static isEnabled(e,t){return"all"===t||"recommended"===t&&e.recommended}getSeverityForSource(e,t){if(void 0===this.overrides||0===this.overrides.definition.size)return this.severity;const i=(0,p.relative)((0,p.dirname)(this.overrides.rulesetSource),e),n=[];for(const[e,t]of this.overrides.definition.entries())(0,l.minimatch)(i,e)&&n.push(t);if(0===n.length)return this.severity;let r=this.severity,s="";const o=(0,d.pathToPointer)(t);for(const e of n)for(const[t,i]of e.entries())t.length>=s.length&&(o===t||o.startsWith(`${t}/`))&&(s=t,r=i);return r}get severity(){return(0,a.__classPrivateFieldGet)(this,n,"f")}set severity(e){void 0===e?(0,a.__classPrivateFieldSet)(this,n,f.DEFAULT_SEVERITY_LEVEL,"f"):(0,a.__classPrivateFieldSet)(this,n,(0,f.getDiagnosticSeverity)(e),"f")}get then(){return(0,a.__classPrivateFieldGet)(this,s,"f")}set then(e){(0,a.__classPrivateFieldSet)(this,s,Array.isArray(e)?e:[e],"f")}get given(){return(0,a.__classPrivateFieldGet)(this,o,"f")}set given(e){const t=Array.isArray(e)?e:[e];(0,a.__classPrivateFieldSet)(this,o,this.owner.hasComplexAliases?t:t.flatMap((e=>(0,m.resolveAlias)(this.owner.aliases,e,null))).filter(c.isString),"f")}getGivenForFormats(e){return this.owner.hasComplexAliases?(0,a.__classPrivateFieldGet)(this,o,"f").flatMap((t=>(0,m.resolveAlias)(this.owner.aliases,t,e))):(0,a.__classPrivateFieldGet)(this,o,"f")}matchesFormat(e){if(null===this.formats)return!0;if(null===e)return!1;for(const t of e)if(this.formats.has(t))return!0;return!1}clone(){return new h(this.name,this.definition,this.owner)}toJSON(){return{name:this.name,recommended:this.recommended,enabled:this.enabled,description:this.description,message:this.message,documentationUrl:this.documentationUrl,severity:this.severity,resolved:this.resolved,formats:this.formats,then:this.then.map((e=>({...e,function:e.function.name}))),given:Array.isArray(this.definition.given)?this.definition.given:[this.definition.given],owner:this.owner.id,extensions:this.extensions}}}t.Rule=h,n=new WeakMap,r=new WeakMap,s=new WeakMap,o=new WeakMap},73368:(e,t,i)=>{"use strict";var n,r,s;Object.defineProperty(t,"__esModule",{value:!0}),t.Ruleset=void 0;const o=i(85608),a=i(98136),c=i(46734),p=i(64100),d=i(82846),f=i(572),l=i(92237),u=i(23859),m=i(1679),h=i(83486),y=i(1336),g=Symbol("@stoplight/spectral/ruleset/#stack"),b=Symbol("@stoplight/spectral/ruleset/#explicit-severity"),v=/^\.?spectral\.(ya?ml|json|m?js)$/;let $=1;class j{constructor(e,t){var i;let a;if(this.maybeDefinition=e,n.add(this),this.id=$++,this.formats=new h.Formats,r.set(this,void 0),(0,c.isPlainObject)(e)&&"extends"in e){const{extends:t,...i}=e;(0,f.assertValidRuleset)({extends:[],...i},"js"),a=e}else(0,f.assertValidRuleset)(e,"js"),a=e;this.definition=a,(0,o.__classPrivateFieldSet)(this,r,{severity:"recommended",...t},"f");let p=!1;this.aliases=void 0===a.aliases?null:Object.fromEntries(Object.entries(a.aliases).map((e=>{const[t,i]=e;if((0,y.isSimpleAliasDefinition)(i))return e;p=!0;const n=i.targets.map((e=>({formats:new h.Formats(e.formats),given:e.given})));return[t,{...i,targets:n}]}))),this.hasComplexAliases=p;const d=null!==(i=null==t?void 0:t[g])&&void 0!==i?i:new Map;if(d.set(this.definition,this),this.extends="extends"in a?(Array.isArray(a.extends)?a.extends:[a.extends]).reduce(((e,t)=>{let i,n="recommended";const r=Array.isArray(t);return r?[i,n]=t:i=t,void 0!==d.get(i)||e.push(new j(i,{severity:n,[g]:d,[b]:r})),e}),[]):null,1===d.size&&a.overrides?this.overrides=a.overrides:this.overrides=null,d.delete(this.definition),Array.isArray(this.definition.formats))for(const e of this.definition.formats)this.formats.add(e);if(Array.isArray(this.extends))for(const{formats:e}of this.extends)for(const t of e)this.formats.add(t);this.rules=(0,o.__classPrivateFieldGet)(this,n,"m",s).call(this)}get source(){var e;return null!==(e=(0,o.__classPrivateFieldGet)(this,r,"f").source)&&void 0!==e?e:null}fromSource(e){if(null===this.overrides)return this;const{source:t}=this;if(null===e)throw new Error("Document must have some source assigned. If you use Spectral programmatically make sure to pass the source to Document");if(null===t)throw new Error("Ruleset must have some source assigned. If you use Spectral programmatically make sure to pass the source to Ruleset");const i=(0,a.relative)((0,a.dirname)(t),e),n={},r=this.overrides.flatMap((({files:e,...r})=>{var s,o;const a=[];for(const d of e){const e=null!==(s=(0,c.extractSourceFromRef)(d))&&void 0!==s?s:d;if(!(0,p.minimatch)(i,e))continue;const f=(0,c.extractPointerFromRef)(d);if(e===d)a.push(d);else{if(!("rules"in r)||null===f)throw new Error("Unknown error. The ruleset is presumably invalid.");for(const[i,s]of Object.entries(r.rules)){if("object"==typeof s||"boolean"==typeof s)throw new Error("Unknown error. The ruleset is presumably invalid.");const{definition:r}=null!==(o=n[i])&&void 0!==o?o:n[i]={rulesetSource:t,definition:new Map},a=(0,u.getDiagnosticSeverity)(s);let c=r.get(e);void 0===c&&(c=new Map,r.set(e,c)),c.set(f,a)}}}return 0===a.length?[]:r})),{overrides:s,...o}=this.definition;if(0===r.length&&0===Object.keys(n).length)return this;const d=0===r.length?null:r.length>1?r.slice(1).reduce(((e,t)=>(0,m.mergeRulesets)(e,t,!0)),r[0]):r[0],f=new j(null===d?o:(0,m.mergeRulesets)(o,d,!1),{severity:"recommended",source:t});for(const[e,t]of Object.entries(n))e in f.rules&&(f.rules[e].overrides=t);return f}get parserOptions(){return{...u.DEFAULT_PARSER_OPTIONS,...this.definition.parserOptions}}static isDefaultRulesetFile(e){return v.test(e)}toJSON(){return{id:this.id,extends:this.extends,source:this.source,aliases:this.aliases,formats:0===this.formats.size?null:this.formats,rules:this.rules,overrides:this.overrides,parserOptions:this.parserOptions}}}t.Ruleset=j,r=new WeakMap,n=new WeakSet,s=function(){const e={};if(null!==this.extends&&this.extends.length>0)for(const t of this.extends)if(t!==this)for(const i of Object.values(t.rules))e[i.name]=i,void 0!==(0,o.__classPrivateFieldGet)(this,r,"f")[g]&&!0===(0,o.__classPrivateFieldGet)(this,r,"f")[b]&&(i.enabled=d.Rule.isEnabled(i,(0,o.__classPrivateFieldGet)(this,r,"f").severity));if("rules"in this.definition)for(const[t,i]of Object.entries(this.definition.rules)){const n=(0,l.mergeRule)(e[t],t,i,this);if(e[t]=n,n.owner===this&&(n.enabled=d.Rule.isEnabled(n,(0,o.__classPrivateFieldGet)(this,r,"f").severity)),null!==n.formats)for(const e of n.formats)this.formats.add(e);else n.owner!==this?n.formats=void 0===n.owner.definition.formats?null:new h.Formats(n.owner.definition.formats):void 0!==this.definition.formats&&(n.formats=new h.Formats(this.definition.formats));void 0!==this.definition.documentationUrl&&null===n.documentationUrl&&(n.documentationUrl=`${this.definition.documentationUrl}#${t}`)}return e}},1336:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isScopedAliasDefinition=t.isValidAliasTarget=t.isSimpleAliasDefinition=void 0;const n=i(46734),r=i(45250);function s(e){const t=e.formats;return!!(Array.isArray(t)||t instanceof Set)&&Array.isArray(e.given)&&e.given.every(r.isString)}t.isSimpleAliasDefinition=function(e){return Array.isArray(e)},t.isValidAliasTarget=s,t.isScopedAliasDefinition=function(e){return(0,n.isPlainObject)(e)&&Array.isArray(e.targets)&&e.targets.every(s)}},64100:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.minimatch=void 0;const n=(0,i(85608).__importDefault)(i(14763)),r={matchBase:!0};t.minimatch=function(e,t){return(0,n.default)(e,t,r)}},92393:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDiagnosticSeverity=t.DEFAULT_SEVERITY_LEVEL=void 0;const n=i(20613);t.DEFAULT_SEVERITY_LEVEL=n.DiagnosticSeverity.Warning;const r={error:n.DiagnosticSeverity.Error,warn:n.DiagnosticSeverity.Warning,info:n.DiagnosticSeverity.Information,hint:n.DiagnosticSeverity.Hint,off:-1};t.getDiagnosticSeverity=function(e){return Number.isNaN(Number(e))?r[e]:Number(e)}},55823:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createValidator=void 0;const n=i(85608),r=(0,n.__importStar)(i(70130)),s=(0,n.__importDefault)(i(91911)),o=(0,n.__importDefault)(i(74421)),a=(0,n.__importDefault)(i(11673)),c=(0,n.__importStar)(i(91361)),p=(0,n.__importStar)(i(82691)),d=(0,n.__importStar)(i(84185)),f=(0,n.__importStar)(i(3054)),l=(0,n.__importStar)(i(50421)),u=i(28658),m=i(59868),h={js:null,json:null};t.createValidator=function(e){const t=h[e];if(null!==t)return t;const i=new r.default({allErrors:!0,strict:!0,strictRequired:!1,keywords:["$anchor"],schemas:[c,p],passContext:!0});(0,o.default)(i),(0,a.default)(i),i.addKeyword({keyword:"x-spectral-runtime",schemaType:"string",error:{message(e){var t;return r._`${void 0!==(null===(t=e.params)||void 0===t?void 0:t.message)?e.params.message:""}`},params(e){var t;return r._`{ errors: ${void 0!==(null===(t=e.params)||void 0===t?void 0:t.errors)&&e.params.errors} || [] }`}},code(e){const{data:t}=e;switch(e.schema){case"format":e.fail(r._`typeof ${t} !== "function"`);break;case"ruleset-function":{const i=e.gen.const("spectralFunction",r._`this.validateFunction(${t}.function, ${t}.functionOptions === void 0 ? null : ${t}.functionOptions, ${s.default.instancePath})`);e.gen.if(r._`${i} !== void 0`),e.error(!1,{errors:i}),e.gen.endIf();break}case"alias":{const i=e.gen.const("spectralAlias",r._`this.validateAlias(${s.default.rootData}, ${t}, ${s.default.instancePath})`);e.gen.if(r._`${i} !== void 0`),e.error(!1,{errors:i}),e.gen.endIf();break}}}}),"js"===e?i.addSchema(f):i.addSchema(l);const n=new Proxy(i.compile(d),{apply:(e,t,i)=>Reflect.apply(e,{validateAlias:u.validateAlias,validateFunction:m.validateFunction},i)});return h[e]=n,n}},38647:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertValidRule=t.assertValidRuleset=void 0;const n=i(85608),r=i(46734),s=i(55823),o=i(78253),a=(0,n.__importDefault)(i(99639));t.assertValidRuleset=function(e,t="js"){var i;if(!(0,r.isPlainObject)(e))throw new o.RulesetValidationError("invalid-ruleset-definition","Provided ruleset is not an object",[]);if(!("rules"in e)&&!("extends"in e)&&!("overrides"in e))throw new o.RulesetValidationError("invalid-ruleset-definition","Ruleset must have rules or extends or overrides defined",[]);const n=(0,s.createValidator)(t);if(!n(e))throw new a.default((0,o.convertAjvErrors)(null!==(i=n.errors)&&void 0!==i?i:[]))},t.assertValidRule=function(e,t){if(!function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("given"in e||"then"in e)}(e))throw new o.RulesetValidationError("invalid-rule-definition","Rule definition expected",["rules",t])}},78253:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertAjvErrors=t.RulesetValidationError=void 0;const n=i(71267);class r extends Error{constructor(e,t,i){super(t),this.code=e,this.message=t,this.path=i}}t.RulesetValidationError=r;const s=/^\/rules\/[^/]+/,o=/^\/(?:aliases|extends|overrides(?:\/\d+\/extends)?)/;function a(e){return(0,n.isAggregateError)(e)?e.errors.flatMap(a):e}function c(e,t){if(0===e.length)return"generic-validation-error";if(1===e.length&&"errorMessage"!==t)return"invalid-ruleset-definition";switch(e[0]){case"rules":return function(e){return 3===e.length&&"severity"===e[2]?"invalid-severity":4===e.length&&"formats"===e[2]?"invalid-format":4===e.length&&"given"===e[2]?"invalid-given-definition":"invalid-rule-definition"}(e);case"parserOptions":return"invalid-parser-options-definition";case"aliases":return function(e){if(6===e.length){if("given"===e[4])return"invalid-given-definition";if("formats"===e[4])return"invalid-format"}return"invalid-alias-definition"}(e);case"extends":return"invalid-extend-definition";case"overrides":return function(e,t){return e.length>=3?c(e.slice(2),t):"invalid-override-definition"}(e,t);case"formats":return 1===e.length?"invalid-ruleset-definition":"invalid-format";default:return"generic-validation-error"}}t.convertAjvErrors=function(e){const t=[...e].sort(((e,t)=>{const i=e.instancePath.length-t.instancePath.length;return 0===i?"errorMessage"===e.keyword&&"errorMessage"!==t.keyword?-1:0:i})).filter(((e,t,i)=>0===t||i[t-1].instancePath!==e.instancePath)),i=[];e:for(let e=0;e{var t;if("x-spectral-runtime"===e.keyword)return a(e.params.errors);const i=e.instancePath.slice(1).split("/");return new r(c(i,e.keyword),null!==(t=e.message)&&void 0!==t?t:"unknown error",i)}))}},572:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertValidRuleset=t.RulesetValidationError=void 0;var n=i(78253);Object.defineProperty(t,"RulesetValidationError",{enumerable:!0,get:function(){return n.RulesetValidationError}});var r=i(38647);Object.defineProperty(t,"assertValidRuleset",{enumerable:!0,get:function(){return r.assertValidRuleset}})},28658:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAlias=void 0;const n=i(46734),r=i(45250),s=i(36246),o=i(83486),a=i(5688),c=i(78253);function p(e,t){if(!Array.isArray(e))return null;const i=Number(t);if(Number.isNaN(i))return null;if(i<0&&i>=e.length)return null;const r=e[i];return(0,n.isPlainObject)(r)&&(0,n.isPlainObject)(r.aliases)?r.aliases:null}t.validateAlias=function(e,t,i){const n=(0,a.toParsedPath)(i);try{const i=(0,r.get)(e,[...n.slice(0,n.indexOf("rules")+2),"formats"]),a="overrides"===n[0]?{...e.aliases,...p(e.overrides,n[1])}:e.aliases;(0,s.resolveAlias)(null!=a?a:null,t,Array.isArray(i)?new o.Formats(i):null)}catch(e){return e instanceof ReferenceError?new c.RulesetValidationError("undefined-alias",e.message,n):(0,a.wrapError)(e,i)}}},5688:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toParsedPath=t.wrapError=void 0;const n=i(85608),r=i(45250),s=(0,n.__importDefault)(i(99639)),o=i(78253),a=i(71267);function c(e){return e instanceof o.RulesetValidationError?(e.path.unshift(...this),e):new o.RulesetValidationError("generic-validation-error",(0,r.isError)(e)?e.message:String(e),[...this])}function p(e){return e.slice(1).split("/")}t.wrapError=function(e,t){const i=p(t);return(0,a.isAggregateError)(e)?new s.default(e.errors.map(c,i)):c.call(i,e)},t.toParsedPath=p},59868:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateFunction=void 0;const n=i(5688),r=i(78253);t.validateFunction=function(e,t,i){try{if(function(e){if("function"!=typeof e)throw ReferenceError("Function is not defined")}(e),!("validator"in e))return;e.validator.bind(e)(t)}catch(e){return e instanceof ReferenceError?new r.RulesetValidationError("undefined-function",e.message,[...(0,n.toParsedPath)(i),"function"]):(0,n.wrapError)(e,i)}}},35046:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Runner=void 0;var n=i(59446);Object.defineProperty(t,"Runner",{enumerable:!0,get:function(){return n.Runner}})},32185:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lintNode=void 0;const n=i(95955),r=i(45250),s=i(59756),o=i(84474),a=i(32704);function c(e,t,i){var s,c,p,d,f;const{rule:l,path:u}=t;for(const t of i){const i=(null!==(s=t.path)&&void 0!==s?s:u).map(n.decodeSegmentFragment),m=e.documentInventory.findAssociatedItemForPath(i,l.resolved),h=null!==(c=null==m?void 0:m.path)&&void 0!==c?c:(0,n.getClosestJsonPath)(e.documentInventory.resolved,i),y=null==m?void 0:m.document.source,g=null!==(p=null==m?void 0:m.document)&&void 0!==p?p:e.documentInventory.document,b=null!==(d=g.getRangeForJsonPath(h,!0))&&void 0!==d?d:o.Document.DEFAULT_RANGE,v=0===h.length?g.data:(0,r.get)(g.data,h),$={property:void 0!==(null==m?void 0:m.missingPropertyPath)&&m.missingPropertyPath.length>h.length?(0,n.printPath)(m.missingPropertyPath.slice(h.length-1),n.PrintStyle.Dot):h.length>0?h[h.length-1]:"",error:t.message,path:(0,n.printPath)(h,n.PrintStyle.EscapedPointer),description:l.description,value:v},j=(0,a.message)(t.message,$);$.error=j;const _=null!=y?l.getSeverityForSource(y,h):l.severity;-1!==_&&e.results.push({code:l.name,message:(null===l.message?null!==(f=l.description)&&void 0!==f?f:j:(0,a.message)(l.message,$)).trim(),path:h,severity:_,...null!==y?{source:y}:null,range:b})}}t.lintNode=(e,t,i)=>{var n;const o=t.path.length>0&&"$"===t.path[0]?t.path.slice(1):t.path.slice(),p={document:e.documentInventory.document,documentInventory:e.documentInventory,rule:i,path:o};for(const d of i.then){const i=(0,a.getLintTargets)(t.value,d.field);for(const t of i){let i;t.path.length>0?p.path=[...o,...t.path]:p.path=o;try{i=d.function(t.value,null!==(n=d.functionOptions)&&void 0!==n?n:null,p)}catch(e){throw new s.ErrorWithCause(`Function "${d.function.name}" threw an exception${(0,r.isError)(e)?`: ${e.message}`:""}`,{cause:e})}if(void 0!==i)if("then"in i){const t={...p};e.promises.push(i.then((i=>void 0===i?void 0:c(e,t,i))))}else c(e,p,i)}}}},59446:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Runner=void 0;const n=i(85608),r=i(41150),s=i(32185),o=(0,n.__importDefault)(i(22001)),a=i(1847),c=i(46734);function p(e,t,i){var n;if((0,c.isPlainObject)(e)||Array.isArray(e))new o.default(i,{fallback:a.jsonPathPlus,unsafe:!1,output:"auto",customShorthands:{}}).query(e,Object.entries(t).reduce(((e,[t,i])=>(e[t]=e=>{for(const t of i)t(e)},e)),{}));else for(const i of null!==(n=t.$)&&void 0!==n?n:[])i({path:[],value:e})}t.Runner=class{constructor(e){var t;this.inventory=e,this.results=[...this.inventory.diagnostics,...null!==(t=this.inventory.errors)&&void 0!==t?t:[]]}get document(){return this.inventory.document}addResult(e){this.results.push(e)}async run(e){var t,i,n;const{inventory:r}=this,{rules:o}=e,a=null!==(t=this.document.formats)&&void 0!==t?t:null,c={ruleset:e,documentInventory:r,results:this.results,promises:[]},d=Object.values(o).filter((e=>e.enabled)).filter((e=>e.matchesFormat(r.formats))),f={resolved:{},unresolved:{}};for(const e of d)for(const t of e.getGivenForFormats(a)){const r=t=>{(0,s.lintNode)(c,t,e)};(null!==(i=(n=f[e.resolved?"resolved":"unresolved"])[t])&&void 0!==i?i:n[t]=[]).push(r)}const l=Object.keys(f.resolved),u=Object.keys(f.unresolved);l.length>0&&p(c.documentInventory.resolved,f.resolved,l),u.length>0&&p(c.documentInventory.unresolved,f.unresolved,u),c.promises.length>0&&await Promise.all(c.promises)}getResults(){return(0,r.prepareResults)(this.results)}}},68111:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLintTargets=void 0;const n=i(73522),r=i(45250);t.getLintTargets=(e,t)=>{const i=[];if((0,r.isObject)(e)&&"string"==typeof t)if("@key"===t)for(const t of Object.keys(e))i.push({path:[t],value:t});else t.startsWith("$")?(0,n.JSONPath)({path:t,json:e,resultType:"all",callback(e){i.push({path:(0,r.toPath)(e.path.slice(1)),value:e.value})}}):i.push({path:(0,r.toPath)(t),value:(0,r.get)(e,t)});else i.push({path:[],value:e});return 0===i.length&&i.push({path:[],value:void 0}),i}},32704:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(68111),t),(0,n.__exportStar)(i(15155),t)},15155:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.message=void 0;const n=i(95955),r=new(i(63687).Replacer)(2);r.addFunction("print",(function(e){if("string"!=typeof e)return"";const{property:t,value:i}=this;switch(e){case"property":return void 0!==t&&""!==t?`"${t}" property `:"The document ";case"value":return(0,n.printValue)(i);default:return e in this&&null!==this[e]?String(this[e]):""}})),t.message=r.print.bind(r)},41150:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sortResults=t.compareResults=t.comparePosition=t.prepareResults=void 0,t.prepareResults=e=>(0,t.sortResults)(i(e));const i=e=>{const t=new Set;return e.filter((e=>{const i=(e=>{let t=String(e.code);return e.path.length>0?t+=JSON.stringify(e.path):t+=JSON.stringify(e.range),void 0!==e.source&&(t+=e.source),void 0!==e.message&&(t+=e.message),t})(e);return!t.has(i)&&(t.add(i),!0)}))},n=e=>e<0?-1:e>0?1:0;t.comparePosition=(e,t)=>{const i=e.line-t.line;if(0!==i)return n(i);const r=e.character-t.character;return n(r)},t.compareResults=(e,i)=>{const r=((e,t)=>void 0===e&&void 0===t?0:void 0===e?-1:void 0===t?1:e.localeCompare(t))(e.source,i.source);if(0!==r)return n(r);const s=(0,t.comparePosition)(e.range.start,i.range.start);if(0!==s)return s;const o=((e,t)=>void 0===e&&void 0===t?0:void 0===e?-1:void 0===t?1:String(e).localeCompare(String(t),void 0,{numeric:!0}))(e.code,i.code);if(0!==o)return n(o);const a=e.path.join().localeCompare(i.path.join());return n(a)},t.sortResults=e=>[...e].sort(t.compareResults)},77327:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Spectral=void 0;const n=i(85608),r=i(46734),s=i(20613),o=(0,n.__importStar)(i(63083)),a=i(88601),c=i(84474),p=i(47600),d=i(35046),f=i(73368),l=i(98833),u=i(16090);(0,n.__exportStar)(i(86065),t),t.Spectral=class{constructor(e){this.opts=e,void 0!==(null==e?void 0:e.resolver)?this._resolver=e.resolver:this._resolver=(0,a.createHttpAndFileResolver)()}parseDocument(e){return e instanceof c.Document?e:(0,c.isParsedResult)(e)?new c.ParsedDocument(e):new c.Document("string"==typeof e?e:(0,r.stringify)(e,void 0,2),o.Yaml)}async runWithResolved(e,t={}){if(void 0===this.ruleset)throw new Error("No ruleset has been defined. Have you called setRuleset()?");const i=this.parseDocument(e),n=this.ruleset.fromSource(i.source),r=new p.DocumentInventory(i,this._resolver);await r.resolve();const s=new d.Runner(r);if(s.results.push(...this._filterParserErrors(i.diagnostics,n.parserOptions)),void 0===i.formats){const e=[...n.formats].filter((e=>e(r.resolved,i.source)));0===e.length&&!0!==t.ignoreUnknownFormat?(i.formats=null,n.formats.size>0&&s.addResult(this._generateUnrecognizedFormatError(i,Array.from(n.formats)))):i.formats=new Set(e)}await s.run(n);const o=s.getResults();return{resolved:r.resolved,results:o}}async run(e,t={}){return(await this.runWithResolved(e,t)).results}setRuleset(e){this.ruleset=e instanceof f.Ruleset?e:new f.Ruleset(e)}_generateUnrecognizedFormatError(e,t){return(0,l.generateDocumentWideResult)(e,`The provided document does not match any of the registered formats [${t.map((e=>{var t;return null!==(t=e.displayName)&&void 0!==t?t:e.name})).join(", ")}]`,s.DiagnosticSeverity.Warning,"unrecognized-format")}_filterParserErrors(e,t){return e.reduce(((e,i)=>{if("parser"!==i.code)return e;let n;if(i.message.startsWith("Mapping key must be a string scalar rather than"))n=(0,u.getDiagnosticSeverity)(t.incompatibleValues);else{if(!i.message.startsWith("Duplicate key"))return e.push(i),e;n=(0,u.getDiagnosticSeverity)(t.duplicateKeys)}return-1!==n&&(e.push(i),i.severity=n),e}),[])}}},32385:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86065:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(85608);(0,n.__exportStar)(i(17937),t),(0,n.__exportStar)(i(32385),t)},17937:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},98833:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateDocumentWideResult=void 0;const n=i(84474);t.generateDocumentWideResult=(e,t,i,r)=>{var s;return{range:null!==(s=e.getRangeForJsonPath([],!0))&&void 0!==s?s:n.Document.DEFAULT_RANGE,message:t,code:r,severity:i,...null!==e.source?{source:e.source}:null,path:[]}}},63687:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Replacer=void 0;const n=(0,i(85608).__importDefault)(i(46065));t.Replacer=class{constructor(e){this.regex=new RegExp(`#?${"{".repeat(e)}([^}\n]+)${"}".repeat(e)}`,"g"),this.functions={}}addFunction(e,t){this.functions[e]=t}print(e,t){return e.replace(this.regex,((i,r,s)=>"#"===e[s]?String((0,n.default)(r,{...Object.entries(this.functions).reduce(((e,[i,n])=>(e[i]=n.bind(t),e)),{}),...t})):r in t?String(t[r]):""))}}},20613:(e,t)=>{"use strict";var i,n,r,s;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpParamStyles=void 0,(i=t.HttpParamStyles||(t.HttpParamStyles={})).Simple="simple",i.Matrix="matrix",i.Label="label",i.Form="form",i.CommaDelimited="commaDelimited",i.SpaceDelimited="spaceDelimited",i.PipeDelimited="pipeDelimited",i.DeepObject="deepObject",t.DiagnosticSeverity=void 0,(n=t.DiagnosticSeverity||(t.DiagnosticSeverity={}))[n.Error=0]="Error",n[n.Warning=1]="Warning",n[n.Information=2]="Information",n[n.Hint=3]="Hint",t.NodeType=void 0,(r=t.NodeType||(t.NodeType={})).Article="article",r.HttpService="http_service",r.HttpServer="http_server",r.HttpOperation="http_operation",r.Model="model",r.Generic="generic",r.Unknown="unknown",r.TableOfContents="table_of_contents",r.SpectralRuleset="spectral_ruleset",r.Styleguide="styleguide",r.Image="image",t.NodeFormat=void 0,(s=t.NodeFormat||(t.NodeFormat={})).Json="json",s.Markdown="markdown",s.Yaml="yaml",s.Apng="apng",s.Avif="avif",s.Bmp="bmp",s.Gif="gif",s.Jpeg="jpeg",s.Png="png",s.Svg="svg",s.Webp="webp"},75150:(e,t,i)=>{"use strict";var n=i(45838),r=i(76502);function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(n),a=s(r);const c=e=>void 0!==e,p=e=>t=>t.keyword===e,d=p("anyOf"),f=p("enum"),l=e=>e&&e.errors||[],u=e=>{return e&&(t=e.children,Object.values(t))||[];var t},m=e=>t=>t.reduce(((e,t)=>e.concat(t)),e),h=/['"]/g,y=/NOT/g,g=/^[a-z]/;function b(e){return e.replace(h,'"').replace(y,"not")}function v(e){return e.toUpperCase()}class ${constructor(e={isIdentifierLocation:!1},{data:t,schema:i,propPath:n}){this.options=e,this.data=t,this.schema=i,this.propPath=n}getError(){throw new Error(`Implement the 'getError' method inside ${this.constructor.name}!`)}getPrettyPropertyName(e){const t=this.getPropertyName(e);return null===t?(typeof this.getPropertyValue(e)).replace(g,v):`"${t}" property`}getPropertyName(e){const t=function(e){const t=e.lastIndexOf("/");return-1!==t?e.slice(t+1):null}(e);return null!==t?t:0===this.propPath.length?null:this.propPath[this.propPath.length-1]}getPropertyValue(e){return""===e?this.data:o.default.get(this.data,e)}}class j extends ${getError(){const{message:e,instancePath:t}=this.options;return{error:`${this.getPrettyPropertyName(t)} ${b(e)}`,path:t}}}class _ extends ${constructor(...e){super(...e)}getError(){const{params:e,instancePath:t}=this.options;return{error:`Property "${e.additionalProperty}" is not expected to be here`,path:t}}}class w extends ${getError(){const{message:e,instancePath:t,params:i}=this.options,n=this.findBestMatch(),r={error:`${this.getPrettyPropertyName(t)} ${e}: ${i.allowedValues.map((e=>"string"==typeof e?`"${e}"`:JSON.stringify(e))).join(", ")}`,path:t};return null!==n&&(r.suggestion=`Did you mean "${n}"?`),r}findBestMatch(){const{instancePath:e,params:{allowedValues:t}}=this.options,i=this.getPropertyValue(e);if("string"!=typeof i)return null;const n=t.filter((e=>"string"==typeof e)).map((e=>({value:e,weight:a.default(e,i.toString())}))).sort(((e,t)=>e.weight>t.weight?1:e.weight0&&delete e.errors,e.errors&&e.errors.length&&l(e).every(f)&&(e=>t=>{return u(e).filter((n=t,i=e=>n===e,e=>!i(e)));var i,n})(t)(e).filter(c).some(l)&&delete t.children[i],Object.entries(e.children).forEach((([t,i])=>E(i,e,t)))}function A(e,t){const i=l(e);if(i.length&&i.every(f)){const e=[...new Set(m([])(i.map((e=>e.params.allowedValues))))],n=i[0];return[new w({...n,params:{allowedValues:e}},t)]}return m(i.reduce(((e,i)=>{switch(i.keyword){case"additionalProperties":return e.concat(new _(i,t));case"required":return e.concat(new j(i,t));case"type":return e.concat(new P(i,t));case"errorMessage":return e.concat(new S(i,t));default:return e.concat(new x(i,t))}}),[]))(u(e).map((e=>A(e,t))))}var T=(e,t)=>{const i=function(e=[]){const t={children:{}};return e.forEach((e=>{const{instancePath:i}=e,n=""===i?[""]:i.match(O);n&&n.reduce(((t,i,r)=>(t.children[i]=t.children[i]||{children:{},errors:[]},r===n.length-1&&t.children[i].errors.push(e),t.children[i])),t)})),t}(e||[]);return E(i),A(i,t)};const I=e=>e.getError();e.exports=(e,t,{propertyPath:i,targetValue:n})=>T(t,{data:n,schema:e,propPath:i}).map(I)},29824:(e,t)=>{"use strict";var i,n,r,s,o;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpOperationSecurityDeclarationTypes=void 0,(i=t.HttpOperationSecurityDeclarationTypes||(t.HttpOperationSecurityDeclarationTypes={})).None="none",i.Declared="declared",i.InheritedFromService="inheritedFromService",t.HttpParamStyles=void 0,(n=t.HttpParamStyles||(t.HttpParamStyles={})).Unspecified="unspecified",n.Simple="simple",n.Matrix="matrix",n.Label="label",n.Form="form",n.CommaDelimited="commaDelimited",n.SpaceDelimited="spaceDelimited",n.PipeDelimited="pipeDelimited",n.DeepObject="deepObject",n.TabDelimited="tabDelimited",t.DiagnosticSeverity=void 0,(r=t.DiagnosticSeverity||(t.DiagnosticSeverity={}))[r.Error=0]="Error",r[r.Warning=1]="Warning",r[r.Information=2]="Information",r[r.Hint=3]="Hint",t.NodeType=void 0,(s=t.NodeType||(t.NodeType={})).Article="article",s.HttpService="http_service",s.HttpServer="http_server",s.HttpOperation="http_operation",s.HttpCallback="http_callback",s.HttpWebhook="http_webhook",s.Model="model",s.Generic="generic",s.Unknown="unknown",s.TableOfContents="table_of_contents",s.SpectralRuleset="spectral_ruleset",s.Styleguide="styleguide",s.Image="image",s.StoplightResolutions="stoplight_resolutions",s.StoplightOverride="stoplight_override",t.NodeFormat=void 0,(o=t.NodeFormat||(t.NodeFormat={})).Json="json",o.Markdown="markdown",o.Yaml="yaml",o.Javascript="javascript",o.Apng="apng",o.Avif="avif",o.Bmp="bmp",o.Gif="gif",o.Jpeg="jpeg",o.Png="png",o.Svg="svg",o.Webp="webp"},78464:(e,t,i)=>{"use strict";var n=i(3468),r=i(20700),s=i(79828),o=i(17189),a=i(67594),c=i(58481),p=i(66684);e.exports=function(e,t,i){if("Object"!==p(e))throw new n("Assertion failed: Type(O) is not Object");if(!a(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");return r(o,c,s,e,t,{"[[Configurable]]":!0,"[[Enumerable]]":!1,"[[Value]]":i,"[[Writable]]":!0})}},79828:(e,t,i)=>{"use strict";var n=i(3468),r=i(47604),s=i(290);e.exports=function(e){if(void 0!==e&&!r(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return s(e)}},17189:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!s(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!(!r(e,"[[Value]]")&&!r(e,"[[Writable]]"))}},67594:e=>{"use strict";e.exports=function(e){return"string"==typeof e||"symbol"==typeof e}},58481:(e,t,i)=>{"use strict";var n=i(41445);e.exports=function(e,t){return e===t?0!==e||1/e==1/t:n(e)&&n(t)}},66684:(e,t,i)=>{"use strict";var n=i(61216);e.exports=function(e){return"symbol"==typeof e?"Symbol":"bigint"==typeof e?"BigInt":n(e)}},80238:(e,t,i)=>{"use strict";var n=i(39911),r=i(76982),s=i(2625),o=i(3468);e.exports=function(e,t,i){if("string"!=typeof e)throw new o("Assertion failed: `S` must be a String");if(!r(t)||t<0||t>s)throw new o("Assertion failed: `length` must be an integer >= 0 and <= 2**53");if("boolean"!=typeof i)throw new o("Assertion failed: `unicode` must be a Boolean");return i?t+1>=e.length?t+1:t+n(e,t)["[[CodeUnitCount]]"]:t+1}},9081:(e,t,i)=>{"use strict";var n=i(528),r=i(5731),s=i(3468),o=n("%Promise%",!0),a=i(79818),c=i(90307),p=i(158),d=i(56188),f=i(69896),l=i(52795),u=a("Promise.prototype.then",!0);e.exports=function(e){if("Object"!==l(e))throw new s("Assertion failed: Type(O) is not Object");if(arguments.length>1)throw new r("although AsyncFromSyncIteratorContinuation should take a second argument, it is not used in this implementation");if(!o)throw new r("This environment does not support Promises.");return new o((function(t){var i=p(e),n=d(e),r=f(o,n);t(u(r,(function(e){return c(e,i)})))}))}},53347:(e,t,i)=>{"use strict";var n=i(528),r=i(79818),s=i(3468),o=i(80234),a=n("%Reflect.apply%",!0)||r("Function.prototype.apply");e.exports=function(e,t){var i=arguments.length>2?arguments[2]:[];if(!o(i))throw new s("Assertion failed: optional `argumentsList`, if provided, must be a List");return a(e,t,i)}},39911:(e,t,i)=>{"use strict";var n=i(3468),r=i(79818),s=i(91318),o=i(86186),a=i(79041),c=r("String.prototype.charAt"),p=r("String.prototype.charCodeAt");e.exports=function(e,t){if("string"!=typeof e)throw new n("Assertion failed: `string` must be a String");var i=e.length;if(t<0||t>=i)throw new n("Assertion failed: `position` must be >= 0, and < the length of `string`");var r=p(e,t),d=c(e,t),f=s(r),l=o(r);if(!f&&!l)return{"[[CodePoint]]":d,"[[CodeUnitCount]]":1,"[[IsUnpairedSurrogate]]":!1};if(l||t+1===i)return{"[[CodePoint]]":d,"[[CodeUnitCount]]":1,"[[IsUnpairedSurrogate]]":!0};var u=p(e,t+1);return o(u)?{"[[CodePoint]]":a(r,u),"[[CodeUnitCount]]":2,"[[IsUnpairedSurrogate]]":!1}:{"[[CodePoint]]":d,"[[CodeUnitCount]]":1,"[[IsUnpairedSurrogate]]":!0}}},55286:(e,t,i)=>{"use strict";var n=i(528),r=i(5731),s=i(3468),o=n("%Promise%",!0),a=i(9081),c=i(53347),p=i(90307),d=i(52903),f=i(18666),l=i(24600),u=i(77394),m=i(52795),h=i(66986),y=i(66381),g=n("%AsyncFromSyncIteratorPrototype%",!0)||{next:function(e){if(!o)throw new r("This environment does not support Promises.");var t=this;h.assert(t,"[[SyncIteratorRecord]]");var i=arguments.length;return new o((function(n){var r,s=h.get(t,"[[SyncIteratorRecord]]");r=i>0?l(s,e):l(s),n(a(r))}))},return:function(){if(!o)throw new r("This environment does not support Promises.");var e=this;h.assert(e,"[[SyncIteratorRecord]]");var t=arguments.length>0,i=t?arguments[0]:void 0;return new o((function(n,r){var o=h.get(e,"[[SyncIteratorRecord]]")["[[Iterator]]"],d=f(o,"return");if(void 0!==d){var l;l=t?c(d,o,[i]):c(d,o),"Object"===m(l)?n(a(l)):c(r,void 0,[new s("Iterator `return` method returned a non-object value.")])}else{var u=p(i,!0);c(n,void 0,[u])}}))},throw:function(){if(!o)throw new r("This environment does not support Promises.");var e=this;h.assert(e,"[[SyncIteratorRecord]]");var t=arguments.length>0,i=t?arguments[0]:void 0;return new o((function(n,r){var o,p=h.get(e,"[[SyncIteratorRecord]]")["[[Iterator]]"],d=f(p,"throw");void 0!==d?(o=t?c(d,p,[i]):c(d,p),"Object"===m(o)?n(a(o)):c(r,void 0,[new s("Iterator `throw` method returned a non-object value.")])):c(r,void 0,[i])}))}};e.exports=function(e){if(!y(e))throw new s("Assertion failed: `syncIteratorRecord` must be an Iterator Record");var t=u(g);return h.set(t,"[[SyncIteratorRecord]]",e),{"[[Iterator]]":t,"[[NextMethod]]":d(t,"next"),"[[Done]]":!1}}},92210:(e,t,i)=>{"use strict";var n=i(3468),r=i(52731),s=i(35521),o=i(52795);e.exports=function(e,t,i){if("Object"!==o(e))throw new n("Assertion failed: Type(O) is not Object");if(!r(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");return s(e,t,{"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Value]]":i,"[[Writable]]":!0})}},10207:(e,t,i)=>{"use strict";var n=i(3468),r=i(92210),s=i(52731),o=i(52795);e.exports=function(e,t,i){if("Object"!==o(e))throw new n("Assertion failed: Type(O) is not Object");if(!s(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");if(!r(e,t,i))throw new n("unable to create data property")}},90307:(e,t,i)=>{"use strict";var n=i(3468);e.exports=function(e,t){if("boolean"!=typeof t)throw new n("Assertion failed: Type(done) is not Boolean");return{value:e,done:t}}},84063:(e,t,i)=>{"use strict";var n=i(3468),r=i(47604),s=i(290);e.exports=function(e){if(void 0!==e&&!r(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return s(e)}},52903:(e,t,i)=>{"use strict";var n=i(3468),r=i(48660),s=i(52731),o=i(52795);e.exports=function(e,t){if("Object"!==o(e))throw new n("Assertion failed: Type(O) is not Object");if(!s(t))throw new n("Assertion failed: IsPropertyKey(P) is not true, got "+r(t));return e[t]}},22693:(e,t,i)=>{"use strict";var n=i(528),r=i(3468),s=n("%Symbol.asyncIterator%",!0),o=i(48660),a=i(53558)(),c=i(80238),p=i(55286),d=i(21088),f=i(18666),l=i(80234),u=i(76959);e.exports=function(e,t){if("SYNC"!==t&&"ASYNC"!==t)throw new r("Assertion failed: `kind` must be one of 'sync' or 'async', got "+o(t));var i;if("ASYNC"===t&&a&&s&&(i=f(e,s)),void 0===i){var n=u({AdvanceStringIndex:c,GetMethod:f,IsArray:l},e);if("ASYNC"===t){if(void 0===n)throw new r("iterator method is `undefined`");var m=d(e,n);return p(m)}i=n}if(void 0===i)throw new r("iterator method is `undefined`");return d(e,i)}},21088:(e,t,i)=>{"use strict";var n=i(3468),r=i(53347),s=i(52903),o=i(46627),a=i(52795);e.exports=function(e,t){if(!o(t))throw new n("method must be a function");var i=r(t,e);if("Object"!==a(i))throw new n("iterator must return an object");return{"[[Iterator]]":i,"[[NextMethod]]":s(i,"next"),"[[Done]]":!1}}},18666:(e,t,i)=>{"use strict";var n=i(3468),r=i(32157),s=i(46627),o=i(52731),a=i(48660);e.exports=function(e,t){if(!o(t))throw new n("Assertion failed: IsPropertyKey(P) is not true");var i=r(e,t);if(null!=i){if(!s(i))throw new n(a(t)+" is not a function: "+a(i));return i}}},32157:(e,t,i)=>{"use strict";var n=i(3468),r=i(48660),s=i(52731);e.exports=function(e,t){if(!s(t))throw new n("Assertion failed: IsPropertyKey(P) is not true, got "+r(t));return e[t]}},67093:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!s(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!(!r(e,"[[Get]]")&&!r(e,"[[Set]]"))}},80234:(e,t,i)=>{"use strict";e.exports=i(66009)},46627:(e,t,i)=>{"use strict";e.exports=i(89617)},57326:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!s(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!(!r(e,"[[Value]]")&&!r(e,"[[Writable]]"))}},11482:(e,t,i)=>{"use strict";var n=i(528),r=n("%Object.preventExtensions%",!0),s=n("%Object.isExtensible%",!0),o=i(8809);e.exports=r?function(e){return!o(e)&&s(e)}:function(e){return!o(e)}},4579:(e,t,i)=>{"use strict";var n=i(3468),r=i(67093),s=i(57326),o=i(47604);e.exports=function(e){if(void 0===e)return!1;if(!o(e))throw new n("Assertion failed: `Desc` must be a Property Descriptor");return!r(e)&&!s(e)}},52731:e=>{"use strict";e.exports=function(e){return"string"==typeof e||"symbol"==typeof e}},158:(e,t,i)=>{"use strict";var n=i(3468),r=i(52903),s=i(64124),o=i(52795);e.exports=function(e){if("Object"!==o(e))throw new n("Assertion failed: Type(iterResult) is not Object");return s(r(e,"done"))}},24600:(e,t,i)=>{"use strict";var n=i(3468),r=i(53347),s=i(52795),o=i(66381);e.exports=function(e){if(!o(e))throw new n("Assertion failed: `iteratorRecord` must be an Iterator Record");var t;if(t=arguments.length<2?r(e["[[NextMethod]]"],e["[[Iterator]]"]):r(e["[[NextMethod]]"],e["[[Iterator]]"],[arguments[1]]),"Object"!==s(t))throw new n("iterator next must return an object");return t}},37259:(e,t,i)=>{"use strict";var n=i(3468),r=i(158),s=i(24600),o=i(66381);e.exports=function(e){if(!o(e))throw new n("Assertion failed: `iteratorRecord` must be an Iterator Record");var t=s(e);return!0!==r(t)&&t}},51192:(e,t,i)=>{"use strict";var n=i(3468),r=i(79818)("Array.prototype.push"),s=i(37259),o=i(56188),a=i(66381);e.exports=function(e){if(!a(e))throw new n("Assertion failed: `iteratorRecord` must be an Iterator Record");for(var t=[],i=!0;i;)if(i=s(e)){var c=o(i);r(t,c)}return t}},56188:(e,t,i)=>{"use strict";var n=i(3468),r=i(52903),s=i(52795);e.exports=function(e){if("Object"!==s(e))throw new n("Assertion failed: Type(iterResult) is not Object");return r(e,"value")}},35521:(e,t,i)=>{"use strict";var n=i(69336),r=i(5731),s=i(3468),o=i(47604),a=i(67093),c=i(11482),p=i(52731),d=i(45722),f=i(11328),l=i(52795),u=i(85442);e.exports=function(e,t,i){if("Object"!==l(e))throw new s("Assertion failed: O must be an Object");if(!p(t))throw new s("Assertion failed: P must be a Property Key");if(!o(i))throw new s("Assertion failed: Desc must be a Property Descriptor");if(!n){if(a(i))throw new r("This environment does not support accessor property descriptors.");var m=!(t in e)&&i["[[Writable]]"]&&i["[[Enumerable]]"]&&i["[[Configurable]]"]&&"[[Value]]"in i,h=t in e&&(!("[[Configurable]]"in i)||i["[[Configurable]]"])&&(!("[[Enumerable]]"in i)||i["[[Enumerable]]"])&&(!("[[Writable]]"in i)||i["[[Writable]]"])&&"[[Value]]"in i;if(m||h)return e[t]=i["[[Value]]"],f(e[t],i["[[Value]]"]);throw new r("This environment does not support defining non-writable, non-enumerable, or non-configurable properties")}var y=n(e,t),g=y&&d(y),b=c(e);return u(e,t,b,i,g)}},11246:(e,t,i)=>{"use strict";var n=i(3468),r=i(49944),s=i(52795);e.exports=function(e){if("Object"!==s(e))throw new n("Assertion failed: O must be an Object");if(!r)throw new n("This environment does not support fetching prototypes.");return r(e)}},77394:(e,t,i)=>{"use strict";var n=i(528)("%Object.create%",!0),r=i(3468),s=i(5731),o=i(80234),a=i(52795),c=i(90626),p=i(66986),d=i(66869)();e.exports=function(e){if(null!==e&&"Object"!==a(e))throw new r("Assertion failed: `proto` must be null or an object");var t,i=arguments.length<2?[]:arguments[1];if(!o(i))throw new r("Assertion failed: `additionalInternalSlotsList` must be an Array");if(n)t=n(e);else if(d)t={__proto__:e};else{if(null===e)throw new s("native Object.create support is required to create null objects");var f=function(){};f.prototype=e,t=new f}return i.length>0&&c(i,(function(e){p.set(t,e,void 0)})),t}},29954:(e,t,i)=>{"use strict";var n=i(3468),r=i(64116),s=i(11246);e.exports=function(e,t){if("object"!=typeof t)throw new n("Assertion failed: V must be Object or Null");try{r(e,t)}catch(e){return!1}return s(e)===t}},69896:(e,t,i)=>{"use strict";var n=i(528),r=i(28498),s=i(5731),o=n("%Promise.resolve%",!0),a=o&&r(o);e.exports=function(e,t){if(!a)throw new s("This environment does not support Promises.");return a(e,t)}},11328:(e,t,i)=>{"use strict";var n=i(41445);e.exports=function(e,t){return e===t?0!==e||1/e==1/t:n(e)&&n(t)}},64124:e=>{"use strict";e.exports=function(e){return!!e}},45722:(e,t,i)=>{"use strict";var n=i(78554),r=i(3468),s=i(52795),o=i(64124),a=i(46627);e.exports=function(e){if("Object"!==s(e))throw new r("ToPropertyDescriptor requires an object");var t={};if(n(e,"enumerable")&&(t["[[Enumerable]]"]=o(e.enumerable)),n(e,"configurable")&&(t["[[Configurable]]"]=o(e.configurable)),n(e,"value")&&(t["[[Value]]"]=e.value),n(e,"writable")&&(t["[[Writable]]"]=o(e.writable)),n(e,"get")){var i=e.get;if(void 0!==i&&!a(i))throw new r("getter must be a function");t["[[Get]]"]=i}if(n(e,"set")){var c=e.set;if(void 0!==c&&!a(c))throw new r("setter must be a function");t["[[Set]]"]=c}if((n(t,"[[Get]]")||n(t,"[[Set]]"))&&(n(t,"[[Value]]")||n(t,"[[Writable]]")))throw new r("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return t}},52795:(e,t,i)=>{"use strict";var n=i(61216);e.exports=function(e){return"symbol"==typeof e?"Symbol":"bigint"==typeof e?"BigInt":n(e)}},79041:(e,t,i)=>{"use strict";var n=i(528),r=i(3468),s=n("%String.fromCharCode%"),o=i(91318),a=i(86186);e.exports=function(e,t){if(!o(e)||!a(t))throw new r("Assertion failed: `lead` must be a leading surrogate char code, and `trail` must be a trailing surrogate char code");return s(e)+s(t)}},85442:(e,t,i)=>{"use strict";var n=i(3468),r=i(20700),s=i(49040),o=i(47604),a=i(84063),c=i(67093),p=i(57326),d=i(4579),f=i(52731),l=i(11328),u=i(52795);e.exports=function(e,t,i,m,h){var y,g,b=u(e);if("Undefined"!==b&&"Object"!==b)throw new n("Assertion failed: O must be undefined or an Object");if(!f(t))throw new n("Assertion failed: P must be a Property Key");if("boolean"!=typeof i)throw new n("Assertion failed: extensible must be a Boolean");if(!o(m))throw new n("Assertion failed: Desc must be a Property Descriptor");if(void 0!==h&&!o(h))throw new n("Assertion failed: current must be a Property Descriptor, or undefined");if(void 0===h)return!!i&&("Undefined"===b||(c(m)?r(p,l,a,e,t,m):r(p,l,a,e,t,{"[[Configurable]]":!!m["[[Configurable]]"],"[[Enumerable]]":!!m["[[Enumerable]]"],"[[Value]]":m["[[Value]]"],"[[Writable]]":!!m["[[Writable]]"]})));if(!s({IsAccessorDescriptor:c,IsDataDescriptor:p},h))throw new n("`current`, when present, must be a fully populated and valid Property Descriptor");if(!h["[[Configurable]]"]){if("[[Configurable]]"in m&&m["[[Configurable]]"])return!1;if("[[Enumerable]]"in m&&!l(m["[[Enumerable]]"],h["[[Enumerable]]"]))return!1;if(!d(m)&&!l(c(m),c(h)))return!1;if(c(h)){if("[[Get]]"in m&&!l(m["[[Get]]"],h["[[Get]]"]))return!1;if("[[Set]]"in m&&!l(m["[[Set]]"],h["[[Set]]"]))return!1}else if(!h["[[Writable]]"]){if("[[Writable]]"in m&&m["[[Writable]]"])return!1;if("[[Value]]"in m&&!l(m["[[Value]]"],h["[[Value]]"]))return!1}}return"Undefined"===b||(p(h)&&c(m)?(y=("[[Configurable]]"in m?m:h)["[[Configurable]]"],g=("[[Enumerable]]"in m?m:h)["[[Enumerable]]"],r(p,l,a,e,t,{"[[Configurable]]":!!y,"[[Enumerable]]":!!g,"[[Get]]":("[[Get]]"in m?m:h)["[[Get]]"],"[[Set]]":("[[Set]]"in m?m:h)["[[Set]]"]})):c(h)&&p(m)?(y=("[[Configurable]]"in m?m:h)["[[Configurable]]"],g=("[[Enumerable]]"in m?m:h)["[[Enumerable]]"],r(p,l,a,e,t,{"[[Configurable]]":!!y,"[[Enumerable]]":!!g,"[[Value]]":("[[Value]]"in m?m:h)["[[Value]]"],"[[Writable]]":!!("[[Writable]]"in m?m:h)["[[Writable]]"]})):r(p,l,a,e,t,m))}},61216:e=>{"use strict";e.exports=function(e){return null===e?"Null":void 0===e?"Undefined":"function"==typeof e||"object"==typeof e?"Object":"number"==typeof e?"Number":"boolean"==typeof e?"Boolean":"string"==typeof e?"String":void 0}},20700:(e,t,i)=>{"use strict";var n=i(17239),r=i(64940),s=n.hasArrayLengthDefineBug(),o=s&&i(66009),a=i(79818)("Object.prototype.propertyIsEnumerable");e.exports=function(e,t,i,n,c,p){if(!r){if(!e(p))return!1;if(!p["[[Configurable]]"]||!p["[[Writable]]"])return!1;if(c in n&&a(n,c)!==!!p["[[Enumerable]]"])return!1;var d=p["[[Value]]"];return n[c]=d,t(n[c],d)}return s&&"length"===c&&"[[Value]]"in p&&o(n)&&n.length!==p["[[Value]]"]?(n.length=p["[[Value]]"],n.length===p["[[Value]]"]):(r(n,c,i(p)),!0)}},66009:(e,t,i)=>{"use strict";var n=i(528)("%Array%"),r=!n.isArray&&i(79818)("Object.prototype.toString");e.exports=n.isArray||function(e){return"[object Array]"===r(e)}},90626:e=>{"use strict";e.exports=function(e,t){for(var i=0;i{"use strict";e.exports=function(e){if(void 0===e)return e;var t={};return"[[Value]]"in e&&(t.value=e["[[Value]]"]),"[[Writable]]"in e&&(t.writable=!!e["[[Writable]]"]),"[[Get]]"in e&&(t.get=e["[[Get]]"]),"[[Set]]"in e&&(t.set=e["[[Set]]"]),"[[Enumerable]]"in e&&(t.enumerable=!!e["[[Enumerable]]"]),"[[Configurable]]"in e&&(t.configurable=!!e["[[Configurable]]"]),t}},76959:(e,t,i)=>{"use strict";var n=i(53558)(),r=i(528),s=i(79818),o=i(8120),a=r("%Symbol.iterator%",!0),c=s("String.prototype.slice"),p=r("%String%");e.exports=function(e,t){var i;return n?i=e.GetMethod(t,a):e.IsArray(t)?i=function(){var e=-1,t=this;return{next:function(){return{done:(e+=1)>=t.length,value:t[e]}}}}:o(t)&&(i=function(){var i=0;return{next:function(){var n=e.AdvanceStringIndex(p(t),i,!0),r=c(t,i,n);return i=n,{done:n>t.length,value:r}}}}),i}},49944:(e,t,i)=>{"use strict";var n=i(528)("%Object.getPrototypeOf%",!0),r=i(66869)();e.exports=n||(r?function(e){return e.__proto__}:null)},27185:(e,t,i)=>{"use strict";var n=i(41445);e.exports=function(e){return("number"==typeof e||"bigint"==typeof e)&&!n(e)&&e!==1/0&&e!==-1/0}},49040:(e,t,i)=>{"use strict";var n=i(47604);e.exports=function(e,t){return n(t)&&"object"==typeof t&&"[[Enumerable]]"in t&&"[[Configurable]]"in t&&(e.IsAccessorDescriptor(t)||e.IsDataDescriptor(t))}},76982:(e,t,i)=>{"use strict";var n=i(528),r=n("%Math.abs%"),s=n("%Math.floor%"),o=i(41445),a=i(27185);e.exports=function(e){if("number"!=typeof e||o(e)||!a(e))return!1;var t=r(e);return s(t)===t}},91318:e=>{"use strict";e.exports=function(e){return"number"==typeof e&&e>=55296&&e<=56319}},41445:e=>{"use strict";e.exports=Number.isNaN||function(e){return e!=e}},8809:e=>{"use strict";e.exports=function(e){return null===e||"function"!=typeof e&&"object"!=typeof e}},86186:e=>{"use strict";e.exports=function(e){return"number"==typeof e&&e>=56320&&e<=57343}},2625:e=>{"use strict";e.exports=Number.MAX_SAFE_INTEGER||9007199254740991},66381:(e,t,i)=>{"use strict";var n=i(78554);e.exports=function(e){return!!e&&"object"==typeof e&&n(e,"[[Iterator]]")&&n(e,"[[NextMethod]]")&&"function"==typeof e["[[NextMethod]]"]&&n(e,"[[Done]]")&&"boolean"==typeof e["[[Done]]"]}},47604:(e,t,i)=>{"use strict";var n=i(3468),r=i(78554),s={__proto__:null,"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};e.exports=function(e){if(!e||"object"!=typeof e)return!1;for(var t in e)if(r(e,t)&&!s[t])return!1;var i=r(e,"[[Value]]")||r(e,"[[Writable]]"),o=r(e,"[[Get]]")||r(e,"[[Set]]");if(i&&o)throw new n("Property Descriptors may not be both accessor and data descriptors");return!0}},64116:(e,t,i)=>{"use strict";var n=i(528)("%Object.setPrototypeOf%",!0),r=i(66869)();e.exports=n||(r?function(e,t){return e.__proto__=t,e}:null)},17547:e=>{"use strict";class t{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+t.version}static addUnaryOp(e){return t.max_unop_len=Math.max(e.length,t.max_unop_len),t.unary_ops[e]=1,t}static addBinaryOp(e,i,n){return t.max_binop_len=Math.max(e.length,t.max_binop_len),t.binary_ops[e]=i,n?t.right_associative.add(e):t.right_associative.delete(e),t}static addIdentifierChar(e){return t.additional_identifier_chars.add(e),t}static addLiteral(e,i){return t.literals[e]=i,t}static removeUnaryOp(e){return delete t.unary_ops[e],e.length===t.max_unop_len&&(t.max_unop_len=t.getMaxKeyLen(t.unary_ops)),t}static removeAllUnaryOps(){return t.unary_ops={},t.max_unop_len=0,t}static removeIdentifierChar(e){return t.additional_identifier_chars.delete(e),t}static removeBinaryOp(e){return delete t.binary_ops[e],e.length===t.max_binop_len&&(t.max_binop_len=t.getMaxKeyLen(t.binary_ops)),t.right_associative.delete(e),t}static removeAllBinaryOps(){return t.binary_ops={},t.max_binop_len=0,t}static removeLiteral(e){return delete t.literals[e],t}static removeAllLiterals(){return t.literals={},t}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new t(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map((e=>e.length)))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return t.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!t.binary_ops[String.fromCharCode(e)]||t.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return t.isIdentifierStart(e)||t.isDecimalDigit(e)}throwError(e){const t=new Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,i){if(t.hooks[e]){const n={context:this,node:i};return t.hooks.run(e,n),n.node}return i}searchHook(e){if(t.hooks[e]){const i={context:this};return t.hooks[e].find((function(e){return e.call(i.context,i),i.node})),i.node}}gobbleSpaces(){let e=this.code;for(;e===t.SPACE_CODE||e===t.TAB_CODE||e===t.LF_CODE||e===t.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const e=this.gobbleExpressions(),i=1===e.length?e[0]:{type:t.COMPOUND,body:e};return this.runHook("after-all",i)}gobbleExpressions(e){let i,n,r=[];for(;this.index0;){if(t.binary_ops.hasOwnProperty(e)&&(!t.isIdentifierStart(this.code)||this.index+e.lengths.right_a&&e.right_a?n>e.prec:n<=e.prec;for(;r.length>2&&c(r[r.length-2]);)a=r.pop(),i=r.pop().value,o=r.pop(),e={type:t.BINARY_EXP,operator:i,left:o,right:a},r.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+p),r.push(s,e)}for(c=r.length-1,e=r[c];c>1;)e={type:t.BINARY_EXP,operator:r[c-1].value,left:r[c-2],right:e},c-=2;return e}gobbleToken(){let e,i,n,r;if(this.gobbleSpaces(),r=this.searchHook("gobble-token"),r)return this.runHook("after-token",r);if(e=this.code,t.isDecimalDigit(e)||e===t.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===t.SQUOTE_CODE||e===t.DQUOTE_CODE)r=this.gobbleStringLiteral();else if(e===t.OBRACK_CODE)r=this.gobbleArray();else{for(i=this.expr.substr(this.index,t.max_unop_len),n=i.length;n>0;){if(t.unary_ops.hasOwnProperty(i)&&(!t.isIdentifierStart(this.code)||this.index+i.length=i.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(s===t.COMMA_CODE){if(this.index++,r++,r!==i.length)if(e===t.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===t.CBRACK_CODE)for(let e=i.length;e{if("object"!=typeof e||!e.name||!e.init)throw new Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)}))}}(t),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),t.max_unop_len=t.getMaxKeyLen(t.unary_ops),t.max_binop_len=t.getMaxKeyLen(t.binary_ops);const n=e=>new t(e).parse();Object.getOwnPropertyNames(t).forEach((e=>{void 0===n[e]&&"prototype"!==e&&(n[e]=t[e])})),n.Jsep=t;var r={name:"ternary",init(e){e.hooks.add("after-expression",(function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;const i=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;const r=this.gobbleExpression();if(r||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:i,consequent:n,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let n=i;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=i}}else this.throwError("Expected :")}}))}};n.plugins.register(r),e.exports=n},25568:(e,t)=>{"use strict";function i(e){return{type:"StringLiteral",value:e}}function n(e){return{type:"BooleanLiteral",value:e}}function r(e){return{type:"NumericLiteral",value:e}}function s(e){return{type:"Identifier",name:e}}function o(e,t){return{type:"CallExpression",callee:e,arguments:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.arrayExpression=function(e){return{type:"ArrayExpression",elements:e}},t.arrowFunctionExpression=function(e,t,i=!1){return{type:"ArrowFunctionExpression",params:e,body:t,async:i}},t.assignmentExpression=function(e,t,i){return{type:"AssignmentExpression",operator:e,left:t,right:i}},t.binaryExpression=function(e,t,i){return{type:"BinaryExpression",operator:e,left:t,right:i}},t.blockStatement=function(e,t){return{type:"BlockStatement",body:e,directives:t}},t.booleanLiteral=n,t.callExpression=o,t.conditionalExpression=function(e,t,i){return{type:"ConditionalExpression",test:e,consequent:t,alternate:i}},t.exportDefaultDeclaration=function(e){return{type:"ExportDefaultDeclaration",declaration:e}},t.expressionStatement=function(e){return{type:"ExpressionStatement",expression:e}},t.forOfStatement=function(e,t,i,n){return{type:"ForOfStatement",left:e,right:t,body:i,await:n}},t.functionDeclaration=function(e,t,i){return{type:"FunctionDeclaration",id:e,params:t,body:i}},t.identifier=s,t.ifStatement=function(e,t,i){return{type:"IfStatement",test:e,consequent:t,alternate:i}},t.importDeclaration=function(e,t){return{type:"ImportDeclaration",specifiers:e,source:t}},t.importSpecifier=function(e,t){return{type:"ImportSpecifier",local:e,imported:t}},t.literal=function(e){switch(typeof e){case"number":return r(e);case"string":return i(e);case"boolean":return n(e)}},t.logicalExpression=function(e,t,i){return{type:"LogicalExpression",operator:e,left:t,right:i}},t.memberExpression=function(e,t,i=!1,n=null){return{type:"MemberExpression",object:e,property:t,computed:i,optional:n}},t.newExpression=function(e,t){return{type:"NewExpression",callee:e,arguments:t}},t.nullLiteral=function(){return{type:"NullLiteral",value:null}},t.numericLiteral=r,t.objectExpression=function(e){return{type:"ObjectExpression",properties:e}},t.objectMethod=function(e,t,i,n,r=!1,s=!1,o=!1){return{type:"ObjectMethod",kind:e,key:t,params:i,body:n,computed:r,generator:s,async:o}},t.objectProperty=function(e,t,i=!1,n=!1,r=null){return{type:"ObjectProperty",key:e,value:t,computed:i,shorthand:n,decorators:r}},t.program=function(e){return{type:"Program",body:e}},t.regExpLiteral=function(e,t=""){return{type:"RegExpLiteral",pattern:e,flags:t}},t.returnStatement=function(e){return{type:"ReturnStatement",argument:e}},t.safeBinaryExpression=function(e,t,n){let r=n;return("NumericLiteral"===n.type||"StringLiteral"===n.type&&Number.isSafeInteger(Number(n.value)))&&(r=i(String(n.value))),{type:"BinaryExpression",operator:e,left:r===n?t:o(s("String"),[t]),right:r}},t.sequenceExpression=function(e){return{type:"SequenceExpression",expressions:e}},t.stringLiteral=i,t.templateElement=function(e,t=!1){return{type:"TemplateElement",value:e,tail:t}},t.templateLiteral=function(e,t){return{type:"TemplateLiteral",quasis:e,expressions:t}},t.tryStatement=function(e,t=null,i=null){return{type:"TryStatement",block:e,handler:t,finalizer:i}},t.unaryExpression=function(e,t,i=!0){return{type:"UnaryExpression",operator:e,argument:t,prefix:i}},t.variableDeclaration=function(e,t){return{type:"VariableDeclaration",kind:e,declarations:t}},t.variableDeclarator=function(e,t){return{type:"VariableDeclarator",id:e,init:t}}},30687:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(25568);function r(e){return`nimma_${e}`}function s(e){return n.identifier(r(e))}t.default=class{#e=new Set;#t=new Map;#i;#n="";runtimeDeps=new Map;constructor(e,t){this.#i=t;for(const[t,i]of Object.entries(e)){const e=[];for(const{imported:o,local:a,value:c}of i)this.#t.set(a,c),this.runtimeDeps.set(r(a),c),e.push(n.importSpecifier(s(a),n.identifier(o))),this.#e.add(n.importDeclaration(e,n.stringLiteral(t)))}}get extraCode(){return this.#n||(this.#n=function(e){const t=Reflect.apply(Function.toString,e,[]),i=t.indexOf(")")+1,n=t.slice(i).replace(/^\s*(=>\s*)?/,"");return`${t.slice(t.indexOf("("),i).split(/[,\s]+/).splice(0,3).join(", ")} => ${n}`}(this.#i)),this.#n}attach(e){for(const t of this.#e)e.push(t,"program");const t=n.identifier("fallback"),i=Array.from(this.#t.keys());return e.push(n.variableDeclaration("const",[n.variableDeclarator(t,n.callExpression(n.memberExpression(n.callExpression(n.identifier("Function"),[n.templateLiteral([n.templateElement({raw:`return ${this.extraCode}`})],[])]),n.identifier("call")),[n.objectExpression(i.map((e=>n.objectProperty(n.stringLiteral(e),s(e)))))]))]),"program"),t}}},1847:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(36575);t.jsonPathPlus=n.default},36575:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(34321),r=i(86981),s=i(30687);function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=o(r),c=new s.default({"jsonpath-plus":[{imported:"JSONPath",local:"JSONPath",value:n.JSONPath}],"lodash.topath":[{imported:"default",local:"toPath",value:a.default}]},(function(e,t,i){this.JSONPath({callback:e=>{i({path:this.toPath(e.path.slice(1)),value:e.value})},json:e,path:t,resultType:"all"})}));t.default=c},9679:(e,t)=>{"use strict";function i(e,t,i){if(!t.has(e))throw new TypeError("attempted to "+i+" private field on non-instance");return t.get(e)}function n(e,t){return t.get?t.get.call(e):t.value}function r(e,t,i){if(t.set)t.set.call(e,i);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=i}}Object.defineProperty(t,"__esModule",{value:!0}),t.classApplyDescriptorGet=n,t.classApplyDescriptorSet=r,t.classExtractFieldDescriptor=i,t.classPrivateFieldGet=function(e,t){return n(e,i(e,t,"get"))},t.classPrivateFieldSet=function(e,t,n){return r(e,i(e,t,"set"),n),n},t.defineProperty=function(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}},63658:(e,t)=>{"use strict";function i(e){return{type:"StringLiteral",value:e}}function n(e){return{type:"BooleanLiteral",value:e}}function r(e){return{type:"NumericLiteral",value:e}}function s(e){return{type:"Identifier",name:e}}function o(e,t){return{type:"CallExpression",callee:e,arguments:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.arrayExpression=function(e){return{type:"ArrayExpression",elements:e}},t.arrowFunctionExpression=function(e,t,i=!1){return{type:"ArrowFunctionExpression",params:e,body:t,async:i}},t.assignmentExpression=function(e,t,i){return{type:"AssignmentExpression",operator:e,left:t,right:i}},t.binaryExpression=function(e,t,i){return{type:"BinaryExpression",operator:e,left:t,right:i}},t.blockStatement=function(e,t){return{type:"BlockStatement",body:e,directives:t}},t.booleanLiteral=n,t.callExpression=o,t.conditionalExpression=function(e,t,i){return{type:"ConditionalExpression",test:e,consequent:t,alternate:i}},t.exportDefaultDeclaration=function(e){return{type:"ExportDefaultDeclaration",declaration:e}},t.expressionStatement=function(e){return{type:"ExpressionStatement",expression:e}},t.forOfStatement=function(e,t,i,n){return{type:"ForOfStatement",left:e,right:t,body:i,await:n}},t.functionDeclaration=function(e,t,i){return{type:"FunctionDeclaration",id:e,params:t,body:i}},t.identifier=s,t.ifStatement=function(e,t,i){return{type:"IfStatement",test:e,consequent:t,alternate:i}},t.importDeclaration=function(e,t){return{type:"ImportDeclaration",specifiers:e,source:t}},t.importSpecifier=function(e,t){return{type:"ImportSpecifier",local:e,imported:t}},t.literal=function(e){switch(typeof e){case"number":return r(e);case"string":return i(e);case"boolean":return n(e)}},t.logicalExpression=function(e,t,i){return{type:"LogicalExpression",operator:e,left:t,right:i}},t.memberExpression=function(e,t,i=!1,n=null){return{type:"MemberExpression",object:e,property:t,computed:i,optional:n}},t.newExpression=function(e,t){return{type:"NewExpression",callee:e,arguments:t}},t.nullLiteral=function(){return{type:"NullLiteral",value:null}},t.numericLiteral=r,t.objectExpression=function(e){return{type:"ObjectExpression",properties:e}},t.objectMethod=function(e,t,i,n,r=!1,s=!1,o=!1){return{type:"ObjectMethod",kind:e,key:t,params:i,body:n,computed:r,generator:s,async:o}},t.objectProperty=function(e,t,i=!1,n=!1,r=null){return{type:"ObjectProperty",key:e,value:t,computed:i,shorthand:n,decorators:r}},t.program=function(e){return{type:"Program",body:e}},t.regExpLiteral=function(e,t=""){return{type:"RegExpLiteral",pattern:e,flags:t}},t.returnStatement=function(e){return{type:"ReturnStatement",argument:e}},t.safeBinaryExpression=function(e,t,n){let r=n;return("NumericLiteral"===n.type||"StringLiteral"===n.type&&Number.isSafeInteger(Number(n.value)))&&(r=i(String(n.value))),{type:"BinaryExpression",operator:e,left:r===n?t:o(s("String"),[t]),right:r}},t.sequenceExpression=function(e){return{type:"SequenceExpression",expressions:e}},t.stringLiteral=i,t.templateElement=function(e,t=!1){return{type:"TemplateElement",value:e,tail:t}},t.templateLiteral=function(e,t){return{type:"TemplateLiteral",quasis:e,expressions:t}},t.tryStatement=function(e,t=null,i=null){return{type:"TryStatement",block:e,handler:t,finalizer:i}},t.unaryExpression=function(e,t,i=!0){return{type:"UnaryExpression",operator:e,argument:t,prefix:i}},t.variableDeclaration=function(e,t){return{type:"VariableDeclaration",kind:e,declarations:t}},t.variableDeclarator=function(e,t){return{type:"VariableDeclarator",id:e,init:t}}},20737:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(96711),r=i(63658),s=i(46079),o=i(66284),a=i(1027);function c(e,{deep:t,value:i}){if(e.feedback.bailed)return r.safeBinaryExpression("!==",a.default.property,r.literal(i));if(e.state.inverted)return r.safeBinaryExpression("!==",0===e.state.pos?a.default.property:r.memberExpression(a.default.path,r.binaryExpression("-",a.default.depth,r.numericLiteral(Math.abs(e.state.pos))),!0),r.literal(i));if(t){var n;const t=null===e.nextNode||"KeyExpression"===e.nextNode;(n=e.feedback).mutatesPos||(n.mutatesPos=!t);const o=r.sequenceExpression([r.assignmentExpression("=",s.default.pos,t?r.conditionalExpression(r.safeBinaryExpression("!==",a.default.property,r.literal(i)),r.numericLiteral(-1),a.default.depth):r.callExpression(r.memberExpression(a.default.path,r.identifier("indexOf")),[r.literal(i),0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(1))])),r.binaryExpression("===",s.default.pos,r.numericLiteral(-1))]);return t?r.logicalExpression("||",r.binaryExpression("<",a.default.depth,0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos))),o):o}let o;e.feedback.fixed||0===e.state.absolutePos||(o=r.binaryExpression("<",a.default.depth,0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos))));const c=r.safeBinaryExpression("!==",r.memberExpression(a.default.path,0===e.state.pos?r.numericLiteral(0):e.feedback.fixed?r.numericLiteral(e.state.pos):r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos)),!0),r.literal(i));return void 0!==o?r.logicalExpression("||",o,c):c}const p=r.identifier("inBounds");function d(e,t,i){switch(t.type){case"LogicalExpression":case"BinaryExpression":if("in"===t.operator)t.operator="===",t.left=r.callExpression(r.memberExpression(t.right,r.identifier("includes")),[d(e,t.left,i)]),t.right=r.booleanLiteral(!0);else if("~="===t.operator){if(t.operator="===","Literal"!==t.right.type)throw SyntaxError("Expected string");t.left=r.callExpression(r.memberExpression(r.regExpLiteral(t.right.value,""),r.identifier("test")),[d(e,t.left,i)]),t.right=r.booleanLiteral(!0)}else t.left=d(e,t.left,i),t.right=d(e,t.right,i),u(t.left),u(t.right);break;case"UnaryExpression":return t.argument=d(e,t.argument,i),u(t.argument),t;case"MemberExpression":t.object=d(e,t.object,i),u(t.object),t.property=d(e,t.property,i),t.computed&&u(t.property);break;case"CallExpression":if("Identifier"===t.callee.type&&t.callee.name.startsWith("@"))return f(e,t.callee.name,i);t.callee=d(e,t.callee,i),t.arguments=t.arguments.map((t=>d(e,t,i))),"MemberExpression"===t.callee.type&&t.callee.object===o.default.property&&t.callee.property.name in String.prototype&&(t.callee.object=r.callExpression(r.identifier("String"),[t.callee.object])),u(t.callee);break;case"Identifier":if(t.name.startsWith("@"))return f(e,t.name,i);if("undefined"===t.name)return r.unaryExpression("void",r.numericLiteral(0));if("index"===t.name)return o.default.index}return t}function f(e,t,i){switch(t){case"@":return m(o.default.value,i);case"@root":return m(o.default.root,i);case"@path":return m(o.default.path,i);case"@property":return m(o.default.property,i);case"@parent":return m(o.default.parentValue,i);case"@parentProperty":return m(o.default.parentProperty,i);case"@string":case"@number":case"@boolean":return r.binaryExpression("===",r.unaryExpression("typeof",m(o.default.value,i)),r.stringLiteral(t.slice(1)));case"@scalar":return r.logicalExpression("||",r.binaryExpression("===",m(o.default.value,i),r.nullLiteral()),r.binaryExpression("!==",r.unaryExpression("typeof",m(o.default.value,i)),r.stringLiteral("object")));case"@array":return r.callExpression(r.memberExpression(r.identifier("Array"),r.identifier("isArray")),[m(o.default.value,i)]);case"@null":return r.binaryExpression("===",m(o.default.value,i),r.nullLiteral());case"@object":return r.logicalExpression("&&",r.binaryExpression("!==",m(o.default.value,i),r.nullLiteral()),r.binaryExpression("===",r.unaryExpression("typeof",m(o.default.value,i)),r.stringLiteral("object")));case"@integer":return r.callExpression(r.memberExpression(r.identifier("Number"),r.identifier("isInteger")),[m(o.default.value,i)]);default:if(t.startsWith("@@")){const i=t.slice(2);return e.attachCustomShorthand(i),r.callExpression(r.memberExpression(s.default.shorthands,r.identifier(i)),[a.default._])}throw new SyntaxError(`Unsupported shorthand '${t}'`)}}const l=[a.default._.name,"index"];function u(e){if("Identifier"===e.type&&!l.includes(e.name))throw ReferenceError(`'${e.name}' is not defined`)}function m(e,t){return"MemberExpression"===e.type&&0!==t?{...e,object:r.callExpression(o.default.at,[r.numericLiteral(t)])}:e}t.generateFilterScriptExpression=function(e,{deep:t,value:i},o){var c;const p=n.default(i);u(p);const f=r.unaryExpression("!",d(o,p,e.state.fixed&&e.state.pos>0&&null!==e.nextNode?e.state.pos+1:e.state.inverted&&0!==e.state.pos?e.state.pos-1:0));if(e.feedback.bailed||!t||e.state.inverted)return f;(c=e.feedback).mutatesPos||(c.mutatesPos=null!==e.nextNode&&"KeyExpression"!==e.nextNode);const l=r.sequenceExpression([r.assignmentExpression("=",s.default.pos,r.conditionalExpression(f,r.numericLiteral(-1),a.default.depth)),r.binaryExpression("===",s.default.pos,r.numericLiteral(-1))]);return 0===e.state.pos?l:r.logicalExpression("||",r.binaryExpression("<",a.default.depth,0===e.state.pos?s.default.pos:r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos))),l)},t.generateMemberExpression=c,t.generateMultipleMemberExpression=function(e,t){return t.value.slice(1).reduce(((i,n)=>r.logicalExpression("&&",i,c(e,{type:"MemberExpression",value:n,deep:t.deep}))),c(e,{type:"MemberExpression",value:t.value[0],deep:t.deep}))},t.generateSliceExpression=function(e,t,i){const n=e.state.inverted?r.binaryExpression("-",a.default.depth,r.numericLiteral(e.state.pos)):0===e.state.pos?r.numericLiteral(0):e.feedback.fixed?r.numericLiteral(e.state.pos):r.binaryExpression("+",s.default.pos,r.numericLiteral(e.state.pos)),c=e.feedback.bailed?a.default.property:r.memberExpression(a.default.path,n,!0),d=r.binaryExpression("!==",r.unaryExpression("typeof",c),r.stringLiteral("number"));return t.value.some((e=>Number.isFinite(e)&&e<0))?(i.addRuntimeDependency(p.name),r.binaryExpression("||",d,r.unaryExpression("!",r.callExpression(p,[0===e.state.absolutePos?m(o.default.value,e.state.absolutePos-2):m(o.default.value,e.state.absolutePos),r.memberExpression(a.default.path,e.feedback.bailed?r.binaryExpression("-",r.memberExpression(a.default.path,r.identifier("length")),r.numericLiteral(1)):n,!0),...t.value.map((e=>r.numericLiteral(e)))])))):t.value.reduce(((e,i,n)=>{if(0===n&&0===i)return e;if(1===n&&!Number.isFinite(i))return e;if(2===n&&1===i)return e;const s=0===n?"<":1===n?">=":"%",o=r.binaryExpression(s,c,r.numericLiteral(Number(i)));return r.logicalExpression("||",e,"%"===s?r.logicalExpression("&&",r.binaryExpression("!==",c,r.numericLiteral(t.value[0])),r.binaryExpression("!==",o,r.numericLiteral(t.value[0]))):o)}),d)},t.generateWildcardExpression=function(e){return e.feedback.bailed?r.booleanLiteral(!1):null!==e.nextNode||e.feedback.fixed?null:r.sequenceExpression([r.assignmentExpression("=",s.default.pos,r.conditionalExpression(r.binaryExpression("<",a.default.depth,r.numericLiteral(e.state.pos)),r.numericLiteral(-1),a.default.depth)),r.binaryExpression("===",s.default.pos,r.numericLiteral(-1))])},t.rewriteESTree=d},9047:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(779),s=i(11009),o=i(70953),a=i(29207),c=i(61753),p=i(56370),d=i(46079),f=i(1027),l=i(5522),u=i(20737);const m=n.variableDeclaration("let",[n.variableDeclarator(d.default.pos,n.numericLiteral(0))]);t.default=function(e,t){const i=new l.default(t),h=new Map,y=new Map;e:for(const[t,l]of e){const e=new o.default(l);if(-1===e.length)continue;const v=JSON.stringify(e.nodes),$=h.get(v);if(void 0!==$){var g,b;null!==(g=null===(b=y.get($))||void 0===b?void 0:b.push(t))&&void 0!==g||y.set($,[t]);let n=i.getMethodByHash($).body.body;e.feedback.bailed&&(n=n[0].expression.arguments[1].body.body),n.push(c.default(t,e.modifiers));continue}h.set(v,t),(e.feedback.bailed||l.length>0&&s.isDeep(l[0]))&&i.traversalZones.destroy();const j={id:t,iterator:e};i.ctx=j;for(const e of r.default)if(e(l,i,j))continue e;const _=e.feedback.bailed?[]:[n.ifStatement(n.binaryExpression(e.feedback.fixed?"!==":"<",f.default.depth,n.numericLiteral(e.length-1)),n.returnStatement())].concat(e.feedback.fixed?[]:m),w=e.feedback.bailed?null:i.traversalZones.create(),x=e.feedback.inverseAt;for(const t of e){let r;switch((s.isDeep(t)||x===e.state.absolutePos)&&(null==w||w.allIn()),t.type){case"MemberExpression":r=u.generateMemberExpression(e,t),null==w||w.expand(t.value);break;case"MultipleMemberExpression":r=u.generateMultipleMemberExpression(e,t),null==w||w.expandMultiple(t.value);break;case"SliceExpression":r=u.generateSliceExpression(e,t,i),null==w||w.resize();break;case"ScriptFilterExpression":r=u.generateFilterScriptExpression(e,t,i),null==w||w.resize();break;case"WildcardExpression":if(r=u.generateWildcardExpression(e),null==w||w.resize(),null===r)continue}e.feedback.bailed?_.push(n.objectExpression([n.objectProperty(n.identifier("fn"),n.arrowFunctionExpression([f.default._],r)),n.objectProperty(n.identifier("deep"),n.booleanLiteral(t.deep))])):_.push(n.ifStatement(r,n.returnStatement()))}e.feedback.fixed||e.feedback.bailed||e.state.inverted||_.push(n.ifStatement(n.binaryExpression("!==",f.default.depth,0===e.state.pos?d.default.pos:n.binaryExpression("+",d.default.pos,n.numericLiteral(e.state.pos))),n.returnStatement()));const P=e.feedback.bailed?"body":"traverse";e.feedback.bailed?_.splice(0,_.length,n.expressionStatement(n.callExpression(f.default.bail,[n.stringLiteral(t),n.arrowFunctionExpression([f.default._],n.blockStatement([n.expressionStatement(c.default(j.id,e.modifiers).expression)])),n.arrayExpression([..._])]))):_.push(c.default(j.id,e.modifiers)),"body"===P?i.push(n.expressionStatement(n.callExpression(n.memberExpression(d.default.tree,n.stringLiteral(t),!0),p.default)),P):i.push(n.stringLiteral(t),P),a.default(_,e),i.push(n.blockStatement(_),"tree-method"),null==w||w.attach()}return i}},31037:(e,t,i)=>{"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(t,"__esModule",{value:!0});var r=n(i(14891));const s={...r.baseGenerator,BooleanLiteral(e,t){t.write(`${e.value}`,e)},NullLiteral(e,t){t.write("null",e)},NumericLiteral(e,t){t.write(e.value,e)},ObjectMethod(e,t){const{key:i,type:n,...r}=e;return this.ObjectProperty({key:e.key,value:{type:"FunctionExpression",...r}},t)},ObjectProperty(e,t){return this.Property({...e,kind:"init"},t)},RegExpLiteral(e,t){t.write(`/${e.pattern}/${e.flags}`,e)},StringLiteral(e,t){t.write(JSON.stringify(e.value),e)}};t.default=function(e){return r.generate(e,{generator:s})}},89784:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(61753),s=i(66284);const o=n.identifier("isObject"),a=n.ifStatement(n.unaryExpression("!",n.callExpression(o,[s.default.value])),n.returnStatement()),c=r.default("$..",{keyed:!1,parents:0});t.default=(e,t,i)=>1===e.length&&"AllParentExpression"===e[0].type&&(t.addRuntimeDependency(o.name),t.push(n.blockStatement([a,r.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),t.push(c,"body"),!0)},64469:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753),o=i(1027);t.default=(e,t,i)=>!(1!==e.length||!r.isDeep(e[0])||!r.isMemberExpression(e[0])||(t.push(n.blockStatement([n.ifStatement(n.safeBinaryExpression("!==",o.default.property,n.stringLiteral(e[0].value)),n.returnStatement()),s.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),0))},18872:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753);t.default=(e,t,i)=>!(1!==e.length||!r.isWildcardExpression(e[0])||!r.isDeep(e[0])||(t.push(n.blockStatement([s.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),0))},73093:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753),o=i(66284),a=i(1027),c=i(5302);const p=n.identifier("value"),d=n.identifier("isObject"),f=n.identifier("get"),l=n.ifStatement(n.unaryExpression("!",n.callExpression(d,[p])),n.returnStatement()),u=n.ifStatement(n.binaryExpression("===",a.default._,n.nullLiteral()),n.returnStatement());function m(e){return n.literal(e.value)}t.default=(e,t,i)=>{if(!e.every(r.isMemberExpression)||e.some(r.isDeep))return!1;const h=n.variableDeclaration("const",[n.variableDeclarator(p,e.slice(0,-1).reduce(((e,i)=>"ES2018"===t.format?(e.arguments[1].elements.push(n.literal(i.value)),e):n.memberExpression(e,n.literal(i.value),!0,!0)),"ES2018"===t.format&&e.length>0?n.callExpression(n.identifier("get"),[o.default.root,n.arrayExpression([])]):o.default.root))]);return t.addRuntimeDependency(d.name),"ES2018"===t.format&&t.addRuntimeDependency(f.name),t.pushAll([[n.blockStatement([h,l,n.expressionStatement(n.assignmentExpression("=",a.default._,n.callExpression(a.default.fork,[n.arrayExpression(e.map(m))]))),u,s.default(i.id,i.iterator.modifiers)]),"tree-method"],[c.default(i.id),"body"]]),!0}},779:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(89784),r=i(64469),s=i(18872),o=i(73093),a=i(59749),c=i(25367),p=i(35574),d=[c.default,a.default,r.default,s.default,p.default,o.default,n.default];t.default=d},59749:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(96711),r=i(63658),s=i(20737),o=i(11009),a=i(61753),c=i(1027);const p=r.ifStatement(r.binaryExpression("!==",c.default.depth,r.numericLiteral(0)),r.returnStatement());t.default=(e,t,i)=>{if(1!==e.length||!o.isScriptFilterExpression(e[0]))return!1;const c=r.unaryExpression("!",s.rewriteESTree(t,n.default(e[0].value),0),!0);var d;return t.pushAll([[r.blockStatement([...o.isDeep(e[0])?[]:[p],r.ifStatement(c,r.returnStatement()),a.default(i.id,i.iterator.modifiers)]),"tree-method"],[r.stringLiteral(i.id),"traverse"]]),o.isDeep(e[0])||null===(d=t.traversalZones.create())||void 0===d||d.resize().attach(),!0}},25367:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(61753).default("$",{keyed:!1,parents:0});t.default=(e,t)=>!(e.length>0||(t.push(n,"body"),0))},35574:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(11009),s=i(61753),o=i(1027);const a=n.ifStatement(n.binaryExpression("!==",o.default.depth,n.numericLiteral(0)),n.returnStatement());t.default=(e,t,i)=>{var o;return!(1!==e.length||!r.isWildcardExpression(e[0])||r.isDeep(e[0])||(t.push(n.blockStatement([a,s.default(i.id,i.iterator.modifiers)]),"tree-method"),t.push(n.stringLiteral(i.id),"traverse"),null===(o=t.traversalZones.create())||void 0===o||o.resize().attach(),0))}},11009:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDeep=function(e){return e.deep},t.isMemberExpression=function(e){return"MemberExpression"===e.type},t.isModifierExpression=function(e){return"KeyExpression"===e.type||"ParentExpression"===e.type},t.isScriptFilterExpression=function(e){return"ScriptFilterExpression"===e.type},t.isWildcardExpression=function(e){return"WildcardExpression"===e.type}},70953:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(11009);let s;function o(e){let t=!1;for(let i=0;i1}t=!0}}return!1}var a=new WeakMap;s=Symbol.iterator;class c{constructor(e){n.defineProperty(this,"nodes",void 0),a.set(this,{writable:!0,value:void 0}),this.modifiers=c.trim(e),this.nodes=c.compact(e),n.classPrivateFieldSet(this,a,-1),this.feedback=c.analyze(this.nodes,this.modifiers.keyed||this.modifiers.parents>0),this.length=this.nodes.length,this.state={absolutePos:-1,fixed:!0,inverted:!1,pos:-1},this.feedback.fixed&&this.modifiers.parents>this.length&&(this.length=-1)}get nextNode(){return n.classPrivateFieldGet(this,a)+10&&r.isModifierExpression(e[e.length-1]);)switch(e.pop().type){case"KeyExpression":t.keyed=!0,t.parents=0;break;case"ParentExpression":t.parents++}return t}static analyze(e){const t={bailed:o(e),fixed:!0,inverseAt:-1};if(t.bailed)return t.fixed=!1,t;let i=-1;for(let n=0;n1&&-1!==i&&i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(46079),r=i(1027);function s(e,t){return e.splice(t,1),t-1}function o(e,t,i){return null===t?i:null===i?t:(e.left=t,e.right=i,e)}function a(e){switch(e.type){case"AssignmentExpression":return e.left!==n.default.pos?e:a(e.right);case"ConditionalExpression":return"NumericLiteral"===e.consequent.type&&-1===e.consequent.value?a(e.test):e;case"SequenceExpression":return a(e.expressions[0]);case"LogicalExpression":return o(e,a(e.left),a(e.right));case"BinaryExpression":return function(e){return"<"===e.operator&&e.left===r.default.depth?null:o(e,a(e.left),a(e.right))}(e);case"IfStatement":return a(e.test);case"Identifier":return e===n.default.pos?null:e;case"MemberExpression":return e.property=a(e.property),e;default:return e}}t.default=function(e,t){if(t.feedback.mutatesPos)return;let i=Math.max(0,Math.min(1,t.length));for(;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658);t.default=function e(t){switch(typeof t){case"boolean":return n.booleanLiteral(t);case"string":return n.stringLiteral(t);case"number":return n.numericLiteral(t);case"object":return null===t?n.nullLiteral():Array.isArray(t)?n.arrayExpression(t.map(e)):n.objectExpression(Object.keys(t).map((i=>n.objectProperty(n.stringLiteral(i),e(t[i])))))}}},61753:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(1027);t.default=function(e,{parents:t,keyed:i}){return n.expressionStatement(n.callExpression(r.default.emit,[n.stringLiteral(e),n.numericLiteral(t),n.booleanLiteral(i)]))}},93395:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(1027);t.default=function(e,t){const i=n.identifier("path");return n.forOfStatement(n.variableDeclaration("const",[n.variableDeclarator(i)]),n.arrayExpression(t.map(n.stringLiteral)),n.blockStatement([n.callExpression(e,[n.identifier("input"),i,n.memberExpression(r.default.callbacks,i,!0)])]))}},56370:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[i(1027).default._];t.default=n},46079:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r={pos:n.identifier("pos"),shorthands:n.identifier("shorthands"),tree:n.identifier("tree")};t.default=r},66284:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(1027),s={at:n.memberExpression(r.default.sandbox,n.identifier("at")),index:n.memberExpression(r.default.sandbox,n.identifier("index")),parent:n.memberExpression(r.default.sandbox,n.identifier("parent")),parentProperty:n.memberExpression(r.default.sandbox,n.identifier("parentProperty")),parentValue:n.memberExpression(r.default.sandbox,n.identifier("parentValue")),path:n.memberExpression(r.default.sandbox,n.identifier("path")),property:n.memberExpression(r.default.sandbox,n.identifier("property")),root:n.memberExpression(r.default.sandbox,n.identifier("root")),value:n.memberExpression(r.default.sandbox,n.identifier("value"))};t.default=s},1027:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658);const r=n.identifier("scope");var s={_:r,bail:n.memberExpression(r,n.identifier("bail")),callbacks:n.memberExpression(r,n.identifier("callbacks")),depth:n.memberExpression(r,n.identifier("depth")),destroy:n.memberExpression(r,n.identifier("destroy")),emit:n.memberExpression(r,n.identifier("emit")),fork:n.memberExpression(r,n.identifier("fork")),path:n.memberExpression(r,n.identifier("path")),property:n.memberExpression(r,n.identifier("property")),sandbox:n.memberExpression(r,n.identifier("sandbox")),traverse:n.memberExpression(r,n.identifier("traverse")),value:n.memberExpression(r,n.identifier("value"))};t.default=s},5302:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(63658),r=i(56370),s=i(46079);t.default=function(e){const t=n.stringLiteral(e);return n.expressionStatement(n.callExpression(n.memberExpression(s.default.tree,t,!0),r.default))}},49124:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(29148);i(32512);var s=i(63658),o=i(28198),a=new WeakMap,c=new WeakMap,p=new WeakMap,d=new WeakMap,f=new WeakMap;class l{constructor(e){p.set(this,{writable:!0,value:void 0}),d.set(this,{writable:!0,value:void 0}),f.set(this,{writable:!0,value:void 0}),n.classPrivateFieldSet(this,p,e),this.root={},n.classPrivateFieldSet(this,d,[this.root]),n.classPrivateFieldSet(this,f,new Map)}attach(){n.classPrivateFieldGet(this,p).attach(this.root),n.classPrivateFieldGet(this,f).clear()}expand(e){let t=0;for(const i of n.classPrivateFieldGet(this,d))if(null!==i){if("**"===e){const t=n.classPrivateFieldGet(this,f).get(i);if(void 0!==t&&"*"in t){delete t["*"],t["**"]=null;continue}i[e]=null}else i[e]={},n.classPrivateFieldGet(this,f).set(i[e],i);n.classPrivateFieldGet(this,d)[t++]=i[e]}return this}expandMultiple(e){const t=n.classPrivateFieldGet(this,d)[0];if(null===t)return this;let i=0;for(const r of e)t[r]="**"===r?null:{},n.classPrivateFieldGet(this,d).lengthObject.assign(t,e[i])),{})}function m(e,t){if("*"in t){const i=u(e);m(i,u(t)),e["*"]="*"in i?{"*":i["*"]}:i}else for(const i of Object.keys(t))i in e?r.default(t[i])&&m(e[i],t[i]):e[i]=t[i]}function h(e){const t=e[0];for(let i=1;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(96711),s=i(63658),o=i(31037),a=i(93395),c=i(56370),p=i(46079),d=i(1027),f=i(5302),l=i(49124);const u=[s.identifier("input"),s.identifier("callbacks")],m=s.variableDeclaration("const",[s.variableDeclarator(d.default._,s.newExpression(s.identifier("Scope"),u))]);var h=new WeakMap,y=new WeakMap,g=new WeakMap,b=new WeakMap,v=new WeakMap,$=new WeakMap,j=new WeakMap;t.default=class{constructor({customShorthands:e,format:t,npmProvider:i}){h.set(this,{writable:!0,value:s.objectExpression([])}),y.set(this,{writable:!0,value:s.objectExpression([])}),g.set(this,{writable:!0,value:new Set(["Scope"])}),b.set(this,{writable:!0,value:new Set}),v.set(this,{writable:!0,value:new Set}),$.set(this,{writable:!0,value:new Set}),j.set(this,{writable:!0,value:void 0}),this.format=t,this.npmProvider=i,this.ctx=null,this.traversalZones=new l.default,n.classPrivateFieldSet(this,j,e)}addRuntimeDependency(e){n.classPrivateFieldGet(this,g).has(e)||n.classPrivateFieldGet(this,g).add(e)}attachFallbackExpressions(e,t){this.push(a.default(e.attach(this),t),"body")}attachCustomShorthand(e){if(null===n.classPrivateFieldGet(this,j)||!(e in n.classPrivateFieldGet(this,j)))throw new ReferenceError(`Shorthand '${e}' is not defined`);n.classPrivateFieldGet(this,y).properties.push(s.objectMethod("method",s.identifier(e),c.default,s.blockStatement([s.returnStatement(r.default(n.classPrivateFieldGet(this,j)[e]))])))}getMethodByHash(e){return n.classPrivateFieldGet(this,h).properties.find((t=>t.key.value===e))}push(e,t){switch(t){case"tree-method":n.classPrivateFieldGet(this,h).properties.push(s.objectMethod("method",s.stringLiteral(this.ctx.id),c.default,e));break;case"program":n.classPrivateFieldGet(this,b).has(e)||n.classPrivateFieldGet(this,b).add(e);break;case"body":n.classPrivateFieldGet(this,v).has(e)||n.classPrivateFieldGet(this,v).add(e);break;case"traverse":n.classPrivateFieldGet(this,$).add(f.default(e.value))}}pushAll(e){for(const t of e)this.push(...t)}toString(){var e;const t=this.traversalZones.root;return o.default(s.program([s.importDeclaration([...n.classPrivateFieldGet(this,g)].map((e=>s.importSpecifier(s.identifier(e),s.identifier(e)))),s.stringLiteral(`${null!==(e=this.npmProvider)&&void 0!==e?e:""}nimma/legacy/runtime`)),...n.classPrivateFieldGet(this,b),t,0===n.classPrivateFieldGet(this,h).properties.length?null:s.variableDeclaration("const",[s.variableDeclarator(p.default.tree,n.classPrivateFieldGet(this,h))]),0===n.classPrivateFieldGet(this,y).properties.length?null:s.variableDeclaration("const",[s.variableDeclarator(p.default.shorthands,n.classPrivateFieldGet(this,y))]),s.exportDefaultDeclaration(s.functionDeclaration(null,u,s.blockStatement([m,s.tryStatement(s.blockStatement([...n.classPrivateFieldGet(this,v),0===n.classPrivateFieldGet(this,$).size?null:s.expressionStatement(s.callExpression(d.default.traverse,[s.arrowFunctionExpression([],s.blockStatement(Array.from(n.classPrivateFieldGet(this,$)))),null===t?s.nullLiteral():t.declarations[0].id]))].filter(Boolean)),null,s.blockStatement([s.expressionStatement(s.callExpression(d.default.destroy,[]))]))].filter(Boolean))))].filter(Boolean)))}}},65717:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(9047),s=i(57190),o=i(51404),a=i(16922);const c=/import\s*({[^}]+})\s*from\s*['"][^'"]+['"];?/;var p=new WeakMap,d=new WeakMap;t.default=class{constructor(e,{fallback:t=null,unsafe:i=!0,output:s="auto",npmProvider:c=null,customShorthands:f=null}={}){p.set(this,{writable:!0,value:void 0}),d.set(this,{writable:!0,value:void 0}),n.classPrivateFieldSet(this,p,t),n.classPrivateFieldSet(this,d,null);const{erroredExpressions:l,mappedExpressions:u}=a.default(e,i,null!==t);this.tree=r.default(u,{customShorthands:f,format:"auto"===s?o.default():s,npmProvider:c}),l.length>0&&this.tree.attachFallbackExpressions(t,l),this.sourceCode=String(this.tree)}query(e,t){if(null!==n.classPrivateFieldGet(this,d))return void n.classPrivateFieldGet(this,d).call(this,e,t);const i="__nimma_globals__",r=this.sourceCode.replace("export default function","return function").replace(c,`const $1 = ${i};`).replace(RegExp(c.source,"g"),"");n.classPrivateFieldSet(this,d,Function(i,...null===n.classPrivateFieldGet(this,p)?[]:Array.from(n.classPrivateFieldGet(this,p).runtimeDeps.keys()),r)(s,...null===n.classPrivateFieldGet(this,p)?[]:Array.from(n.classPrivateFieldGet(this,p).runtimeDeps.values()))),n.classPrivateFieldGet(this,d).call(this,e,t)}}},51404:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){try{return Function("a","a?.b")({}),"ES2021"}catch{return"ES2018"}}},16922:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(70953),r=i(15613),s=i(32512);function o([,e]){return e}function a([e]){return e}t.default=function(e,t,i){const c=[],p=[];for(const i of new Set(e))try{const e=r.default(i);if(!1===t&&n.default.analyze(e).bailed)throw SyntaxError("Unsafe expressions are ignored, but no fallback was specified");c.push([i,e])}catch(e){p.push([i,e])}if(!i&&p.length>0)throw new s.default(p.map(o),`Error parsing ${p.map(a).join(", ")}`);return{erroredExpressions:p.map(a),mappedExpressions:c}}},22001:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(65717);t.default=n.default},15613:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(19422),r=i(91218);const{parse:s}=r;t.default=function(e){try{return s(e)}catch(t){throw new n.default(t.message,e,{cause:t})}}},96711:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(4910),r=i(6270),s=i(17547);function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=o(n),c=o(r),p=o(s);p.default.addIdentifierChar("@"),p.default.addUnaryOp("void"),p.default.addBinaryOp("in",12),p.default.addBinaryOp("~=",20),p.default.plugins.register(a.default,c.default),t.default=e=>p.default.parse(e)},91218:(e,t)=>{"use strict";function i(e,t,n,r){var s=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(s,i.prototype),s.expected=t,s.found=n,s.location=r,s.name="SyntaxError",s}function n(e,t,i){return i=i||" ",e.length>t?e:(t-=e.length,e+(i+=i.repeat(t)).slice(0,t))}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i}(i,Error),i.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var i,r=null;for(i=0;i0){for(t=1,i=1;t!|&+~%\^*\/;\-[\]]/,N=Ve("$",!1),D=Ve("[",!1),F=Ve("]",!1),U=Ve(",",!1),V=Ve("..",!1),L=Ve("(",!1),z=Ve(")",!1),B=Ve("?(",!1),K=Ve(":",!1),G=Ve("@",!1),H=Le([["a","z"]],!1,!1),J=Ve("()",!1),W=Ve("~",!1),Q=Ve("^",!1),Z=Ve(".",!1),Y=Le(["@","["],!1,!1),X=Le(["$","_","-"],!1,!1),ee=Ve('"',!1),te=Le(['"'],!0,!1),ie=Ve("'",!1),ne=Le(["'"],!0,!1),re=Ve("-",!1),se=Ve("*",!1),oe=Le([["A","Z"],["a","z"]],!1,!1),ae=Le([["0","9"]],!1,!1),ce=Le([" ","\t"],!1,!1),pe=Le(['"'],!1,!1),de=Le(["'"],!1,!1),fe=Le([" ","$","@",".",",","_","=","<",">","!","|","&","+","~","%","^","*","/",";","-","[","]"],!1,!1),le=Ve(".length",!1),ue=function(e,t){return{...t,deep:e}},me=function(e,t){return e.concat(Array.isArray(t)?t:null===t?[]:t)},he=function(){return{type:"WildcardExpression"}},ye=function(e){return e},ge=function(e){return e},be=function(e){return{type:"MultipleMemberExpression",value:[...new Set(e)]}},ve=function(){return/^\$\.{2}[~^]*$/.test(e)},$e=function(){return{type:"AllParentExpression"}},je=function(e){return{type:"MemberExpression",value:e}},_e=function(e){return{type:"ScriptFilterExpression",value:e}},we=function(e){return{type:"SliceExpression",value:e.split(":").reduce(((e,t,i)=>(""!==t&&(e[i]=Number(t)),e)),[0,1/0,1])}},xe=function(e){return{type:"ScriptFilterExpression",value:e}},Pe=function(e){return e.value},Se=function(){return{type:"KeyExpression"}},Oe=function(){return{type:"ParentExpression"}},Ee=function(){return!0},Ae=function(){return!1},Te=function(e){return e.length>0&&Number.isSafeInteger(Number(e))?Number(e):e},Ie=function(){return Ue().slice(1,-1)},ke=function(){return Number(Ue())},Re=function(e){return{type:"SliceExpression",value:[-e,1/0,1]}},Me=0,qe=0,Ce=[{line:1,column:1}],Ne=0,De=[],Fe=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=o[t.startRule]}function Ue(){return e.substring(qe,Me)}function Ve(e,t){return{type:"literal",text:e,ignoreCase:t}}function Le(e,t,i){return{type:"class",parts:e,inverted:t,ignoreCase:i}}function ze(t){var i,n=Ce[t];if(n)return n;for(i=t-1;!Ce[i];)i--;for(n={line:(n=Ce[i]).line,column:n.column};iNe&&(Ne=Me,De=[]),De.push(e))}function Ge(){var t,i,n,s,o,a;if(t=Me,i=function(){var t;return 36===e.charCodeAt(Me)?(t=c,Me++):(t=r,0===Fe&&Ke(N)),t}(),i!==r){for(n=[],(s=Je())===r&&(s=Me,(o=Ze())!==r&&(a=He())!==r?(qe=s,s=ue(o,a)):(Me=s,s=r));s!==r;)n.push(s),(s=Je())===r&&(s=Me,(o=Ze())!==r&&(a=He())!==r?(qe=s,s=ue(o,a)):(Me=s,s=r));if(s=[],(o=Qe())!==r)for(;o!==r;)s.push(o),o=Qe();else s=r;s===r&&(s=null),qe=t,t=me(n,s)}else Me=t,t=r;return t}function He(){var t,i,n,s,o;if(t=function(){var t,i,n,s,o;return t=Me,(i=Ye())===r&&(i=Me,91===e.charCodeAt(Me)?(n=p,Me++):(n=r,0===Fe&&Ke(D)),n!==r&&(s=Xe())!==r?(93===e.charCodeAt(Me)?(o=d,Me++):(o=r,0===Fe&&Ke(F)),o!==r?(qe=i,i=ge(s)):(Me=i,i=r)):(Me=i,i=r)),i!==r&&(qe=t,i=je(i)),t=i}(),t===r&&(t=Me,(i=tt())===r&&(i=Me,91===e.charCodeAt(Me)?(n=p,Me++):(n=r,0===Fe&&Ke(D)),n!==r&&(s=tt())!==r?(93===e.charCodeAt(Me)?(o=d,Me++):(o=r,0===Fe&&Ke(F)),o!==r?i=n=[n,s,o]:(Me=i,i=r)):(Me=i,i=r)),i!==r&&(qe=t,i=he()),(t=i)===r&&(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r?(n=function(){var t,i,n,s;return t=Me,40===e.charCodeAt(Me)?(i=l,Me++):(i=r,0===Fe&&Ke(L)),i!==r?(n=function(){var t,i,n;return t=Me,64===e.charCodeAt(Me)?(i=y,Me++):(i=r,0===Fe&&Ke(G)),i!==r?(n=function(){var t,i,n,s,o,a,c,p;if(t=Me,e.substr(Me,7)===P?(i=P,Me+=7):(i=r,0===Fe&&Ke(le)),i!==r){for(n=[],s=rt();s!==r;)n.push(s),s=rt();if(45===e.charCodeAt(Me)?(s=w,Me++):(s=r,0===Fe&&Ke(re)),s!==r){for(o=[],a=rt();a!==r;)o.push(a),a=rt();if(a=Me,c=[],(p=nt())!==r)for(;p!==r;)c.push(p),p=nt();else c=r;(a=c!==r?e.substring(a,Me):c)!==r?(qe=t,t=Re(a)):(Me=t,t=r)}else Me=t,t=r}else Me=t,t=r;return t}(),n!==r?(qe=t,t=ge(n)):(Me=t,t=r)):(Me=t,t=r),t}(),n!==r?(41===e.charCodeAt(Me)?(s=u,Me++):(s=r,0===Fe&&Ke(z)),s!==r?(qe=t,t=ge(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t}(),n!==r?(93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=ye(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t===r&&(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r?(n=function(){var t,i,n,s;return t=Me,e.substr(Me,2)===m?(i=m,Me+=2):(i=r,0===Fe&&Ke(B)),i!==r?(n=function(){var t,i,n;if(t=Me,i=[],(n=it())===r&&(n=nt())===r&&(n=rt())===r&&(n=at())===r&&(n=ot())===r&&(n=st())===r&&(n=ct()),n!==r)for(;n!==r;)i.push(n),(n=it())===r&&(n=nt())===r&&(n=rt())===r&&(n=at())===r&&(n=ot())===r&&(n=st())===r&&(n=ct());else i=r;return t=i!==r?e.substring(t,Me):i}(),n!==r?(41===e.charCodeAt(Me)?(s=u,Me++):(s=r,0===Fe&&Ke(z)),s!==r?(qe=t,t=_e(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t}(),n!==r?(93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=ye(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r),t===r&&(t=Me,(i=We())===r&&(i=function(){var t,i,n,s,o;return t=Me,i=Me,n=Me,64===e.charCodeAt(Me)?(s=y,Me++):(s=r,0===Fe&&Ke(G)),s!==r&&(o=We())!==r?(qe=n,n=Pe(o)):(Me=n,n=r),(i=n!==r?e.substring(i,Me):n)!==r&&(qe=t,i=xe(i)),t=i}()),i!==r&&(qe=t,i=ye(i)),(t=i)===r))))){if(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r){for(n=[],s=Me,(o=Xe())!==r?(44===e.charCodeAt(Me)?Me++:0===Fe&&Ke(U),qe=s,s=ge(o)):(Me=s,s=r);s!==r;)n.push(s),s=Me,(o=Xe())!==r?(44===e.charCodeAt(Me)?Me++:0===Fe&&Ke(U),qe=s,s=ge(o)):(Me=s,s=r);93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=be(n)):(Me=t,t=r)}else Me=t,t=r;t===r&&(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r?(n=function(){var t,i,n,s,o,a,c;return t=Me,i=Me,n=Me,s=Me,(o=et())!==r?(58===e.charCodeAt(Me)?(a=h,Me++):(a=r,0===Fe&&Ke(K)),a!==r?((c=et())===r&&(c=null),s=o=[o,a,c]):(Me=s,s=r)):(Me=s,s=r),s===r&&(s=Me,58===e.charCodeAt(Me)?(o=h,Me++):(o=r,0===Fe&&Ke(K)),o!==r?((a=et())===r&&(a=null),s=o=[o,a]):(Me=s,s=r),s===r&&(s=et())),s!==r?(o=Me,58===e.charCodeAt(Me)?(a=h,Me++):(a=r,0===Fe&&Ke(K)),a!==r&&(c=et())!==r?o=a=[a,c]:(Me=o,o=r),o===r&&(o=null),n=s=[s,o]):(Me=n,n=r),(i=n!==r?e.substring(i,Me):n)!==r&&(qe=t,i=we(i)),t=i}(),n!==r?(93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?(qe=t,t=ye(n)):(Me=t,t=r)):(Me=t,t=r)):(Me=t,t=r))}return t}function Je(){var t,i;return t=Me,qe=Me,(ve()?void 0:r)!==r?(e.substr(Me,2)===f?(i=f,Me+=2):(i=r,0===Fe&&Ke(V)),i!==r?(qe=t,t=$e()):(Me=t,t=r)):(Me=t,t=r),t}function We(){var t,i,n,s,o,a;if(t=Me,i=Me,n=Me,64===e.charCodeAt(Me)?(s=y,Me++):(s=r,0===Fe&&Ke(G)),s!==r){if(o=[],S.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(H)),a!==r)for(;a!==r;)o.push(a),S.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(H));else o=r;o!==r?(e.substr(Me,2)===g?(a=g,Me+=2):(a=r,0===Fe&&Ke(J)),a!==r?n=s=[s,o,a]:(Me=n,n=r)):(Me=n,n=r)}else Me=n,n=r;return(i=n!==r?e.substring(i,Me):n)!==r&&(qe=t,i=xe(i)),i}function Qe(){var t;return(t=function(){var t,i;return t=Me,126===e.charCodeAt(Me)?(i=b,Me++):(i=r,0===Fe&&Ke(W)),i!==r&&(qe=t,i=Se()),i}())===r&&(t=function(){var t,i;return t=Me,94===e.charCodeAt(Me)?(i=v,Me++):(i=r,0===Fe&&Ke(Q)),i!==r&&(qe=t,i=Oe()),i}()),t}function Ze(){var t,i,n,s;return t=Me,e.substr(Me,2)===f?(i=f,Me+=2):(i=r,0===Fe&&Ke(V)),i!==r&&(qe=t,i=Ee()),(t=i)===r&&(t=Me,46===e.charCodeAt(Me)?(i=$,Me++):(i=r,0===Fe&&Ke(Z)),i!==r?(n=Me,Fe++,91===e.charCodeAt(Me)?(s=p,Me++):(s=r,0===Fe&&Ke(D)),Fe--,s!==r?(Me=n,n=void 0):n=r,n!==r?(qe=t,t=Ee()):(Me=t,t=r)):(Me=t,t=r),t===r&&(t=Me,46===e.charCodeAt(Me)?(i=$,Me++):(i=r,0===Fe&&Ke(Z)),i!==r&&(qe=t,i=Ae()),(t=i)===r&&(t=Me,i=Me,Fe++,O.test(e.charAt(Me))?(n=e.charAt(Me),Me++):(n=r,0===Fe&&Ke(Y)),Fe--,n!==r?(Me=i,i=void 0):i=r,i!==r&&(qe=t,i=Ae()),t=i))),t}function Ye(){var t,i,n;if(t=Me,i=[],E.test(e.charAt(Me))?(n=e.charAt(Me),Me++):(n=r,0===Fe&&Ke(X)),n===r&&(n=it())===r&&(n=nt()),n!==r)for(;n!==r;)i.push(n),E.test(e.charAt(Me))?(n=e.charAt(Me),Me++):(n=r,0===Fe&&Ke(X)),n===r&&(n=it())===r&&(n=nt());else i=r;return i!==r?e.substring(t,Me):i}function Xe(){var t,i,n,s,o,a;if(t=Me,(i=Ye())!==r&&(qe=t,i=Te(i)),(t=i)===r){if(t=Me,i=Me,34===e.charCodeAt(Me)?(n=j,Me++):(n=r,0===Fe&&Ke(ee)),n!==r){for(s=Me,o=[],A.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(te));a!==r;)o.push(a),A.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(te));s=e.substring(s,Me),34===e.charCodeAt(Me)?(o=j,Me++):(o=r,0===Fe&&Ke(ee)),o!==r?i=n=[n,s,o]:(Me=i,i=r)}else Me=i,i=r;if(i===r)if(i=Me,39===e.charCodeAt(Me)?(n=_,Me++):(n=r,0===Fe&&Ke(ie)),n!==r){for(s=Me,o=[],T.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(ne));a!==r;)o.push(a),T.test(e.charAt(Me))?(a=e.charAt(Me),Me++):(a=r,0===Fe&&Ke(ne));s=e.substring(s,Me),39===e.charCodeAt(Me)?(o=_,Me++):(o=r,0===Fe&&Ke(ie)),o!==r?i=n=[n,s,o]:(Me=i,i=r)}else Me=i,i=r;i!==r&&(qe=t,i=Ie()),t=i}return t}function et(){var t,i,n;if(t=Me,45===e.charCodeAt(Me)?Me++:0===Fe&&Ke(re),i=[],(n=nt())!==r)for(;n!==r;)i.push(n),n=nt();else i=r;return i!==r?(qe=t,t=ke()):(Me=t,t=r),t}function tt(){var t;return 42===e.charCodeAt(Me)?(t=x,Me++):(t=r,0===Fe&&Ke(se)),t}function it(){var t;return I.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(oe)),t}function nt(){var t;return k.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(ae)),t}function rt(){var t;return R.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(ce)),t}function st(){var t,i,n,s;if(t=Me,91===e.charCodeAt(Me)?(i=p,Me++):(i=r,0===Fe&&Ke(D)),i!==r){for(n=[],(s=nt())===r&&(s=it())===r&&(s=ot())===r&&(s=ct());s!==r;)n.push(s),(s=nt())===r&&(s=it())===r&&(s=ot())===r&&(s=ct());93===e.charCodeAt(Me)?(s=d,Me++):(s=r,0===Fe&&Ke(F)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;return t}function ot(){var t,i,n,s;if(t=Me,M.test(e.charAt(Me))?(i=e.charAt(Me),Me++):(i=r,0===Fe&&Ke(pe)),i!==r){for(n=[],A.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(te));s!==r;)n.push(s),A.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(te));M.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(pe)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;if(t===r)if(t=Me,q.test(e.charAt(Me))?(i=e.charAt(Me),Me++):(i=r,0===Fe&&Ke(de)),i!==r){for(n=[],T.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(ne));s!==r;)n.push(s),T.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(ne));q.test(e.charAt(Me))?(s=e.charAt(Me),Me++):(s=r,0===Fe&&Ke(de)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;return t}function at(){var t;return C.test(e.charAt(Me))?(t=e.charAt(Me),Me++):(t=r,0===Fe&&Ke(fe)),t}function ct(){var t,i,n,s;if(t=Me,40===e.charCodeAt(Me)?(i=l,Me++):(i=r,0===Fe&&Ke(L)),i!==r){for(n=[],(s=ot())===r&&(s=it())===r&&(s=nt())===r&&(s=st())===r&&(s=at())===r&&(s=rt())===r&&(s=ct());s!==r;)n.push(s),(s=ot())===r&&(s=it())===r&&(s=nt())===r&&(s=st())===r&&(s=at())===r&&(s=rt())===r&&(s=ct());41===e.charCodeAt(Me)?(s=u,Me++):(s=r,0===Fe&&Ke(z)),s!==r?t=i=[i,n,s]:(Me=t,t=r)}else Me=t,t=r;return t}if((n=a())!==r&&Me===e.length)return n;throw n!==r&&Me{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(29148);t.default=function(e,t){if(0===t.length||!n.default(e))return e;let i=e;for(const e of t.slice(0,t.length-1))if(i=i[e],!n.default(i))return;return i[t[t.length-1]]}},99331:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,i,n,r){const s=i<0?Math.max(0,i+e.length):Math.min(e.length,i),o=n<0?Math.max(0,n+e.length):Math.min(e.length,n);return t>=s&&t0&&(t+i)%r==0)}},29148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"object"==typeof e&&null!==e}},32512:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,r=i(29148),s=null!==(n=globalThis.AggregateError)&&void 0!==n?n:class extends Error{constructor(e,t=""){if(super(t),!Array.isArray(e)&&(i=e,!r.default(i)||"function"!=typeof i[Symbol.iterator]))throw new TypeError(`${e} is not an iterable`);var i;this.errors=[...e]}};t.default=s},32152:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e,t){super(e),void 0!==t&&"cause"in t&&(this.cause=t.cause)}}t.default=i},19422:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(32152);class r extends n.default{constructor(e,t,i){super(e,i),this.input=t}}t.default=r},32639:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(32152);class r extends n.default{}t.default=r},57190:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(64684),r=i(99331),s=i(29148),o=i(78342);t.get=n.default,t.inBounds=r.default,t.isObject=s.default,t.Scope=o.default},20491:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(32639);function r(e){return"string"==typeof e||"number"==typeof e?JSON.stringify(e):"unknown"}function s(e){return e instanceof Error?`${e.constructor.name}(${r(e.message)})`:r(e)}t.default=function(e,t){const i={};for(const r of Object.keys(e)){const o=e[r];i[r]=(...e)=>{try{o(...e)}catch(e){const i=`${o.name||r} threw: ${s(e)}`;t.push(new n.default(i,{cause:e}))}}}return i}},51717:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(29148);function s(e,t){return e+`[${"string"==typeof t?`'${t}'`:t}]`}var o=new WeakMap,a=new WeakMap,c=new WeakMap,p=new WeakMap;class d{constructor(e,t,i=null){p.set(this,{get:f,set:void 0}),o.set(this,{writable:!0,value:void 0}),a.set(this,{writable:!0,value:void 0}),c.set(this,{writable:!0,value:void 0}),this.root=t,n.classPrivateFieldSet(this,a,e),n.classPrivateFieldSet(this,o,null!=i?i:[[0,t]]),n.classPrivateFieldSet(this,c,void 0)}get path(){return`$${n.classPrivateFieldGet(this,a).reduce(s,"")}`}get depth(){return n.classPrivateFieldGet(this,a).length-1}get value(){var e;return void 0!==n.classPrivateFieldGet(this,c)?n.classPrivateFieldGet(this,c):null!==(e=n.classPrivateFieldGet(this,c))&&void 0!==e?e:n.classPrivateFieldSet(this,c,n.classPrivateFieldGet(this,o)[n.classPrivateFieldGet(this,o).length-1][1])}get property(){return e=n.classPrivateFieldGet(this,a),(t=this.depth)>=0&&e.length>t?e[t]:null;var e,t}get parentValue(){var e;return null===(e=n.classPrivateFieldGet(this,p))||void 0===e?void 0:e[1]}get parentProperty(){var e;return n.classPrivateFieldGet(this,a)[null===(e=n.classPrivateFieldGet(this,p))||void 0===e?void 0:e[0]]}destroy(){n.classPrivateFieldGet(this,o).length=0}push(){const e=null!==this.property&&r.default(this.value)?this.value[this.property]:null;return n.classPrivateFieldGet(this,o).push([n.classPrivateFieldGet(this,a).length,e]),n.classPrivateFieldSet(this,c,e),this}pop(){const e=Math.max(0,n.classPrivateFieldGet(this,a).length+1);for(;n.classPrivateFieldGet(this,o).length>e;)n.classPrivateFieldGet(this,o).pop();return n.classPrivateFieldSet(this,c,void 0),this}at(e){if(Math.abs(e)>n.classPrivateFieldGet(this,o).length)return null;const t=(e<0?n.classPrivateFieldGet(this,o).length:0)+e,i=n.classPrivateFieldGet(this,o).slice(0,t+1);return new d(n.classPrivateFieldGet(this,a).slice(0,i[i.length-1][0]),i[i.length-1][1],i)}}function f(){if(!(n.classPrivateFieldGet(this,o).length<3))return n.classPrivateFieldGet(this,o)[n.classPrivateFieldGet(this,o).length-3]}t.Sandbox=d},78342:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(9679),r=i(32512),s=i(20491),o=i(51717),a=i(95214),c=new WeakMap,p=new WeakMap;class d{constructor(e,t,i=null){c.set(this,{writable:!0,value:void 0}),p.set(this,{writable:!0,value:void 0}),this.root=e,n.classPrivateFieldSet(this,c,i),this.path=[],this.errors=[],this.sandbox=new o.Sandbox(this.path,e,null),this.callbacks=s.default(t,this.errors);const r=this;n.classPrivateFieldSet(this,p,{path:this.path,get value(){return r.value}})}get depth(){return this.path.length-1}get property(){return this.sandbox.property}get value(){return this.sandbox.value}enter(e){return this.path.push(e),this.sandbox=this.sandbox.push(),this.path.length}exit(e){const t=Math.max(0,e-1);for(;this.path.length>t;)this.path.pop();return this.sandbox=this.sandbox.pop(),this.path.length}fork(e){const t=new d(this.root,this.callbacks,this);for(const i of e)if(t.enter(i),void 0===t.value)return null;return t}traverse(e,t){null!==t?a.zonedTraverse.call(this,e,t):a.traverse.call(this,e)}bail(e,t,i){const n=this.fork(this.path);a.bailedTraverse.call(n,t,i)}emit(e,t,i){var r;const s=this.callbacks[e];if(0===t&&!i)return void s(n.classPrivateFieldGet(this,p));if(0!==t&&t>this.depth+1)return;const o=0===t?n.classPrivateFieldGet(this,p):{path:n.classPrivateFieldGet(this,p).path.slice(0,Math.max(0,n.classPrivateFieldGet(this,p).path.length-t)),value:(null!==(r=this.sandbox.at(-t-1))&&void 0!==r?r:this.sandbox.at(0)).value};s(i?{path:o.path,value:0===o.path.length?void 0:o.path[o.path.length-1]}:o)}destroy(){if(this.path.length=0,this.sandbox.destroy(),this.sandbox=null,this.errors.length>0)throw new r.default(this.errors,"Error running Nimma")}}t.default=d},95214:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(29148);function r(e,t,i,r,o){const a=t[e],c=i.enter(e),p=null!==o&&o.length>0&&!o[0].fn(i);(null===o||1===o.length&&p)&&r(i),n.default(a)&&(null===o?s(a,i,r,o):o.length>0&&(p&&s(a,i,r,o.slice(1)),o[0].deep&&(i.exit(c),i.enter(e),s(a,i,r,o)))),i.exit(c)}function s(e,t,i,n){if(Array.isArray(e))for(let s=0;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(17547),r=i(56135);function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(n);t.default=(e,t)=>{const i="object"==typeof e?e:function(e){try{return o.default(e)}catch(e){throw SyntaxError(e.message)}}(e);return r.default(i,Object.freeze(t))}},56135:(e,t)=>{"use strict";function i(e,t){switch(e.type){case"Program":return function(e,t){if(1!==e.body.length)throw SyntaxError("Too complex expression");return i(e.body[0],t)}(e,t);case"ExpressionStatement":return i(e.expression,t);case"MemberExpression":return function(e,t){const n=i(e.object,t),r="Identifier"===e.property.type?e.property.name:i(e.property,t);return"function"==typeof n[r]?n[r].bind(n):n[r]}(e,t);case"LogicalExpression":case"BinaryExpression":return function(e,t){return function(e,t){return Function("lhs, rhs",`return lhs ${e.operator} rhs`)(i(e.left,t),i(e.right,t))}(e,t)}(e,t);case"ConditionalExpression":return function(e,t){return Function("t, c, a","return t ? c : a")(i(e.test,t),i(e.consequent,t),i(e.alternate,t))}(e,t);case"UnaryExpression":return function(e,t){if(!e.prefix||"UnaryExpression"===e.argument.type)throw SyntaxError("Unexpected operator");return Function("v",`return ${e.operator}v`)(i(e.argument,t))}(e,t);case"CallExpression":return function(e,t){return Reflect.apply(i(e.callee,t),null,e.arguments.map((e=>i(e,t))))}(e,t);case"NewExpression":return function(e,t){return Reflect.construct(i(e.callee,t),e.arguments.map((e=>i(e,t))))}(e,t);case"ArrayExpression":return function(e,t){return e.elements.map((e=>i(e,t)))}(e,t);case"ThisExpression":return t;case"Identifier":return function(e,t){if(void 0===t||!(e in t))throw ReferenceError(`${e} is not defined`);return Reflect.get(t,e,t)}(e.name,t);case"Literal":return e.value;default:throw SyntaxError("Unexpected node")}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i},4910:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>n});var n={name:"regex",init(e){e.hooks.add("gobble-token",(function(t){if(47===this.code){const i=++this.index;let n=!1;for(;this.index=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57))break;s+=this.char}try{r=new RegExp(n,s)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:r,raw:this.expr.slice(i-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}}))}}},6270:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>n});var n={name:"ternary",init(e){e.hooks.add("after-expression",(function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;const i=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;const r=this.gobbleExpression();if(r||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:i,consequent:n,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let n=i;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=i}}else this.throwError("Expected :")}}))}}},73522:(e,t,i)=>{"use strict";function n(e){return n="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},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,n=new Array(t);ib});var m=Object.prototype.hasOwnProperty;function h(e,t){return(e=e.slice()).push(t),e}function y(e,t){return(t=t.slice()).unshift(e),t}var g=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(s,e);var t,i,n=(t=s,i=p(),function(){var e,n=a(t);if(i){var r=a(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function s(e){var t;return r(this,s),(t=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)')).avoidNew=!0,t.value=e,t.name="NewError",t}return o(s)}(f(Error));function b(e,t,i,r,s){if(!(this instanceof b))try{return new b(e,t,i,r,s)}catch(e){if(!e.avoidNew)throw e;return e.value}"string"==typeof e&&(s=r,r=i,i=t,t=e,e=null);var o=e&&"object"===n(e);if(e=e||{},this.json=e.json||i,this.path=e.path||t,this.resultType=e.resultType||"value",this.flatten=e.flatten||!1,this.wrap=!m.call(e,"wrap")||e.wrap,this.sandbox=e.sandbox||{},this.preventEval=e.preventEval||!1,this.parent=e.parent||null,this.parentProperty=e.parentProperty||null,this.callback=e.callback||r||null,this.otherTypeCallback=e.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},!1!==e.autostart){var a={path:o?e.path:t};o?"json"in e&&(a.json=e.json):a.json=i;var c=this.evaluate(a);if(!c||"object"!==n(c))throw new g(c);return c}}b.prototype.evaluate=function(e,t,i,r){var s=this,o=this.parent,a=this.parentProperty,c=this.flatten,p=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,i=i||this.callback,this.currOtherTypeCallback=r||this.otherTypeCallback,t=t||this.json,(e=e||this.path)&&"object"===n(e)&&!Array.isArray(e)){if(!e.path&&""!==e.path)throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!m.call(e,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');t=e.json,c=m.call(e,"flatten")?e.flatten:c,this.currResultType=m.call(e,"resultType")?e.resultType:this.currResultType,this.currSandbox=m.call(e,"sandbox")?e.sandbox:this.currSandbox,p=m.call(e,"wrap")?e.wrap:p,this.currPreventEval=m.call(e,"preventEval")?e.preventEval:this.currPreventEval,i=m.call(e,"callback")?e.callback:i,this.currOtherTypeCallback=m.call(e,"otherTypeCallback")?e.otherTypeCallback:this.currOtherTypeCallback,o=m.call(e,"parent")?e.parent:o,a=m.call(e,"parentProperty")?e.parentProperty:a,e=e.path}if(o=o||null,a=a||null,Array.isArray(e)&&(e=b.toPathString(e)),(e||""===e)&&t){var d=b.toPathArray(e);"$"===d[0]&&d.length>1&&d.shift(),this._hasParentSelector=null;var f=this._trace(d,t,["$"],o,a,i).filter((function(e){return e&&!e.isParentSelector}));return f.length?p||1!==f.length||f[0].hasArrExpr?f.reduce((function(e,t){var i=s._getPreferredOutput(t);return c&&Array.isArray(i)?e=e.concat(i):e.push(i),e}),[]):this._getPreferredOutput(f[0]):p?[]:void 0}},b.prototype._getPreferredOutput=function(e){var t=this.currResultType;switch(t){case"all":var i=Array.isArray(e.path)?e.path:b.toPathArray(e.path);return e.pointer=b.toPointer(i),e.path="string"==typeof e.path?e.path:b.toPathString(e.path),e;case"value":case"parent":case"parentProperty":return e[t];case"path":return b.toPathString(e[t]);case"pointer":return b.toPointer(e.path);default:throw new TypeError("Unknown result type")}},b.prototype._handleCallback=function(e,t,i){if(t){var n=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:b.toPathString(e.path),t(n,i,e)}},b.prototype._trace=function(e,t,i,r,s,o,a,c){var p,d=this;if(!e.length)return p={path:i,value:t,parent:r,parentProperty:s,hasArrExpr:a},this._handleCallback(p,o,"value"),p;var f=e[0],u=e.slice(1),g=[];function b(e){Array.isArray(e)?e.forEach((function(e){g.push(e)})):g.push(e)}if(("string"!=typeof f||c)&&t&&m.call(t,f))b(this._trace(u,t[f],h(i,f),t,f,o,a));else if("*"===f)this._walk(f,u,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){b(d._trace(y(e,i),n,r,s,o,a,!0,!0))}));else if(".."===f)b(this._trace(u,t,i,r,s,o,a)),this._walk(f,u,t,i,r,s,o,(function(e,t,i,r,s,o,a,c){"object"===n(r[e])&&b(d._trace(y(t,i),r[e],h(s,e),r,e,c,!0))}));else{if("^"===f)return this._hasParentSelector=!0,{path:i.slice(0,-1),expr:u,isParentSelector:!0};if("~"===f)return p={path:h(i,f),value:s,parent:r,parentProperty:null},this._handleCallback(p,o,"property"),p;if("$"===f)b(this._trace(u,t,i,null,null,o,a));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(f))b(this._slice(f,u,t,i,r,s,o));else if(0===f.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");this._walk(f,u,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){d._eval(t.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1"),n[e],e,r,s,o)&&b(d._trace(y(e,i),n,r,s,o,a,!0))}))}else if("("===f[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");b(this._trace(y(this._eval(f,t,i[i.length-1],i.slice(0,-1),r,s),u),t,i,r,s,o,a))}else if("@"===f[0]){var v=!1,$=f.slice(1,-2);switch($){case"scalar":t&&["object","function"].includes(n(t))||(v=!0);break;case"boolean":case"string":case"undefined":case"function":n(t)===$&&(v=!0);break;case"integer":!Number.isFinite(t)||t%1||(v=!0);break;case"number":Number.isFinite(t)&&(v=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(v=!0);break;case"object":t&&n(t)===$&&(v=!0);break;case"array":Array.isArray(t)&&(v=!0);break;case"other":v=this.currOtherTypeCallback(t,i,r,s);break;case"null":null===t&&(v=!0);break;default:throw new TypeError("Unknown value type "+$)}if(v)return p={path:i,value:t,parent:r,parentProperty:s},this._handleCallback(p,o,"value"),p}else if("`"===f[0]&&t&&m.call(t,f.slice(1))){var j=f.slice(1);b(this._trace(u,t[j],h(i,j),t,j,o,a,!0))}else if(f.includes(",")){var _,w=function(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=l(e))){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 s,o=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw s}}}}(f.split(","));try{for(w.s();!(_=w.n()).done;){var x=_.value;b(this._trace(y(x,u),t,i,r,s,o,!0))}}catch(e){w.e(e)}finally{w.f()}}else!c&&t&&m.call(t,f)&&b(this._trace(u,t[f],h(i,f),t,f,o,a,!0))}if(this._hasParentSelector)for(var P=0;P-1?t.slice(0,a+1)+" return "+t.slice(a+1):" return "+t;return d(Function,i.concat([c])).apply(void 0,function(e){if(Array.isArray(e))return u(e)}(o=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||l(o)||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.")}())}}]),e}();b.prototype.vm={Script:v}},94169:(e,t,i)=>{"use strict";var n,r,s,o,a;i.d(t,{h_:()=>s}),function(e){e.None="none",e.Declared="declared",e.InheritedFromService="inheritedFromService"}(n||(n={})),function(e){e.Unspecified="unspecified",e.Simple="simple",e.Matrix="matrix",e.Label="label",e.Form="form",e.CommaDelimited="commaDelimited",e.SpaceDelimited="spaceDelimited",e.PipeDelimited="pipeDelimited",e.DeepObject="deepObject",e.TabDelimited="tabDelimited"}(r||(r={})),function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Information=2]="Information",e[e.Hint=3]="Hint"}(s||(s={})),function(e){e.Article="article",e.HttpService="http_service",e.HttpServer="http_server",e.HttpOperation="http_operation",e.HttpCallback="http_callback",e.Model="model",e.Generic="generic",e.Unknown="unknown",e.TableOfContents="table_of_contents",e.SpectralRuleset="spectral_ruleset",e.Styleguide="styleguide",e.Image="image",e.StoplightResolutions="stoplight_resolutions",e.StoplightOverride="stoplight_override"}(o||(o={})),function(e){e.Json="json",e.Markdown="markdown",e.Yaml="yaml",e.Javascript="javascript",e.Apng="apng",e.Avif="avif",e.Bmp="bmp",e.Gif="gif",e.Jpeg="jpeg",e.Png="png",e.Svg="svg",e.Webp="webp"}(a||(a={}))},34321:(e,t,i)=>{"use strict";function n(e){return n="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},n(e)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function o(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function a(e,t,i){return a=o()?Reflect.construct:function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&s(r,i.prototype),r},a.apply(null,arguments)}function c(e){var t="function"==typeof Map?new Map:void 0;return c=function(e){if(null===e||(i=e,-1===Function.toString.call(i).indexOf("[native code]")))return e;var i;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 a(e,arguments,r(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),s(n,e)},c(e)}function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(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 d(e,t){if(e){if("string"==typeof e)return f(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);iy});var l=Object.prototype.hasOwnProperty;function u(e,t){return(e=e.slice()).push(t),e}function m(e,t){return(t=t.slice()).unshift(e),t}var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(a,e);var t,i,n=(t=a,i=o(),function(){var e,n=r(t);if(i){var s=r(this).constructor;e=Reflect.construct(n,arguments,s)}else e=n.apply(this,arguments);return function(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,e)});function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)')).avoidNew=!0,t.value=e,t.name="NewError",t}return a}(c(Error));function y(e,t,i,r,s){if(!(this instanceof y))try{return new y(e,t,i,r,s)}catch(e){if(!e.avoidNew)throw e;return e.value}"string"==typeof e&&(s=r,r=i,i=t,t=e,e=null);var o=e&&"object"===n(e);if(e=e||{},this.json=e.json||i,this.path=e.path||t,this.resultType=e.resultType||"value",this.flatten=e.flatten||!1,this.wrap=!l.call(e,"wrap")||e.wrap,this.sandbox=e.sandbox||{},this.preventEval=e.preventEval||!1,this.parent=e.parent||null,this.parentProperty=e.parentProperty||null,this.callback=e.callback||r||null,this.otherTypeCallback=e.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},!1!==e.autostart){var a={path:o?e.path:t};o?"json"in e&&(a.json=e.json):a.json=i;var c=this.evaluate(a);if(!c||"object"!==n(c))throw new h(c);return c}}y.prototype.evaluate=function(e,t,i,r){var s=this,o=this.parent,a=this.parentProperty,c=this.flatten,p=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,i=i||this.callback,this.currOtherTypeCallback=r||this.otherTypeCallback,t=t||this.json,(e=e||this.path)&&"object"===n(e)&&!Array.isArray(e)){if(!e.path&&""!==e.path)throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!l.call(e,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');t=e.json,c=l.call(e,"flatten")?e.flatten:c,this.currResultType=l.call(e,"resultType")?e.resultType:this.currResultType,this.currSandbox=l.call(e,"sandbox")?e.sandbox:this.currSandbox,p=l.call(e,"wrap")?e.wrap:p,this.currPreventEval=l.call(e,"preventEval")?e.preventEval:this.currPreventEval,i=l.call(e,"callback")?e.callback:i,this.currOtherTypeCallback=l.call(e,"otherTypeCallback")?e.otherTypeCallback:this.currOtherTypeCallback,o=l.call(e,"parent")?e.parent:o,a=l.call(e,"parentProperty")?e.parentProperty:a,e=e.path}if(o=o||null,a=a||null,Array.isArray(e)&&(e=y.toPathString(e)),(e||""===e)&&t){var d=y.toPathArray(e);"$"===d[0]&&d.length>1&&d.shift(),this._hasParentSelector=null;var f=this._trace(d,t,["$"],o,a,i).filter((function(e){return e&&!e.isParentSelector}));return f.length?p||1!==f.length||f[0].hasArrExpr?f.reduce((function(e,t){var i=s._getPreferredOutput(t);return c&&Array.isArray(i)?e=e.concat(i):e.push(i),e}),[]):this._getPreferredOutput(f[0]):p?[]:void 0}},y.prototype._getPreferredOutput=function(e){var t=this.currResultType;switch(t){case"all":var i=Array.isArray(e.path)?e.path:y.toPathArray(e.path);return e.pointer=y.toPointer(i),e.path="string"==typeof e.path?e.path:y.toPathString(e.path),e;case"value":case"parent":case"parentProperty":return e[t];case"path":return y.toPathString(e[t]);case"pointer":return y.toPointer(e.path);default:throw new TypeError("Unknown result type")}},y.prototype._handleCallback=function(e,t,i){if(t){var n=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:y.toPathString(e.path),t(n,i,e)}},y.prototype._trace=function(e,t,i,r,s,o,a,c){var p,f=this;if(!e.length)return p={path:i,value:t,parent:r,parentProperty:s,hasArrExpr:a},this._handleCallback(p,o,"value"),p;var h=e[0],y=e.slice(1),g=[];function b(e){Array.isArray(e)?e.forEach((function(e){g.push(e)})):g.push(e)}if(("string"!=typeof h||c)&&t&&l.call(t,h))b(this._trace(y,t[h],u(i,h),t,h,o,a));else if("*"===h)this._walk(h,y,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){b(f._trace(m(e,i),n,r,s,o,a,!0,!0))}));else if(".."===h)b(this._trace(y,t,i,r,s,o,a)),this._walk(h,y,t,i,r,s,o,(function(e,t,i,r,s,o,a,c){"object"===n(r[e])&&b(f._trace(m(t,i),r[e],u(s,e),r,e,c,!0))}));else{if("^"===h)return this._hasParentSelector=!0,{path:i.slice(0,-1),expr:y,isParentSelector:!0};if("~"===h)return p={path:u(i,h),value:s,parent:r,parentProperty:null},this._handleCallback(p,o,"property"),p;if("$"===h)b(this._trace(y,t,i,null,null,o,a));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(h))b(this._slice(h,y,t,i,r,s,o));else if(0===h.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");this._walk(h,y,t,i,r,s,o,(function(e,t,i,n,r,s,o,a){f._eval(t.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1"),n[e],e,r,s,o)&&b(f._trace(m(e,i),n,r,s,o,a,!0))}))}else if("("===h[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");b(this._trace(m(this._eval(h,t,i[i.length-1],i.slice(0,-1),r,s),y),t,i,r,s,o,a))}else if("@"===h[0]){var v=!1,$=h.slice(1,-2);switch($){case"scalar":t&&["object","function"].includes(n(t))||(v=!0);break;case"boolean":case"string":case"undefined":case"function":n(t)===$&&(v=!0);break;case"integer":!Number.isFinite(t)||t%1||(v=!0);break;case"number":Number.isFinite(t)&&(v=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(v=!0);break;case"object":t&&n(t)===$&&(v=!0);break;case"array":Array.isArray(t)&&(v=!0);break;case"other":v=this.currOtherTypeCallback(t,i,r,s);break;case"null":null===t&&(v=!0);break;default:throw new TypeError("Unknown value type "+$)}if(v)return p={path:i,value:t,parent:r,parentProperty:s},this._handleCallback(p,o,"value"),p}else if("`"===h[0]&&t&&l.call(t,h.slice(1))){var j=h.slice(1);b(this._trace(y,t[j],u(i,j),t,j,o,a,!0))}else if(h.includes(",")){var _,w=function(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=d(e))){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 s,o=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw s}}}}(h.split(","));try{for(w.s();!(_=w.n()).done;){var x=_.value;b(this._trace(m(x,y),t,i,r,s,o,!0))}}catch(e){w.e(e)}finally{w.f()}}else!c&&t&&l.call(t,h)&&b(this._trace(y,t[h],u(i,h),t,h,o,a,!0))}if(this._hasParentSelector)for(var P=0;P-1?e.slice(0,o+1)+" return "+e.slice(o+1):" return "+e;return a(Function,p(i).concat([c])).apply(void 0,p(r))}}},85608:(e,t,i)=>{"use strict";i.r(t),i.d(t,{__addDisposableResource:()=>M,__assign:()=>s,__asyncDelegator:()=>P,__asyncGenerator:()=>x,__asyncValues:()=>S,__await:()=>w,__awaiter:()=>m,__classPrivateFieldGet:()=>I,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>k,__createBinding:()=>y,__decorate:()=>a,__disposeResources:()=>C,__esDecorate:()=>p,__exportStar:()=>g,__extends:()=>r,__generator:()=>h,__importDefault:()=>T,__importStar:()=>A,__makeTemplateObject:()=>O,__metadata:()=>u,__param:()=>c,__propKey:()=>f,__read:()=>v,__rest:()=>o,__runInitializers:()=>d,__setFunctionName:()=>l,__spread:()=>$,__spreadArray:()=>_,__spreadArrays:()=>j,__values:()=>b,default:()=>N});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)};function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var s=function(){return s=Object.assign||function(e){for(var t,i=1,n=arguments.length;i=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}function c(e,t){return function(i,n){t(i,n,e)}}function p(e,t,i,n,r,s){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,c=n.kind,p="getter"===c?"get":"setter"===c?"set":"value",d=!t&&e?n.static?e:e.prototype:null,f=t||(d?Object.getOwnPropertyDescriptor(d,n.name):{}),l=!1,u=i.length-1;u>=0;u--){var m={};for(var h in n)m[h]="access"===h?{}:n[h];for(var h in n.access)m.access[h]=n.access[h];m.addInitializer=function(e){if(l)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(e||null))};var y=(0,i[u])("accessor"===c?{get:f.get,set:f.set}:f[p],m);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(a=o(y.get))&&(f.get=a),(a=o(y.set))&&(f.set=a),(a=o(y.init))&&r.unshift(a)}else(a=o(y))&&("field"===c?r.unshift(a):f[p]=a)}d&&Object.defineProperty(d,n.name,f),l=!0}function d(e,t,i){for(var n=arguments.length>2,r=0;r0&&r[r.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,s=i.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o}function $(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(i=r[e](t)).value instanceof w?Promise.resolve(i.value.v).then(c,p):d(s[0][2],i)}catch(e){d(s[0][3],e)}var i}function c(e){a("next",e)}function p(e){a("throw",e)}function d(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function P(e){var t,i;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:w(e[n](t)),done:!1}:r?r(t):t}:r}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,r){!function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)}(n,r,(t=e[i](t)).done,t.value)}))}}}function O(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var E=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function A(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&y(t,e,i);return E(t,e),t}function T(e){return e&&e.__esModule?e:{default:e}}function I(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)}function k(e,t,i,n,r){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?r.call(e,i):r?r.value=i:t.set(e,i),i}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function M(e,t,i){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var n;if(i){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose]}if("function"!=typeof n)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:n,async:i})}else i&&e.stack.push({async:!0});return t}var q="function"==typeof SuppressedError?SuppressedError:function(e,t,i){var n=new Error(i);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function C(e){function t(t){e.error=e.hasError?new q(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function i(){for(;e.stack.length;){var n=e.stack.pop();try{var r=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(r).then(i,(function(e){return t(e),i()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}const N={__extends:r,__assign:s,__rest:o,__decorate:a,__param:c,__metadata:u,__awaiter:m,__generator:h,__createBinding:y,__exportStar:g,__values:b,__read:v,__spread:$,__spreadArrays:j,__spreadArray:_,__await:w,__asyncGenerator:x,__asyncDelegator:P,__asyncValues:S,__makeTemplateObject:O,__importStar:A,__importDefault:T,__classPrivateFieldGet:I,__classPrivateFieldSet:k,__classPrivateFieldIn:R,__addDisposableResource:M,__disposeResources:C}},63837:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},72079:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},69486:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.0.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.0.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"type":"object","additionalProperties":{"$ref":"#/definitions/server"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},4023:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.0.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.0.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.0.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.0.0/info.json"},"servers":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/server.json"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.0.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.0.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.0.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.0.0/info.json":{"$id":"http://asyncapi.com/definitions/2.0.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.0.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.0.0/license.json"}}},"http://asyncapi.com/definitions/2.0.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.0.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/license.json":{"$id":"http://asyncapi.com/definitions/2.0.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/server.json":{"$id":"http://asyncapi.com/definitions/2.0.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.0.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.0.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.0.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.0.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.0.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.0.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.0.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{}}},"http://asyncapi.com/definitions/2.0.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.0.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/channelItem.json"}},"http://asyncapi.com/definitions/2.0.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.0.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.0.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"http://asyncapi.com/definitions/2.0.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.0.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.0.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.0.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.0.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.0.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.0.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.0.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.0.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.0.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.0.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.0.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.0.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.0.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.0.0/message.json"}}},"http://asyncapi.com/definitions/2.0.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.0.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.0.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/message.json":{"$id":"http://asyncapi.com/definitions/2.0.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.0.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.0.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.0.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.0.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.0.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.0.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.0.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.0.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.0.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.0.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.0.0/components.json":{"$id":"http://asyncapi.com/definitions/2.0.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.0.0/schemas.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.0.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.0.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.0.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.0.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.0.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.0.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.0.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.0.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/openIdConnect.json"}]},"http://asyncapi.com/definitions/2.0.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.0.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.0.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.0.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.0.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.0.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.0.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.0.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.0.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.0.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.0.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.0.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.0.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.0.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.0.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.0.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.0.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},61401:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.1.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.1.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"type":"object","additionalProperties":{"$ref":"#/definitions/server"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},88520:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.1.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.1.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.1.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.1.0/info.json"},"servers":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/server.json"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.1.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.1.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.1.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.1.0/info.json":{"$id":"http://asyncapi.com/definitions/2.1.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.1.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.1.0/license.json"}}},"http://asyncapi.com/definitions/2.1.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.1.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/license.json":{"$id":"http://asyncapi.com/definitions/2.1.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/server.json":{"$id":"http://asyncapi.com/definitions/2.1.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.1.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.1.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.1.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.1.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.1.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.1.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"http://asyncapi.com/definitions/2.1.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.1.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/channelItem.json"}},"http://asyncapi.com/definitions/2.1.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.1.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.1.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"publish":{"$ref":"http://asyncapi.com/definitions/2.1.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.1.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.1.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.1.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.1.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.1.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.1.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.1.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.1.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.1.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.1.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.1.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.1.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.1.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.1.0/message.json"}}},"http://asyncapi.com/definitions/2.1.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.1.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.1.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/message.json":{"$id":"http://asyncapi.com/definitions/2.1.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.1.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.1.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.1.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.1.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.1.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.1.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.1.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.1.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.1.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.1.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.1.0/components.json":{"$id":"http://asyncapi.com/definitions/2.1.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.1.0/schemas.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.1.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.1.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.1.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.1.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.1.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.1.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.1.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.1.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.1.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.1.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.1.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.1.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.1.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.1.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.1.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.1.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.1.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.1.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.1.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.1.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.1.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.1.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.1.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.1.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.1.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.1.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},30192:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.2.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.2.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"type":"object","additionalProperties":{"$ref":"#/definitions/server"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},83105:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.2.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.2.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.2.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.2.0/info.json"},"servers":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/server.json"}},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.2.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.2.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.2.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.2.0/info.json":{"$id":"http://asyncapi.com/definitions/2.2.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.2.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.2.0/license.json"}}},"http://asyncapi.com/definitions/2.2.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.2.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/license.json":{"$id":"http://asyncapi.com/definitions/2.2.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/server.json":{"$id":"http://asyncapi.com/definitions/2.2.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.2.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.2.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.2.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.2.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.2.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.2.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{}}},"http://asyncapi.com/definitions/2.2.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.2.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/channelItem.json"}},"http://asyncapi.com/definitions/2.2.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.2.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.2.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.2.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.2.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.2.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.2.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.2.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.2.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.2.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.2.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.2.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.2.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.2.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.2.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.2.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.2.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.2.0/message.json"}}},"http://asyncapi.com/definitions/2.2.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.2.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.2.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/message.json":{"$id":"http://asyncapi.com/definitions/2.2.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.2.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.2.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.2.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.2.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.2.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.2.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.2.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.2.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.2.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.2.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.2.0/components.json":{"$id":"http://asyncapi.com/definitions/2.2.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.2.0/schemas.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.2.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.2.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.2.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.2.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.2.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.2.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.2.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.2.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.2.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.2.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.2.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.2.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.2.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.2.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.2.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.2.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.2.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.2.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.2.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.2.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.2.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.2.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.2.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.2.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.2.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.2.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},85323:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.3.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.3.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},11306:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.3.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.3.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.3.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.3.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.3.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.3.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.3.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.3.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.3.0/info.json":{"$id":"http://asyncapi.com/definitions/2.3.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.3.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.3.0/license.json"}}},"http://asyncapi.com/definitions/2.3.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.3.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/license.json":{"$id":"http://asyncapi.com/definitions/2.3.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.3.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/server.json"}]}},"http://asyncapi.com/definitions/2.3.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.3.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.3.0/server.json":{"$id":"http://asyncapi.com/definitions/2.3.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.3.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.3.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.3.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.3.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.3.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.3.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"http://asyncapi.com/definitions/2.3.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.3.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/channelItem.json"}},"http://asyncapi.com/definitions/2.3.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.3.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.3.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.3.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.3.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.3.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.3.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.3.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.3.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.3.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.3.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.3.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.3.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.3.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.3.0/message.json"}}},"http://asyncapi.com/definitions/2.3.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.3.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.3.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/message.json":{"$id":"http://asyncapi.com/definitions/2.3.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.3.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.3.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.3.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.3.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.3.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.3.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.3.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.3.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.3.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.3.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.3.0/components.json":{"$id":"http://asyncapi.com/definitions/2.3.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.3.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.3.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.3.0/channels.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.3.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.3.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.3.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.3.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.3.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.3.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.3.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.3.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.3.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.3.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.3.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.3.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.3.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.3.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.3.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.3.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.3.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.3.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.3.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.3.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.3.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.3.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.3.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.3.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.3.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.3.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},45002:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.4.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.4.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"serverVariables":{"type":"object","additionalProperties":{"$ref":"#/definitions/serverVariable"}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"serverVariables":{"$ref":"#/definitions/serverVariables"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},64939:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.4.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.4.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.4.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.4.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.4.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.4.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.4.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.4.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.4.0/info.json":{"$id":"http://asyncapi.com/definitions/2.4.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.4.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.4.0/license.json"}}},"http://asyncapi.com/definitions/2.4.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.4.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/license.json":{"$id":"http://asyncapi.com/definitions/2.4.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.4.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/server.json"}]}},"http://asyncapi.com/definitions/2.4.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.4.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.4.0/server.json":{"$id":"http://asyncapi.com/definitions/2.4.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.4.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.4.0/serverVariables.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/serverVariable.json"}},"http://asyncapi.com/definitions/2.4.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.4.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.4.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"http://asyncapi.com/definitions/2.4.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.4.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/channelItem.json"}},"http://asyncapi.com/definitions/2.4.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.4.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.4.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.4.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.4.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.4.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.4.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.4.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"$ref":{"$ref":"http://asyncapi.com/definitions/2.4.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.4.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.4.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.4.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.4.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.4.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json"}},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.4.0/message.json"}}},"http://asyncapi.com/definitions/2.4.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.4.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.4.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/message.json":{"$id":"http://asyncapi.com/definitions/2.4.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.4.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.4.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.4.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.4.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.4.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.4.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.4.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.4.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.4.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.4.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.4.0/components.json":{"$id":"http://asyncapi.com/definitions/2.4.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.4.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.4.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.4.0/channels.json"},"serverVariables":{"$ref":"http://asyncapi.com/definitions/2.4.0/serverVariables.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.4.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.4.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.4.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.4.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.4.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.4.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.4.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.4.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.4.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.4.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.4.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.4.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.4.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.4.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.4.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.4.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.4.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.4.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.4.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.4.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.4.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.4.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.4.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.4.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.4.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.4.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},85765:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.5.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.5.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","format":"uri-reference"},"server":{"type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true}}},"serverVariables":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"bindingsObject":{"type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"channels":{"type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"}},"channelItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters."},"parameter":{"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"schema":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"operation":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}}},"operationTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"message":{"oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}]},"correlationId":{"type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"messageTrait":{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"#/definitions/bindingsObject"}}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"serverVariables":{"$ref":"#/definitions/serverVariables"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}}},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Flows":{"type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},55708:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.5.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.5.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.5.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.5.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.5.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.5.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.5.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.5.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.5.0/info.json":{"$id":"http://asyncapi.com/definitions/2.5.0/info.json","type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.5.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.5.0/license.json"}}},"http://asyncapi.com/definitions/2.5.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.5.0/contact.json","type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/license.json":{"$id":"http://asyncapi.com/definitions/2.5.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.5.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/server.json"}]}},"http://asyncapi.com/definitions/2.5.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.5.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/2.5.0/server.json":{"$id":"http://asyncapi.com/definitions/2.5.0/server.json","type":"object","description":"An object representing a Server.","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"url":{"type":"string"},"description":{"type":"string"},"protocol":{"type":"string","description":"The transfer protocol."},"protocolVersion":{"type":"string"},"variables":{"$ref":"http://asyncapi.com/definitions/2.5.0/serverVariables.json"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true}}},"http://asyncapi.com/definitions/2.5.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.5.0/serverVariables.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/serverVariable.json"}]}},"http://asyncapi.com/definitions/2.5.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.5.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string"},"description":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json","type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"http://asyncapi.com/definitions/2.5.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json","type":"object","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{}}},"http://asyncapi.com/definitions/2.5.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.5.0/tag.json","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.5.0/externalDocs.json","type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.5.0/channels.json","type":"object","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/channelItem.json"}},"http://asyncapi.com/definitions/2.5.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.5.0/channelItem.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.5.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.5.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.5.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.5.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.5.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.5.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters."},"http://asyncapi.com/definitions/2.5.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.5.0/parameter.json","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.5.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.5.0/schema.json","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"discriminator":{"type":"string"},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.5.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.5.0/operation.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/operationTrait.json"}]}},"summary":{"type":"string"},"description":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json"}},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.5.0/message.json"}}},"http://asyncapi.com/definitions/2.5.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.5.0/operationTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"summary":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"operationId":{"type":"string"},"security":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.5.0/message.json":{"$id":"http://asyncapi.com/definitions/2.5.0/message.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object"},"payload":{}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.5.0/avroSchema_v1.json"}}}}]}]}]},"http://asyncapi.com/definitions/2.5.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.5.0/correlationId.json","type":"object","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}}},"http://asyncapi.com/definitions/2.5.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.5.0/messageTrait.json","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.5.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.5.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","items":{"type":"object"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}},"http://asyncapi.com/definitions/2.5.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.5.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.5.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.5.0/components.json":{"$id":"http://asyncapi.com/definitions/2.5.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.5.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.5.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.5.0/channels.json"},"serverVariables":{"$ref":"http://asyncapi.com/definitions/2.5.0/serverVariables.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.5.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.5.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/bindingsObject.json"}}}},"http://asyncapi.com/definitions/2.5.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.5.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.5.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.5.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.5.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.5.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.5.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.5.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.5.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"in":{"type":"string","enum":["user","password"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.5.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.5.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.5.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["asymmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.5.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","enum":["bearer"]},"bearerFormat":{"type":"string"},"type":{"type":"string","enum":["http"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","enum":["httpApiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query","cookie"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.5.0/oauth2Flows.json","type":"object","required":["type","flows"],"properties":{"type":{"type":"string","enum":["oauth2"]},"description":{"type":"string"},"flows":{"type":"object","properties":{"implicit":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.5.0/oauth2Flow.json","type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"refreshUrl":{"type":"string","format":"uri"},"scopes":{"$ref":"http://asyncapi.com/definitions/2.5.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.5.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.5.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.5.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.5.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.5.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plain"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["scramSha256","scramSha512"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.5.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.5.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["gssapi"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.5.0/specificationExtension.json"}},"additionalProperties":false}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},94220:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.6.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","enum":["2.6.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string"},"channels":{"$ref":"#/definitions/channels"},"components":{"$ref":"#/definitions/components"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"type":"object","description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}},"examples":[{"title":"AsyncAPI Sample App","description":"This is a sample server.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}}]},"contact":{"type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"license":{"type":"object","required":["name"],"description":"License information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"servers":{"description":"The Servers Object is a map of Server Objects.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]},"examples":[{"development":{"url":"development.gigantic-server.com","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests"}]},"staging":{"url":"staging.gigantic-server.com","description":"Staging server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment"}]},"production":{"url":"api.gigantic-server.com","description":"Production server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users"}]}}]},"Reference":{"type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"}}},"ReferenceObject":{"type":"string","description":"A simple object to allow referencing other components in the specification, internally and externally.","format":"uri-reference","examples":[{"$ref":"#/components/schemas/Pet"}]},"server":{"type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string","description":"A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served."},"description":{"type":"string","description":"An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation."},"protocol":{"type":"string","description":"The protocol this URL supports for connection. Supported protocol include, but are not limited to: amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub."},"protocolVersion":{"type":"string","description":"The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc."},"variables":{"description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","$ref":"#/definitions/serverVariables"},"security":{"type":"array","description":"A declaration of which security mechanisms can be used with this server. The list of values includes alternative security requirement objects that can be used. ","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the server.","$ref":"#/definitions/bindingsObject"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of servers.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true}},"examples":[{"url":"development.gigantic-server.com","description":"Development server","protocol":"kafka","protocolVersion":"1.0.0"}]},"serverVariables":{"type":"object","description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. "},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}}},"SecurityRequirement":{"type":"object","description":"Lists of the required security schemes that can be used to execute an operation","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true},"examples":[{"petstore_auth":["write:pets","read:pets"]}]},"bindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{},"googlepubsub":{},"pulsar":{}}},"tag":{"type":"object","description":"Allows adding meta data to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag."},"externalDocs":{"description":"Additional external documentation for this tag.","$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"user","description":"User-related messages"}]},"externalDocs":{"type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation."},"url":{"type":"string","format":"uri","description":"The URL for the target documentation. This MUST be in the form of an absolute URL."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"channels":{"type":"object","description":"Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers.","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"#/definitions/channelItem"},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"channelItem":{"type":"object","description":"Describes the operations available on a single channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"$ref":"#/definitions/ReferenceObject"},"parameters":{"$ref":"#/definitions/parameters"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"#/definitions/operation"},"subscribe":{"$ref":"#/definitions/operation"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"#/definitions/bindingsObject"}},"examples":[{"description":"This channel is used to exchange messages about users signing up","subscribe":{"summary":"A user signed up.","message":{"description":"A longer description of the message","payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/user"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}}},{"subscribe":{"message":{"oneOf":[{"$ref":"#/components/messages/signup"},{"$ref":"#/components/messages/login"}]}}},{"description":"This application publishes WebUICommand messages to an AMQP queue on RabbitMQ brokers in the Staging and Production environments.","servers":["rabbitmqBrokerInProd","rabbitmqBrokerInStaging"],"subscribe":{"message":{"$ref":"#/components/messages/WebUICommand"}},"bindings":{"amqp":{"is":"queue"}}}]},"parameters":{"type":"object","description":"JSON objects describing reusable channel parameters.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"parameter":{"description":"Describes a parameter included in a channel name.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"#/definitions/schema"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"},"location":"$message.payload#/user/id"}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"schema":{"description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays.","allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. "},"externalDocs":{"description":"Additional external documentation for this schema.","$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false,"description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage"}}}],"examples":[{"type":"string","format":"email"},{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"address":{"$ref":"#/components/schemas/Address"},"age":{"type":"integer","format":"int32","minimum":0}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"operation":{"type":"object","description":"Describes a publish or a subscribe operation. This provides a place to document how and why messages are sent and received.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"traits":{"type":"array","description":"A list of traits to apply to the operation object.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation.","items":{"$ref":"#/definitions/SecurityRequirement"}},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string"},"bindings":{"$ref":"#/definitions/bindingsObject"},"message":{"$ref":"#/definitions/message"}},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"operationTrait":{"type":"object","description":"Describes a trait that MAY be applied to an Operation Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string","description":"Unique string used to identify the operation. The id MUST be unique among all operations described in the API."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation. ","items":{"$ref":"#/definitions/SecurityRequirement"}},"bindings":{"$ref":"#/definitions/bindingsObject"}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"message":{"description":"Describes a message received on a given channel and operation.","oneOf":[{"$ref":"#/definitions/Reference"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"#/definitions/message"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"#/definitions/bindingsObject"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/openapiSchema_3_0"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"#/definitions/avroSchema_v1"}}}}]}]}],"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]},{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","payload":{"$ref":"path/to/user-create.avsc#/UserCreate"}}]},"correlationId":{"type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"messageTrait":{"type":"object","description":"Describes a trait that MAY be applied to a Message Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaFormat":{"type":"string","description":"A string containing the name of the schema format/language used to define the message payload."},"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload."},"headers":{"description":"Schema definition of the application headers.","allOf":[{"$ref":"#/definitions/schema"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string","description":"Unique string used to identify the message. The id MUST be unique among all messages described in the API."},"correlationId":{"description":"Definition of the correlation ID used for message tracing or matching.","oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of messages.","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"#/definitions/bindingsObject"}},"examples":[{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","contentType":"application/json"}]},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"components":{"type":"object","description":"Holds a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"$ref":"#/definitions/schemas"},"servers":{"$ref":"#/definitions/servers"},"channels":{"$ref":"#/definitions/channels"},"serverVariables":{"$ref":"#/definitions/serverVariables"},"messages":{"$ref":"#/definitions/messages"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"$ref":"#/definitions/parameters"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/operationTrait"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"#/definitions/messageTrait"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"#/definitions/bindingsObject"}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}},"servers":{"development":{"url":"{stage}.gigantic-server.com:{port}","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `gigantic-server.com`"},"port":{"enum":["8883","8884"],"default":"8883"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]},"schemas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"JSON objects describing schemas the API uses."},"messages":{"type":"object","additionalProperties":{"$ref":"#/definitions/message"},"description":"JSON objects describing the messages being consumed and produced by the API."},"SecurityScheme":{"description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}],"examples":[{"type":"userPassword"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["userPassword"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["apiKey"]},"in":{"type":"string","description":"The location of the API key. ","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"],"description":"The type of the security scheme."},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["symmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key. ","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"oauth2Flows":{"type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"A short description for security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"scopes":{"description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it.","$ref":"#/definitions/oauth2Scopes"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://example.com/api/oauth/dialog","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}},"authorizationCode":{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}}}]},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},11669:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/2.6.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 2.6.0 schema.","type":"object","required":["asyncapi","info","channels"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","enum":["2.6.0"],"description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/2.6.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.6.0/servers.json"},"defaultContentType":{"type":"string"},"channels":{"$ref":"http://asyncapi.com/definitions/2.6.0/channels.json"},"components":{"$ref":"http://asyncapi.com/definitions/2.6.0/components.json"},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"}},"definitions":{"http://asyncapi.com/definitions/2.6.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/2.6.0/info.json":{"$id":"http://asyncapi.com/definitions/2.6.0/info.json","type":"object","description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/2.6.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/2.6.0/license.json"}},"examples":[{"title":"AsyncAPI Sample App","description":"This is a sample server.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}}]},"http://asyncapi.com/definitions/2.6.0/contact.json":{"$id":"http://asyncapi.com/definitions/2.6.0/contact.json","type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"http://asyncapi.com/definitions/2.6.0/license.json":{"$id":"http://asyncapi.com/definitions/2.6.0/license.json","type":"object","required":["name"],"description":"License information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"http://asyncapi.com/definitions/2.6.0/servers.json":{"$id":"http://asyncapi.com/definitions/2.6.0/servers.json","description":"The Servers Object is a map of Server Objects.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/server.json"}]},"examples":[{"development":{"url":"development.gigantic-server.com","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests"}]},"staging":{"url":"staging.gigantic-server.com","description":"Staging server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment"}]},"production":{"url":"api.gigantic-server.com","description":"Production server","protocol":"amqp","protocolVersion":"0.9.1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users"}]}}]},"http://asyncapi.com/definitions/2.6.0/Reference.json":{"$id":"http://asyncapi.com/definitions/2.6.0/Reference.json","type":"object","required":["$ref"],"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json"}}},"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json","type":"string","description":"A simple object to allow referencing other components in the specification, internally and externally.","format":"uri-reference","examples":[{"$ref":"#/components/schemas/Pet"}]},"http://asyncapi.com/definitions/2.6.0/server.json":{"$id":"http://asyncapi.com/definitions/2.6.0/server.json","type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data","required":["url","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"url":{"type":"string","description":"A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served."},"description":{"type":"string","description":"An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation."},"protocol":{"type":"string","description":"The protocol this URL supports for connection. Supported protocol include, but are not limited to: amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub."},"protocolVersion":{"type":"string","description":"The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc."},"variables":{"description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","$ref":"http://asyncapi.com/definitions/2.6.0/serverVariables.json"},"security":{"type":"array","description":"A declaration of which security mechanisms can be used with this server. The list of values includes alternative security requirement objects that can be used. ","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"}},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the server.","$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of servers.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true}},"examples":[{"url":"development.gigantic-server.com","description":"Development server","protocol":"kafka","protocolVersion":"1.0.0"}]},"http://asyncapi.com/definitions/2.6.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/2.6.0/serverVariables.json","type":"object","description":"A map between a variable name and its value. The value is used for substitution in the server\'s URL template.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/serverVariable.json"}]}},"http://asyncapi.com/definitions/2.6.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/2.6.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. "},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}}},"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json","type":"object","description":"Lists of the required security schemes that can be used to execute an operation","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true},"examples":[{"petstore_auth":["write:pets","read:pets"]}]},"http://asyncapi.com/definitions/2.6.0/bindingsObject.json":{"$id":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":true,"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{},"mqtt5":{},"kafka":{},"anypointmq":{},"nats":{},"jms":{},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{},"solace":{},"googlepubsub":{},"pulsar":{}}},"http://asyncapi.com/definitions/2.6.0/tag.json":{"$id":"http://asyncapi.com/definitions/2.6.0/tag.json","type":"object","description":"Allows adding meta data to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag."},"externalDocs":{"description":"Additional external documentation for this tag.","$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"name":"user","description":"User-related messages"}]},"http://asyncapi.com/definitions/2.6.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/2.6.0/externalDocs.json","type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation."},"url":{"type":"string","format":"uri","description":"The URL for the target documentation. This MUST be in the form of an absolute URL."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"http://asyncapi.com/definitions/2.6.0/channels.json":{"$id":"http://asyncapi.com/definitions/2.6.0/channels.json","type":"object","description":"Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers.","propertyNames":{"type":"string","format":"uri-template","minLength":1},"additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/channelItem.json"},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/channelItem.json":{"$id":"http://asyncapi.com/definitions/2.6.0/channelItem.json","type":"object","description":"Describes the operations available on a single channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"$ref":{"$ref":"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/2.6.0/parameters.json"},"description":{"type":"string","description":"A description of the channel."},"servers":{"type":"array","description":"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"type":"string"},"uniqueItems":true},"publish":{"$ref":"http://asyncapi.com/definitions/2.6.0/operation.json"},"subscribe":{"$ref":"http://asyncapi.com/definitions/2.6.0/operation.json"},"deprecated":{"type":"boolean","default":false},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"examples":[{"description":"This channel is used to exchange messages about users signing up","subscribe":{"summary":"A user signed up.","message":{"description":"A longer description of the message","payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/user"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}}},{"subscribe":{"message":{"oneOf":[{"$ref":"#/components/messages/signup"},{"$ref":"#/components/messages/login"}]}}},{"description":"This application publishes WebUICommand messages to an AMQP queue on RabbitMQ brokers in the Staging and Production environments.","servers":["rabbitmqBrokerInProd","rabbitmqBrokerInStaging"],"subscribe":{"message":{"$ref":"#/components/messages/WebUICommand"}},"bindings":{"amqp":{"is":"queue"}}}]},"http://asyncapi.com/definitions/2.6.0/parameters.json":{"$id":"http://asyncapi.com/definitions/2.6.0/parameters.json","type":"object","description":"JSON objects describing reusable channel parameters.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/parameter.json"}]},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/parameter.json":{"$id":"http://asyncapi.com/definitions/2.6.0/parameter.json","description":"Describes a parameter included in a channel name.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"schema":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"user/{userId}/signup":{"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"},"location":"$message.payload#/user/id"}},"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/schema.json":{"$id":"http://asyncapi.com/definitions/2.6.0/schema.json","description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays.","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. "},"externalDocs":{"description":"Additional external documentation for this schema.","$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false,"description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage"}}}],"examples":[{"type":"string","format":"email"},{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"address":{"$ref":"#/components/schemas/Address"},"age":{"type":"integer","format":"int32","minimum":0}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/definitions/2.6.0/operation.json":{"$id":"http://asyncapi.com/definitions/2.6.0/operation.json","type":"object","description":"Describes a publish or a subscribe operation. This provides a place to document how and why messages are sent and received.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"traits":{"type":"array","description":"A list of traits to apply to the operation object.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/operationTrait.json"}]}},"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"}},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"operationId":{"type":"string"},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"},"message":{"$ref":"http://asyncapi.com/definitions/2.6.0/message.json"}},"examples":[{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/2.6.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/2.6.0/operationTrait.json","type":"object","description":"Describes a trait that MAY be applied to an Operation Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"summary":{"type":"string","description":"A short summary of what the operation is about."},"description":{"type":"string","description":"A verbose explanation of the operation."},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"operationId":{"type":"string","description":"Unique string used to identify the operation. The id MUST be unique among all operations described in the API."},"security":{"type":"array","description":"A declaration of which security mechanisms are associated with this operation. ","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"http://asyncapi.com/definitions/2.6.0/message.json":{"$id":"http://asyncapi.com/definitions/2.6.0/message.json","description":"Describes a message received on a given channel and operation.","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"oneOf":[{"type":"object","required":["oneOf"],"additionalProperties":false,"properties":{"oneOf":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/message.json"}}}},{"type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string"},"contentType":{"type":"string"},"headers":{"allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string"},"payload":{},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/correlationId.json"}]},"tags":{"type":"array","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"},"traits":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/messageTrait.json"}]}}},"allOf":[{"if":{"not":{"required":["schemaFormat"]}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"payload":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/openapiSchema_3_0.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"payload":{"$ref":"http://asyncapi.com/definitions/2.6.0/avroSchema_v1.json"}}}}]}]}],"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]},{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","payload":{"$ref":"path/to/user-create.avsc#/UserCreate"}}]},"http://asyncapi.com/definitions/2.6.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/2.6.0/correlationId.json","type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"http://asyncapi.com/definitions/2.6.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/2.6.0/messageTrait.json","type":"object","description":"Describes a trait that MAY be applied to a Message Object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"schemaFormat":{"type":"string","description":"A string containing the name of the schema format/language used to define the message payload."},"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload."},"headers":{"description":"Schema definition of the application headers.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},{"properties":{"type":{"const":"object"}}}]},"messageId":{"type":"string","description":"Unique string used to identify the message. The id MUST be unique among all messages described in the API."},"correlationId":{"description":"Definition of the correlation ID used for message tracing or matching.","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/correlationId.json"}]},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of messages.","items":{"$ref":"http://asyncapi.com/definitions/2.6.0/tag.json"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"$ref":"http://asyncapi.com/definitions/2.6.0/externalDocs.json"},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Schema definition of the application headers."},"payload":{"description":"Definition of the message payload. It can be of any type"}}}},"bindings":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"examples":[{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","contentType":"application/json"}]},"http://asyncapi.com/definitions/2.6.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/2.6.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/2.6.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/2.6.0/components.json":{"$id":"http://asyncapi.com/definitions/2.6.0/components.json","type":"object","description":"Holds a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"properties":{"schemas":{"$ref":"http://asyncapi.com/definitions/2.6.0/schemas.json"},"servers":{"$ref":"http://asyncapi.com/definitions/2.6.0/servers.json"},"channels":{"$ref":"http://asyncapi.com/definitions/2.6.0/channels.json"},"serverVariables":{"$ref":"http://asyncapi.com/definitions/2.6.0/serverVariables.json"},"messages":{"$ref":"http://asyncapi.com/definitions/2.6.0/messages.json"},"securitySchemes":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SecurityScheme.json"}]}}},"parameters":{"$ref":"http://asyncapi.com/definitions/2.6.0/parameters.json"},"correlationIds":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/correlationId.json"}]}}},"operationTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/operationTrait.json"}},"messageTraits":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/messageTrait.json"}},"serverBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"channelBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"operationBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}},"messageBindings":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/bindingsObject.json"}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}},"servers":{"development":{"url":"{stage}.gigantic-server.com:{port}","description":"Development server","protocol":"amqp","protocolVersion":"0.9.1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `gigantic-server.com`"},"port":{"enum":["8883","8884"],"default":"8883"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user.","schema":{"type":"string"}}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]},"http://asyncapi.com/definitions/2.6.0/schemas.json":{"$id":"http://asyncapi.com/definitions/2.6.0/schemas.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/schema.json"},"description":"JSON objects describing schemas the API uses."},"http://asyncapi.com/definitions/2.6.0/messages.json":{"$id":"http://asyncapi.com/definitions/2.6.0/messages.json","type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/2.6.0/message.json"},"description":"JSON objects describing the messages being consumed and produced by the API."},"http://asyncapi.com/definitions/2.6.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SecurityScheme.json","description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json"}],"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/2.6.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/2.6.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["userPassword"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/2.6.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/2.6.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["apiKey"]},"in":{"type":"string","description":"The location of the API key. ","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"http://asyncapi.com/definitions/2.6.0/X509.json":{"$id":"http://asyncapi.com/definitions/2.6.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"],"description":"The type of the security scheme."},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["symmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted."},"type":{"type":"string","description":"The type of the security scheme. ","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme. ","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key. ","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"http://asyncapi.com/definitions/2.6.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/2.6.0/oauth2Flows.json","type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"A short description for security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["authorizationUrl","scopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["tokenUrl","scopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","scopes"]}]}},"additionalProperties":false}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/2.6.0/oauth2Flow.json","type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"scopes":{"description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it.","$ref":"http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://example.com/api/oauth/dialog","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}},"authorizationCode":{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}}}]},"http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/2.6.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/2.6.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","enum":["openIdConnect"]},"description":{"type":"string"},"openIdConnectUrl":{"type":"string","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/2.6.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},95309:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 3.0.0 schema.","type":"object","required":["asyncapi","info"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"asyncapi":{"type":"string","const":"3.0.0","description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"#/definitions/info"},"servers":{"$ref":"#/definitions/servers"},"defaultContentType":{"type":"string","description":"Default content type to use when encoding/decoding a message\'s payload."},"channels":{"$ref":"#/definitions/channels"},"operations":{"$ref":"#/definitions/operations"},"components":{"$ref":"#/definitions/components"}},"definitions":{"specificationExtension":{"description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"info":{"description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","allOf":[{"type":"object","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"},"tags":{"type":"array","description":"A list of tags for application API documentation control. Tags can be used for logical grouping of applications.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]}}},{"$ref":"#/definitions/infoExtensions"}],"examples":[{"title":"AsyncAPI Sample App","version":"1.0.1","description":"This is a sample app.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.asyncapi.org/support","email":"support@asyncapi.org"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"},"externalDocs":{"description":"Find more info here","url":"https://www.asyncapi.org"},"tags":[{"name":"e-commerce"}]}]},"contact":{"type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"Reference":{"type":"object","description":"A simple object to allow referencing other components in the specification, internally and externally.","required":["$ref"],"properties":{"$ref":{"description":"The reference string.","$ref":"#/definitions/ReferenceObject"}},"examples":[{"$ref":"#/components/schemas/Pet"}]},"ReferenceObject":{"type":"string","format":"uri-reference"},"tag":{"type":"object","description":"Allows adding metadata to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag. CommonMark syntax can be used for rich text representation."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"name":"user","description":"User-related messages"}]},"externalDocs":{"type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation. CommonMark syntax can be used for rich text representation."},"url":{"type":"string","description":"The URL for the target documentation. This MUST be in the form of an absolute URL.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"infoExtensions":{"type":"object","description":"The object that lists all the extensions of Info","properties":{"x-x":{"$ref":"#/definitions/extensions-x-0.1.0-schema"}}},"extensions-x-0.1.0-schema":{"type":"string","description":"This extension allows you to provide the Twitter username of the account representing the team/company of the API.","example":["sambhavgupta75","AsyncAPISpec"]},"servers":{"description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]},"examples":[{"development":{"host":"localhost:5672","description":"Development AMQP broker.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests."}]},"staging":{"host":"rabbitmq-staging.in.mycompany.com:5672","description":"RabbitMQ broker for the staging environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment."}]},"production":{"host":"rabbitmq.in.mycompany.com:5672","description":"RabbitMQ broker for the production environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users."}]}}]},"server":{"type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data.","required":["host","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"host":{"type":"string","description":"The server host name. It MAY include the port. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"pathname":{"type":"string","description":"The path to a resource in the host. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"title":{"type":"string","description":"A human-friendly title for the server."},"summary":{"type":"string","description":"A brief summary of the server."},"description":{"type":"string","description":"A longer description of the server. CommonMark is allowed."},"protocol":{"type":"string","description":"The protocol this server supports for connection."},"protocolVersion":{"type":"string","description":"An optional string describing the server. CommonMark syntax MAY be used for rich text representation."},"variables":{"$ref":"#/definitions/serverVariables"},"security":{"$ref":"#/definitions/securityRequirements"},"tags":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverBindingsObject"}]}},"examples":[{"host":"kafka.in.mycompany.com:9092","description":"Production Kafka broker.","protocol":"kafka","protocolVersion":"3.2"},{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/production","protocol":"amqp","description":"Production RabbitMQ broker (uses the `production` vhost)."}]},"serverVariables":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}},"serverVariable":{"type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. CommonMark syntax MAY be used for rich text representation."},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}},"examples":[{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/{env}","protocol":"amqp","description":"RabbitMQ broker. Use the `env` variable to point to either `production` or `staging`.","variables":{"env":{"description":"Environment to connect to. It can be either `production` or `staging`.","enum":["production","staging"]}}}]},"securityRequirements":{"description":"An array representing security requirements.","type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}},"SecurityScheme":{"description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"#/definitions/userPassword"},{"$ref":"#/definitions/apiKey"},{"$ref":"#/definitions/X509"},{"$ref":"#/definitions/symmetricEncryption"},{"$ref":"#/definitions/asymmetricEncryption"},{"$ref":"#/definitions/HTTPSecurityScheme"},{"$ref":"#/definitions/oauth2Flows"},{"$ref":"#/definitions/openIdConnect"},{"$ref":"#/definitions/SaslSecurityScheme"}],"examples":[{"type":"userPassword"}]},"userPassword":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"apiKey":{"type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme","enum":["apiKey"]},"in":{"type":"string","description":" The location of the API key.","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"X509":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"symmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"asymmetricEncryption":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"HTTPSecurityScheme":{"oneOf":[{"$ref":"#/definitions/NonBearerHTTPSecurityScheme"},{"$ref":"#/definitions/BearerHTTPSecurityScheme"},{"$ref":"#/definitions/APIKeyHTTPSecurityScheme"}]},"NonBearerHTTPSecurityScheme":{"not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"BearerHTTPSecurityScheme":{"type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"APIKeyHTTPSecurityScheme":{"type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"oauth2Flows":{"type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","availableScopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"#/definitions/oauth2Flow"},{"required":["authorizationUrl","tokenUrl","availableScopes"]}]}},"additionalProperties":false},"scopes":{"type":"array","description":"List of the needed scope names.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}}},"oauth2Flow":{"type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"availableScopes":{"$ref":"#/definitions/oauth2Scopes","description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","availableScopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}]},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"openIdConnect":{"type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["openIdConnect"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."},"openIdConnectUrl":{"type":"string","format":"uri","description":"OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of an absolute URL."},"scopes":{"type":"array","description":"List of the needed scope names. An empty array means no scopes are needed.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false},"SaslSecurityScheme":{"oneOf":[{"$ref":"#/definitions/SaslPlainSecurityScheme"},{"$ref":"#/definitions/SaslScramSecurityScheme"},{"$ref":"#/definitions/SaslGssapiSecurityScheme"}]},"SaslPlainSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslScramSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"SaslGssapiSecurityScheme":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"serverBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-server"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-server"}}]},"anypointmq":{},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-server"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-server"}}]},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.3.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.2.0-server"}}]},"googlepubsub":{},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-server"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-server"}}]}}},"bindings-mqtt-0.2.0-server":{"title":"Server Schema","description":"This object contains information about the server representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"clientId":{"type":"string","description":"The client identifier."},"cleanSession":{"type":"boolean","description":"Whether to create a persistent connection or not. When \'false\', the connection will be persistent. This is called clean start in MQTTv5."},"lastWill":{"type":"object","description":"Last Will and Testament configuration.","properties":{"topic":{"type":"string","description":"The topic where the Last Will and Testament message will be sent."},"qos":{"type":"integer","enum":[0,1,2],"description":"Defines how hard the broker/client will try to ensure that the Last Will and Testament message is received. Its value MUST be either 0, 1 or 2."},"message":{"type":"string","description":"Last Will message."},"retain":{"type":"boolean","description":"Whether the broker should retain the Last Will and Testament message or not."}}},"keepAlive":{"type":"integer","description":"Interval in seconds of the longest period of time the broker and the client can endure without sending a message."},"sessionExpiryInterval":{"oneOf":[{"type":"integer","minimum":0},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Interval time in seconds or a Schema Object containing the definition of the interval. The broker maintains a session for a disconnected client until this interval expires."},"maximumPacketSize":{"oneOf":[{"type":"integer","minimum":1,"maximum":4294967295},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Number of bytes or a Schema Object representing the Maximum Packet Size the Client is willing to accept."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"clientId":"guest","cleanSession":true,"lastWill":{"topic":"/last-wills","qos":2,"message":"Guest gone offline.","retain":false},"keepAlive":60,"sessionExpiryInterval":120,"maximumPacketSize":1024,"bindingVersion":"0.2.0"}]},"schema":{"description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. This object is a superset of the JSON Schema Specification Draft 07. The empty schema (which allows any instance to validate) MAY be represented by the boolean value true and a schema which allows no instance to validate MAY be represented by the boolean value false.","allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"not":{"$ref":"#/definitions/schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"propertyNames":{"$ref":"#/definitions/schema"},"contains":{"$ref":"#/definitions/schema"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. The property name used MUST be defined at this schema and it MUST be in the required property list. When used, the value MUST be the name of this schema or any schema that inherits it. See Composition and Inheritance for more details."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"deprecated":{"type":"boolean","description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is false.","default":false}}}]},"json-schema-draft-07-schema":{"title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#/definitions/json-schema-draft-07-schema"},"items":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#/definitions/json-schema-draft-07-schema"},"maxProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"},"additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/definitions/json-schema-draft-07-schema"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema"},{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/stringArray"}]}},"propertyNames":{"$ref":"#/definitions/json-schema-draft-07-schema"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#/definitions/json-schema-draft-07-schema"},"then":{"$ref":"#/definitions/json-schema-draft-07-schema"},"else":{"$ref":"#/definitions/json-schema-draft-07-schema"},"allOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/json-schema-draft-07-schema/definitions/schemaArray"},"not":{"$ref":"#/definitions/json-schema-draft-07-schema"}},"default":true},"bindings-kafka-0.5.0-server":{"title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-server":{"title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-server":{"title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.3.0"}]},"bindings-jms-0.0.1-server":{"title":"Server Schema","description":"This object contains configuration for describing a JMS broker as an AsyncAPI server. This objects only contains configuration that can not be provided in the AsyncAPI standard server object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["jmsConnectionFactory"],"properties":{"jmsConnectionFactory":{"type":"string","description":"The classname of the ConnectionFactory implementation for the JMS Provider."},"properties":{"type":"array","items":{"$ref":"#/definitions/bindings-jms-0.0.1-server/definitions/property"},"description":"Additional properties to set on the JMS ConnectionFactory implementation for the JMS Provider."},"clientID":{"type":"string","description":"A client identifier for applications that use this JMS connection factory. If the Client ID Policy is set to \'Restricted\' (the default), then configuring a Client ID on the ConnectionFactory prevents more than one JMS client from using a connection from this factory."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"definitions":{"property":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string","description":"The name of a property"},"value":{"type":["string","boolean","number","null"],"description":"The name of a property"}}}},"examples":[{"jmsConnectionFactory":"org.apache.activemq.ActiveMQConnectionFactory","properties":[{"name":"disableTimeStampsByDefault","value":false}],"clientID":"my-application-1","bindingVersion":"0.0.1"}]},"bindings-ibmmq-0.1.0-server":{"title":"IBM MQ server bindings object","description":"This object contains server connection information about the IBM MQ server, referred to as an IBM MQ queue manager. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"type":"string","description":"Defines a logical group of IBM MQ server objects. This is necessary to specify multi-endpoint configurations used in high availability deployments. If omitted, the server object is not part of a group."},"ccdtQueueManagerName":{"type":"string","default":"*","description":"The name of the IBM MQ queue manager to bind to in the CCDT file."},"cipherSpec":{"type":"string","description":"The recommended cipher specification used to establish a TLS connection between the client and the IBM MQ queue manager. More information on SSL/TLS cipher specifications supported by IBM MQ can be found on this page in the IBM MQ Knowledge Center."},"multiEndpointServer":{"type":"boolean","default":false,"description":"If \'multiEndpointServer\' is \'true\' then multiple connections can be workload balanced and applications should not make assumptions as to where messages are processed. Where message ordering, or affinity to specific message resources is necessary, a single endpoint (\'multiEndpointServer\' = \'false\') may be required."},"heartBeatInterval":{"type":"integer","minimum":0,"maximum":999999,"default":300,"description":"The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. A value of zero means that no heart beats are sent. A value of 1 means that the client will use the value defined by the queue manager. More information on heart beat interval can be found on this page in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"examples":[{"groupId":"PRODCLSTR1","cipherSpec":"ANY_TLS12_OR_HIGHER","bindingVersion":"0.1.0"},{"groupId":"PRODCLSTR1","bindingVersion":"0.1.0"}]},"bindings-solace-0.4.0-server":{"title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"clientName":{"type":"string","minLength":1,"maxLength":160,"description":"A unique client name to use to register to the appliance. If specified, it must be a valid Topic name, and a maximum of 160 bytes in length when encoded as UTF-8."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.4.0"}]},"bindings-solace-0.3.0-server":{"title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.3.0"}]},"bindings-solace-0.2.0-server":{"title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"msvVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.2.0"}]},"bindings-pulsar-0.1.0-server":{"title":"Server Schema","description":"This object contains server information of Pulsar broker, which covers cluster and tenant admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"tenant":{"type":"string","description":"The pulsar tenant. If omitted, \'public\' MUST be assumed."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"tenant":"contoso","bindingVersion":"0.1.0"}]},"channels":{"type":"object","description":"An object containing all the Channel Object definitions the Application MUST use during runtime.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channel"}]},"examples":[{"userSignedUp":{"address":"user.signedup","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"}}}}]},"channel":{"type":"object","description":"Describes a shared communication channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"address":{"type":["string","null"],"description":"An optional string representation of this channel\'s address. The address is typically the \\"topic name\\", \\"routing key\\", \\"event type\\", or \\"path\\". When `null` or absent, it MUST be interpreted as unknown. This is useful when the address is generated dynamically at runtime or can\'t be known upfront. It MAY contain Channel Address Expressions."},"messages":{"$ref":"#/definitions/channelMessages"},"parameters":{"$ref":"#/definitions/parameters"},"title":{"type":"string","description":"A human-friendly title for the channel."},"summary":{"type":"string","description":"A brief summary of the channel."},"description":{"type":"string","description":"A longer description of the channel. CommonMark is allowed."},"servers":{"type":"array","description":"The references of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"$ref":"#/definitions/Reference"},"uniqueItems":true},"tags":{"type":"array","description":"A list of tags for logical grouping of channels.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channelBindingsObject"}]}},"examples":[{"address":"users.{userId}","title":"Users channel","description":"This channel is used to exchange messages about user events.","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"},"userCompletedOrder":{"$ref":"#/components/messages/userCompletedOrder"}},"parameters":{"userId":{"$ref":"#/components/parameters/userId"}},"servers":[{"$ref":"#/servers/rabbitmqInProd"},{"$ref":"#/servers/rabbitmqInStaging"}],"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}},"tags":[{"name":"user","description":"User-related messages"}],"externalDocs":{"description":"Find more info here","url":"https://example.com"}}]},"channelMessages":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageObject"}]},"description":"A map of the messages that will be sent to this channel by any application at any time. **Every message sent to this channel MUST be valid against one, and only one, of the message objects defined in this map.**"},"messageObject":{"type":"object","description":"Describes a message received on a given channel and operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"#/definitions/anySchema"},"payload":{"$ref":"#/definitions/anySchema"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Example of the application headers. It can be of any type."},"payload":{"description":"Example of the message payload. It can be of any type."}}}},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageBindingsObject"}]},"traits":{"type":"array","description":"A list of traits to apply to the message object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Message Object.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"},{"type":"array","items":[{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]},{"type":"object","additionalItems":true}]}]}}},"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]}]},"anySchema":{"if":{"required":["schema"]},"then":{"$ref":"#/definitions/multiFormatSchema"},"else":{"$ref":"#/definitions/schema"},"description":"An object representing either a schema or a multiFormatSchema based on the existence of the \'schema\' property. If the property \'schema\' is present, use the multi-format schema. Use the default AsyncAPI Schema otherwise."},"multiFormatSchema":{"description":"The Multi Format Schema Object represents a schema definition. It differs from the Schema Object in that it supports multiple schema formats or languages (e.g., JSON Schema, Avro, etc.).","type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"if":{"not":{"type":"object"}},"then":{"$ref":"#/definitions/schema"},"else":{"properties":{"schemaFormat":{"description":"A string containing the name of the schema format that is used to define the information. If schemaFormat is missing, it MUST default to application/vnd.aai.asyncapi+json;version={{asyncapi}} where {{asyncapi}} matches the AsyncAPI Version String. In such a case, this would make the Multi Format Schema Object equivalent to the Schema Object. When using Reference Object within the schema, the schemaFormat of the resource being referenced MUST match the schemaFormat of the schema that contains the initial reference. For example, if you reference Avro schema, then schemaFormat of referencing resource and the resource being reference MUST match.","anyOf":[{"type":"string"},{"description":"All the schema formats tooling MUST support","enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]},{"description":"All the schema formats tools are RECOMMENDED to support","enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0","application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0","application/raml+yaml;version=1.0"]}]}},"allOf":[{"if":{"not":{"description":"If no schemaFormat has been defined, default to schema or reference","required":["schemaFormat"]}},"then":{"properties":{"schema":{"$ref":"#/definitions/schema"}}}},{"if":{"description":"If schemaFormat has been defined check if it\'s one of the AsyncAPI Schema Object formats","required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"$ref":"#/definitions/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"schema":{"$ref":"#/definitions/json-schema-draft-07-schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/openapiSchema_3_0"}]}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/avroSchema_v1"}]}}}}]}},"openapiSchema_3_0":{"type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#/definitions/openapiSchema_3_0"},{"$ref":"#/definitions/openapiSchema_3_0/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/openapiSchema_3_0/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/openapiSchema_3_0/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/openapiSchema_3_0/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"avroSchema_v1":{"definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/avroSchema_v1/definitions/customTypeReference"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroRecord"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroEnum"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroArray"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroMap"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroFixed"},{"$ref":"#/definitions/avroSchema_v1/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/avroSchema_v1/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"type":{"$ref":"#/definitions/avroSchema_v1/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"items":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"values":{"$ref":"#/definitions/avroSchema_v1/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/avroSchema_v1/definitions/name"},"namespace":{"$ref":"#/definitions/avroSchema_v1/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/avroSchema_v1/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema_v1/definitions/avroSchema"}],"title":"Avro Schema Definition"},"correlationId":{"type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"messageBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.2.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-message"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-message"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-message"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-message"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-message"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-message"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-message"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-message"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-message"}}]}}},"bindings-http-0.3.0-message":{"title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"$ref":"#/definitions/schema","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"statusCode":{"type":"number","description":"The HTTP response status code according to [RFC 9110](https://httpwg.org/specs/rfc9110.html#overview.of.status.codes). `statusCode` is only relevant for messages referenced by the [Operation Reply Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#operationReplyObject), as it defines the status code for the response. In all other cases, this value can be safely ignored."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.3.0"}]},"bindings-http-0.2.0-message":{"title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"$ref":"#/definitions/schema","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.2.0"}]},"bindings-amqp-0.3.0-message":{"title":"AMQP message bindings object","description":"This object contains information about the message representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"contentEncoding":{"type":"string","description":"A MIME encoding for the message content."},"messageType":{"type":"string","description":"Application-specific message type."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"contentEncoding":"gzip","messageType":"user.signup","bindingVersion":"0.3.0"}]},"bindings-mqtt-0.2.0-message":{"title":"MQTT message bindings object","description":"This object contains information about the message representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"payloadFormatIndicator":{"type":"integer","enum":[0,1],"description":"1 indicates that the payload is UTF-8 encoded character data. 0 indicates that the payload format is unspecified.","default":0},"correlationData":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Correlation Data is used by the sender of the request message to identify which request the response message is for when it is received."},"contentType":{"type":"string","description":"String describing the content type of the message payload. This should not conflict with the contentType field of the associated AsyncAPI Message object."},"responseTopic":{"oneOf":[{"type":"string","format":"uri-template","minLength":1},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"The topic (channel URI) to be used for a response message."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0"},{"contentType":"application/json","correlationData":{"type":"string","format":"uuid"},"responseTopic":"application/responses","bindingVersion":"0.2.0"}]},"bindings-kafka-0.5.0-message":{"title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"key":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/schema"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.5.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-message":{"title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"key":{"anyOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/avroSchema_v1"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.4.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-message":{"title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"key":{"$ref":"#/definitions/schema","description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.3.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.3.0"}]},"bindings-anypointmq-0.0.1-message":{"title":"Anypoint MQ message bindings object","description":"This object contains configuration for describing an Anypoint MQ message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"A Schema object containing the definitions for Anypoint MQ-specific headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of Anypoint MQ protocol headers are \'messageId\' and \'messageGroupId\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"messageId":{"type":"string"}}},"bindingVersion":"0.0.1"}]},"bindings-jms-0.0.1-message":{"title":"Message Schema","description":"This object contains configuration for describing a JMS message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"headers":{"$ref":"#/definitions/schema","description":"A Schema object containing the definitions for JMS headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of JMS protocol headers are \'JMSMessageID\', \'JMSTimestamp\', and \'JMSCorrelationID\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","required":["JMSMessageID"],"properties":{"JMSMessageID":{"type":["string","null"],"description":"A unique message identifier. This may be set by your JMS Provider on your behalf."},"JMSTimestamp":{"type":"integer","description":"The time the message was sent. This may be set by your JMS Provider on your behalf. The time the message was sent. The value of the timestamp is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC."},"JMSDeliveryMode":{"type":"string","enum":["PERSISTENT","NON_PERSISTENT"],"default":"PERSISTENT","description":"Denotes the delivery mode for the message. This may be set by your JMS Provider on your behalf."},"JMSPriority":{"type":"integer","default":4,"description":"The priority of the message. This may be set by your JMS Provider on your behalf."},"JMSExpires":{"type":"integer","description":"The time at which the message expires. This may be set by your JMS Provider on your behalf. A value of zero means that the message does not expire. Any non-zero value is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC, at which the message will expire."},"JMSType":{"type":["string","null"],"description":"The type of message. Some JMS providers use a message repository that contains the definitions of messages sent by applications. The \'JMSType\' header field may reference a message\'s definition in the provider\'s repository. The JMS API does not define a standard message definition repository, nor does it define a naming policy for the definitions it contains. Some messaging systems require that a message type definition for each application message be created and that each message specify its type. In order to work with such JMS providers, JMS clients should assign a value to \'JMSType\', whether the application makes use of it or not. This ensures that the field is properly set for those providers that require it."},"JMSCorrelationID":{"type":["string","null"],"description":"The correlation identifier of the message. A client can use the \'JMSCorrelationID\' header field to link one message with another. A typical use is to link a response message with its request message. Since each message sent by a JMS provider is assigned a message ID value, it is convenient to link messages via message ID, such message ID values must start with the \'ID:\' prefix. Conversely, application-specified values must not start with the \'ID:\' prefix; this is reserved for provider-generated message ID values."},"JMSReplyTo":{"type":"string","description":"The queue or topic that the message sender expects replies to."}}},"bindingVersion":"0.0.1"}]},"bindings-ibmmq-0.1.0-message":{"title":"IBM MQ message bindings object","description":"This object contains information about the message representation in IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"type":{"type":"string","enum":["string","jms","binary"],"default":"string","description":"The type of the message."},"headers":{"type":"string","description":"Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma separated list. Supporting information on IBM MQ message formats can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-format-mqchar8) in the IBM MQ Knowledge Center."},"description":{"type":"string","description":"Provides additional information for application developers: describes the message type or format."},"expiry":{"type":"integer","minimum":0,"default":0,"description":"The recommended setting the client should use for the TTL (Time-To-Live) of the message. This is a period of time expressed in milliseconds and set by the application that puts the message. \'expiry\' values are API dependant e.g., MQI and JMS use different units of time and default values for \'unlimited\'. General information on IBM MQ message expiry can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-expiry-mqlong) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"type":{"const":"binary"}}},{"properties":{"type":{"const":"jms"}},"not":{"required":["headers"]}},{"properties":{"type":{"const":"string"}},"not":{"required":["headers"]}}],"examples":[{"type":"string","bindingVersion":"0.1.0"},{"type":"jms","description":"JMS stream message","bindingVersion":"0.1.0"}]},"bindings-googlepubsub-0.2.0-message":{"title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the message representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"attributes":{"type":"object"},"orderingKey":{"type":"string"},"schema":{"type":"object","additionalItems":false,"properties":{"name":{"type":"string"}},"required":["name"]}},"examples":[{"schema":{"name":"projects/your-project-id/schemas/your-avro-schema-id"}},{"schema":{"name":"projects/your-project-id/schemas/your-protobuf-schema-id"}}]},"messageTrait":{"type":"object","description":"Describes a trait that MAY be applied to a Message Object. This object MAY contain any property from the Message Object, except payload and traits.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"#/definitions/anySchema"},"correlationId":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object"}},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageBindingsObject"}]}},"examples":[{"contentType":"application/json"}]},"parameters":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]},"description":"JSON objects describing re-usable channel parameters.","examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user."}}}]},"parameter":{"description":"Describes a parameter included in a channel address.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"enum":{"description":"An enumeration of string values to be used if the substitution options are from a limited set.","type":"array","items":{"type":"string"}},"default":{"description":"The default value to use for substitution, and to send, if an alternate value is not supplied.","type":"string"},"examples":{"description":"An array of examples of the parameter value.","type":"array","items":{"type":"string"}},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user.","location":"$message.payload#/user/id"}}}]},"channelBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for a channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{},"ws":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-websockets-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-websockets-0.1.0-channel"}}]},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-channel"}}]},"amqp1":{},"mqtt":{},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-channel"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-anypointmq-0.0.1-channel"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"#/definitions/bindings-jms-0.0.1-channel"}}]},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-channel"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel"}}]},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-ibmmq-0.1.0-channel"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-googlepubsub-0.2.0-channel"}}]},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-channel"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-pulsar-0.1.0-channel"}}]}}},"bindings-websockets-0.1.0-channel":{"title":"WebSockets channel bindings object","description":"When using WebSockets, the channel represents the connection. Unlike other protocols that support multiple virtual channels (topics, routing keys, etc.) per connection, WebSockets doesn\'t support virtual channels or, put it another way, there\'s only one channel and its characteristics are strongly related to the protocol used for the handshake, i.e., HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"method":{"type":"string","enum":["GET","POST"],"description":"The HTTP method to use when establishing the connection. Its value MUST be either \'GET\' or \'POST\'."},"query":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a \'properties\' key."},"headers":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"A Schema object containing the definitions of the HTTP headers to use when establishing the connection. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"method":"POST","bindingVersion":"0.1.0"}]},"bindings-amqp-0.3.0-channel":{"title":"AMQP channel bindings object","description":"This object contains information about the channel representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"is":{"type":"string","enum":["queue","routingKey"],"description":"Defines what type of channel is it. Can be either \'queue\' or \'routingKey\' (default)."},"exchange":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the exchange. It MUST NOT exceed 255 characters long."},"type":{"type":"string","enum":["topic","direct","fanout","default","headers"],"description":"The type of the exchange. Can be either \'topic\', \'direct\', \'fanout\', \'default\' or \'headers\'."},"durable":{"type":"boolean","description":"Whether the exchange should survive broker restarts or not."},"autoDelete":{"type":"boolean","description":"Whether the exchange should be deleted when the last queue is unbound from it."},"vhost":{"type":"string","default":"/","description":"The virtual host of the exchange. Defaults to \'/\'."}},"description":"When is=routingKey, this object defines the exchange properties."},"queue":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the queue. It MUST NOT exceed 255 characters long."},"durable":{"type":"boolean","description":"Whether the queue should survive broker restarts or not."},"exclusive":{"type":"boolean","description":"Whether the queue should be used only by one connection or not."},"autoDelete":{"type":"boolean","description":"Whether the queue should be deleted when the last consumer unsubscribes."},"vhost":{"type":"string","default":"/","description":"The virtual host of the queue. Defaults to \'/\'."}},"description":"When is=queue, this object defines the queue properties."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"oneOf":[{"properties":{"is":{"const":"routingKey"}},"required":["exchange"],"not":{"required":["queue"]}},{"properties":{"is":{"const":"queue"}},"required":["queue"],"not":{"required":["exchange"]}}],"examples":[{"is":"routingKey","exchange":{"name":"myExchange","type":"topic","durable":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"},{"is":"queue","queue":{"name":"my-queue-name","durable":true,"exclusive":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"}]},"bindings-kafka-0.5.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":true,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0},"confluent.key.schema.validation":{"description":"It shows whether the schema validation for the message key is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-schema-validation)","type":"boolean"},"confluent.key.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message key. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-subject-name-strategy)","type":"string"},"confluent.value.schema.validation":{"description":"It shows whether the schema validation for the message value is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-schema-validation)","type":"boolean"},"confluent.value.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message value. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-subject-name-strategy)","type":"string"}}},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":false,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0}}},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.3.0"}]},"bindings-anypointmq-0.0.1-channel":{"title":"Anypoint MQ channel bindings object","description":"This object contains configuration for describing an Anypoint MQ exchange, queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"destination":{"type":"string","description":"The destination (queue or exchange) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ. Defaults to the channel name."},"destinationType":{"type":"string","enum":["exchange","queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signup-exchg","destinationType":"exchange","bindingVersion":"0.0.1"}]},"bindings-jms-0.0.1-channel":{"title":"Channel Schema","description":"This object contains configuration for describing a JMS queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"destination":{"type":"string","description":"The destination (queue) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name according to the JMS Provider. Defaults to the channel name."},"destinationType":{"type":"string","enum":["queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (point-to-point, or strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signed-up","destinationType":"fifo-queue","bindingVersion":"0.0.1"}]},"bindings-sns-0.1.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"name":{"type":"string","description":"The name of the topic. Can be different from the channel name to allow flexibility around AWS resource naming limitations."},"ordering":{"$ref":"#/definitions/bindings-sns-0.1.0-channel/definitions/ordering"},"policy":{"$ref":"#/definitions/bindings-sns-0.1.0-channel/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the topic."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["name"],"definitions":{"ordering":{"type":"object","description":"By default, we assume an unordered SNS topic. This field allows configuration of a FIFO SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"type":{"type":"string","description":"Defines the type of SNS Topic.","enum":["standard","FIFO"]},"contentBasedDeduplication":{"type":"boolean","description":"True to turn on de-duplication of messages for a channel."}},"required":["type"]},"policy":{"type":"object","description":"The security policy for the SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this topic","items":{"$ref":"#/definitions/bindings-sns-0.1.0-channel/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SNS permission being allowed or denied e.g. sns:Publish","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"name":"my-sns-topic","policy":{"statements":[{"effect":"Allow","principal":"*","action":"SNS:Publish"}]}}]},"bindings-sqs-0.2.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"queue":{"description":"A definition of the queue that will be used as the channel.","$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/queue"},"deadLetterQueue":{"description":"A definition of the queue that will be used for un-processable messages.","$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/queue"},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queue"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/redrivePolicy"},"policy":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name","fifoQueue"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"deadLetterQueue":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"#/definitions/bindings-sqs-0.2.0-channel/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queue":{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":15,"visibilityTimeout":60,"receiveMessageWaitTime":0,"messageRetentionPeriod":86400,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]},"tags":{"owner":"AsyncAPI.NET","platform":"AsyncAPIOrg"}},"deadLetterQueue":{"name":"myQueue_error","deliveryDelay":0,"visibilityTimeout":0,"receiveMessageWaitTime":0,"messageRetentionPeriod":604800}}]},"bindings-ibmmq-0.1.0-channel":{"title":"IBM MQ channel bindings object","description":"This object contains information about the channel representation in IBM MQ. Each channel corresponds to a Queue or Topic within IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"destinationType":{"type":"string","enum":["topic","queue"],"default":"topic","description":"Defines the type of AsyncAPI channel."},"queue":{"type":"object","description":"Defines the properties of a queue.","properties":{"objectName":{"type":"string","maxLength":48,"description":"Defines the name of the IBM MQ queue associated with the channel."},"isPartitioned":{"type":"boolean","default":false,"description":"Defines if the queue is a cluster queue and therefore partitioned. If \'true\', a binding option MAY be specified when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center."},"exclusive":{"type":"boolean","default":false,"description":"Specifies if it is recommended to open the queue exclusively."}},"required":["objectName"]},"topic":{"type":"object","description":"Defines the properties of a topic.","properties":{"string":{"type":"string","maxLength":10240,"description":"The value of the IBM MQ topic string to be used."},"objectName":{"type":"string","maxLength":48,"description":"The name of the IBM MQ topic object."},"durablePermitted":{"type":"boolean","default":true,"description":"Defines if the subscription may be durable."},"lastMsgRetained":{"type":"boolean","default":false,"description":"Defines if the last message published will be made available to new subscriptions."}}},"maxMsgLength":{"type":"integer","minimum":0,"maximum":104857600,"description":"The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are greater in size than this value may fail to be delivered. More information on the maximum message length can be found on this [page](https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q097520_.html) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"destinationType":{"const":"topic"}},"not":{"required":["queue"]}},{"properties":{"destinationType":{"const":"queue"}},"required":["queue"],"not":{"required":["topic"]}}],"examples":[{"destinationType":"topic","topic":{"objectName":"myTopicName"},"bindingVersion":"0.1.0"},{"destinationType":"queue","queue":{"objectName":"myQueueName","exclusive":true},"bindingVersion":"0.1.0"}]},"bindings-googlepubsub-0.2.0-channel":{"title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the channel representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"labels":{"type":"object"},"messageRetentionDuration":{"type":"string"},"messageStoragePolicy":{"type":"object","additionalProperties":false,"properties":{"allowedPersistenceRegions":{"type":"array","items":{"type":"string"}}}},"schemaSettings":{"type":"object","additionalItems":false,"properties":{"encoding":{"type":"string"},"firstRevisionId":{"type":"string"},"lastRevisionId":{"type":"string"},"name":{"type":"string"}},"required":["encoding","name"]}},"required":["schemaSettings"],"examples":[{"labels":{"label1":"value1","label2":"value2"},"messageRetentionDuration":"86400s","messageStoragePolicy":{"allowedPersistenceRegions":["us-central1","us-east1"]},"schemaSettings":{"encoding":"json","name":"projects/your-project-id/schemas/your-schema"}}]},"bindings-pulsar-0.1.0-channel":{"title":"Channel Schema","description":"This object contains information about the channel representation in Pulsar, which covers namespace and topic level admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["namespace","persistence"],"properties":{"namespace":{"type":"string","description":"The namespace, the channel is associated with."},"persistence":{"type":"string","enum":["persistent","non-persistent"],"description":"persistence of the topic in Pulsar."},"compaction":{"type":"integer","minimum":0,"description":"Topic compaction threshold given in MB"},"geo-replication":{"type":"array","description":"A list of clusters the topic is replicated to.","items":{"type":"string"}},"retention":{"type":"object","additionalProperties":false,"properties":{"time":{"type":"integer","minimum":0,"description":"Time given in Minutes. `0` = Disable message retention."},"size":{"type":"integer","minimum":0,"description":"Size given in MegaBytes. `0` = Disable message retention."}}},"ttl":{"type":"integer","description":"TTL in seconds for the specified topic"},"deduplication":{"type":"boolean","description":"Whether deduplication of events is enabled or not."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"namespace":"ns1","persistence":"persistent","compaction":1000,"retention":{"time":15,"size":1000},"ttl":360,"geo-replication":["us-west","us-east"],"deduplication":true,"bindingVersion":"0.1.0"}]},"operations":{"type":"object","description":"Holds a dictionary with all the operations this application MUST implement.","additionalProperties":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operation"}]},"examples":[{"onUserSignUp":{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}]}}]},"operation":{"type":"object","description":"Describes a specific operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["action","channel"],"properties":{"action":{"type":"string","description":"Allowed values are send and receive. Use send when it\'s expected that the application will send a message to the given channel, and receive when the application should expect receiving messages from the given channel.","enum":["send","receive"]},"channel":{"$ref":"#/definitions/Reference"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. It MUST contain a subset of the messages defined in the channel referenced in this operation. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"#/definitions/Reference"}},"reply":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReply"}]},"traits":{"type":"array","description":"A list of traits to apply to the operation object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Operation Object.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}},"title":{"type":"string","description":"A human-friendly title for the operation."},"summary":{"type":"string","description":"A brief summary of the operation."},"description":{"type":"string","description":"A longer description of the operation. CommonMark is allowed."},"security":{"$ref":"#/definitions/securityRequirements"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]},"bindings":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationBindingsObject"}]}},"examples":[{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","security":[{"petstore_auth":["write:pets","read:pets"]}],"tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}],"messages":[{"$ref":"/components/messages/userSignedUp"}],"reply":{"address":{"location":"$message.header#/replyTo"},"channel":{"$ref":"#/channels/userSignupReply"},"messages":[{"$ref":"/components/messages/userSignedUpReply"}]}}]},"operationReply":{"type":"object","description":"Describes the reply part that MAY be applied to an Operation Object. If an operation implements the request/reply pattern, the reply object represents the response message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"address":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReplyAddress"}]},"channel":{"$ref":"#/definitions/Reference"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation as reply. It MUST contain a subset of the messages defined in the channel referenced in this operation reply. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"#/definitions/Reference"}}}},"operationReplyAddress":{"type":"object","description":"An object that specifies where an operation has to send the reply","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"required":["location"],"properties":{"location":{"type":"string","description":"A runtime expression that specifies the location of the reply address.","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"description":{"type":"string","description":"An optional description of the address. CommonMark is allowed."}},"examples":[{"description":"Consumer inbox","location":"$message.header#/replyTo"}]},"operationTrait":{"type":"object","description":"Describes a trait that MAY be applied to an Operation Object. This object MAY contain any property from the Operation Object, except the action, channel and traits ones.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"title":{"description":"A human-friendly title for the operation.","$ref":"#/definitions/operation/properties/title"},"summary":{"description":"A short summary of what the operation is about.","$ref":"#/definitions/operation/properties/summary"},"description":{"description":"A verbose explanation of the operation. CommonMark syntax can be used for rich text representation.","$ref":"#/definitions/operation/properties/description"},"security":{"description":"A declaration of which security schemes are associated with this operation. Only one of the security scheme objects MUST be satisfied to authorize an operation. In cases where Server Security also applies, it MUST also be satisfied.","$ref":"#/definitions/operation/properties/security"},"tags":{"description":"A list of tags for logical grouping and categorization of operations.","$ref":"#/definitions/operation/properties/tags"},"externalDocs":{"description":"Additional external documentation for this operation.","$ref":"#/definitions/operation/properties/externalDocs"},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation.","oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationBindingsObject"}]}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"operationBindingsObject":{"type":"object","description":"Map describing protocol-specific definitions for an operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.2.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-http-0.3.0-operation"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-amqp-0.3.0-operation"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-mqtt-0.2.0-operation"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.5.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.4.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-kafka-0.3.0-operation"}}]},"anypointmq":{},"nats":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-nats-0.1.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-nats-0.1.0-operation"}}]},"jms":{},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"#/definitions/bindings-sns-0.1.0-operation"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation"}}]},"stomp":{},"redis":{},"ibmmq":{},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.4.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.3.0-operation"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"#/definitions/bindings-solace-0.2.0-operation"}}]},"googlepubsub":{}}},"bindings-http-0.3.0-operation":{"title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"#/definitions/schema","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"}]},"bindings-http-0.2.0-operation":{"title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"#/definitions/schema","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"}]},"bindings-amqp-0.3.0-operation":{"title":"AMQP operation bindings object","description":"This object contains information about the operation representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"expiration":{"type":"integer","minimum":0,"description":"TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero."},"userId":{"type":"string","description":"Identifies the user who has sent the message."},"cc":{"type":"array","items":{"type":"string"},"description":"The routing keys the message should be routed to at the time of publishing."},"priority":{"type":"integer","description":"A priority for the message."},"deliveryMode":{"type":"integer","enum":[1,2],"description":"Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent)."},"mandatory":{"type":"boolean","description":"Whether the message is mandatory or not."},"bcc":{"type":"array","items":{"type":"string"},"description":"Like cc but consumers will not receive this information."},"timestamp":{"type":"boolean","description":"Whether the message should include a timestamp or not."},"ack":{"type":"boolean","description":"Whether the consumer should ack the message or not."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"expiration":100000,"userId":"guest","cc":["user.logs"],"priority":10,"deliveryMode":2,"mandatory":false,"bcc":["external.audit"],"timestamp":true,"ack":false,"bindingVersion":"0.3.0"}]},"bindings-mqtt-0.2.0-operation":{"title":"MQTT operation bindings object","description":"This object contains information about the operation representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"qos":{"type":"integer","enum":[0,1,2],"description":"Defines the Quality of Service (QoS) levels for the message flow between client and server. Its value MUST be either 0 (At most once delivery), 1 (At least once delivery), or 2 (Exactly once delivery)."},"retain":{"type":"boolean","description":"Whether the broker should retain the message or not."},"messageExpiryInterval":{"oneOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/Reference"}],"description":"Lifetime of the message in seconds"},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"qos":2,"retain":true,"messageExpiryInterval":60,"bindingVersion":"0.2.0"}]},"bindings-kafka-0.5.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"$ref":"#/definitions/schema","description":"Id of the consumer group."},"clientId":{"$ref":"#/definitions/schema","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.5.0"}]},"bindings-kafka-0.4.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"$ref":"#/definitions/schema","description":"Id of the consumer group."},"clientId":{"$ref":"#/definitions/schema","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.4.0"}]},"bindings-kafka-0.3.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"groupId":{"$ref":"#/definitions/schema","description":"Id of the consumer group."},"clientId":{"$ref":"#/definitions/schema","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.3.0"}]},"bindings-nats-0.1.0-operation":{"title":"NATS operation bindings object","description":"This object contains information about the operation representation in NATS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"queue":{"type":"string","description":"Defines the name of the queue to use. It MUST NOT exceed 255 characters.","maxLength":255},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"queue":"MyCustomQueue","bindingVersion":"0.1.0"}]},"bindings-sns-0.1.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"topic":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/identifier","description":"Often we can assume that the SNS Topic is the channel name-we provide this field in case the you need to supply the ARN, or the Topic name is not the channel name in the AsyncAPI document."},"consumers":{"type":"array","description":"The protocols that listen to this topic and their endpoints.","items":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/consumer"},"minItems":1},"deliveryPolicy":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The field is the default for HTTP receivers of the SNS Topic which may be overridden by a specific consumer."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["consumers"],"definitions":{"identifier":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"url":{"type":"string","description":"The endpoint is a URL."},"email":{"type":"string","description":"The endpoint is an email address."},"phone":{"type":"string","description":"The endpoint is a phone number."},"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding. We don\'t use $ref because we are referring, not including."}}},"consumer":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"protocol":{"description":"The protocol that this endpoint receives messages by.","type":"string","enum":["http","https","email","email-json","sms","sqs","application","lambda","firehose"]},"endpoint":{"description":"The endpoint messages are delivered to.","$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/identifier"},"filterPolicy":{"type":"object","description":"Only receive a subset of messages from the channel, determined by this policy. Depending on the FilterPolicyScope, a map of either a message attribute or message body to an array of possible matches. The match may be a simple string for an exact match, but it may also be an object that represents a constraint and values for that constraint.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"object"}]}},"filterPolicyScope":{"type":"string","description":"Determines whether the FilterPolicy applies to MessageAttributes or MessageBody.","enum":["MessageAttributes","MessageBody"],"default":"MessageAttributes"},"rawMessageDelivery":{"type":"boolean","description":"If true AWS SNS attributes are removed from the body, and for SQS, SNS message attributes are copied to SQS message attributes. If false the SNS attributes are included in the body."},"redrivePolicy":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/redrivePolicy"},"deliveryPolicy":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The parameter is for that SNS Subscription and overrides any policy on the SNS Topic."},"displayName":{"type":"string","description":"The display name to use with an SNS subscription"}},"required":["protocol","endpoint","rawMessageDelivery"]},"deliveryPolicy":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"minDelayTarget":{"type":"integer","description":"The minimum delay for a retry in seconds."},"maxDelayTarget":{"type":"integer","description":"The maximum delay for a retry in seconds."},"numRetries":{"type":"integer","description":"The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries."},"numNoDelayRetries":{"type":"integer","description":"The number of immediate retries (with no delay)."},"numMinDelayRetries":{"type":"integer","description":"The number of immediate retries (with delay)."},"numMaxDelayRetries":{"type":"integer","description":"The number of post-backoff phase retries, with the maximum delay between retries."},"backoffFunction":{"type":"string","description":"The algorithm for backoff between retries.","enum":["arithmetic","exponential","geometric","linear"]},"maxReceivesPerSecond":{"type":"integer","description":"The maximum number of deliveries per second, per subscription."}}},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"deadLetterQueue":{"$ref":"#/definitions/bindings-sns-0.1.0-operation/definitions/identifier","description":"The SQS queue to use as a dead letter queue (DLQ)."},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]}},"examples":[{"topic":{"name":"someTopic"},"consumers":[{"protocol":"sqs","endpoint":{"name":"someQueue"},"filterPolicy":{"store":["asyncapi_corp"],"event":[{"anything-but":"order_cancelled"}],"customer_interests":["rugby","football","baseball"]},"filterPolicyScope":"MessageAttributes","rawMessageDelivery":false,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":25},"deliveryPolicy":{"minDelayTarget":10,"maxDelayTarget":100,"numRetries":5,"numNoDelayRetries":2,"numMinDelayRetries":3,"numMaxDelayRetries":5,"backoffFunction":"linear","maxReceivesPerSecond":2}}]}]},"bindings-sqs-0.2.0-operation":{"title":"Operation Schema","description":"This object contains information about the operation representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"queues":{"type":"array","description":"Queue objects that are either the endpoint for an SNS Operation Binding Object, or the deadLetterQueue of the SQS Operation Binding Object.","items":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/queue"}},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queues"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"$ref":{"type":"string","description":"Allows for an external definition of a queue. The referenced structure MUST be in the format of a Queue. If there are conflicts between the referenced definition and this Queue\'s definition, the behavior is undefined."},"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. Used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/redrivePolicy"},"policy":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"deadLetterQueue":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"#/definitions/bindings-sqs-0.2.0-operation/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queues":[{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":10,"redrivePolicy":{"deadLetterQueue":{"name":"myQueue_error"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]}},{"name":"myQueue_error","deliveryDelay":10}]}]},"bindings-solace-0.4.0-operation":{"title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."},"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"timeToLive":{"type":"integer","description":"Interval in milliseconds or a Schema Object containing the definition of the lifetime of the message."},"priority":{"type":"integer","minimum":0,"maximum":255,"description":"The valid priority value range is 0-255 with 0 as the lowest priority and 255 as the highest or a Schema Object containing the definition of the priority."},"dmqEligible":{"type":"boolean","description":"Set the message to be eligible to be moved to a Dead Message Queue. The default value is false."}},"examples":[{"bindingVersion":"0.4.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"bindings-solace-0.3.0-operation":{"title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.3.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"bindings-solace-0.2.0-operation":{"title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"components":{"type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"#/definitions/specificationExtension"}},"properties":{"schemas":{"type":"object","description":"An object to hold reusable Schema Object. If this is a Schema Object, then the schemaFormat will be assumed to be \'application/vnd.aai.asyncapi+json;version=asyncapi\' where the version is equal to the AsyncAPI Version String.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"$ref":"#/definitions/anySchema"}}},"servers":{"type":"object","description":"An object to hold reusable Server Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/server"}]}}},"channels":{"type":"object","description":"An object to hold reusable Channel Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channel"}]}}},"serverVariables":{"type":"object","description":"An object to hold reusable Server Variable Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverVariable"}]}}},"operations":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operation"}]}}},"messages":{"type":"object","description":"An object to hold reusable Message Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageObject"}]}}},"securitySchemes":{"type":"object","description":"An object to hold reusable Security Scheme Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/SecurityScheme"}]}}},"parameters":{"type":"object","description":"An object to hold reusable Parameter Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/parameter"}]}}},"correlationIds":{"type":"object","description":"An object to hold reusable Correlation ID Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/correlationId"}]}}},"operationTraits":{"type":"object","description":"An object to hold reusable Operation Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationTrait"}]}}},"messageTraits":{"type":"object","description":"An object to hold reusable Message Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageTrait"}]}}},"replies":{"type":"object","description":"An object to hold reusable Operation Reply Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReply"}]}}},"replyAddresses":{"type":"object","description":"An object to hold reusable Operation Reply Address Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationReplyAddress"}]}}},"serverBindings":{"type":"object","description":"An object to hold reusable Server Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/serverBindingsObject"}]}}},"channelBindings":{"type":"object","description":"An object to hold reusable Channel Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/channelBindingsObject"}]}}},"operationBindings":{"type":"object","description":"An object to hold reusable Operation Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/operationBindingsObject"}]}}},"messageBindings":{"type":"object","description":"An object to hold reusable Message Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/messageBindingsObject"}]}}},"tags":{"type":"object","description":"An object to hold reusable Tag Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/tag"}]}}},"externalDocs":{"type":"object","description":"An object to hold reusable External Documentation Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"#/definitions/Reference"},{"$ref":"#/definitions/externalDocs"}]}}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"AvroExample":{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","schema":{"$ref":"path/to/user-create.avsc#/UserCreate"}}},"servers":{"development":{"host":"{stage}.in.mycompany.com:{port}","description":"RabbitMQ broker","protocol":"amqp","protocolVersion":"0-9-1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `mycompany.com`"},"port":{"enum":["5671","5672"],"default":"5672"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user."}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},64292:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://asyncapi.com/definitions/3.0.0/asyncapi.json","$schema":"http://json-schema.org/draft-07/schema","title":"AsyncAPI 3.0.0 schema.","type":"object","required":["asyncapi","info"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"asyncapi":{"type":"string","const":"3.0.0","description":"The AsyncAPI specification version of this document."},"id":{"type":"string","description":"A unique id representing the application.","format":"uri"},"info":{"$ref":"http://asyncapi.com/definitions/3.0.0/info.json"},"servers":{"$ref":"http://asyncapi.com/definitions/3.0.0/servers.json"},"defaultContentType":{"type":"string","description":"Default content type to use when encoding/decoding a message\'s payload."},"channels":{"$ref":"http://asyncapi.com/definitions/3.0.0/channels.json"},"operations":{"$ref":"http://asyncapi.com/definitions/3.0.0/operations.json"},"components":{"$ref":"http://asyncapi.com/definitions/3.0.0/components.json"}},"definitions":{"http://asyncapi.com/definitions/3.0.0/specificationExtension.json":{"$id":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json","description":"Any property starting with x- is valid.","additionalProperties":true,"additionalItems":true},"http://asyncapi.com/definitions/3.0.0/info.json":{"$id":"http://asyncapi.com/definitions/3.0.0/info.json","description":"The object provides metadata about the API. The metadata can be used by the clients if needed.","allOf":[{"type":"object","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title. CommonMark is allowed."},"termsOfService":{"type":"string","description":"A URL to the Terms of Service for the API. MUST be in the format of a URL.","format":"uri"},"contact":{"$ref":"http://asyncapi.com/definitions/3.0.0/contact.json"},"license":{"$ref":"http://asyncapi.com/definitions/3.0.0/license.json"},"tags":{"type":"array","description":"A list of tags for application API documentation control. Tags can be used for logical grouping of applications.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]}}},{"$ref":"http://asyncapi.com/definitions/3.0.0/infoExtensions.json"}],"examples":[{"title":"AsyncAPI Sample App","version":"1.0.1","description":"This is a sample app.","termsOfService":"https://asyncapi.org/terms/","contact":{"name":"API Support","url":"https://www.asyncapi.org/support","email":"support@asyncapi.org"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"},"externalDocs":{"description":"Find more info here","url":"https://www.asyncapi.org"},"tags":[{"name":"e-commerce"}]}]},"http://asyncapi.com/definitions/3.0.0/contact.json":{"$id":"http://asyncapi.com/definitions/3.0.0/contact.json","type":"object","description":"Contact information for the exposed API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"name":"API Support","url":"https://www.example.com/support","email":"support@example.com"}]},"http://asyncapi.com/definitions/3.0.0/license.json":{"$id":"http://asyncapi.com/definitions/3.0.0/license.json","type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It\'s encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},"http://asyncapi.com/definitions/3.0.0/Reference.json":{"$id":"http://asyncapi.com/definitions/3.0.0/Reference.json","type":"object","description":"A simple object to allow referencing other components in the specification, internally and externally.","required":["$ref"],"properties":{"$ref":{"description":"The reference string.","$ref":"http://asyncapi.com/definitions/3.0.0/ReferenceObject.json"}},"examples":[{"$ref":"#/components/schemas/Pet"}]},"http://asyncapi.com/definitions/3.0.0/ReferenceObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/ReferenceObject.json","type":"string","format":"uri-reference"},"http://asyncapi.com/definitions/3.0.0/tag.json":{"$id":"http://asyncapi.com/definitions/3.0.0/tag.json","type":"object","description":"Allows adding metadata to a single tag.","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"A short description for the tag. CommonMark syntax can be used for rich text representation."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"name":"user","description":"User-related messages"}]},"http://asyncapi.com/definitions/3.0.0/externalDocs.json":{"$id":"http://asyncapi.com/definitions/3.0.0/externalDocs.json","type":"object","additionalProperties":false,"description":"Allows referencing an external resource for extended documentation.","required":["url"],"properties":{"description":{"type":"string","description":"A short description of the target documentation. CommonMark syntax can be used for rich text representation."},"url":{"type":"string","description":"The URL for the target documentation. This MUST be in the form of an absolute URL.","format":"uri"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"examples":[{"description":"Find more info here","url":"https://example.com"}]},"http://asyncapi.com/definitions/3.0.0/infoExtensions.json":{"$id":"http://asyncapi.com/definitions/3.0.0/infoExtensions.json","type":"object","description":"The object that lists all the extensions of Info","properties":{"x-x":{"$ref":"http://asyncapi.com/extensions/x/0.1.0/schema.json"}}},"http://asyncapi.com/extensions/x/0.1.0/schema.json":{"$id":"http://asyncapi.com/extensions/x/0.1.0/schema.json","type":"string","description":"This extension allows you to provide the Twitter username of the account representing the team/company of the API.","example":["sambhavgupta75","AsyncAPISpec"]},"http://asyncapi.com/definitions/3.0.0/servers.json":{"$id":"http://asyncapi.com/definitions/3.0.0/servers.json","description":"An object representing multiple servers.","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/server.json"}]},"examples":[{"development":{"host":"localhost:5672","description":"Development AMQP broker.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:development","description":"This environment is meant for developers to run their own tests."}]},"staging":{"host":"rabbitmq-staging.in.mycompany.com:5672","description":"RabbitMQ broker for the staging environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:staging","description":"This environment is a replica of the production environment."}]},"production":{"host":"rabbitmq.in.mycompany.com:5672","description":"RabbitMQ broker for the production environment.","protocol":"amqp","protocolVersion":"0-9-1","tags":[{"name":"env:production","description":"This environment is the live environment available for final users."}]}}]},"http://asyncapi.com/definitions/3.0.0/server.json":{"$id":"http://asyncapi.com/definitions/3.0.0/server.json","type":"object","description":"An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data.","required":["host","protocol"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"host":{"type":"string","description":"The server host name. It MAY include the port. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"pathname":{"type":"string","description":"The path to a resource in the host. This field supports Server Variables. Variable substitutions will be made when a variable is named in {braces}."},"title":{"type":"string","description":"A human-friendly title for the server."},"summary":{"type":"string","description":"A brief summary of the server."},"description":{"type":"string","description":"A longer description of the server. CommonMark is allowed."},"protocol":{"type":"string","description":"The protocol this server supports for connection."},"protocolVersion":{"type":"string","description":"An optional string describing the server. CommonMark syntax MAY be used for rich text representation."},"variables":{"$ref":"http://asyncapi.com/definitions/3.0.0/serverVariables.json"},"security":{"$ref":"http://asyncapi.com/definitions/3.0.0/securityRequirements.json"},"tags":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json"}]}},"examples":[{"host":"kafka.in.mycompany.com:9092","description":"Production Kafka broker.","protocol":"kafka","protocolVersion":"3.2"},{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/production","protocol":"amqp","description":"Production RabbitMQ broker (uses the `production` vhost)."}]},"http://asyncapi.com/definitions/3.0.0/serverVariables.json":{"$id":"http://asyncapi.com/definitions/3.0.0/serverVariables.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverVariable.json"}]}},"http://asyncapi.com/definitions/3.0.0/serverVariable.json":{"$id":"http://asyncapi.com/definitions/3.0.0/serverVariable.json","type":"object","description":"An object representing a Server Variable for server URL template substitution.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"enum":{"type":"array","description":"An enumeration of string values to be used if the substitution options are from a limited set.","items":{"type":"string"},"uniqueItems":true},"default":{"type":"string","description":"The default value to use for substitution, and to send, if an alternate value is not supplied."},"description":{"type":"string","description":"An optional description for the server variable. CommonMark syntax MAY be used for rich text representation."},"examples":{"type":"array","description":"An array of examples of the server variable.","items":{"type":"string"}}},"examples":[{"host":"rabbitmq.in.mycompany.com:5672","pathname":"/{env}","protocol":"amqp","description":"RabbitMQ broker. Use the `env` variable to point to either `production` or `staging`.","variables":{"env":{"description":"Environment to connect to. It can be either `production` or `staging`.","enum":["production","staging"]}}}]},"http://asyncapi.com/definitions/3.0.0/securityRequirements.json":{"$id":"http://asyncapi.com/definitions/3.0.0/securityRequirements.json","description":"An array representing security requirements.","type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json"}]}},"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json","description":"Defines a security scheme that can be used by the operations.","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/userPassword.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/apiKey.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/X509.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/symmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/asymmetricEncryption.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/HTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flows.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/openIdConnect.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslSecurityScheme.json"}],"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/3.0.0/userPassword.json":{"$id":"http://asyncapi.com/definitions/3.0.0/userPassword.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["userPassword"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"userPassword"}]},"http://asyncapi.com/definitions/3.0.0/apiKey.json":{"$id":"http://asyncapi.com/definitions/3.0.0/apiKey.json","type":"object","required":["type","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme","enum":["apiKey"]},"in":{"type":"string","description":" The location of the API key.","enum":["user","password"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"apiKey","in":"user"}]},"http://asyncapi.com/definitions/3.0.0/X509.json":{"$id":"http://asyncapi.com/definitions/3.0.0/X509.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["X509"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"X509"}]},"http://asyncapi.com/definitions/3.0.0/symmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/3.0.0/symmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["symmetricEncryption"]},"description":{"type":"string"}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"symmetricEncryption"}]},"http://asyncapi.com/definitions/3.0.0/asymmetricEncryption.json":{"$id":"http://asyncapi.com/definitions/3.0.0/asymmetricEncryption.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["asymmetricEncryption"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/HTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/HTTPSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/NonBearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/BearerHTTPSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/APIKeyHTTPSecurityScheme.json"}]},"http://asyncapi.com/definitions/3.0.0/NonBearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/NonBearerHTTPSecurityScheme.json","not":{"type":"object","properties":{"scheme":{"type":"string","description":"A short description for security scheme.","enum":["bearer"]}}},"type":"object","required":["scheme","type"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235."},"description":{"type":"string","description":"A short description for security scheme."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/BearerHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/BearerHTTPSecurityScheme.json","type":"object","required":["type","scheme"],"properties":{"scheme":{"type":"string","description":"The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.","enum":["bearer"]},"bearerFormat":{"type":"string","description":"A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes."},"type":{"type":"string","description":"The type of the security scheme.","enum":["http"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/APIKeyHTTPSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/APIKeyHTTPSecurityScheme.json","type":"object","required":["type","name","in"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["httpApiKey"]},"name":{"type":"string","description":"The name of the header, query or cookie parameter to be used."},"in":{"type":"string","description":"The location of the API key","enum":["header","query","cookie"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"httpApiKey","name":"api_key","in":"header"}]},"http://asyncapi.com/definitions/3.0.0/oauth2Flows.json":{"$id":"http://asyncapi.com/definitions/3.0.0/oauth2Flows.json","type":"object","description":"Allows configuration of the supported OAuth Flows.","required":["type","flows"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["oauth2"]},"description":{"type":"string","description":"A short description for security scheme."},"flows":{"type":"object","properties":{"implicit":{"description":"Configuration for the OAuth Implicit flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["authorizationUrl","availableScopes"]},{"not":{"required":["tokenUrl"]}}]},"password":{"description":"Configuration for the OAuth Resource Owner Protected Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"clientCredentials":{"description":"Configuration for the OAuth Client Credentials flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["tokenUrl","availableScopes"]},{"not":{"required":["authorizationUrl"]}}]},"authorizationCode":{"description":"Configuration for the OAuth Authorization Code flow.","allOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json"},{"required":["authorizationUrl","tokenUrl","availableScopes"]}]}},"additionalProperties":false},"scopes":{"type":"array","description":"List of the needed scope names.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}}},"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json":{"$id":"http://asyncapi.com/definitions/3.0.0/oauth2Flow.json","type":"object","description":"Configuration details for a supported OAuth Flow","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"The authorization URL to be used for this flow. This MUST be in the form of an absolute URL."},"tokenUrl":{"type":"string","format":"uri","description":"The token URL to be used for this flow. This MUST be in the form of an absolute URL."},"refreshUrl":{"type":"string","format":"uri","description":"The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL."},"availableScopes":{"$ref":"http://asyncapi.com/definitions/3.0.0/oauth2Scopes.json","description":"The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"authorizationUrl":"https://example.com/api/oauth/dialog","tokenUrl":"https://example.com/api/oauth/token","availableScopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}}]},"http://asyncapi.com/definitions/3.0.0/oauth2Scopes.json":{"$id":"http://asyncapi.com/definitions/3.0.0/oauth2Scopes.json","type":"object","additionalProperties":{"type":"string"}},"http://asyncapi.com/definitions/3.0.0/openIdConnect.json":{"$id":"http://asyncapi.com/definitions/3.0.0/openIdConnect.json","type":"object","required":["type","openIdConnectUrl"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["openIdConnect"]},"description":{"type":"string","description":"A short description for security scheme. CommonMark syntax MAY be used for rich text representation."},"openIdConnectUrl":{"type":"string","format":"uri","description":"OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of an absolute URL."},"scopes":{"type":"array","description":"List of the needed scope names. An empty array means no scopes are needed.","items":{"type":"string"}}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/SaslSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslSecurityScheme.json","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslPlainSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslScramSecurityScheme.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SaslGssapiSecurityScheme.json"}]},"http://asyncapi.com/definitions/3.0.0/SaslPlainSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslPlainSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme. Valid values","enum":["plain"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/3.0.0/SaslScramSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslScramSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["scramSha256","scramSha512"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/3.0.0/SaslGssapiSecurityScheme.json":{"$id":"http://asyncapi.com/definitions/3.0.0/SaslGssapiSecurityScheme.json","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"The type of the security scheme.","enum":["gssapi"]},"description":{"type":"string","description":"A short description for security scheme."}},"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":false,"examples":[{"type":"scramSha512"}]},"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a server.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{},"ws":{},"amqp":{},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/server.json"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/server.json"}}]},"anypointmq":{},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/server.json"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json"}}]},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.3.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.2.0/server.json"}}]},"googlepubsub":{},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/server.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/server.json"}}]}}},"http://asyncapi.com/bindings/mqtt/0.2.0/server.json":{"$id":"http://asyncapi.com/bindings/mqtt/0.2.0/server.json","title":"Server Schema","description":"This object contains information about the server representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"clientId":{"type":"string","description":"The client identifier."},"cleanSession":{"type":"boolean","description":"Whether to create a persistent connection or not. When \'false\', the connection will be persistent. This is called clean start in MQTTv5."},"lastWill":{"type":"object","description":"Last Will and Testament configuration.","properties":{"topic":{"type":"string","description":"The topic where the Last Will and Testament message will be sent."},"qos":{"type":"integer","enum":[0,1,2],"description":"Defines how hard the broker/client will try to ensure that the Last Will and Testament message is received. Its value MUST be either 0, 1 or 2."},"message":{"type":"string","description":"Last Will message."},"retain":{"type":"boolean","description":"Whether the broker should retain the Last Will and Testament message or not."}}},"keepAlive":{"type":"integer","description":"Interval in seconds of the longest period of time the broker and the client can endure without sending a message."},"sessionExpiryInterval":{"oneOf":[{"type":"integer","minimum":0},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Interval time in seconds or a Schema Object containing the definition of the interval. The broker maintains a session for a disconnected client until this interval expires."},"maximumPacketSize":{"oneOf":[{"type":"integer","minimum":1,"maximum":4294967295},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Number of bytes or a Schema Object representing the Maximum Packet Size the Client is willing to accept."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"clientId":"guest","cleanSession":true,"lastWill":{"topic":"/last-wills","qos":2,"message":"Guest gone offline.","retain":false},"keepAlive":60,"sessionExpiryInterval":120,"maximumPacketSize":1024,"bindingVersion":"0.2.0"}]},"http://asyncapi.com/definitions/3.0.0/schema.json":{"$id":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. This object is a superset of the JSON Schema Specification Draft 07. The empty schema (which allows any instance to validate) MAY be represented by the boolean value true and a schema which allows no instance to validate MAY be represented by the boolean value false.","allOf":[{"$ref":"http://json-schema.org/draft-07/schema#"},{"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"additionalProperties":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"type":"boolean"}],"default":{}},"items":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}},"oneOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}},"anyOf":{"type":"array","minItems":1,"items":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}},"not":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"properties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"default":{}},"propertyNames":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"contains":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"discriminator":{"type":"string","description":"Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. The property name used MUST be defined at this schema and it MUST be in the required property list. When used, the value MUST be the name of this schema or any schema that inherits it. See Composition and Inheritance for more details."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"deprecated":{"type":"boolean","description":"Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is false.","default":false}}}]},"http://json-schema.org/draft-07/schema":{"$id":"http://json-schema.org/draft-07/schema","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true},"http://asyncapi.com/bindings/kafka/0.5.0/server.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/server.json","title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/server.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/server.json","title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/server.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/server.json","title":"Server Schema","description":"This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemaRegistryUrl":{"type":"string","description":"API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)."},"schemaRegistryVendor":{"type":"string","description":"The vendor of the Schema Registry and Kafka serdes library that should be used."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"schemaRegistryUrl":"https://my-schema-registry.com","schemaRegistryVendor":"confluent","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/jms/0.0.1/server.json":{"$id":"http://asyncapi.com/bindings/jms/0.0.1/server.json","title":"Server Schema","description":"This object contains configuration for describing a JMS broker as an AsyncAPI server. This objects only contains configuration that can not be provided in the AsyncAPI standard server object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["jmsConnectionFactory"],"properties":{"jmsConnectionFactory":{"type":"string","description":"The classname of the ConnectionFactory implementation for the JMS Provider."},"properties":{"type":"array","items":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/server.json#/definitions/property"},"description":"Additional properties to set on the JMS ConnectionFactory implementation for the JMS Provider."},"clientID":{"type":"string","description":"A client identifier for applications that use this JMS connection factory. If the Client ID Policy is set to \'Restricted\' (the default), then configuring a Client ID on the ConnectionFactory prevents more than one JMS client from using a connection from this factory."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"definitions":{"property":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string","description":"The name of a property"},"value":{"type":["string","boolean","number","null"],"description":"The name of a property"}}}},"examples":[{"jmsConnectionFactory":"org.apache.activemq.ActiveMQConnectionFactory","properties":[{"name":"disableTimeStampsByDefault","value":false}],"clientID":"my-application-1","bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json":{"$id":"http://asyncapi.com/bindings/ibmmq/0.1.0/server.json","title":"IBM MQ server bindings object","description":"This object contains server connection information about the IBM MQ server, referred to as an IBM MQ queue manager. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"type":"string","description":"Defines a logical group of IBM MQ server objects. This is necessary to specify multi-endpoint configurations used in high availability deployments. If omitted, the server object is not part of a group."},"ccdtQueueManagerName":{"type":"string","default":"*","description":"The name of the IBM MQ queue manager to bind to in the CCDT file."},"cipherSpec":{"type":"string","description":"The recommended cipher specification used to establish a TLS connection between the client and the IBM MQ queue manager. More information on SSL/TLS cipher specifications supported by IBM MQ can be found on this page in the IBM MQ Knowledge Center."},"multiEndpointServer":{"type":"boolean","default":false,"description":"If \'multiEndpointServer\' is \'true\' then multiple connections can be workload balanced and applications should not make assumptions as to where messages are processed. Where message ordering, or affinity to specific message resources is necessary, a single endpoint (\'multiEndpointServer\' = \'false\') may be required."},"heartBeatInterval":{"type":"integer","minimum":0,"maximum":999999,"default":300,"description":"The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. A value of zero means that no heart beats are sent. A value of 1 means that the client will use the value defined by the queue manager. More information on heart beat interval can be found on this page in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"examples":[{"groupId":"PRODCLSTR1","cipherSpec":"ANY_TLS12_OR_HIGHER","bindingVersion":"0.1.0"},{"groupId":"PRODCLSTR1","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/solace/0.4.0/server.json":{"$id":"http://asyncapi.com/bindings/solace/0.4.0/server.json","title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"clientName":{"type":"string","minLength":1,"maxLength":160,"description":"A unique client name to use to register to the appliance. If specified, it must be a valid Topic name, and a maximum of 160 bytes in length when encoded as UTF-8."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/solace/0.3.0/server.json":{"$id":"http://asyncapi.com/bindings/solace/0.3.0/server.json","title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"msgVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/solace/0.2.0/server.json":{"$id":"http://asyncapi.com/bindings/solace/0.2.0/server.json","title":"Solace server bindings object","description":"This object contains server connection information about the Solace broker. This object contains additional connectivity information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"msvVpn":{"type":"string","description":"The name of the Virtual Private Network to connect to on the Solace broker."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."}},"examples":[{"msgVpn":"ProdVPN","bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/pulsar/0.1.0/server.json":{"$id":"http://asyncapi.com/bindings/pulsar/0.1.0/server.json","title":"Server Schema","description":"This object contains server information of Pulsar broker, which covers cluster and tenant admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"tenant":{"type":"string","description":"The pulsar tenant. If omitted, \'public\' MUST be assumed."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"tenant":"contoso","bindingVersion":"0.1.0"}]},"http://asyncapi.com/definitions/3.0.0/channels.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channels.json","type":"object","description":"An object containing all the Channel Object definitions the Application MUST use during runtime.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channel.json"}]},"examples":[{"userSignedUp":{"address":"user.signedup","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"}}}}]},"http://asyncapi.com/definitions/3.0.0/channel.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channel.json","type":"object","description":"Describes a shared communication channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"address":{"type":["string","null"],"description":"An optional string representation of this channel\'s address. The address is typically the \\"topic name\\", \\"routing key\\", \\"event type\\", or \\"path\\". When `null` or absent, it MUST be interpreted as unknown. This is useful when the address is generated dynamically at runtime or can\'t be known upfront. It MAY contain Channel Address Expressions."},"messages":{"$ref":"http://asyncapi.com/definitions/3.0.0/channelMessages.json"},"parameters":{"$ref":"http://asyncapi.com/definitions/3.0.0/parameters.json"},"title":{"type":"string","description":"A human-friendly title for the channel."},"summary":{"type":"string","description":"A brief summary of the channel."},"description":{"type":"string","description":"A longer description of the channel. CommonMark is allowed."},"servers":{"type":"array","description":"The references of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.","items":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},"uniqueItems":true},"tags":{"type":"array","description":"A list of tags for logical grouping of channels.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json"}]}},"examples":[{"address":"users.{userId}","title":"Users channel","description":"This channel is used to exchange messages about user events.","messages":{"userSignedUp":{"$ref":"#/components/messages/userSignedUp"},"userCompletedOrder":{"$ref":"#/components/messages/userCompletedOrder"}},"parameters":{"userId":{"$ref":"#/components/parameters/userId"}},"servers":[{"$ref":"#/servers/rabbitmqInProd"},{"$ref":"#/servers/rabbitmqInStaging"}],"bindings":{"amqp":{"is":"queue","queue":{"exclusive":true}}},"tags":[{"name":"user","description":"User-related messages"}],"externalDocs":{"description":"Find more info here","url":"https://example.com"}}]},"http://asyncapi.com/definitions/3.0.0/channelMessages.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channelMessages.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageObject.json"}]},"description":"A map of the messages that will be sent to this channel by any application at any time. **Every message sent to this channel MUST be valid against one, and only one, of the message objects defined in this map.**"},"http://asyncapi.com/definitions/3.0.0/messageObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/messageObject.json","type":"object","description":"Describes a message received on a given channel and operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"},"payload":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object","additionalProperties":false,"anyOf":[{"required":["payload"]},{"required":["headers"]}],"properties":{"name":{"type":"string","description":"Machine readable name of the message example."},"summary":{"type":"string","description":"A brief summary of the message example."},"headers":{"type":"object","description":"Example of the application headers. It can be of any type."},"payload":{"description":"Example of the message payload. It can be of any type."}}}},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json"}]},"traits":{"type":"array","description":"A list of traits to apply to the message object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Message Object.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageTrait.json"},{"type":"array","items":[{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageTrait.json"}]},{"type":"object","additionalItems":true}]}]}}},"examples":[{"messageId":"userSignup","name":"UserSignup","title":"User signup","summary":"Action to sign a user up.","description":"A longer description","contentType":"application/json","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"headers":{"type":"object","properties":{"correlationId":{"description":"Correlation ID set by application","type":"string"},"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}},"correlationId":{"description":"Default Correlation ID","location":"$message.header#/correlationId"},"traits":[{"$ref":"#/components/messageTraits/commonHeaders"}],"examples":[{"name":"SimpleSignup","summary":"A simple UserSignup example message","headers":{"correlationId":"my-correlation-id","applicationInstanceId":"myInstanceId"},"payload":{"user":{"someUserKey":"someUserValue"},"signup":{"someSignupKey":"someSignupValue"}}}]}]},"http://asyncapi.com/definitions/3.0.0/anySchema.json":{"$id":"http://asyncapi.com/definitions/3.0.0/anySchema.json","if":{"required":["schema"]},"then":{"$ref":"http://asyncapi.com/definitions/3.0.0/multiFormatSchema.json"},"else":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"description":"An object representing either a schema or a multiFormatSchema based on the existence of the \'schema\' property. If the property \'schema\' is present, use the multi-format schema. Use the default AsyncAPI Schema otherwise."},"http://asyncapi.com/definitions/3.0.0/multiFormatSchema.json":{"$id":"http://asyncapi.com/definitions/3.0.0/multiFormatSchema.json","description":"The Multi Format Schema Object represents a schema definition. It differs from the Schema Object in that it supports multiple schema formats or languages (e.g., JSON Schema, Avro, etc.).","type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"if":{"not":{"type":"object"}},"then":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},"else":{"properties":{"schemaFormat":{"description":"A string containing the name of the schema format that is used to define the information. If schemaFormat is missing, it MUST default to application/vnd.aai.asyncapi+json;version={{asyncapi}} where {{asyncapi}} matches the AsyncAPI Version String. In such a case, this would make the Multi Format Schema Object equivalent to the Schema Object. When using Reference Object within the schema, the schemaFormat of the resource being referenced MUST match the schemaFormat of the schema that contains the initial reference. For example, if you reference Avro schema, then schemaFormat of referencing resource and the resource being reference MUST match.","anyOf":[{"type":"string"},{"description":"All the schema formats tooling MUST support","enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]},{"description":"All the schema formats tools are RECOMMENDED to support","enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0","application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0","application/raml+yaml;version=1.0"]}]}},"allOf":[{"if":{"not":{"description":"If no schemaFormat has been defined, default to schema or reference","required":["schemaFormat"]}},"then":{"properties":{"schema":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}}}},{"if":{"description":"If schemaFormat has been defined check if it\'s one of the AsyncAPI Schema Object formats","required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.aai.asyncapi;version=2.0.0","application/vnd.aai.asyncapi+json;version=2.0.0","application/vnd.aai.asyncapi+yaml;version=2.0.0","application/vnd.aai.asyncapi;version=2.1.0","application/vnd.aai.asyncapi+json;version=2.1.0","application/vnd.aai.asyncapi+yaml;version=2.1.0","application/vnd.aai.asyncapi;version=2.2.0","application/vnd.aai.asyncapi+json;version=2.2.0","application/vnd.aai.asyncapi+yaml;version=2.2.0","application/vnd.aai.asyncapi;version=2.3.0","application/vnd.aai.asyncapi+json;version=2.3.0","application/vnd.aai.asyncapi+yaml;version=2.3.0","application/vnd.aai.asyncapi;version=2.4.0","application/vnd.aai.asyncapi+json;version=2.4.0","application/vnd.aai.asyncapi+yaml;version=2.4.0","application/vnd.aai.asyncapi;version=2.5.0","application/vnd.aai.asyncapi+json;version=2.5.0","application/vnd.aai.asyncapi+yaml;version=2.5.0","application/vnd.aai.asyncapi;version=2.6.0","application/vnd.aai.asyncapi+json;version=2.6.0","application/vnd.aai.asyncapi+yaml;version=2.6.0","application/vnd.aai.asyncapi;version=3.0.0","application/vnd.aai.asyncapi+json;version=3.0.0","application/vnd.aai.asyncapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"]}}},"then":{"properties":{"schema":{"$ref":"http://json-schema.org/draft-07/schema"}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.oai.openapi;version=3.0.0","application/vnd.oai.openapi+json;version=3.0.0","application/vnd.oai.openapi+yaml;version=3.0.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/openapiSchema_3_0.json"}]}}}},{"if":{"required":["schemaFormat"],"properties":{"schemaFormat":{"enum":["application/vnd.apache.avro;version=1.9.0","application/vnd.apache.avro+json;version=1.9.0","application/vnd.apache.avro+yaml;version=1.9.0"]}}},"then":{"properties":{"schema":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json"}]}}}}]}},"http://asyncapi.com/definitions/3.0.0/openapiSchema_3_0.json":{"$id":"http://asyncapi.com/definitions/3.0.0/openapiSchema_3_0.json","type":"object","definitions":{"ExternalDocumentation":{"type":"object","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri-reference"}},"patternProperties":{"^x-":{}},"additionalProperties":false},"Discriminator":{"type":"object","required":["propertyName"],"properties":{"propertyName":{"type":"string"},"mapping":{"type":"object","additionalProperties":{"type":"string"}}}},"Reference":{"type":"object","required":["$ref"],"patternProperties":{"^\\\\$ref$":{"type":"string","format":"uri-reference"}}},"XML":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string","format":"uri"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{}},"additionalProperties":false}},"properties":{"title":{"type":"string"},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"type":"integer","minimum":0},"minLength":{"type":"integer","minimum":0,"default":0},"pattern":{"type":"string","format":"regex"},"maxItems":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0,"default":0},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"type":"integer","minimum":0},"minProperties":{"type":"integer","minimum":0,"default":0},"required":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":false},"type":{"type":"string","enum":["array","boolean","integer","number","object","string"]},"not":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"allOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"oneOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"anyOf":{"type":"array","items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"items":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]},"properties":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"}]}},"additionalProperties":{"oneOf":[{"$ref":"#"},{"$ref":"#/definitions/Reference"},{"type":"boolean"}],"default":true},"description":{"type":"string"},"format":{"type":"string"},"default":true,"nullable":{"type":"boolean","default":false},"discriminator":{"$ref":"#/definitions/Discriminator"},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"example":true,"externalDocs":{"$ref":"#/definitions/ExternalDocumentation"},"deprecated":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/XML"}},"patternProperties":{"^x-":true},"additionalProperties":false},"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json":{"$id":"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json","definitions":{"avroSchema":{"title":"Avro Schema","description":"Root Schema","oneOf":[{"$ref":"#/definitions/types"}]},"types":{"title":"Avro Types","description":"Allowed Avro types","oneOf":[{"$ref":"#/definitions/primitiveType"},{"$ref":"#/definitions/primitiveTypeWithMetadata"},{"$ref":"#/definitions/customTypeReference"},{"$ref":"#/definitions/avroRecord"},{"$ref":"#/definitions/avroEnum"},{"$ref":"#/definitions/avroArray"},{"$ref":"#/definitions/avroMap"},{"$ref":"#/definitions/avroFixed"},{"$ref":"#/definitions/avroUnion"}]},"primitiveType":{"title":"Primitive Type","description":"Basic type primitives.","type":"string","enum":["null","boolean","int","long","float","double","bytes","string"]},"primitiveTypeWithMetadata":{"title":"Primitive Type With Metadata","description":"A primitive type with metadata attached.","type":"object","properties":{"type":{"$ref":"#/definitions/primitiveType"}},"required":["type"]},"customTypeReference":{"title":"Custom Type","description":"Reference to a ComplexType","not":{"$ref":"#/definitions/primitiveType"},"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*$"},"avroUnion":{"title":"Union","description":"A Union of types","type":"array","items":{"$ref":"#/definitions/avroSchema"},"minItems":1},"avroField":{"title":"Field","description":"A field within a Record","type":"object","properties":{"name":{"$ref":"#/definitions/name"},"type":{"$ref":"#/definitions/types"},"doc":{"type":"string"},"default":true,"order":{"enum":["ascending","descending","ignore"]},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["name","type"]},"avroRecord":{"title":"Record","description":"A Record","type":"object","properties":{"type":{"type":"string","const":"record"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"fields":{"type":"array","items":{"$ref":"#/definitions/avroField"}}},"required":["type","name","fields"]},"avroEnum":{"title":"Enum","description":"An enumeration","type":"object","properties":{"type":{"type":"string","const":"enum"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"symbols":{"type":"array","items":{"$ref":"#/definitions/name"}}},"required":["type","name","symbols"]},"avroArray":{"title":"Array","description":"An array","type":"object","properties":{"type":{"type":"string","const":"array"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"items":{"$ref":"#/definitions/types"}},"required":["type","items"]},"avroMap":{"title":"Map","description":"A map of values","type":"object","properties":{"type":{"type":"string","const":"map"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"values":{"$ref":"#/definitions/types"}},"required":["type","values"]},"avroFixed":{"title":"Fixed","description":"A fixed sized array of bytes","type":"object","properties":{"type":{"type":"string","const":"fixed"},"name":{"$ref":"#/definitions/name"},"namespace":{"$ref":"#/definitions/namespace"},"doc":{"type":"string"},"aliases":{"type":"array","items":{"$ref":"#/definitions/name"}},"size":{"type":"number"}},"required":["type","name","size"]},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"namespace":{"type":"string","pattern":"^([A-Za-z_][A-Za-z0-9_]*(\\\\.[A-Za-z_][A-Za-z0-9_]*)*)*$"}},"description":"Json-Schema definition for Avro AVSC files.","oneOf":[{"$ref":"#/definitions/avroSchema"}],"title":"Avro Schema Definition"},"http://asyncapi.com/definitions/3.0.0/correlationId.json":{"$id":"http://asyncapi.com/definitions/3.0.0/correlationId.json","type":"object","description":"An object that specifies an identifier at design time that can used for message tracing and correlation.","required":["location"],"additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},"location":{"type":"string","description":"A runtime expression that specifies the location of the correlation ID","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"description":"Default Correlation ID","location":"$message.header#/correlationId"}]},"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.2.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/message.json"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/message.json"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/message.json"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/message.json"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/message.json"}}]},"sns":{},"sqs":{},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json"}}]}}},"http://asyncapi.com/bindings/http/0.3.0/message.json":{"$id":"http://asyncapi.com/bindings/http/0.3.0/message.json","title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"statusCode":{"type":"number","description":"The HTTP response status code according to [RFC 9110](https://httpwg.org/specs/rfc9110.html#overview.of.status.codes). `statusCode` is only relevant for messages referenced by the [Operation Reply Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#operationReplyObject), as it defines the status code for the response. In all other cases, this value can be safely ignored."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/http/0.2.0/message.json":{"$id":"http://asyncapi.com/bindings/http/0.2.0/message.json","title":"HTTP message bindings object","description":"This object contains information about the message representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"\\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"Content-Type":{"type":"string","enum":["application/json"]}}},"bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/amqp/0.3.0/message.json":{"$id":"http://asyncapi.com/bindings/amqp/0.3.0/message.json","title":"AMQP message bindings object","description":"This object contains information about the message representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"contentEncoding":{"type":"string","description":"A MIME encoding for the message content."},"messageType":{"type":"string","description":"Application-specific message type."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"contentEncoding":"gzip","messageType":"user.signup","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/mqtt/0.2.0/message.json":{"$id":"http://asyncapi.com/bindings/mqtt/0.2.0/message.json","title":"MQTT message bindings object","description":"This object contains information about the message representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"payloadFormatIndicator":{"type":"integer","enum":[0,1],"description":"1 indicates that the payload is UTF-8 encoded character data. 0 indicates that the payload format is unspecified.","default":0},"correlationData":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Correlation Data is used by the sender of the request message to identify which request the response message is for when it is received."},"contentType":{"type":"string","description":"String describing the content type of the message payload. This should not conflict with the contentType field of the associated AsyncAPI Message object."},"responseTopic":{"oneOf":[{"type":"string","format":"uri-template","minLength":1},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"The topic (channel URI) to be used for a response message."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0"},{"contentType":"application/json","correlationData":{"type":"string","format":"uuid"},"responseTopic":"application/responses","bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/kafka/0.5.0/message.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/message.json","title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"key":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.5.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/message.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/message.json","title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"key":{"anyOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/avroSchema_v1.json"}],"description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.4.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/message.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/message.json","title":"Message Schema","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"key":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"The message key."},"schemaIdLocation":{"type":"string","description":"If a Schema Registry is used when performing this operation, tells where the id of schema is stored.","enum":["header","payload"]},"schemaIdPayloadEncoding":{"type":"string","description":"Number of bytes or vendor specific values when schema id is encoded in payload."},"schemaLookupStrategy":{"type":"string","description":"Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"key":{"type":"string","enum":["myKey"]},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"apicurio-new","schemaLookupStrategy":"TopicIdStrategy","bindingVersion":"0.3.0"},{"key":{"$ref":"path/to/user-create.avsc#/UserCreate"},"schemaIdLocation":"payload","schemaIdPayloadEncoding":"4","bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json":{"$id":"http://asyncapi.com/bindings/anypointmq/0.0.1/message.json","title":"Anypoint MQ message bindings object","description":"This object contains configuration for describing an Anypoint MQ message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"A Schema object containing the definitions for Anypoint MQ-specific headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of Anypoint MQ protocol headers are \'messageId\' and \'messageGroupId\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","properties":{"messageId":{"type":"string"}}},"bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/jms/0.0.1/message.json":{"$id":"http://asyncapi.com/bindings/jms/0.0.1/message.json","title":"Message Schema","description":"This object contains configuration for describing a JMS message as an AsyncAPI message. This objects only contains configuration that can not be provided in the AsyncAPI standard message object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"A Schema object containing the definitions for JMS headers (protocol headers). This schema MUST be of type \'object\' and have a \'properties\' key. Examples of JMS protocol headers are \'JMSMessageID\', \'JMSTimestamp\', and \'JMSCorrelationID\'."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"headers":{"type":"object","required":["JMSMessageID"],"properties":{"JMSMessageID":{"type":["string","null"],"description":"A unique message identifier. This may be set by your JMS Provider on your behalf."},"JMSTimestamp":{"type":"integer","description":"The time the message was sent. This may be set by your JMS Provider on your behalf. The time the message was sent. The value of the timestamp is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC."},"JMSDeliveryMode":{"type":"string","enum":["PERSISTENT","NON_PERSISTENT"],"default":"PERSISTENT","description":"Denotes the delivery mode for the message. This may be set by your JMS Provider on your behalf."},"JMSPriority":{"type":"integer","default":4,"description":"The priority of the message. This may be set by your JMS Provider on your behalf."},"JMSExpires":{"type":"integer","description":"The time at which the message expires. This may be set by your JMS Provider on your behalf. A value of zero means that the message does not expire. Any non-zero value is the amount of time, measured in milliseconds, that has elapsed since midnight, January 1, 1970, UTC, at which the message will expire."},"JMSType":{"type":["string","null"],"description":"The type of message. Some JMS providers use a message repository that contains the definitions of messages sent by applications. The \'JMSType\' header field may reference a message\'s definition in the provider\'s repository. The JMS API does not define a standard message definition repository, nor does it define a naming policy for the definitions it contains. Some messaging systems require that a message type definition for each application message be created and that each message specify its type. In order to work with such JMS providers, JMS clients should assign a value to \'JMSType\', whether the application makes use of it or not. This ensures that the field is properly set for those providers that require it."},"JMSCorrelationID":{"type":["string","null"],"description":"The correlation identifier of the message. A client can use the \'JMSCorrelationID\' header field to link one message with another. A typical use is to link a response message with its request message. Since each message sent by a JMS provider is assigned a message ID value, it is convenient to link messages via message ID, such message ID values must start with the \'ID:\' prefix. Conversely, application-specified values must not start with the \'ID:\' prefix; this is reserved for provider-generated message ID values."},"JMSReplyTo":{"type":"string","description":"The queue or topic that the message sender expects replies to."}}},"bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json":{"$id":"http://asyncapi.com/bindings/ibmmq/0.1.0/message.json","title":"IBM MQ message bindings object","description":"This object contains information about the message representation in IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"type":{"type":"string","enum":["string","jms","binary"],"default":"string","description":"The type of the message."},"headers":{"type":"string","description":"Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma separated list. Supporting information on IBM MQ message formats can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-format-mqchar8) in the IBM MQ Knowledge Center."},"description":{"type":"string","description":"Provides additional information for application developers: describes the message type or format."},"expiry":{"type":"integer","minimum":0,"default":0,"description":"The recommended setting the client should use for the TTL (Time-To-Live) of the message. This is a period of time expressed in milliseconds and set by the application that puts the message. \'expiry\' values are API dependant e.g., MQI and JMS use different units of time and default values for \'unlimited\'. General information on IBM MQ message expiry can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-expiry-mqlong) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"type":{"const":"binary"}}},{"properties":{"type":{"const":"jms"}},"not":{"required":["headers"]}},{"properties":{"type":{"const":"string"}},"not":{"required":["headers"]}}],"examples":[{"type":"string","bindingVersion":"0.1.0"},{"type":"jms","description":"JMS stream message","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json":{"$id":"http://asyncapi.com/bindings/googlepubsub/0.2.0/message.json","title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the message representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"attributes":{"type":"object"},"orderingKey":{"type":"string"},"schema":{"type":"object","additionalItems":false,"properties":{"name":{"type":"string"}},"required":["name"]}},"examples":[{"schema":{"name":"projects/your-project-id/schemas/your-avro-schema-id"}},{"schema":{"name":"projects/your-project-id/schemas/your-protobuf-schema-id"}}]},"http://asyncapi.com/definitions/3.0.0/messageTrait.json":{"$id":"http://asyncapi.com/definitions/3.0.0/messageTrait.json","type":"object","description":"Describes a trait that MAY be applied to a Message Object. This object MAY contain any property from the Message Object, except payload and traits.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"contentType":{"type":"string","description":"The content type to use when encoding/decoding a message\'s payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field."},"headers":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"},"correlationId":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/correlationId.json"}]},"tags":{"type":"array","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the message."},"name":{"type":"string","description":"Name of the message."},"title":{"type":"string","description":"A human-friendly title for the message."},"description":{"type":"string","description":"A longer description of the message. CommonMark is allowed."},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"deprecated":{"type":"boolean","default":false},"examples":{"type":"array","description":"List of examples.","items":{"type":"object"}},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json"}]}},"examples":[{"contentType":"application/json"}]},"http://asyncapi.com/definitions/3.0.0/parameters.json":{"$id":"http://asyncapi.com/definitions/3.0.0/parameters.json","type":"object","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/parameter.json"}]},"description":"JSON objects describing re-usable channel parameters.","examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user."}}}]},"http://asyncapi.com/definitions/3.0.0/parameter.json":{"$id":"http://asyncapi.com/definitions/3.0.0/parameter.json","description":"Describes a parameter included in a channel address.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},"enum":{"description":"An enumeration of string values to be used if the substitution options are from a limited set.","type":"array","items":{"type":"string"}},"default":{"description":"The default value to use for substitution, and to send, if an alternate value is not supplied.","type":"string"},"examples":{"description":"An array of examples of the parameter value.","type":"array","items":{"type":"string"}},"location":{"type":"string","description":"A runtime expression that specifies the location of the parameter value","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"}},"examples":[{"address":"user/{userId}/signedup","parameters":{"userId":{"description":"Id of the user.","location":"$message.payload#/user/id"}}}]},"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for a channel.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{},"ws":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/websockets/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/websockets/0.1.0/channel.json"}}]},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/channel.json"}}]},"amqp1":{},"mqtt":{},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/channel.json"}}]},"anypointmq":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json"}}]},"nats":{},"jms":{"properties":{"bindingVersion":{"enum":["0.0.1"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.0.1"}}},"then":{"$ref":"http://asyncapi.com/bindings/jms/0.0.1/channel.json"}}]},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json"}}]},"stomp":{},"redis":{},"ibmmq":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json"}}]},"solace":{},"googlepubsub":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json"}}]},"pulsar":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json"}}]}}},"http://asyncapi.com/bindings/websockets/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/websockets/0.1.0/channel.json","title":"WebSockets channel bindings object","description":"When using WebSockets, the channel represents the connection. Unlike other protocols that support multiple virtual channels (topics, routing keys, etc.) per connection, WebSockets doesn\'t support virtual channels or, put it another way, there\'s only one channel and its characteristics are strongly related to the protocol used for the handshake, i.e., HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"method":{"type":"string","enum":["GET","POST"],"description":"The HTTP method to use when establishing the connection. Its value MUST be either \'GET\' or \'POST\'."},"query":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a \'properties\' key."},"headers":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"A Schema object containing the definitions of the HTTP headers to use when establishing the connection. This schema MUST be of type \'object\' and have a \'properties\' key."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"method":"POST","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/amqp/0.3.0/channel.json":{"$id":"http://asyncapi.com/bindings/amqp/0.3.0/channel.json","title":"AMQP channel bindings object","description":"This object contains information about the channel representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"is":{"type":"string","enum":["queue","routingKey"],"description":"Defines what type of channel is it. Can be either \'queue\' or \'routingKey\' (default)."},"exchange":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the exchange. It MUST NOT exceed 255 characters long."},"type":{"type":"string","enum":["topic","direct","fanout","default","headers"],"description":"The type of the exchange. Can be either \'topic\', \'direct\', \'fanout\', \'default\' or \'headers\'."},"durable":{"type":"boolean","description":"Whether the exchange should survive broker restarts or not."},"autoDelete":{"type":"boolean","description":"Whether the exchange should be deleted when the last queue is unbound from it."},"vhost":{"type":"string","default":"/","description":"The virtual host of the exchange. Defaults to \'/\'."}},"description":"When is=routingKey, this object defines the exchange properties."},"queue":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"The name of the queue. It MUST NOT exceed 255 characters long."},"durable":{"type":"boolean","description":"Whether the queue should survive broker restarts or not."},"exclusive":{"type":"boolean","description":"Whether the queue should be used only by one connection or not."},"autoDelete":{"type":"boolean","description":"Whether the queue should be deleted when the last consumer unsubscribes."},"vhost":{"type":"string","default":"/","description":"The virtual host of the queue. Defaults to \'/\'."}},"description":"When is=queue, this object defines the queue properties."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"oneOf":[{"properties":{"is":{"const":"routingKey"}},"required":["exchange"],"not":{"required":["queue"]}},{"properties":{"is":{"const":"queue"}},"required":["queue"],"not":{"required":["exchange"]}}],"examples":[{"is":"routingKey","exchange":{"name":"myExchange","type":"topic","durable":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"},{"is":"queue","queue":{"name":"my-queue-name","durable":true,"exclusive":true,"autoDelete":false,"vhost":"/"},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/kafka/0.5.0/channel.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":true,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0},"confluent.key.schema.validation":{"description":"It shows whether the schema validation for the message key is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-schema-validation)","type":"boolean"},"confluent.key.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message key. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-key-subject-name-strategy)","type":"string"},"confluent.value.schema.validation":{"description":"It shows whether the schema validation for the message value is enabled. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-schema-validation)","type":"boolean"},"confluent.value.subject.name.strategy":{"description":"The name of the schema lookup strategy for the message value. Vendor specific config. For more details: (https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#confluent-value-subject-name-strategy)","type":"string"}}},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/channel.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"topicConfiguration":{"description":"Topic configuration properties that are relevant for the API.","type":"object","additionalProperties":false,"properties":{"cleanup.policy":{"description":"The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.","type":"array","items":{"type":"string","enum":["compact","delete"]}},"retention.ms":{"description":"The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.","type":"integer","minimum":-1},"retention.bytes":{"description":"The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.","type":"integer","minimum":-1},"delete.retention.ms":{"description":"The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.","type":"integer","minimum":0},"max.message.bytes":{"description":"The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.","type":"integer","minimum":0}}},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/channel.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"type":"string","description":"Kafka topic name if different from channel name."},"partitions":{"type":"integer","minimum":1,"description":"Number of partitions configured on this topic."},"replicas":{"type":"integer","minimum":1,"description":"Number of replicas configured on this topic."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"topic":"my-specific-topic","partitions":20,"replicas":3,"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json":{"$id":"http://asyncapi.com/bindings/anypointmq/0.0.1/channel.json","title":"Anypoint MQ channel bindings object","description":"This object contains configuration for describing an Anypoint MQ exchange, queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"destination":{"type":"string","description":"The destination (queue or exchange) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ. Defaults to the channel name."},"destinationType":{"type":"string","enum":["exchange","queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signup-exchg","destinationType":"exchange","bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/jms/0.0.1/channel.json":{"$id":"http://asyncapi.com/bindings/jms/0.0.1/channel.json","title":"Channel Schema","description":"This object contains configuration for describing a JMS queue, or FIFO queue as an AsyncAPI channel. This objects only contains configuration that can not be provided in the AsyncAPI standard channel object.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"destination":{"type":"string","description":"The destination (queue) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name according to the JMS Provider. Defaults to the channel name."},"destinationType":{"type":"string","enum":["queue","fifo-queue"],"default":"queue","description":"The type of destination. SHOULD be specified to document the messaging model (point-to-point, or strict message ordering) supported by this channel."},"bindingVersion":{"type":"string","enum":["0.0.1"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"destination":"user-signed-up","destinationType":"fifo-queue","bindingVersion":"0.0.1"}]},"http://asyncapi.com/bindings/sns/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/sns/0.1.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"name":{"type":"string","description":"The name of the topic. Can be different from the channel name to allow flexibility around AWS resource naming limitations."},"ordering":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json#/definitions/ordering"},"policy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json#/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the topic."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["name"],"definitions":{"ordering":{"type":"object","description":"By default, we assume an unordered SNS topic. This field allows configuration of a FIFO SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"type":{"type":"string","description":"Defines the type of SNS Topic.","enum":["standard","FIFO"]},"contentBasedDeduplication":{"type":"boolean","description":"True to turn on de-duplication of messages for a channel."}},"required":["type"]},"policy":{"type":"object","description":"The security policy for the SNS Topic.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this topic","items":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/channel.json#/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SNS permission being allowed or denied e.g. sns:Publish","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"name":"my-sns-topic","policy":{"statements":[{"effect":"Allow","principal":"*","action":"SNS:Publish"}]}}]},"http://asyncapi.com/bindings/sqs/0.2.0/channel.json":{"$id":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"queue":{"description":"A definition of the queue that will be used as the channel.","$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/queue"},"deadLetterQueue":{"description":"A definition of the queue that will be used for un-processable messages.","$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/queue"},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queue"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/redrivePolicy"},"policy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name","fifoQueue"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"deadLetterQueue":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/channel.json#/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queue":{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":15,"visibilityTimeout":60,"receiveMessageWaitTime":0,"messageRetentionPeriod":86400,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]},"tags":{"owner":"AsyncAPI.NET","platform":"AsyncAPIOrg"}},"deadLetterQueue":{"name":"myQueue_error","deliveryDelay":0,"visibilityTimeout":0,"receiveMessageWaitTime":0,"messageRetentionPeriod":604800}}]},"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/ibmmq/0.1.0/channel.json","title":"IBM MQ channel bindings object","description":"This object contains information about the channel representation in IBM MQ. Each channel corresponds to a Queue or Topic within IBM MQ.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"destinationType":{"type":"string","enum":["topic","queue"],"default":"topic","description":"Defines the type of AsyncAPI channel."},"queue":{"type":"object","description":"Defines the properties of a queue.","properties":{"objectName":{"type":"string","maxLength":48,"description":"Defines the name of the IBM MQ queue associated with the channel."},"isPartitioned":{"type":"boolean","default":false,"description":"Defines if the queue is a cluster queue and therefore partitioned. If \'true\', a binding option MAY be specified when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center."},"exclusive":{"type":"boolean","default":false,"description":"Specifies if it is recommended to open the queue exclusively."}},"required":["objectName"]},"topic":{"type":"object","description":"Defines the properties of a topic.","properties":{"string":{"type":"string","maxLength":10240,"description":"The value of the IBM MQ topic string to be used."},"objectName":{"type":"string","maxLength":48,"description":"The name of the IBM MQ topic object."},"durablePermitted":{"type":"boolean","default":true,"description":"Defines if the subscription may be durable."},"lastMsgRetained":{"type":"boolean","default":false,"description":"Defines if the last message published will be made available to new subscriptions."}}},"maxMsgLength":{"type":"integer","minimum":0,"maximum":104857600,"description":"The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are greater in size than this value may fail to be delivered. More information on the maximum message length can be found on this [page](https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q097520_.html) in the IBM MQ Knowledge Center."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding."}},"oneOf":[{"properties":{"destinationType":{"const":"topic"}},"not":{"required":["queue"]}},{"properties":{"destinationType":{"const":"queue"}},"required":["queue"],"not":{"required":["topic"]}}],"examples":[{"destinationType":"topic","topic":{"objectName":"myTopicName"},"bindingVersion":"0.1.0"},{"destinationType":"queue","queue":{"objectName":"myQueueName","exclusive":true},"bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json":{"$id":"http://asyncapi.com/bindings/googlepubsub/0.2.0/channel.json","title":"Cloud Pub/Sub Channel Schema","description":"This object contains information about the channel representation for Google Cloud Pub/Sub.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding."},"labels":{"type":"object"},"messageRetentionDuration":{"type":"string"},"messageStoragePolicy":{"type":"object","additionalProperties":false,"properties":{"allowedPersistenceRegions":{"type":"array","items":{"type":"string"}}}},"schemaSettings":{"type":"object","additionalItems":false,"properties":{"encoding":{"type":"string"},"firstRevisionId":{"type":"string"},"lastRevisionId":{"type":"string"},"name":{"type":"string"}},"required":["encoding","name"]}},"required":["schemaSettings"],"examples":[{"labels":{"label1":"value1","label2":"value2"},"messageRetentionDuration":"86400s","messageStoragePolicy":{"allowedPersistenceRegions":["us-central1","us-east1"]},"schemaSettings":{"encoding":"json","name":"projects/your-project-id/schemas/your-schema"}}]},"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json":{"$id":"http://asyncapi.com/bindings/pulsar/0.1.0/channel.json","title":"Channel Schema","description":"This object contains information about the channel representation in Pulsar, which covers namespace and topic level admin configuration. This object contains additional information not possible to represent within the core AsyncAPI specification.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["namespace","persistence"],"properties":{"namespace":{"type":"string","description":"The namespace, the channel is associated with."},"persistence":{"type":"string","enum":["persistent","non-persistent"],"description":"persistence of the topic in Pulsar."},"compaction":{"type":"integer","minimum":0,"description":"Topic compaction threshold given in MB"},"geo-replication":{"type":"array","description":"A list of clusters the topic is replicated to.","items":{"type":"string"}},"retention":{"type":"object","additionalProperties":false,"properties":{"time":{"type":"integer","minimum":0,"description":"Time given in Minutes. `0` = Disable message retention."},"size":{"type":"integer","minimum":0,"description":"Size given in MegaBytes. `0` = Disable message retention."}}},"ttl":{"type":"integer","description":"TTL in seconds for the specified topic"},"deduplication":{"type":"boolean","description":"Whether deduplication of events is enabled or not."},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"namespace":"ns1","persistence":"persistent","compaction":1000,"retention":{"time":15,"size":1000},"ttl":360,"geo-replication":["us-west","us-east"],"deduplication":true,"bindingVersion":"0.1.0"}]},"http://asyncapi.com/definitions/3.0.0/operations.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operations.json","type":"object","description":"Holds a dictionary with all the operations this application MUST implement.","additionalProperties":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operation.json"}]},"examples":[{"onUserSignUp":{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}]}}]},"http://asyncapi.com/definitions/3.0.0/operation.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operation.json","type":"object","description":"Describes a specific operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["action","channel"],"properties":{"action":{"type":"string","description":"Allowed values are send and receive. Use send when it\'s expected that the application will send a message to the given channel, and receive when the application should expect receiving messages from the given channel.","enum":["send","receive"]},"channel":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. It MUST contain a subset of the messages defined in the channel referenced in this operation. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}},"reply":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReply.json"}]},"traits":{"type":"array","description":"A list of traits to apply to the operation object. Traits MUST be merged using traits merge mechanism. The resulting object MUST be a valid Operation Object.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationTrait.json"}]}},"title":{"type":"string","description":"A human-friendly title for the operation."},"summary":{"type":"string","description":"A brief summary of the operation."},"description":{"type":"string","description":"A longer description of the operation. CommonMark is allowed."},"security":{"$ref":"http://asyncapi.com/definitions/3.0.0/securityRequirements.json"},"tags":{"type":"array","description":"A list of tags for logical grouping and categorization of operations.","items":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]},"uniqueItems":true},"externalDocs":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]},"bindings":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json"}]}},"examples":[{"title":"User sign up","summary":"Action to sign a user up.","description":"A longer description","channel":{"$ref":"#/channels/userSignup"},"action":"send","security":[{"petstore_auth":["write:pets","read:pets"]}],"tags":[{"name":"user"},{"name":"signup"},{"name":"register"}],"bindings":{"amqp":{"ack":false}},"traits":[{"$ref":"#/components/operationTraits/kafka"}],"messages":[{"$ref":"/components/messages/userSignedUp"}],"reply":{"address":{"location":"$message.header#/replyTo"},"channel":{"$ref":"#/channels/userSignupReply"},"messages":[{"$ref":"/components/messages/userSignedUpReply"}]}}]},"http://asyncapi.com/definitions/3.0.0/operationReply.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationReply.json","type":"object","description":"Describes the reply part that MAY be applied to an Operation Object. If an operation implements the request/reply pattern, the reply object represents the response message.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"address":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json"}]},"channel":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},"messages":{"type":"array","description":"A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation as reply. It MUST contain a subset of the messages defined in the channel referenced in this operation reply. Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience.","items":{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}}}},"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json","type":"object","description":"An object that specifies where an operation has to send the reply","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"required":["location"],"properties":{"location":{"type":"string","description":"A runtime expression that specifies the location of the reply address.","pattern":"^\\\\$message\\\\.(header|payload)#(\\\\/(([^\\\\/~])|(~[01]))*)*"},"description":{"type":"string","description":"An optional description of the address. CommonMark is allowed."}},"examples":[{"description":"Consumer inbox","location":"$message.header#/replyTo"}]},"http://asyncapi.com/definitions/3.0.0/operationTrait.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationTrait.json","type":"object","description":"Describes a trait that MAY be applied to an Operation Object. This object MAY contain any property from the Operation Object, except the action, channel and traits ones.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"title":{"description":"A human-friendly title for the operation.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/title"},"summary":{"description":"A short summary of what the operation is about.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/summary"},"description":{"description":"A verbose explanation of the operation. CommonMark syntax can be used for rich text representation.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/description"},"security":{"description":"A declaration of which security schemes are associated with this operation. Only one of the security scheme objects MUST be satisfied to authorize an operation. In cases where Server Security also applies, it MUST also be satisfied.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/security"},"tags":{"description":"A list of tags for logical grouping and categorization of operations.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/tags"},"externalDocs":{"description":"Additional external documentation for this operation.","$ref":"http://asyncapi.com/definitions/3.0.0/operation.json#/properties/externalDocs"},"bindings":{"description":"A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation.","oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json"}]}},"examples":[{"bindings":{"amqp":{"ack":false}}}]},"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json":{"$id":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json","type":"object","description":"Map describing protocol-specific definitions for an operation.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"http":{"properties":{"bindingVersion":{"enum":["0.2.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.2.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/http/0.3.0/operation.json"}}]},"ws":{},"amqp":{"properties":{"bindingVersion":{"enum":["0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/amqp/0.3.0/operation.json"}}]},"amqp1":{},"mqtt":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json"}}]},"kafka":{"properties":{"bindingVersion":{"enum":["0.5.0","0.4.0","0.3.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.5.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.5.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.4.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/kafka/0.3.0/operation.json"}}]},"anypointmq":{},"nats":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/nats/0.1.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/nats/0.1.0/operation.json"}}]},"jms":{},"sns":{"properties":{"bindingVersion":{"enum":["0.1.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.1.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json"}}]},"sqs":{"properties":{"bindingVersion":{"enum":["0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json"}}]},"stomp":{},"redis":{},"ibmmq":{},"solace":{"properties":{"bindingVersion":{"enum":["0.4.0","0.3.0","0.2.0"]}},"allOf":[{"description":"If no bindingVersion specified, use the latest binding","if":{"not":{"required":["bindingVersion"]}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.4.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.4.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.3.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.3.0/operation.json"}},{"if":{"required":["bindingVersion"],"properties":{"bindingVersion":{"const":"0.2.0"}}},"then":{"$ref":"http://asyncapi.com/bindings/solace/0.2.0/operation.json"}}]},"googlepubsub":{}}},"http://asyncapi.com/bindings/http/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/http/0.3.0/operation.json","title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/http/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/http/0.2.0/operation.json","title":"HTTP operation bindings object","description":"This object contains information about the operation representation in HTTP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"method":{"type":"string","enum":["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],"description":"When \'type\' is \'request\', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of \'GET\', \'POST\', \'PUT\', \'PATCH\', \'DELETE\', \'HEAD\', \'OPTIONS\', \'CONNECT\', and \'TRACE\'."},"query":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"A Schema object containing the definitions for each query parameter. This schema MUST be of type \'object\' and have a properties key."},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"},{"method":"GET","query":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"number","minimum":1,"description":"The Id of the company."}},"additionalProperties":false},"bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/amqp/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/amqp/0.3.0/operation.json","title":"AMQP operation bindings object","description":"This object contains information about the operation representation in AMQP.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"expiration":{"type":"integer","minimum":0,"description":"TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero."},"userId":{"type":"string","description":"Identifies the user who has sent the message."},"cc":{"type":"array","items":{"type":"string"},"description":"The routing keys the message should be routed to at the time of publishing."},"priority":{"type":"integer","description":"A priority for the message."},"deliveryMode":{"type":"integer","enum":[1,2],"description":"Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent)."},"mandatory":{"type":"boolean","description":"Whether the message is mandatory or not."},"bcc":{"type":"array","items":{"type":"string"},"description":"Like cc but consumers will not receive this information."},"timestamp":{"type":"boolean","description":"Whether the message should include a timestamp or not."},"ack":{"type":"boolean","description":"Whether the consumer should ack the message or not."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"expiration":100000,"userId":"guest","cc":["user.logs"],"priority":10,"deliveryMode":2,"mandatory":false,"bcc":["external.audit"],"timestamp":true,"ack":false,"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/mqtt/0.2.0/operation.json","title":"MQTT operation bindings object","description":"This object contains information about the operation representation in MQTT.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"qos":{"type":"integer","enum":[0,1,2],"description":"Defines the Quality of Service (QoS) levels for the message flow between client and server. Its value MUST be either 0 (At most once delivery), 1 (At least once delivery), or 2 (Exactly once delivery)."},"retain":{"type":"boolean","description":"Whether the broker should retain the message or not."},"messageExpiryInterval":{"oneOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"}],"description":"Lifetime of the message in seconds"},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"qos":2,"retain":true,"messageExpiryInterval":60,"bindingVersion":"0.2.0"}]},"http://asyncapi.com/bindings/kafka/0.5.0/operation.json":{"$id":"http://asyncapi.com/bindings/kafka/0.5.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer group."},"clientId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.5.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.5.0"}]},"http://asyncapi.com/bindings/kafka/0.4.0/operation.json":{"$id":"http://asyncapi.com/bindings/kafka/0.4.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer group."},"clientId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.4.0"}]},"http://asyncapi.com/bindings/kafka/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/kafka/0.3.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in Kafka.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"groupId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer group."},"clientId":{"$ref":"http://asyncapi.com/definitions/3.0.0/schema.json","description":"Id of the consumer inside a consumer group."},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"groupId":{"type":"string","enum":["myGroupId"]},"clientId":{"type":"string","enum":["myClientId"]},"bindingVersion":"0.3.0"}]},"http://asyncapi.com/bindings/nats/0.1.0/operation.json":{"$id":"http://asyncapi.com/bindings/nats/0.1.0/operation.json","title":"NATS operation bindings object","description":"This object contains information about the operation representation in NATS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"queue":{"type":"string","description":"Defines the name of the queue to use. It MUST NOT exceed 255 characters.","maxLength":255},"bindingVersion":{"type":"string","enum":["0.1.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed."}},"examples":[{"queue":"MyCustomQueue","bindingVersion":"0.1.0"}]},"http://asyncapi.com/bindings/sns/0.1.0/operation.json":{"$id":"http://asyncapi.com/bindings/sns/0.1.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in SNS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"topic":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/identifier","description":"Often we can assume that the SNS Topic is the channel name-we provide this field in case the you need to supply the ARN, or the Topic name is not the channel name in the AsyncAPI document."},"consumers":{"type":"array","description":"The protocols that listen to this topic and their endpoints.","items":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/consumer"},"minItems":1},"deliveryPolicy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The field is the default for HTTP receivers of the SNS Topic which may be overridden by a specific consumer."},"bindingVersion":{"type":"string","description":"The version of this binding.","default":"latest"}},"required":["consumers"],"definitions":{"identifier":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"url":{"type":"string","description":"The endpoint is a URL."},"email":{"type":"string","description":"The endpoint is an email address."},"phone":{"type":"string","description":"The endpoint is a phone number."},"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding. We don\'t use $ref because we are referring, not including."}}},"consumer":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"protocol":{"description":"The protocol that this endpoint receives messages by.","type":"string","enum":["http","https","email","email-json","sms","sqs","application","lambda","firehose"]},"endpoint":{"description":"The endpoint messages are delivered to.","$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/identifier"},"filterPolicy":{"type":"object","description":"Only receive a subset of messages from the channel, determined by this policy. Depending on the FilterPolicyScope, a map of either a message attribute or message body to an array of possible matches. The match may be a simple string for an exact match, but it may also be an object that represents a constraint and values for that constraint.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"object"}]}},"filterPolicyScope":{"type":"string","description":"Determines whether the FilterPolicy applies to MessageAttributes or MessageBody.","enum":["MessageAttributes","MessageBody"],"default":"MessageAttributes"},"rawMessageDelivery":{"type":"boolean","description":"If true AWS SNS attributes are removed from the body, and for SQS, SNS message attributes are copied to SQS message attributes. If false the SNS attributes are included in the body."},"redrivePolicy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/redrivePolicy"},"deliveryPolicy":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/deliveryPolicy","description":"Policy for retries to HTTP. The parameter is for that SNS Subscription and overrides any policy on the SNS Topic."},"displayName":{"type":"string","description":"The display name to use with an SNS subscription"}},"required":["protocol","endpoint","rawMessageDelivery"]},"deliveryPolicy":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"minDelayTarget":{"type":"integer","description":"The minimum delay for a retry in seconds."},"maxDelayTarget":{"type":"integer","description":"The maximum delay for a retry in seconds."},"numRetries":{"type":"integer","description":"The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries."},"numNoDelayRetries":{"type":"integer","description":"The number of immediate retries (with no delay)."},"numMinDelayRetries":{"type":"integer","description":"The number of immediate retries (with delay)."},"numMaxDelayRetries":{"type":"integer","description":"The number of post-backoff phase retries, with the maximum delay between retries."},"backoffFunction":{"type":"string","description":"The algorithm for backoff between retries.","enum":["arithmetic","exponential","geometric","linear"]},"maxReceivesPerSecond":{"type":"integer","description":"The maximum number of deliveries per second, per subscription."}}},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"deadLetterQueue":{"$ref":"http://asyncapi.com/bindings/sns/0.1.0/operation.json#/definitions/identifier","description":"The SQS queue to use as a dead letter queue (DLQ)."},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]}},"examples":[{"topic":{"name":"someTopic"},"consumers":[{"protocol":"sqs","endpoint":{"name":"someQueue"},"filterPolicy":{"store":["asyncapi_corp"],"event":[{"anything-but":"order_cancelled"}],"customer_interests":["rugby","football","baseball"]},"filterPolicyScope":"MessageAttributes","rawMessageDelivery":false,"redrivePolicy":{"deadLetterQueue":{"arn":"arn:aws:SQS:eu-west-1:0000000:123456789"},"maxReceiveCount":25},"deliveryPolicy":{"minDelayTarget":10,"maxDelayTarget":100,"numRetries":5,"numNoDelayRetries":2,"numMinDelayRetries":3,"numMaxDelayRetries":5,"backoffFunction":"linear","maxReceivesPerSecond":2}}]}]},"http://asyncapi.com/bindings/sqs/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json","title":"Operation Schema","description":"This object contains information about the operation representation in SQS.","type":"object","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"queues":{"type":"array","description":"Queue objects that are either the endpoint for an SNS Operation Binding Object, or the deadLetterQueue of the SQS Operation Binding Object.","items":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/queue"}},"bindingVersion":{"type":"string","enum":["0.1.0","0.2.0"],"description":"The version of this binding. If omitted, \'latest\' MUST be assumed.","default":"latest"}},"required":["queues"],"definitions":{"queue":{"type":"object","description":"A definition of a queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"$ref":{"type":"string","description":"Allows for an external definition of a queue. The referenced structure MUST be in the format of a Queue. If there are conflicts between the referenced definition and this Queue\'s definition, the behavior is undefined."},"name":{"type":"string","description":"The name of the queue. When an SNS Operation Binding Object references an SQS queue by name, the identifier should be the one in this field."},"fifoQueue":{"type":"boolean","description":"Is this a FIFO queue?","default":false},"deduplicationScope":{"type":"string","enum":["queue","messageGroup"],"description":"Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).","default":"queue"},"fifoThroughputLimit":{"type":"string","enum":["perQueue","perMessageGroupId"],"description":"Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.","default":"perQueue"},"deliveryDelay":{"type":"integer","description":"The number of seconds to delay before a message sent to the queue can be received. Used to create a delay queue.","minimum":0,"maximum":15,"default":0},"visibilityTimeout":{"type":"integer","description":"The length of time, in seconds, that a consumer locks a message - hiding it from reads - before it is unlocked and can be read again.","minimum":0,"maximum":43200,"default":30},"receiveMessageWaitTime":{"type":"integer","description":"Determines if the queue uses short polling or long polling. Set to zero the queue reads available messages and returns immediately. Set to a non-zero integer, long polling waits the specified number of seconds for messages to arrive before returning.","default":0},"messageRetentionPeriod":{"type":"integer","description":"How long to retain a message on the queue in seconds, unless deleted.","minimum":60,"maximum":1209600,"default":345600},"redrivePolicy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/redrivePolicy"},"policy":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/policy"},"tags":{"type":"object","description":"Key-value pairs that represent AWS tags on the queue."}},"required":["name"]},"redrivePolicy":{"type":"object","description":"Prevent poison pill messages by moving un-processable messages to an SQS dead letter queue.","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"deadLetterQueue":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/identifier"},"maxReceiveCount":{"type":"integer","description":"The number of times a message is delivered to the source queue before being moved to the dead-letter queue.","default":10}},"required":["deadLetterQueue"]},"identifier":{"type":"object","description":"The SQS queue to use as a dead letter queue (DLQ).","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"arn":{"type":"string","description":"The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form: arn:aws:sqs:{region}:{account-id}:{queueName}"},"name":{"type":"string","description":"The endpoint is identified by a name, which corresponds to an identifying field called \'name\' of a binding for that protocol on this publish Operation Object. For example, if the protocol is \'sqs\' then the name refers to the name field sqs binding."}}},"policy":{"type":"object","description":"The security policy for the SQS Queue","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"statements":{"type":"array","description":"An array of statement objects, each of which controls a permission for this queue.","items":{"$ref":"http://asyncapi.com/bindings/sqs/0.2.0/operation.json#/definitions/statement"}}},"required":["statements"]},"statement":{"type":"object","patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"effect":{"type":"string","enum":["Allow","Deny"]},"principal":{"description":"The AWS account or resource ARN that this statement applies to.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"action":{"description":"The SQS permission being allowed or denied e.g. sqs:ReceiveMessage","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["effect","principal","action"]}},"examples":[{"queues":[{"name":"myQueue","fifoQueue":true,"deduplicationScope":"messageGroup","fifoThroughputLimit":"perMessageGroupId","deliveryDelay":10,"redrivePolicy":{"deadLetterQueue":{"name":"myQueue_error"},"maxReceiveCount":15},"policy":{"statements":[{"effect":"Deny","principal":"arn:aws:iam::123456789012:user/dec.kolakowski","action":["sqs:SendMessage","sqs:ReceiveMessage"]}]}},{"name":"myQueue_error","deliveryDelay":10}]}]},"http://asyncapi.com/bindings/solace/0.4.0/operation.json":{"$id":"http://asyncapi.com/bindings/solace/0.4.0/operation.json","title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"bindingVersion":{"type":"string","enum":["0.4.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."},"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"timeToLive":{"type":"integer","description":"Interval in milliseconds or a Schema Object containing the definition of the lifetime of the message."},"priority":{"type":"integer","minimum":0,"maximum":255,"description":"The valid priority value range is 0-255 with 0 as the lowest priority and 255 as the highest or a Schema Object containing the definition of the priority."},"dmqEligible":{"type":"boolean","description":"Set the message to be eligible to be moved to a Dead Message Queue. The default value is false."}},"examples":[{"bindingVersion":"0.4.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"http://asyncapi.com/bindings/solace/0.3.0/operation.json":{"$id":"http://asyncapi.com/bindings/solace/0.3.0/operation.json","title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]},"maxTtl":{"type":"string","description":"The maximum TTL to apply to messages to be spooled."},"maxMsgSpoolUsage":{"type":"string","description":"The maximum amount of message spool that the given queue may use"}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.3.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.3.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"http://asyncapi.com/bindings/solace/0.2.0/operation.json":{"$id":"http://asyncapi.com/bindings/solace/0.2.0/operation.json","title":"Solace operation bindings object","description":"This object contains information about the operation representation in Solace.","type":"object","additionalProperties":false,"properties":{"destinations":{"description":"The list of Solace destinations referenced in the operation.","type":"array","items":{"type":"object","properties":{"deliveryMode":{"type":"string","enum":["direct","persistent"]}},"oneOf":[{"properties":{"destinationType":{"type":"string","const":"queue","description":"If the type is queue, then the subscriber can bind to the queue. The queue subscribes to the given topicSubscriptions. If no topicSubscriptions are provied, the queue will subscribe to the topic as represented by the channel name."},"queue":{"type":"object","properties":{"name":{"type":"string","description":"The name of the queue"},"topicSubscriptions":{"type":"array","description":"The list of topics that the queue subscribes to.","items":{"type":"string"}},"accessType":{"type":"string","enum":["exclusive","nonexclusive"]}}}}},{"properties":{"destinationType":{"type":"string","const":"topic","description":"If the type is topic, then the subscriber subscribes to the given topicSubscriptions. If no topicSubscriptions are provided, the client will subscribe to the topic as represented by the channel name."},"topicSubscriptions":{"type":"array","description":"The list of topics that the client subscribes to.","items":{"type":"string"}}}}]}},"bindingVersion":{"type":"string","enum":["0.2.0"],"description":"The version of this binding. If omitted, \\"latest\\" MUST be assumed."}},"examples":[{"bindingVersion":"0.2.0","destinations":[{"destinationType":"queue","queue":{"name":"sampleQueue","topicSubscriptions":["samples/*"],"accessType":"nonexclusive"}},{"destinationType":"topic","topicSubscriptions":["samples/*"]}]}]},"http://asyncapi.com/definitions/3.0.0/components.json":{"$id":"http://asyncapi.com/definitions/3.0.0/components.json","type":"object","description":"An object to hold a set of reusable objects for different aspects of the AsyncAPI specification. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.","additionalProperties":false,"patternProperties":{"^x-[\\\\w\\\\d\\\\.\\\\x2d_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/specificationExtension.json"}},"properties":{"schemas":{"type":"object","description":"An object to hold reusable Schema Object. If this is a Schema Object, then the schemaFormat will be assumed to be \'application/vnd.aai.asyncapi+json;version=asyncapi\' where the version is equal to the AsyncAPI Version String.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"$ref":"http://asyncapi.com/definitions/3.0.0/anySchema.json"}}},"servers":{"type":"object","description":"An object to hold reusable Server Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/server.json"}]}}},"channels":{"type":"object","description":"An object to hold reusable Channel Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channel.json"}]}}},"serverVariables":{"type":"object","description":"An object to hold reusable Server Variable Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverVariable.json"}]}}},"operations":{"type":"object","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operation.json"}]}}},"messages":{"type":"object","description":"An object to hold reusable Message Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageObject.json"}]}}},"securitySchemes":{"type":"object","description":"An object to hold reusable Security Scheme Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/SecurityScheme.json"}]}}},"parameters":{"type":"object","description":"An object to hold reusable Parameter Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/parameter.json"}]}}},"correlationIds":{"type":"object","description":"An object to hold reusable Correlation ID Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/correlationId.json"}]}}},"operationTraits":{"type":"object","description":"An object to hold reusable Operation Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationTrait.json"}]}}},"messageTraits":{"type":"object","description":"An object to hold reusable Message Trait Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageTrait.json"}]}}},"replies":{"type":"object","description":"An object to hold reusable Operation Reply Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReply.json"}]}}},"replyAddresses":{"type":"object","description":"An object to hold reusable Operation Reply Address Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationReplyAddress.json"}]}}},"serverBindings":{"type":"object","description":"An object to hold reusable Server Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/serverBindingsObject.json"}]}}},"channelBindings":{"type":"object","description":"An object to hold reusable Channel Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/channelBindingsObject.json"}]}}},"operationBindings":{"type":"object","description":"An object to hold reusable Operation Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/operationBindingsObject.json"}]}}},"messageBindings":{"type":"object","description":"An object to hold reusable Message Bindings Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/messageBindingsObject.json"}]}}},"tags":{"type":"object","description":"An object to hold reusable Tag Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/tag.json"}]}}},"externalDocs":{"type":"object","description":"An object to hold reusable External Documentation Objects.","patternProperties":{"^[\\\\w\\\\d\\\\.\\\\-_]+$":{"oneOf":[{"$ref":"http://asyncapi.com/definitions/3.0.0/Reference.json"},{"$ref":"http://asyncapi.com/definitions/3.0.0/externalDocs.json"}]}}}},"examples":[{"components":{"schemas":{"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"AvroExample":{"schemaFormat":"application/vnd.apache.avro+json;version=1.9.0","schema":{"$ref":"path/to/user-create.avsc#/UserCreate"}}},"servers":{"development":{"host":"{stage}.in.mycompany.com:{port}","description":"RabbitMQ broker","protocol":"amqp","protocolVersion":"0-9-1","variables":{"stage":{"$ref":"#/components/serverVariables/stage"},"port":{"$ref":"#/components/serverVariables/port"}}}},"serverVariables":{"stage":{"default":"demo","description":"This value is assigned by the service provider, in this example `mycompany.com`"},"port":{"enum":["5671","5672"],"default":"5672"}},"channels":{"user/signedup":{"subscribe":{"message":{"$ref":"#/components/messages/userSignUp"}}}},"messages":{"userSignUp":{"summary":"Action to sign a user up.","description":"Multiline description of what this action does.\\nHere you have another line.\\n","tags":[{"name":"user"},{"name":"signup"}],"headers":{"type":"object","properties":{"applicationInstanceId":{"description":"Unique identifier for a given instance of the publishing application","type":"string"}}},"payload":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/userCreate"},"signup":{"$ref":"#/components/schemas/signup"}}}}},"parameters":{"userId":{"description":"Id of the user."}},"correlationIds":{"default":{"description":"Default Correlation ID","location":"$message.header#/correlationId"}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","minimum":0,"maximum":100}}}}}}}]}},"description":"!!Auto generated!! \\n Do not manually edit. "}')},3054:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/extensions","$defs":{"Extends":{"$anchor":"extends","oneOf":[{"$id":"ruleset","$ref":"ruleset.schema#","errorMessage":"must be a valid ruleset"},{"type":"array","items":{"anyOf":[{"$ref":"ruleset"},{"type":"array","minItems":2,"additionalItems":false,"items":[{"$ref":"ruleset"},{"type":"string","enum":["off","recommended","all"],"errorMessage":"allowed types are \\"off\\", \\"recommended\\" and \\"all\\""}]}]}}],"errorMessage":"must be a valid ruleset"},"Format":{"$anchor":"format","x-spectral-runtime":"format","errorMessage":"must be a valid format"},"Function":{"$anchor":"function","x-spectral-runtime":"ruleset-function","type":"object","properties":{"function":true},"required":["function"]},"Functions":{"$anchor":"functions","not":{}},"FunctionsDir":{"$anchor":"functionsDir","not":{}}}}')},50421:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/extensions","$defs":{"Extends":{"$anchor":"extends","oneOf":[{"type":"string"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"array","minItems":2,"additionalItems":false,"items":[{"type":"string"},{"enum":["all","recommended","off"],"errorMessage":"allowed types are \\"off\\", \\"recommended\\" and \\"all\\""}]}]}}]},"Format":{"$anchor":"format","type":"string","errorMessage":"must be a valid format"},"Functions":{"$anchor":"functions","type":"array","items":{"type":"string"}},"FunctionsDir":{"$anchor":"functionsDir","type":"string"},"Function":{"$anchor":"function","type":"object","properties":{"function":{"type":"string"}},"required":["function"]}}}')},91361:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/rule.schema","$defs":{"Then":{"type":"object","allOf":[{"properties":{"field":{"type":"string"}}},{"$ref":"extensions#function"}]},"Severity":{"$ref":"shared#severity"}},"if":{"type":"object"},"then":{"type":"object","properties":{"description":{"type":"string"},"documentationUrl":{"type":"string","format":"url","errorMessage":"must be a valid URL"},"recommended":{"type":"boolean"},"given":{"$ref":"shared#given"},"resolved":{"type":"boolean"},"severity":{"$ref":"#/$defs/Severity"},"message":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"formats":{"$ref":"shared#formats"},"then":{"if":{"type":"array"},"then":{"type":"array","items":{"$ref":"#/$defs/Then"}},"else":{"$ref":"#/$defs/Then"}},"type":{"enum":["style","validation"],"type":"string","errorMessage":"allowed types are \\"style\\" and \\"validation\\""},"extensions":{"type":"object"}},"required":["given","then"],"additionalProperties":false,"patternProperties":{"^x-":true},"errorMessage":{"required":"the rule must have at least \\"given\\" and \\"then\\" properties"}},"else":{"oneOf":[{"$ref":"shared#/$defs/HumanReadableSeverity"},{"type":"boolean"}]}}')},84185:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/ruleset.schema","type":"object","additionalProperties":false,"properties":{"documentationUrl":{"type":"string","format":"url","errorMessage":"must be a valid URL"},"description":{"type":"string"},"rules":{"type":"object","additionalProperties":{"$ref":"rule.schema#"}},"functions":{"$ref":"extensions#functions"},"functionsDir":{"$ref":"extensions#functionsDir"},"formats":{"$ref":"shared#formats"},"extends":{"$ref":"extensions#extends"},"parserOptions":{"type":"object","properties":{"duplicateKeys":{"$ref":"shared#severity"},"incompatibleValues":{"$ref":"shared#severity"}},"additionalProperties":false},"overrides":{"type":"array","minItems":1,"items":{"if":{"type":"object","properties":{"files":{"type":"array","minItems":1,"items":{"type":"string","minLength":1,"pattern":"^[^#]+#"},"errorMessage":"must be an non-empty array of glob patterns"}},"required":["files"]},"then":{"type":"object","properties":{"files":true,"rules":{"type":"object","additionalProperties":{"$ref":"shared#severity"},"errorMessage":{"enum":"must be a valid severity level"}}},"required":["rules"],"additionalProperties":false,"errorMessage":{"required":"must contain rules when JSON Pointers are defined","additionalProperties":"must not override any other property than rules when JSON Pointers are defined"}},"else":{"allOf":[{"type":"object","properties":{"files":{"type":"array","minItems":1,"items":{"type":"string","pattern":"[^#]","minLength":1},"errorMessage":"must be an non-empty array of glob patterns"}},"required":["files"],"errorMessage":{"type":"must be an override, i.e. { \\"files\\": [\\"v2/**/*.json\\"], \\"rules\\": {} }"}},{"type":"object","properties":{"formats":{"$ref":"shared#formats"},"extends":{"$ref":"#/properties/extends"},"rules":{"$ref":"#/properties/rules"},"parserOptions":{"$ref":"#/properties/parserOptions"},"aliases":{"$ref":"#/properties/aliases"}},"anyOf":[{"required":["extends"]},{"required":["rules"]}]}]}},"errorMessage":{"minItems":"must not be empty"}},"aliases":{"type":"object","propertyNames":{"pattern":"^[A-Za-z][A-Za-z0-9_-]*$","errorMessage":{"pattern":"to avoid confusion the name must match /^[A-Za-z][A-Za-z0-9_-]*$/ regular expression","minLength":"the name of an alias must not be empty"}},"additionalProperties":{"if":{"type":"object"},"then":{"type":"object","properties":{"description":{"type":"string"},"targets":{"type":"array","minItems":1,"items":{"type":"object","properties":{"formats":{"$ref":"shared#formats"},"given":{"$ref":"shared#arrayish-given"}},"required":["formats","given"],"errorMessage":"a valid target must contain given and non-empty formats"},"errorMessage":{"minItems":"targets must have at least a single alias definition"}}},"required":["targets"],"errorMessage":{"required":"targets must be present and have at least a single alias definition"}},"else":{"$ref":"shared#arrayish-given"}}}},"patternProperties":{"^x-":true},"anyOf":[{"required":["extends"]},{"required":["rules"]},{"required":["overrides"]}]}')},82691:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"@stoplight/spectral-core/meta/shared","$defs":{"Formats":{"$anchor":"formats","type":"array","items":{"$ref":"extensions#format"},"errorMessage":"must be an array of formats"},"DiagnosticSeverity":{"enum":[-1,0,1,2,3]},"HumanReadableSeverity":{"enum":["error","warn","info","hint","off"]},"Severity":{"$anchor":"severity","oneOf":[{"$ref":"#/$defs/DiagnosticSeverity"},{"$ref":"#/$defs/HumanReadableSeverity"}],"errorMessage":"the value has to be one of: 0, 1, 2, 3 or \\"error\\", \\"warn\\", \\"info\\", \\"hint\\", \\"off\\""},"Given":{"$anchor":"given","if":{"type":"array"},"then":{"$anchor":"arrayish-given","type":"array","items":{"$ref":"path-expression"},"minItems":1,"errorMessage":{"minItems":"must be a non-empty array of expressions"}},"else":{"$ref":"path-expression"}},"PathExpression":{"$id":"path-expression","if":{"type":"string"},"then":{"type":"string","if":{"pattern":"^#"},"then":{"x-spectral-runtime":"alias"},"else":{"pattern":"^\\\\$","errorMessage":"must be a valid JSON Path expression or a reference to the existing Alias optionally paired with a JSON Path expression subset"}},"else":{"not":{},"errorMessage":"must be a valid JSON Path expression or a reference to the existing Alias optionally paired with a JSON Path expression subset"}}}}')},66077:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},46063:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},33978:e=>{"use strict";e.exports=JSON.parse('{"$id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-07/schema#","description":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"positiveInteger":{"type":"integer","minimum":0},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true}},"type":"object","properties":{"id":{"type":"string","format":"uri"},"$schema":{"type":"string","format":"uri"},"title":{"type":"string"},"description":{"type":"string"},"deprecationMessage":{"type":"string","description":"Non-standard: deprecation message for a property, if it is deprecated"},"default":{},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"$ref":"#/definitions/positiveInteger"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/positiveInteger"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},74411:e=>{"use strict";e.exports=JSON.parse('{"id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-04/schema#","description":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"positiveInteger":{"type":"integer","minimum":0},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true}},"type":"object","properties":{"id":{"type":"string","format":"uri"},"$schema":{"type":"string","format":"uri"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"multipleOf":{"type":"number","minimum":0,"exclusiveMinimum":true},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"$ref":"#/definitions/positiveInteger"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/positiveInteger"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]},"default":{}}')},96499:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},29574:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/applicator":true},"$recursiveAnchor":true,"title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"additionalItems":{"$recursiveRef":"#"},"unevaluatedItems":{"$recursiveRef":"#"},"items":{"anyOf":[{"$recursiveRef":"#"},{"$ref":"#/$defs/schemaArray"}]},"contains":{"$recursiveRef":"#"},"additionalProperties":{"$recursiveRef":"#"},"unevaluatedProperties":{"$recursiveRef":"#"},"properties":{"type":"object","additionalProperties":{"$recursiveRef":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$recursiveRef":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$recursiveRef":"#"}},"propertyNames":{"$recursiveRef":"#"},"if":{"$recursiveRef":"#"},"then":{"$recursiveRef":"#"},"else":{"$recursiveRef":"#"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$recursiveRef":"#"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$recursiveRef":"#"}}}}')},85240:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/content","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/content":true},"$recursiveAnchor":true,"title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"contentSchema":{"$recursiveRef":"#"}}}')},21604:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/core","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/core":true},"$recursiveAnchor":true,"title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"type":"string","format":"uri"},"$anchor":{"type":"string","pattern":"^[A-Za-z][-A-Za-z0-9.:_]*$"},"$ref":{"type":"string","format":"uri-reference"},"$recursiveRef":{"type":"string","format":"uri-reference"},"$recursiveAnchor":{"type":"boolean","default":false},"$vocabulary":{"type":"object","propertyNames":{"type":"string","format":"uri"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$recursiveRef":"#"},"default":{}}}}')},90048:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/format","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/format":true},"$recursiveAnchor":true,"title":"Format vocabulary meta-schema","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},3785:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/meta-data":true},"$recursiveAnchor":true,"title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},84312:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/meta/validation","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/validation":true},"$recursiveAnchor":true,"title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}},"const":true,"enum":{"type":"array","items":true},"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},99976:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2019-09/schema","$id":"https://json-schema.org/draft/2019-09/schema","$vocabulary":{"https://json-schema.org/draft/2019-09/vocab/core":true,"https://json-schema.org/draft/2019-09/vocab/applicator":true,"https://json-schema.org/draft/2019-09/vocab/validation":true,"https://json-schema.org/draft/2019-09/vocab/meta-data":true,"https://json-schema.org/draft/2019-09/vocab/format":false,"https://json-schema.org/draft/2019-09/vocab/content":true},"$recursiveAnchor":true,"title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format"},{"$ref":"meta/content"}],"type":["object","boolean"],"properties":{"definitions":{"$comment":"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.","type":"object","additionalProperties":{"$recursiveRef":"#"},"default":{}},"dependencies":{"$comment":"\\"dependencies\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\"dependentSchemas\\" and \\"dependentRequired\\"","type":"object","additionalProperties":{"anyOf":[{"$recursiveRef":"#"},{"$ref":"meta/validation#/$defs/stringArray"}]}}}}')},94826:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},98204:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},88896:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},97446:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},23501:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},86133:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},9412:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},1900:e=>{"use strict";e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},71678:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-06/schema#","$id":"http://json-schema.org/draft-06/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"examples":{"type":"array","items":{}},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":{},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},59513:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},74364:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},79510:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};return(()=>{"use strict";i.d(n,{default:()=>vo});class e{constructor(e,t={}){this._json=e,this._meta=t}json(e){return void 0===e||null===this._json||void 0===this._json?this._json:this._json[e]}meta(e){return void 0===e?this._meta:this._meta?this._meta[e]:void 0}jsonPath(e){return"string"!=typeof e?this._meta.pointer:`${this._meta.pointer}/${e}`}createModel(e,t,i){return new e(t,Object.assign(Object.assign({},i),{asyncapi:this._meta.asyncapi}))}}class t extends Array{constructor(e,t={}){super(...e),this.collections=e,this._meta=t}has(e){return void 0!==this.get(e)}all(){return this.collections}isEmpty(){return 0===this.collections.length}filterBy(e){return this.collections.filter(e)}meta(e){return void 0===e?this._meta:this._meta?this._meta[String(e)]:void 0}}class r extends t{get(e){return e=e.startsWith("x-")?e:`x-${e}`,this.collections.find((t=>t.id()===e))}}class s extends e{id(){return this._meta.id}value(){return this._json}}var o,a;function c(e,t,i=[]){0===i.length&&(i=Object.values(a));const n={callback:t,schemaTypesToIterate:i,seenSchemas:new Set};if(e.channels().isEmpty()||e.channels().all().forEach((e=>{!function(e,t){if(!e)return;const{schemaTypesToIterate:i}=t;i.includes(a.Parameters)&&Object.values(e.parameters().filterBy((e=>e.hasSchema()))||{}).forEach((e=>{p(e.schema(),null,t)})),e.messages().all().forEach((e=>{d(e,t)}))}(e,n)})),i.includes(a.Components)&&!e.components().isEmpty()){const t=e.components();Object.values(t.messages().all()||{}).forEach((e=>{d(e,n)})),Object.values(t.schemas().all()||{}).forEach((e=>{p(e,null,n)})),i.includes(a.Parameters)&&Object.values(t.channelParameters().filterBy((e=>e.hasSchema()))).forEach((e=>{p(e.schema(),null,n)})),Object.values(t.messageTraits().all()||{}).forEach((e=>{!function(e,t){if(!e)return;const{schemaTypesToIterate:i}=t;i.includes(a.Headers)&&e.hasHeaders()&&p(e.headers(),null,t)}(e,n)}))}}function p(e,t,i){if(!e)return;const{schemaTypesToIterate:n,callback:r,seenSchemas:s}=i,c=e.json();if(s.has(c))return;s.add(c);let d=e.type()||[];Array.isArray(d)||(d=[d]),!n.includes(a.Objects)&&d.includes("object")||!n.includes(a.Arrays)&&d.includes("array")||!1!==r(e,t,o.NEW_SCHEMA)&&(n.includes(a.Objects)&&d.includes("object")&&function(e,t){Object.entries(e.properties()||{}).forEach((([e,i])=>{p(i,e,t)}));const i=e.additionalProperties();"object"==typeof i&&p(i,null,t);const n=t.schemaTypesToIterate;n.includes(a.PropertyNames)&&e.propertyNames()&&p(e.propertyNames(),null,t),n.includes(a.PatternProperties)&&Object.entries(e.patternProperties()||{}).forEach((([e,i])=>{p(i,e,t)}))}(e,i),n.includes(a.Arrays)&&d.includes("array")&&function(e,t){const i=e.items();i&&(Array.isArray(i)?i.forEach(((e,i)=>{p(e,i,t)})):p(i,null,t));const n=e.additionalItems();"object"==typeof n&&p(n,null,t),t.schemaTypesToIterate.includes("contains")&&e.contains()&&p(e.contains(),null,t)}(e,i),n.includes(a.OneOfs)&&(e.oneOf()||[]).forEach(((e,t)=>{p(e,t,i)})),n.includes(a.AnyOfs)&&(e.anyOf()||[]).forEach(((e,t)=>{p(e,t,i)})),n.includes(a.AllOfs)&&(e.allOf()||[]).forEach(((e,t)=>{p(e,t,i)})),n.includes(a.Nots)&&e.not()&&p(e.not(),null,i),n.includes(a.Ifs)&&e.if()&&p(e.if(),null,i),n.includes(a.Thenes)&&e.then()&&p(e.then(),null,i),n.includes(a.Elses)&&e.else()&&p(e.else(),null,i),n.includes(a.Dependencies)&&Object.entries(e.dependencies()||{}).forEach((([e,t])=>{t&&!Array.isArray(t)&&p(t,e,i)})),n.includes(a.Definitions)&&Object.entries(e.definitions()||{}).forEach((([e,t])=>{p(t,e,i)})),r(e,t,o.END_SCHEMA),s.delete(c))}function d(e,t){if(!e)return;const{schemaTypesToIterate:i}=t;i.includes(a.Headers)&&e.hasHeaders()&&p(e.headers(),null,t),i.includes(a.Payloads)&&e.hasPayload()&&p(e.payload(),null,t)}function f(e,t,i,n){return new e(t,Object.assign(Object.assign({},i),{asyncapi:i.asyncapi||(null==n?void 0:n.meta().asyncapi)}))}function l(e,t,i){const n=new Set,r=new Set;let s=Object.values(a);return i||(s=s.filter((e=>e!==a.Components))),c(e,(function(e){n.has(e.json())||(n.add(e.json()),r.add(e))}),s),new t(Array.from(r))}!function(e){e.NEW_SCHEMA="NEW_SCHEMA",e.END_SCHEMA="END_SCHEMA"}(o||(o={})),function(e){e.Parameters="parameters",e.Payloads="payloads",e.Headers="headers",e.Components="components",e.Objects="objects",e.Arrays="arrays",e.OneOfs="oneOfs",e.AllOfs="allOfs",e.AnyOfs="anyOfs",e.Nots="nots",e.PropertyNames="propertyNames",e.PatternProperties="patternProperties",e.Contains="contains",e.Ifs="ifs",e.Thenes="thenes",e.Elses="elses",e.Dependencies="dependencies",e.Definitions="definitions"}(a||(a={}));var u=i(37233),m=i.n(u);const h="x-parser-spec-parsed",y="x-parser-spec-stringified",g="x-parser-api-version",b="x-parser-message-name",v="x-parser-schema-id",$="x-parser-original-payload",j="x-parser-circular",_="x-parser-unique-object-id",w=/^x-[\w\d.\-_]+$/,x=Object.keys(m().schemas),P=x[x.length-1];class S extends t{get(e){return this.collections.find((t=>t.protocol()===e))}extensions(){const e=[];return Object.entries(this._meta.originalData||{}).forEach((([t,i])=>{w.test(t)&&e.push(f(s,i,{id:t,pointer:`${this._meta.pointer}/${t}`,asyncapi:this._meta.asyncapi}))})),new r(e)}}class O extends e{protocol(){return this._meta.protocol}version(){return this._json.bindingVersion||"latest"}value(){const e=Object.assign({},this._json);return delete e.bindingVersion,e}extensions(){return M(this)}}class E extends e{url(){return this._json.url}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}}class A extends t{get(e){return this.collections.find((t=>t.name()===e))}}class T extends e{name(){return this._json.name}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}}function I(e){const t=e.json("bindings")||{};return new S(Object.entries(t||{}).map((([t,i])=>f(O,i,{protocol:t,pointer:e.jsonPath(`bindings/${t}`)},e))),{originalData:t,asyncapi:e.meta("asyncapi"),pointer:e.jsonPath("bindings")})}function k(e){return Boolean(R(e))}function R(e){return e.json("description")}function M(e){const t=[];return Object.entries(e.json()).forEach((([i,n])=>{w.test(i)&&t.push(f(s,n,{id:i,pointer:e.jsonPath(i)},e))})),new r(t)}function q(e){return Object.keys(e.json("externalDocs")||{}).length>0}function C(e){if(q(e))return new E(e.json("externalDocs"))}function N(e){return new A((e.json("tags")||[]).map(((t,i)=>f(T,t,{pointer:e.jsonPath(`tags/${i}`)},e))))}class D extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}hasEmail(){return!!this._json.email}email(){return this._json.email}extensions(){return M(this)}}class F extends e{name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}extensions(){return M(this)}}class U extends e{title(){return this._json.title}version(){return this._json.version}hasId(){return!!this._meta.asyncapi.parsed.id}id(){return this._meta.asyncapi.parsed.id}hasDescription(){return k(this)}description(){return R(this)}hasTermsOfService(){return!!this._json.termsOfService}termsOfService(){return this._json.termsOfService}hasContact(){return Object.keys(this._json.contact||{}).length>0}contact(){const e=this._json.contact;return e&&this.createModel(D,e,{pointer:"/info/contact"})}hasLicense(){return Object.keys(this._json.license||{}).length>0}license(){const e=this._json.license;return e&&this.createModel(F,e,{pointer:"/info/license"})}hasExternalDocs(){const e=this._meta.asyncapi.parsed;return Object.keys(e.externalDocs||{}).length>0}externalDocs(){if(this.hasExternalDocs()){const e=this._meta.asyncapi.parsed;return this.createModel(E,e.externalDocs,{pointer:"/externalDocs"})}}tags(){const e=this._meta.asyncapi.parsed.tags||[];return new A(e.map(((e,t)=>this.createModel(T,e,{pointer:`/tags/${t}`}))))}extensions(){return M(this)}}class V extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class L extends t{get(e){return this.collections.find((t=>t.id()===e))}}var z=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function B(e,t){return z(this,void 0,void 0,(function*(){const i=e.parserRegistry.get(t.schemaFormat);if(void 0===i)throw new Error("Unknown schema format");return i.parse(t)}))}function K(e,t){return"string"==typeof e?e:G(t)}function G(e){return`application/vnd.aai.asyncapi;version=${e}`}class H extends e{id(){return this.$id()||this._meta.id||this.json(v)}$comment(){if("boolean"!=typeof this._json)return this._json.$comment}$id(){if("boolean"!=typeof this._json)return this._json.$id}$schema(){return"boolean"==typeof this._json?"http://json-schema.org/draft-07/schema#":this._json.$schema||"http://json-schema.org/draft-07/schema#"}additionalItems(){return"boolean"==typeof this._json?this._json:"boolean"==typeof this._json.additionalItems?this._json.additionalItems:void 0===this._json.additionalItems||null!==this._json.additionalItems&&this.createModel(H,this._json.additionalItems,{pointer:`${this._meta.pointer}/additionalItems`,parent:this})}additionalProperties(){return"boolean"==typeof this._json?this._json:"boolean"==typeof this._json.additionalProperties?this._json.additionalProperties:void 0===this._json.additionalProperties||null!==this._json.additionalProperties&&this.createModel(H,this._json.additionalProperties,{pointer:`${this._meta.pointer}/additionalProperties`,parent:this})}allOf(){if("boolean"!=typeof this._json&&Array.isArray(this._json.allOf))return this._json.allOf.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/allOf/${t}`,parent:this})))}anyOf(){if("boolean"!=typeof this._json&&Array.isArray(this._json.anyOf))return this._json.anyOf.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/anyOf/${t}`,parent:this})))}const(){if("boolean"!=typeof this._json)return this._json.const}contains(){if("boolean"!=typeof this._json&&"object"==typeof this._json.contains)return this.createModel(H,this._json.contains,{pointer:`${this._meta.pointer}/contains`,parent:this})}contentEncoding(){if("boolean"!=typeof this._json)return this._json.contentEncoding}contentMediaType(){if("boolean"!=typeof this._json)return this._json.contentMediaType}default(){if("boolean"!=typeof this._json)return this._json.default}definitions(){if("boolean"!=typeof this._json&&"object"==typeof this._json.definitions)return Object.entries(this._json.definitions).reduce(((e,[t,i])=>(e[t]=this.createModel(H,i,{pointer:`${this._meta.pointer}/definitions/${t}`,parent:this}),e)),{})}description(){if("boolean"!=typeof this._json)return this._json.description}dependencies(){if("boolean"!=typeof this._json&&"object"==typeof this._json.dependencies)return Object.entries(this._json.dependencies).reduce(((e,[t,i])=>(e[t]=Array.isArray(i)?i:this.createModel(H,i,{pointer:`${this._meta.pointer}/dependencies/${t}`,parent:this}),e)),{})}deprecated(){return"boolean"!=typeof this._json&&(this._json.deprecated||!1)}discriminator(){if("boolean"!=typeof this._json)return this._json.discriminator}else(){if("boolean"!=typeof this._json&&"object"==typeof this._json.else)return this.createModel(H,this._json.else,{pointer:`${this._meta.pointer}/else`,parent:this})}enum(){if("boolean"!=typeof this._json)return this._json.enum}examples(){if("boolean"!=typeof this._json)return this._json.examples}exclusiveMaximum(){if("boolean"!=typeof this._json)return this._json.exclusiveMaximum}exclusiveMinimum(){if("boolean"!=typeof this._json)return this._json.exclusiveMinimum}format(){if("boolean"!=typeof this._json)return this._json.format}isBooleanSchema(){return"boolean"==typeof this._json}if(){if("boolean"!=typeof this._json&&"object"==typeof this._json.if)return this.createModel(H,this._json.if,{pointer:`${this._meta.pointer}/if`,parent:this})}isCircular(){let e=this._meta.parent;for(;e;){if(e._json===this._json)return!0;e=e._meta.parent}return!1}items(){if("boolean"!=typeof this._json&&"object"==typeof this._json.items)return Array.isArray(this._json.items)?this._json.items.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/items/${t}`,parent:this}))):this.createModel(H,this._json.items,{pointer:`${this._meta.pointer}/items`,parent:this})}maximum(){if("boolean"!=typeof this._json)return this._json.maximum}maxItems(){if("boolean"!=typeof this._json)return this._json.maxItems}maxLength(){if("boolean"!=typeof this._json)return this._json.maxLength}maxProperties(){if("boolean"!=typeof this._json)return this._json.maxProperties}minimum(){if("boolean"!=typeof this._json)return this._json.minimum}minItems(){if("boolean"!=typeof this._json)return this._json.minItems}minLength(){if("boolean"!=typeof this._json)return this._json.minLength}minProperties(){if("boolean"!=typeof this._json)return this._json.minProperties}multipleOf(){if("boolean"!=typeof this._json)return this._json.multipleOf}not(){if("boolean"!=typeof this._json&&"object"==typeof this._json.not)return this.createModel(H,this._json.not,{pointer:`${this._meta.pointer}/not`,parent:this})}oneOf(){if("boolean"!=typeof this._json&&Array.isArray(this._json.oneOf))return this._json.oneOf.map(((e,t)=>this.createModel(H,e,{pointer:`${this._meta.pointer}/oneOf/${t}`,parent:this})))}pattern(){if("boolean"!=typeof this._json)return this._json.pattern}patternProperties(){if("boolean"!=typeof this._json&&"object"==typeof this._json.patternProperties)return Object.entries(this._json.patternProperties).reduce(((e,[t,i])=>(e[t]=this.createModel(H,i,{pointer:`${this._meta.pointer}/patternProperties/${t}`,parent:this}),e)),{})}properties(){if("boolean"!=typeof this._json&&"object"==typeof this._json.properties)return Object.entries(this._json.properties).reduce(((e,[t,i])=>(e[t]=this.createModel(H,i,{pointer:`${this._meta.pointer}/properties/${t}`,parent:this}),e)),{})}property(e){if("boolean"!=typeof this._json&&"object"==typeof this._json.properties&&"object"==typeof this._json.properties[e])return this.createModel(H,this._json.properties[e],{pointer:`${this._meta.pointer}/properties/${e}`,parent:this})}propertyNames(){if("boolean"!=typeof this._json&&"object"==typeof this._json.propertyNames)return this.createModel(H,this._json.propertyNames,{pointer:`${this._meta.pointer}/propertyNames`,parent:this})}readOnly(){return"boolean"!=typeof this._json&&(this._json.readOnly||!1)}required(){if("boolean"!=typeof this._json)return this._json.required}schemaFormat(){return this._meta.schemaFormat||G(this._meta.asyncapi.semver.version)}then(){if("boolean"!=typeof this._json&&"object"==typeof this._json.then)return this.createModel(H,this._json.then,{pointer:`${this._meta.pointer}/then`,parent:this})}title(){if("boolean"!=typeof this._json)return this._json.title}type(){if("boolean"!=typeof this._json)return this._json.type}uniqueItems(){return"boolean"!=typeof this._json&&(this._json.uniqueItems||!1)}writeOnly(){return"boolean"!=typeof this._json&&(this._json.writeOnly||!1)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}extensions(){return M(this)}}class J extends e{id(){return this._meta.id}hasSchema(){return!!this._json.schema}schema(){if(this._json.schema)return this.createModel(H,this._json.schema,{pointer:`${this._meta.pointer}/schema`})}hasLocation(){return!!this._json.location}location(){return this._json.location}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}}class W extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class Q extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.isSend()))}filterByReceive(){return this.filterBy((e=>e.isReceive()))}}class Z extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Y extends e{location(){return this._json.location}hasDescription(){return k(this)}description(){return R(this)}extensions(){return M(this)}}class X extends t{get(e){return this.collections.find((t=>t.name()===e))}}class ee extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasHeaders(){return!!this._json.headers}headers(){return this._json.headers}hasPayload(){return!!this._json.payload}payload(){return this._json.payload}extensions(){return M(this)}}class te extends e{id(){return this._json.messageId||this._meta.id||this.json(b)}hasSchemaFormat(){return void 0!==this.schemaFormat()}schemaFormat(){return this._json.schemaFormat||G(this._meta.asyncapi.semver.version)}hasMessageId(){return!!this._json.messageId}hasCorrelationId(){return!!this._json.correlationId}correlationId(){if(this._json.correlationId)return this.createModel(Y,this._json.correlationId,{pointer:`${this._meta.pointer}/correlationId`})}hasContentType(){return!!this._json.contentType}contentType(){var e;return this._json.contentType||(null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.defaultContentType)}hasHeaders(){return!!this._json.headers}headers(){if(this._json.headers)return this.createModel(H,this._json.headers,{pointer:`${this._meta.pointer}/headers`})}hasName(){return!!this._json.name}name(){return this._json.name}hasTitle(){return!!this._json.title}title(){return this._json.title}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasDescription(){return k(this)}description(){return R(this)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}examples(){return new X((this._json.examples||[]).map(((e,t)=>this.createModel(ee,e,{pointer:`${this._meta.pointer}/examples/${t}`}))))}tags(){return N(this)}bindings(){return I(this)}extensions(){return M(this)}}class ie extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}var ne=i(23859),re=i(94169);function se(e,t,i){return{source:i,input:t,parsed:e,semver:oe(e.asyncapi)}}function oe(e){const[t,i,n]=e.split("."),[r,s]=n.split("-rc");return{version:e,major:Number(t),minor:Number(i),patch:Number(r),rc:s&&Number(s)}}function ae(e,t,i){ce(e,t,i.json())}function ce(e,t,i){"object"==typeof i&&i&&(e=e.startsWith("x-")?e:`x-${e}`,i[String(e)]=t)}function pe(e,t){if(!de(t))return t;const i=de(e)?Object.assign({},e):{};return Object.keys(t).forEach((e=>{const n=t[e];null===n?delete i[e]:i[e]=pe(i[e],n)})),i}function de(e){return Boolean(e)&&"object"==typeof e&&!1===Array.isArray(e)}function fe(e,t,i){if(!(e instanceof Error))return[];const n=i?i.getRangeForJsonPath([]):ne.Document.DEFAULT_RANGE;return[{code:"uncaught-error",message:`${t}. Name: ${e.name}, message: ${e.message}, stack: ${e.stack}`,path:[],severity:re.h_.Error,range:n}]}function le(e){return e.replace(/[~/]{1}/g,(e=>{switch(e){case"/":return"~1";case"~":return"~0"}return e}))}function ue(e){return e.includes("~")?e.replace(/~[01]/g,(e=>{switch(e){case"~1":return"/";case"~0":return"~"}return e})):e}function me(e,t){let i=0;const n=t.length;for(;"object"==typeof e&&e&&i{i.servers().forEach((i=>{t.includes(i.json())||(t.push(i.json()),e.push(i))}))})),new ie(e)}channels(){const e=[],t=[];return this.operations().all().forEach((i=>{i.channels().forEach((i=>{t.includes(i.json())||(t.push(i.json()),e.push(i))}))})),new V(e)}operations(){var e;const t=[];return Object.entries((null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.channels)||{}).forEach((([e,i])=>{["subscribe","publish"].forEach((n=>{const r=i[n];r&&(r.message===this._json||(r.message.oneOf||[]).includes(this._json))&&t.push(this.createModel(we,r,{id:"",pointer:`/channels/${le(e)}/${n}`,action:n}))}))})),new Q(t)}traits(){return new Z((this._json.traits||[]).map(((e,t)=>this.createModel(te,e,{id:"",pointer:`${this._meta.pointer}/traits/${t}`}))))}}class ye extends t{get(e){return this.collections.find((t=>t.id()===e))}}class ge extends e{hasAuthorizationUrl(){return!!this.json().authorizationUrl}authorizationUrl(){return this.json().authorizationUrl}hasTokenUrl(){return!!this.json().tokenUrl}tokenUrl(){return this.json().tokenUrl}hasRefreshUrl(){return!!this._json.refreshUrl}refreshUrl(){return this._json.refreshUrl}scopes(){return this._json.scopes}extensions(){return M(this)}}class be extends e{hasAuthorizationCode(){return!!this._json.authorizationCode}authorizationCode(){if(this._json.authorizationCode)return new ge(this._json.authorizationCode)}hasClientCredentials(){return!!this._json.clientCredentials}clientCredentials(){if(this._json.clientCredentials)return new ge(this._json.clientCredentials)}hasImplicit(){return!!this._json.implicit}implicit(){if(this._json.implicit)return new ge(this._json.implicit)}hasPassword(){return!!this._json.password}password(){if(this._json.password)return new ge(this._json.password)}extensions(){return M(this)}}class ve extends e{id(){return this._meta.id}type(){return this._json.type}hasDescription(){return k(this)}description(){return R(this)}hasName(){return!!this._json.name}name(){return this._json.name}hasIn(){return!!this._json.in}in(){return this._json.in}hasScheme(){return!!this._json.scheme}scheme(){return this._json.scheme}hasBearerFormat(){return!!this._json.bearerFormat}bearerFormat(){return this._json.bearerFormat}hasFlows(){return!!this._json.flows}flows(){if(this._json.flows)return new be(this._json.flows)}hasOpenIdConnectUrl(){return!!this._json.openIdConnectUrl}openIdConnectUrl(){return this._json.openIdConnectUrl}extensions(){return M(this)}}class $e extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class je extends e{scheme(){return this._json.scheme}scopes(){return this._json.scopes||[]}}class _e extends e{id(){return this.operationId()||this._meta.id}hasOperationId(){return!!this._json.operationId}operationId(){return this._json.operationId}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasDescription(){return k(this)}description(){return R(this)}hasExternalDocs(){return q(this)}externalDocs(){return C(this)}security(){var e,t,i,n;const r=(null===(n=null===(i=null===(t=null===(e=this._meta)||void 0===e?void 0:e.asyncapi)||void 0===t?void 0:t.parsed)||void 0===i?void 0:i.components)||void 0===n?void 0:n.securitySchemes)||{};return(this._json.security||[]).map(((e,t)=>{const i=[];return Object.entries(e).forEach((([e,n])=>{const s=this.createModel(ve,r[e],{id:e,pointer:`/components/securitySchemes/${e}`});i.push(this.createModel(je,{scheme:s,scopes:n},{id:e,pointer:`${this.meta().pointer}/security/${t}/${e}`}))})),new $e(i)}))}tags(){return N(this)}bindings(){return I(this)}extensions(){return M(this)}}class we extends _e{action(){return this._meta.action}isSend(){return"subscribe"===this.action()}isReceive(){return"publish"===this.action()}servers(){const e=[],t=[];return this.channels().forEach((i=>{i.servers().forEach((i=>{t.includes(i.json())||(t.push(i.json()),e.push(i))}))})),new ie(e)}channels(){const e=[];return Object.entries(this._meta.asyncapi.parsed.channels||{}).forEach((([t,i])=>{i.subscribe!==this._json&&i.publish!==this._json||e.push(this.createModel(Oe,i,{id:t,address:t,pointer:`/channels/${le(t)}`}))})),new V(e)}messages(){let e=!1,t=[];return this._json.message&&(Array.isArray(this._json.message.oneOf)?(t=this._json.message.oneOf,e=!0):t=[this._json.message]),new W(t.map(((t,i)=>this.createModel(he,t,{id:"",pointer:`${this._meta.pointer}/message${e?`/oneOf/${i}`:""}`}))))}reply(){}traits(){return new ye((this._json.traits||[]).map(((e,t)=>this.createModel(_e,e,{id:"",pointer:`${this._meta.pointer}/traits/${t}`,action:""}))))}}class xe extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Pe extends e{id(){return this._meta.id}hasDescription(){return k(this)}description(){return R(this)}hasDefaultValue(){return!!this._json.default}defaultValue(){return this._json.default}hasAllowedValues(){return!!this._json.enum}allowedValues(){return this._json.enum||[]}examples(){return this._json.examples||[]}extensions(){return M(this)}}class Se extends e{id(){return this._meta.id}url(){return this._json.url}host(){return new URL(this.url()).host}hasPathname(){return!!this.pathname()}pathname(){return new URL(this.url()).pathname}protocol(){return this._json.protocol}hasProtocolVersion(){return!!this._json.protocolVersion}protocolVersion(){return this._json.protocolVersion}hasDescription(){return k(this)}description(){return R(this)}channels(){var e;const t=[];return Object.entries((null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.channels)||{}).forEach((([e,i])=>{const n=i.servers||[];(0===n.length||n.includes(this._meta.id))&&t.push(this.createModel(Oe,i,{id:e,address:e,pointer:`/channels/${le(e)}`}))})),new V(t)}operations(){const e=[];return this.channels().forEach((t=>{e.push(...t.operations().all())})),new Q(e)}messages(){const e=[];return this.operations().forEach((t=>e.push(...t.messages().all()))),new W(e)}variables(){return new xe(Object.entries(this._json.variables||{}).map((([e,t])=>this.createModel(Pe,t,{id:e,pointer:`${this._meta.pointer}/variables/${e}`}))))}security(){var e,t,i,n;const r=(null===(n=null===(i=null===(t=null===(e=this._meta)||void 0===e?void 0:e.asyncapi)||void 0===t?void 0:t.parsed)||void 0===i?void 0:i.components)||void 0===n?void 0:n.securitySchemes)||{};return(this._json.security||[]).map(((e,t)=>{const i=[];return Object.entries(e).forEach((([e,n])=>{const s=this.createModel(ve,r[e],{id:e,pointer:`/components/securitySchemes/${e}`});i.push(this.createModel(je,{scheme:s,scopes:n},{id:e,pointer:`${this.meta().pointer}/security/${t}/${e}`}))})),new $e(i)}))}tags(){return N(this)}bindings(){return I(this)}extensions(){return M(this)}}class Oe extends e{id(){return this._meta.id}address(){return this._meta.address}hasDescription(){return k(this)}description(){return R(this)}servers(){var e;const t=[],i=this._json.servers||[];return Object.entries((null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed.servers)||{}).forEach((([e,n])=>{(0===i.length||i.includes(e))&&t.push(this.createModel(Se,n,{id:e,pointer:`/servers/${e}`}))})),new ie(t)}operations(){const e=[];return["publish","subscribe"].forEach((t=>{const i=this._json[t],n=i&&i.operationId||t;i&&e.push(this.createModel(we,i,{id:n,action:t,pointer:`${this._meta.pointer}/${t}`}))})),new Q(e)}messages(){const e=[];return this.operations().forEach((t=>e.push(...t.messages().all()))),new W(e)}parameters(){return new L(Object.entries(this._json.parameters||{}).map((([e,t])=>this.createModel(J,t,{id:e,pointer:`${this._meta.pointer}/parameters/${e}`}))))}bindings(){return I(this)}extensions(){return M(this)}}class Ee extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Ae extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Te extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class Ie extends e{servers(){return this.createCollection("servers",ie,Se)}channels(){return new V(Object.entries(this._json.channels||{}).map((([e,t])=>this.createModel(Oe,t,{id:e,address:"",pointer:`/components/channels/${le(e)}`}))))}operations(){return new Q([])}messages(){return this.createCollection("messages",W,he)}schemas(){return this.createCollection("schemas",Ee,H)}channelParameters(){return this.createCollection("parameters",L,J)}serverVariables(){return this.createCollection("serverVariables",xe,Pe)}operationTraits(){return this.createCollection("operationTraits",ye,_e)}messageTraits(){return this.createCollection("messageTraits",Z,te)}correlationIds(){return this.createCollection("correlationIds",Te,Y)}securitySchemes(){return this.createCollection("securitySchemes",Ae,ve)}serverBindings(){return this.createBindings("serverBindings")}channelBindings(){return this.createBindings("channelBindings")}operationBindings(){return this.createBindings("operationBindings")}messageBindings(){return this.createBindings("messageBindings")}extensions(){return M(this)}isEmpty(){return 0===Object.keys(this._json).length}createCollection(e,t,i){const n=[];return Object.entries(this._json[e]||{}).forEach((([t,r])=>{n.push(this.createModel(i,r,{id:t,pointer:`/components/${e}/${t}`}))})),new t(n)}createBindings(e){return Object.entries(this._json[e]||{}).reduce(((t,[i,n])=>{const r=n||{},s=this.meta("asyncapi"),o=`components/${e}/${i}`;return t[i]=new S(Object.entries(r).map((([e,t])=>this.createModel(O,t,{protocol:e,pointer:`${o}/${e}`}))),{originalData:r,asyncapi:s,pointer:o}),t}),{})}}class ke extends e{version(){return this._json.asyncapi}defaultContentType(){return this._json.defaultContentType}hasDefaultContentType(){return!!this._json.defaultContentType}info(){return this.createModel(U,this._json.info,{pointer:"/info"})}servers(){return new ie(Object.entries(this._json.servers||{}).map((([e,t])=>this.createModel(Se,t,{id:e,pointer:`/servers/${e}`}))))}channels(){return new V(Object.entries(this._json.channels||{}).map((([e,t])=>this.createModel(Oe,t,{id:e,address:e,pointer:`/channels/${le(e)}`}))))}operations(){const e=[];return this.channels().forEach((t=>e.push(...t.operations()))),new Q(e)}messages(){const e=[];return this.operations().forEach((t=>t.messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))))),new W(e)}schemas(){return l(this,Ee,!1)}securitySchemes(){var e;return new Ae(Object.entries((null===(e=this._json.components)||void 0===e?void 0:e.securitySchemes)||{}).map((([e,t])=>this.createModel(ve,t,{id:e,pointer:`/components/securitySchemes/${e}`}))))}components(){return this.createModel(Ie,this._json.components||{},{pointer:"/components"})}allServers(){const e=this.servers().all();return this.components().servers().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new ie(e)}allChannels(){const e=this.channels().all();return this.components().channels().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new V(e)}allOperations(){const e=[];return this.allChannels().forEach((t=>e.push(...t.operations()))),new Q(e)}allMessages(){const e=[];return this.allOperations().forEach((t=>t.messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))))),this.components().messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new W(e)}allSchemas(){return l(this,Ee,!0)}extensions(){return M(this)}}class Re extends t{get(e){return e=e.startsWith("x-")?e:`x-${e}`,this.collections.find((t=>t.id()===e))}}class Me extends e{id(){return this._meta.id}version(){return"to implement"}value(){return this._json}}class qe extends t{get(e){return this.collections.find((t=>t.protocol()===e))}extensions(){const e=[];return Object.entries(this._meta.originalData||{}).forEach((([t,i])=>{w.test(t)&&e.push(f(Me,i,{id:t,pointer:`${this._meta.pointer}/${t}`,asyncapi:this._meta.asyncapi}))})),new Re(e)}}class Ce extends e{protocol(){return this._meta.protocol}version(){return this._json.bindingVersion||"latest"}value(){const e=Object.assign({},this._json);return delete e.bindingVersion,e}extensions(){return ze(this)}}class Ne extends e{id(){return this._meta.id}url(){return this._json.url}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}}class De extends t{get(e){return this.collections.find((t=>t.name()===e))}}class Fe extends e{id(){return this._meta.id}name(){return this._json.name}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}}class Ue extends e{hasTitle(){return!!this._json.title}title(){return this._json.title}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasDescription(){return Ve(this)}description(){return Le(this)}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}tags(){return Ge(this)}bindings(){return function(e){const t=e.json("bindings")||{};return new qe(Object.entries(t||{}).map((([t,i])=>f(Ce,i,{protocol:t,pointer:e.jsonPath(`bindings/${t}`)},e))),{originalData:t,asyncapi:e.meta("asyncapi"),pointer:e.jsonPath("bindings")})}(this)}extensions(){return ze(this)}}function Ve(e){return Boolean(Le(e))}function Le(e){return e.json("description")}function ze(e){const t=[];return Object.entries(e.json()).forEach((([i,n])=>{w.test(i)&&t.push(f(Me,n,{id:i,pointer:e.jsonPath(i)},e))})),new Re(t)}function Be(e){return Object.keys(e.json("externalDocs")||{}).length>0}function Ke(e){if(Be(e))return new Ne(e.json("externalDocs"))}function Ge(e){return new De((e.json("tags")||[]).map(((t,i)=>f(Fe,t,{pointer:e.jsonPath(`tags/${i}`)},e))))}class He extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}hasEmail(){return!!this._json.email}email(){return this._json.email}extensions(){return ze(this)}}class Je extends e{name(){return this._json.name}hasUrl(){return!!this._json.url}url(){return this._json.url}extensions(){return ze(this)}}class We extends e{title(){return this._json.title}version(){return this._json.version}hasId(){return!!this._meta.asyncapi.parsed.id}id(){return this._meta.asyncapi.parsed.id}hasDescription(){return Ve(this)}description(){return Le(this)}hasTermsOfService(){return!!this._json.termsOfService}termsOfService(){return this._json.termsOfService}hasContact(){return Object.keys(this._json.contact||{}).length>0}contact(){const e=this._json.contact;return e&&this.createModel(He,e,{pointer:this.jsonPath("contact")})}hasLicense(){return Object.keys(this._json.license||{}).length>0}license(){const e=this._json.license;return e&&this.createModel(Je,e,{pointer:this.jsonPath("license")})}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}tags(){return Ge(this)}extensions(){return ze(this)}}class Qe extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class Ze extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class Ye extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Xe extends e{constructor(e,t={}){var i,n;super(e,t),this._json=e,this._meta=t,"object"==typeof e&&"object"==typeof e.schema?(this._schemaObject=e.schema,this._schemaFormat=e.schemaFormat):(this._schemaObject=e,this._schemaFormat=G(null===(n=null===(i=t.asyncapi)||void 0===i?void 0:i.semver)||void 0===n?void 0:n.version))}id(){return this.$id()||this._meta.id||this._schemaObject[v]}$comment(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.$comment}$id(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.$id}$schema(){var e;return"boolean"==typeof this._schemaObject?"http://json-schema.org/draft-07/schema#":null!==(e=this._schemaObject.$schema)&&void 0!==e?e:"http://json-schema.org/draft-07/schema#"}additionalItems(){return"boolean"==typeof this._schemaObject?this._schemaObject:void 0===this._schemaObject.additionalItems||("boolean"==typeof this._schemaObject.additionalItems?this._schemaObject.additionalItems:this.createModel(Xe,this._schemaObject.additionalItems,{pointer:`${this._meta.pointer}/additionalItems`,parent:this}))}additionalProperties(){return"boolean"==typeof this._schemaObject?this._schemaObject:void 0===this._schemaObject.additionalProperties||("boolean"==typeof this._schemaObject.additionalProperties?this._schemaObject.additionalProperties:this.createModel(Xe,this._schemaObject.additionalProperties,{pointer:`${this._meta.pointer}/additionalProperties`,parent:this}))}allOf(){if("boolean"!=typeof this._schemaObject&&Array.isArray(this._schemaObject.allOf))return this._schemaObject.allOf.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/allOf/${t}`,parent:this})))}anyOf(){if("boolean"!=typeof this._schemaObject&&Array.isArray(this._schemaObject.anyOf))return this._schemaObject.anyOf.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/anyOf/${t}`,parent:this})))}const(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.const}contains(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.contains)return this.createModel(Xe,this._schemaObject.contains,{pointer:`${this._meta.pointer}/contains`,parent:this})}contentEncoding(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.contentEncoding}contentMediaType(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.contentMediaType}default(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.default}definitions(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.definitions)return Object.entries(this._schemaObject.definitions).reduce(((e,[t,i])=>(e[t]=this.createModel(Xe,i,{pointer:`${this._meta.pointer}/definitions/${t}`,parent:this}),e)),{})}description(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.description}dependencies(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.dependencies)return Object.entries(this._schemaObject.dependencies).reduce(((e,[t,i])=>(e[t]=Array.isArray(i)?i:this.createModel(Xe,i,{pointer:`${this._meta.pointer}/dependencies/${t}`,parent:this}),e)),{})}deprecated(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.deprecated||!1)}discriminator(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.discriminator}else(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.else)return this.createModel(Xe,this._schemaObject.else,{pointer:`${this._meta.pointer}/else`,parent:this})}enum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.enum}examples(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.examples}exclusiveMaximum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.exclusiveMaximum}exclusiveMinimum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.exclusiveMinimum}format(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.format}isBooleanSchema(){return"boolean"==typeof this._schemaObject}if(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.if)return this.createModel(Xe,this._schemaObject.if,{pointer:`${this._meta.pointer}/if`,parent:this})}isCircular(){let e=this._meta.parent;for(;e;){if(e._json===this._schemaObject)return!0;e=e._meta.parent}return!1}items(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.items)return Array.isArray(this._schemaObject.items)?this._schemaObject.items.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/items/${t}`,parent:this}))):this.createModel(Xe,this._schemaObject.items,{pointer:`${this._meta.pointer}/items`,parent:this})}maximum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maximum}maxItems(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maxItems}maxLength(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maxLength}maxProperties(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.maxProperties}minimum(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minimum}minItems(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minItems}minLength(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minLength}minProperties(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.minProperties}multipleOf(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.multipleOf}not(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.not)return this.createModel(Xe,this._schemaObject.not,{pointer:`${this._meta.pointer}/not`,parent:this})}oneOf(){if("boolean"!=typeof this._schemaObject&&Array.isArray(this._schemaObject.oneOf))return this._schemaObject.oneOf.map(((e,t)=>this.createModel(Xe,e,{pointer:`${this._meta.pointer}/oneOf/${t}`,parent:this})))}pattern(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.pattern}patternProperties(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.patternProperties)return Object.entries(this._schemaObject.patternProperties).reduce(((e,[t,i])=>(e[t]=this.createModel(Xe,i,{pointer:`${this._meta.pointer}/patternProperties/${t}`,parent:this}),e)),{})}properties(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.properties)return Object.entries(this._schemaObject.properties).reduce(((e,[t,i])=>(e[t]=this.createModel(Xe,i,{pointer:`${this._meta.pointer}/properties/${t}`,parent:this}),e)),{})}property(e){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.properties&&"object"==typeof this._schemaObject.properties[e])return this.createModel(Xe,this._schemaObject.properties[e],{pointer:`${this._meta.pointer}/properties/${e}`,parent:this})}propertyNames(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.propertyNames)return this.createModel(Xe,this._schemaObject.propertyNames,{pointer:`${this._meta.pointer}/propertyNames`,parent:this})}readOnly(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.readOnly||!1)}required(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.required}schemaFormat(){return this._schemaFormat}then(){if("boolean"!=typeof this._schemaObject&&"object"==typeof this._schemaObject.then)return this.createModel(Xe,this._schemaObject.then,{pointer:`${this._meta.pointer}/then`,parent:this})}title(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.title}type(){if("boolean"!=typeof this._schemaObject)return this._schemaObject.type}uniqueItems(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.uniqueItems||!1)}writeOnly(){return"boolean"!=typeof this._schemaObject&&(this._schemaObject.writeOnly||!1)}hasExternalDocs(){return Be(this)}externalDocs(){return Ke(this)}extensions(){return ze(this)}}class et extends e{id(){return this._meta.id}hasSchema(){return!0}schema(){return this.createModel(Xe,{type:"string",description:this._json.description,enum:this._json.enum,default:this._json.default,examples:this._json.examples},{pointer:`${this._meta.pointer}`})}hasLocation(){return!!this._json.location}location(){return this._json.location}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}}class tt extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.operations().filterBySend().length>0))}filterByReceive(){return this.filterBy((e=>e.operations().filterByReceive().length>0))}}class it extends t{get(e){return this.collections.find((t=>t.id()===e))}filterBySend(){return this.filterBy((e=>e.isSend()))}filterByReceive(){return this.filterBy((e=>e.isReceive()))}}class nt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class rt extends e{hasAuthorizationUrl(){return!!this.json().authorizationUrl}authorizationUrl(){return this.json().authorizationUrl}hasRefreshUrl(){return!!this._json.refreshUrl}refreshUrl(){return this._json.refreshUrl}scopes(){return this._json.availableScopes}hasTokenUrl(){return!!this.json().tokenUrl}tokenUrl(){return this.json().tokenUrl}extensions(){return ze(this)}}class st extends e{hasAuthorizationCode(){return!!this._json.authorizationCode}authorizationCode(){if(this._json.authorizationCode)return new rt(this._json.authorizationCode)}hasClientCredentials(){return!!this._json.clientCredentials}clientCredentials(){if(this._json.clientCredentials)return new rt(this._json.clientCredentials)}hasImplicit(){return!!this._json.implicit}implicit(){if(this._json.implicit)return new rt(this._json.implicit)}hasPassword(){return!!this._json.password}password(){if(this._json.password)return new rt(this._json.password)}extensions(){return ze(this)}}class ot extends e{id(){return this._meta.id}type(){return this._json.type}hasDescription(){return Ve(this)}description(){return Le(this)}hasName(){return!!this._json.name}name(){return this._json.name}hasIn(){return!!this._json.in}in(){return this._json.in}hasScheme(){return!!this._json.scheme}scheme(){return this._json.scheme}hasBearerFormat(){return!!this._json.bearerFormat}bearerFormat(){return this._json.bearerFormat}hasFlows(){return!!this._json.flows}flows(){if(this._json.flows)return new st(this._json.flows)}hasOpenIdConnectUrl(){return!!this._json.openIdConnectUrl}openIdConnectUrl(){return this._json.openIdConnectUrl}extensions(){return ze(this)}}class at extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class ct extends e{scheme(){return this._json.scheme}scopes(){return this._json.scopes||[]}}class pt extends Ue{id(){return this.operationId()||this._meta.id}hasOperationId(){return!!this._meta.id}operationId(){return this._meta.id}security(){return(this._json.security||[]).map(((e,t)=>{const i=this.createModel(ot,e,{id:"",pointer:this.jsonPath(`security/${t}`)}),n=this.createModel(ct,{scheme:i,scopes:e.scopes},{id:"",pointer:this.jsonPath(`security/${t}`)});return new at([n])}))}}class dt extends e{id(){return this._meta.id}location(){return this._json.location}hasDescription(){return Ve(this)}description(){return Le(this)}extensions(){return ze(this)}}class ft extends e{id(){return this._meta.id}hasAddress(){return!!this._json.address}address(){if(this._json.address)return this.createModel(dt,this._json.address,{pointer:this.jsonPath("address")})}hasChannel(){return!!this._json.channel}channel(){if(this._json.channel){const e=this._json.channel[_];return this.createModel(vt,this._json.channel,{id:e,pointer:this.jsonPath("channel")})}return this._json.channel}messages(){var e;return new tt(Object.values(null!==(e=this._json.messages)&&void 0!==e?e:{}).map((e=>{const t=e[_];return this.createModel(bt,e,{id:t,pointer:this.jsonPath(`messages/${t}`)})})))}extensions(){return ze(this)}}class lt extends pt{action(){return this._json.action}isSend(){return"send"===this.action()}isReceive(){return"receive"===this.action()}servers(){const e=[],t=[];return this.channels().forEach((i=>{i.servers().forEach((i=>{const n=i.json();t.includes(n)||(t.push(n),e.push(i))}))})),new Qe(e)}channels(){if(this._json.channel){const e=this._json.channel[_];return new Ze([this.createModel(vt,this._json.channel,{id:e,pointer:`/channels/${e}`})])}return new Ze([])}messages(){const e=[];return Array.isArray(this._json.messages)?(this._json.messages.forEach(((t,i)=>{const n=t[_];e.push(this.createModel(bt,t,{id:n,pointer:this.jsonPath(`messages/${i}`)}))})),new tt(e)):(this.channels().forEach((t=>{e.push(...t.messages())})),new tt(e))}hasReply(){return!!this._json.reply}reply(){if(this._json.reply)return this.createModel(ft,this._json.reply,{pointer:this.jsonPath("reply")})}traits(){return new nt((this._json.traits||[]).map(((e,t)=>this.createModel(pt,e,{id:"",pointer:this.jsonPath(`traits/${t}`)}))))}}class ut extends t{get(e){return this.collections.find((t=>t.id()===e))}}class mt extends e{hasDescription(){return Ve(this)}description(){return Le(this)}hasLocation(){return!!this._json.location}location(){return this._json.location}extensions(){return ze(this)}}class ht extends t{get(e){return this.collections.find((t=>t.name()===e))}}class yt extends e{hasName(){return!!this._json.name}name(){return this._json.name}hasSummary(){return!!this._json.summary}summary(){return this._json.summary}hasHeaders(){return!!this._json.headers}headers(){return this._json.headers}hasPayload(){return!!this._json.payload}payload(){return this._json.payload}extensions(){return ze(this)}}class gt extends Ue{id(){var e;return this._meta.id||(null===(e=this.extensions().get(b))||void 0===e?void 0:e.value())}hasMessageId(){return!1}hasSchemaFormat(){return!1}schemaFormat(){}hasCorrelationId(){return!!this._json.correlationId}correlationId(){if(this._json.correlationId)return this.createModel(mt,this._json.correlationId,{pointer:this.jsonPath("correlationId")})}hasContentType(){return!!this._json.contentType}contentType(){var e,t;return this._json.contentType||(null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.defaultContentType)}hasHeaders(){return!!this._json.headers}headers(){if(this._json.headers)return this.createModel(Xe,this._json.headers,{pointer:this.jsonPath("headers")})}hasName(){return!!this._json.name}name(){return this._json.name}examples(){return new ht((this._json.examples||[]).map(((e,t)=>this.createModel(yt,e,{pointer:this.jsonPath(`examples/${t}`)}))))}}class bt extends gt{hasPayload(){return!!this._json.payload}payload(){if(this._json.payload)return this.createModel(Xe,this._json.payload,{pointer:this.jsonPath("payload")})}hasSchemaFormat(){return this.hasPayload()}schemaFormat(){var e;if(this.hasSchemaFormat())return null===(e=this.payload())||void 0===e?void 0:e.schemaFormat()}servers(){const e=[],t=[];return this.channels().forEach((i=>{i.servers().forEach((i=>{const n=i.json();t.includes(n)||(t.push(n),e.push(i))}))})),new Qe(e)}channels(){var e,t;const i=this._json[_],n=[],r=[];return this.operations().forEach((e=>{e.channels().forEach((e=>{const t=e.json();r.includes(t)||(r.push(t),n.push(e))}))})),Object.entries((null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.channels)||{}).forEach((([e,t])=>{const s=this.createModel(vt,t,{id:e,pointer:`/channels/${e}`});!r.includes(t)&&s.messages().some((e=>e[_]===i))&&(r.push(t),n.push(s))})),new Ze(n)}operations(){var e,t;const i=this._json[_],n=[];return Object.entries((null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.operations)||{}).forEach((([e,t])=>{const r=this.createModel(lt,t,{id:e,pointer:`/operations/${e}`});r.messages().some((e=>e[_]===i))&&n.push(r)})),new it(n)}traits(){return new ut((this._json.traits||[]).map(((e,t)=>this.createModel(gt,e,{id:"",pointer:this.jsonPath(`traits/${t}`)}))))}}class vt extends Ue{id(){return this._meta.id}address(){return this._json.address}servers(){var e,t,i;const n=[],r=null!==(e=this._json.servers)&&void 0!==e?e:[];return Object.entries(null!==(i=null===(t=this._meta.asyncapi)||void 0===t?void 0:t.parsed.servers)&&void 0!==i?i:{}).forEach((([e,t])=>{(0===r.length||r.includes(t))&&n.push(this.createModel(_t,t,{id:e,pointer:`/servers/${e}`}))})),new Qe(n)}operations(){var e,t,i;const n=[];return Object.entries(null!==(i=null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.operations)&&void 0!==i?i:{}).forEach((([e,t])=>{t.channel[_]===this._json[_]&&n.push(this.createModel(lt,t,{id:e,pointer:`/operations/${e}`}))})),new it(n)}messages(){var e;return new tt(Object.entries(null!==(e=this._json.messages)&&void 0!==e?e:{}).map((([e,t])=>this.createModel(bt,t,{id:e,pointer:this.jsonPath(`messages/${e}`)}))))}parameters(){var e;return new Ye(Object.entries(null!==(e=this._json.parameters)&&void 0!==e?e:{}).map((([e,t])=>this.createModel(et,t,{id:e,pointer:this.jsonPath(`parameters/${e}`)}))))}}class $t extends t{get(e){return this.collections.find((t=>t.id()===e))}}class jt extends e{id(){return this._meta.id}hasDescription(){return Ve(this)}description(){return Le(this)}hasDefaultValue(){return!!this._json.default}defaultValue(){return this._json.default}hasAllowedValues(){return!!this._json.enum}allowedValues(){return this._json.enum||[]}examples(){return this._json.examples||[]}extensions(){return ze(this)}}class _t extends Ue{id(){return this._meta.id}url(){let e=this.host();e.endsWith("/")||(e=`${e}/`);let t=this.pathname()||"";return t.startsWith("/")&&(t=t.substring(1)),`${this.protocol()}://${e}${t}`}host(){return this._json.host}protocol(){return this._json.protocol}hasPathname(){return!!this._json.pathname}pathname(){return this._json.pathname}hasProtocolVersion(){return!!this._json.protocolVersion}protocolVersion(){return this._json.protocolVersion}channels(){var e,t;const i=[];return Object.entries((null===(t=null===(e=this._meta.asyncapi)||void 0===e?void 0:e.parsed)||void 0===t?void 0:t.channels)||{}).forEach((([e,t])=>{const n=t.servers||[];(0===n.length||n.includes(this._json))&&i.push(this.createModel(vt,t,{id:e,pointer:`/channels/${le(e)}`}))})),new Ze(i)}operations(){const e=[],t=[];return this.channels().forEach((i=>{i.operations().forEach((i=>{const n=i.json();t.includes(n)||(e.push(i),t.push(n))}))})),new it(e)}messages(){const e=[],t=[];return this.channels().forEach((i=>{i.messages().forEach((i=>{const n=i.json();t.includes(n)||(e.push(i),t.push(n))}))})),new tt(e)}variables(){return new $t(Object.entries(this._json.variables||{}).map((([e,t])=>this.createModel(jt,t,{id:e,pointer:this.jsonPath(`variables/${e}`)}))))}security(){return(this._json.security||[]).map(((e,t)=>{const i=this.createModel(ot,e,{id:"",pointer:this.jsonPath(`security/${t}`)}),n=this.createModel(ct,{scheme:i,scopes:e.scopes},{id:"",pointer:this.jsonPath(`security/${t}`)});return new at([n])}))}}class wt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class xt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Pt extends t{get(e){return this.collections.find((t=>t.id()===e))}}class St extends t{get(e){return this.collections.find((t=>t.id()===e))}}class Ot extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class Et extends t{get(e){return this.collections.find((t=>t.meta("id")===e))}}class At extends e{servers(){return this.createCollection("servers",Qe,_t)}channels(){return this.createCollection("channels",Ze,vt)}operations(){return this.createCollection("operations",it,lt)}messages(){return this.createCollection("messages",tt,bt)}schemas(){return this.createCollection("schemas",xt,Xe)}channelParameters(){return this.createCollection("parameters",Ye,et)}serverVariables(){return this.createCollection("serverVariables",$t,jt)}operationTraits(){return this.createCollection("operationTraits",nt,pt)}messageTraits(){return this.createCollection("messageTraits",ut,gt)}replies(){return this.createCollection("replies",Pt,ft)}replyAddresses(){return this.createCollection("replyAddresses",St,dt)}correlationIds(){return this.createCollection("correlationIds",Ot,mt)}securitySchemes(){return this.createCollection("securitySchemes",wt,ot)}tags(){return this.createCollection("tags",De,Fe)}externalDocs(){return this.createCollection("externalDocs",Et,Ne)}serverBindings(){return this.createBindings("serverBindings")}channelBindings(){return this.createBindings("channelBindings")}operationBindings(){return this.createBindings("operationBindings")}messageBindings(){return this.createBindings("messageBindings")}extensions(){return ze(this)}isEmpty(){return 0===Object.keys(this._json).length}createCollection(e,t,i){const n=[];return Object.entries(this._json[e]||{}).forEach((([t,r])=>{n.push(this.createModel(i,r,{id:t,pointer:`/components/${e}/${le(t)}`}))})),new t(n)}createBindings(e){return Object.entries(this._json[e]||{}).reduce(((t,[i,n])=>{const r=n||{},s=this.meta("asyncapi"),o=`components/${e}/${i}`;return t[i]=new qe(Object.entries(r).map((([e,t])=>this.createModel(Ce,t,{protocol:e,pointer:`${o}/${e}`}))),{originalData:r,asyncapi:s,pointer:o}),t}),{})}}class Tt extends e{version(){return this._json.asyncapi}defaultContentType(){return this._json.defaultContentType}hasDefaultContentType(){return!!this._json.defaultContentType}info(){return this.createModel(We,this._json.info,{pointer:"/info"})}servers(){return new Qe(Object.entries(this._json.servers||{}).map((([e,t])=>this.createModel(_t,t,{id:e,pointer:`/servers/${le(e)}`}))))}channels(){return new Ze(Object.entries(this._json.channels||{}).map((([e,t])=>this.createModel(vt,t,{id:e,pointer:`/channels/${le(e)}`}))))}operations(){return new it(Object.entries(this._json.operations||{}).map((([e,t])=>this.createModel(lt,t,{id:e,pointer:`/operations/${le(e)}`}))))}messages(){const e=[],t=[];return this.channels().forEach((i=>{i.messages().forEach((i=>{const n=i.json();t.includes(n)||(t.push(n),e.push(i))}))})),new tt(e)}schemas(){return l(this,xt,!1)}securitySchemes(){var e;return new wt(Object.entries((null===(e=this._json.components)||void 0===e?void 0:e.securitySchemes)||{}).map((([e,t])=>this.createModel(ot,t,{id:e,pointer:`/components/securitySchemes/${e}`}))))}components(){return this.createModel(At,this._json.components||{},{pointer:"/components"})}allServers(){const e=this.servers().all();return this.components().servers().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new Qe(e)}allChannels(){const e=this.channels().all();return this.components().channels().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new Ze(e)}allOperations(){const e=this.operations().all();return this.components().operations().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new it(e)}allMessages(){const e=this.messages().all();return this.components().messages().forEach((t=>!e.some((e=>e.json()===t.json()))&&e.push(t))),new tt(e)}allSchemas(){return l(this,xt,!0)}extensions(){return ze(this)}}const It="$ref:$";function kt(e,t,i,n,r){let s=e,o=It;if(void 0!==t){s=e[String(t)];const i=t?`.${t}`:"";o=n.get(e)+(Array.isArray(e)?`[${t}]`:i)}n.set(s,o),r.set(o,s);const a=r.get(s);if(a&&(e[String(t)]=a),s!==It&&a!==It||(e[String(t)]=i),s===Object(s))for(const e in s)kt(s,e,i,n,r)}function Rt(e){switch(e.semver.major){case 2:return new ke(e.parsed,{asyncapi:e,pointer:"/"});case 3:return new Tt(e.parsed,{asyncapi:e,pointer:"/"});default:throw new Error(`Unsupported AsyncAPI version: ${e.semver.version}`)}}function Mt(e){return function(e){return!!e&&(e instanceof ke||e instanceof Tt||!(!e||"function"!=typeof e.json)&&3===e.json()[g])}(e)?e:function(e){return"object"==typeof e&&null!==e&&Boolean(e[h])}(e)?Rt(se(e,e)):function(e){let t=e;if("string"==typeof e)try{t=JSON.parse(e)}catch(e){return}if(function(e){try{return"object"==typeof(e="string"==typeof e?JSON.parse(e):e)&&null!==e&&Boolean(e[h])&&Boolean(e[y])}catch(e){return!1}}(t))return t=Object.assign({},t),delete t[String(y)],kt(e,void 0,e,new Map,new Map),Rt(se(t,e))}(e)}function qt(e){for(const[t,i]of Object.entries(null!=e?e:{}))i[_]||(i[_]=t),Ct(i.messages)}function Ct(e){for(const[t,i]of Object.entries(null!=e?e:{}))i[_]||(i[_]=t)}function Nt(e){return Nt="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},Nt(e)}function Dt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ft(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,n=new Array(t);i1&&p.shift(),this._hasParentSelector=null;var d=this._trace(p,t,["$"],s,o,i).filter((function(e){return e&&!e.isParentSelector}));return d.length?c||1!==d.length||d[0].hasArrExpr?d.reduce((function(e,t){var i=r._getPreferredOutput(t);return a&&Array.isArray(i)?e=e.concat(i):e.push(i),e}),[]):this._getPreferredOutput(d[0]):c?[]:void 0}},Yt.prototype._getPreferredOutput=function(e){var t=this.currResultType;switch(t){case"all":var i=Array.isArray(e.path)?e.path:Yt.toPathArray(e.path);return e.pointer=Yt.toPointer(i),e.path="string"==typeof e.path?e.path:Yt.toPathString(e.path),e;case"value":case"parent":case"parentProperty":return e[t];case"path":return Yt.toPathString(e[t]);case"pointer":return Yt.toPointer(e.path);default:throw new TypeError("Unknown result type")}},Yt.prototype._handleCallback=function(e,t,i){if(t){var n=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:Yt.toPathString(e.path),t(n,i,e)}},Yt.prototype._trace=function(e,t,i,n,r,s,o,a){var c,p=this;if(!e.length)return c={path:i,value:t,parent:n,parentProperty:r,hasArrExpr:o},this._handleCallback(c,s,"value"),c;var d=e[0],f=e.slice(1),l=[];function u(e){Array.isArray(e)?e.forEach((function(e){l.push(e)})):l.push(e)}if(("string"!=typeof d||a)&&t&&Jt.call(t,d))u(this._trace(f,t[d],Wt(i,d),t,d,s,o));else if("*"===d)this._walk(t,(function(e){u(p._trace(f,t[e],Wt(i,e),t,e,s,!0,!0))}));else if(".."===d)u(this._trace(f,t,i,n,r,s,o)),this._walk(t,(function(n){"object"===Nt(t[n])&&u(p._trace(e.slice(),t[n],Wt(i,n),t,n,s,!0))}));else{if("^"===d)return this._hasParentSelector=!0,{path:i.slice(0,-1),expr:f,isParentSelector:!0};if("~"===d)return c={path:Wt(i,d),value:r,parent:n,parentProperty:null},this._handleCallback(c,s,"property"),c;if("$"===d)u(this._trace(f,t,i,null,null,s,o));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(d))u(this._slice(d,f,t,i,n,r,s));else if(0===d.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var m=d.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(t,(function(e){p._eval(m,t[e],e,i,n,r)&&u(p._trace(f,t[e],Wt(i,e),t,e,s,!0))}))}else if("("===d[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");u(this._trace(Qt(this._eval(d,t,i[i.length-1],i.slice(0,-1),n,r),f),t,i,n,r,s,o))}else if("@"===d[0]){var h=!1,y=d.slice(1,-2);switch(y){case"scalar":t&&["object","function"].includes(Nt(t))||(h=!0);break;case"boolean":case"string":case"undefined":case"function":Nt(t)===y&&(h=!0);break;case"integer":!Number.isFinite(t)||t%1||(h=!0);break;case"number":Number.isFinite(t)&&(h=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(h=!0);break;case"object":t&&Nt(t)===y&&(h=!0);break;case"array":Array.isArray(t)&&(h=!0);break;case"other":h=this.currOtherTypeCallback(t,i,n,r);break;case"null":null===t&&(h=!0);break;default:throw new TypeError("Unknown value type "+y)}if(h)return c={path:i,value:t,parent:n,parentProperty:r},this._handleCallback(c,s,"value"),c}else if("`"===d[0]&&t&&Jt.call(t,d.slice(1))){var g=d.slice(1);u(this._trace(f,t[g],Wt(i,g),t,g,s,o,!0))}else if(d.includes(",")){var b,v=function(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=Gt(e))){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 s,o=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw s}}}}(d.split(","));try{for(v.s();!(b=v.n()).done;){var $=b.value;u(this._trace(Qt($,f),t,i,n,r,s,!0))}}catch(e){v.e(e)}finally{v.f()}}else!a&&t&&Jt.call(t,d)&&u(this._trace(f,t[d],Wt(i,d),t,d,s,o,!0))}if(this._hasParentSelector)for(var j=0;j-1?t.slice(0,a+1)+" return "+t.slice(a+1):" return "+t;return Bt(Function,i.concat([c])).apply(void 0,function(e){if(Array.isArray(e))return Ht(e)}(o=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||Gt(o)||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.")}())}}]),e}();Yt.prototype.vm={Script:Xt};const ei=["$.channels.*.[publish,subscribe]","$.components.channels.*.[publish,subscribe]","$.channels.*.[publish,subscribe].message","$.channels.*.[publish,subscribe].message.oneOf.*","$.components.channels.*.[publish,subscribe].message","$.components.channels.*.[publish,subscribe].message.oneOf.*","$.components.messages.*"];const ti=["$.operations.*","$.operations.*.channel.*","$.operations.*.channel.messages.*","$.operations.*.messages.*","$.components.operations.*","$.components.operations.*.channel.*","$.components.operations.*.channel.messages.*","$.components.operations.*.messages.*","$.channels.*.messages.*","$.components.channels.*.messages.*","$.components.messages.*"];function ii(e,t){const i=e.json(),n={document:i,hasCircular:!1,inventory:t,visited:new Set};ni(i,[],null,"",n),n.hasCircular&&ae(j,!0,e)}function ni(e,t,i,n,r){if("object"==typeof e&&e&&!r.visited.has(e)){if(r.visited.add(e),Array.isArray(e)&&e.forEach(((i,n)=>ni(i,[...t,n],e,n,r))),"$ref"in e){r.hasCircular=!0;const s=function(e,t,i){const n=function(e){return function(e){return e.split("/").filter(Boolean).map(ue)}((t=e).startsWith("#")?t.substring(1):t);var t}(e.$ref),r=i.inventory.findAssociatedItemForPath(t,!0);if(null===r)return me(i.document,n);if(r){const e=function(e,t,i=0){let n,r,s;for(n=i;n{void 0===e.name()&&ae(b,e.id(),e)}))}(e),function(e){let t=0;e.messages().forEach((e=>{var i;void 0===e.name()&&void 0===(null===(i=e.extensions().get(b))||void 0===i?void 0:i.value())&&ae(b,e.id()||``,e)}))}(e),function(e){e.components().schemas().forEach((e=>{ae(v,e.id(),e)}))}(e),function(e){e.components().channelParameters().forEach((e=>{const t=e.schema();t&&!t.id()&&ae(v,e.id(),t)}))}(e),function(e){e.channels().forEach((e=>{e.parameters().forEach((e=>{const t=e.schema();t&&!t.id()&&ae(v,e.id(),t)}))}))}(e),function(e){let t=0;c(e,(function(e){const i=e.json(),n=void 0!==i.schema?i.schema:i;e.id()||ce(v,``,n)}))}(e)}function pi(e){di(e.json())&&ae(j,!0,e)}function di(e){if(e&&"object"==typeof e&&!Array.isArray(e)){if(Object.prototype.hasOwnProperty.call(e,"$ref"))return!0;for(const t in e)if(di(e[t]))return!0}return!1}var fi=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function li(e,t,i,n,r){return fi(this,void 0,void 0,(function*(){switch(i.semver.major){case 2:return function(e,t,i,n,r){return fi(this,void 0,void 0,(function*(){pi(t),r.applyTraits&&function(e,t){const i=new Set;t.forEach((t=>{Yt({path:t,json:e,resultType:"value",callback(e){i.has(e)||(i.add(e),function(e){if(Array.isArray(e.traits))for(const t of e.traits)for(const i in t)e[String(i)]=pe(e[String(i)],t[String(i)])}(e))}})}))}(i.parsed,ei),r.parseSchemas&&(yield function(e,t){return ri(this,void 0,void 0,(function*(){const i=G(t.semver.version),n=[],r=new Set;return si.forEach((e=>{Yt({path:e,json:t.parsed,resultType:"all",callback(e){const s=e.value;if(r.has(s))return;r.add(s);const o=s.payload;if(!o)return;const a=K(s.schemaFormat,t.semver.version);n.push({input:{asyncapi:t,data:o,meta:{message:s},path:[...ai(e.path),"payload"],schemaFormat:a,defaultSchemaFormat:i},value:s})}})})),Promise.all(n.map((t=>function(e,t){return ri(this,void 0,void 0,(function*(){const i=t.input.data;i!==(t.value.payload=yield B(e,t.input))&&(t.value[$]=i)}))}(e,t))))}))}(e,i)),n&&ii(t,n),ci(t)}))}(e,t,i,n,r);case 3:return function(e,t,i,n,r){return fi(this,void 0,void 0,(function*(){pi(t),r.applyTraits&&function(e,t){const i=new Set;t.forEach((t=>{Yt({path:t,json:e,resultType:"value",callback(e){i.has(e)||(i.add(e),function(e){if(!Array.isArray(e.traits))return;const t=Object.assign({},e);for(const t in e)delete e[t];for(const i of[...t.traits,t])for(const t in i)e[String(t)]=pe(e[String(t)],i[String(t)])}(e))}})}))}(i.parsed,ti),r.parseSchemas&&(yield function(e,t){return ri(this,void 0,void 0,(function*(){const i=G(t.semver.version),n=[],r=new Set;return oi.forEach((e=>{Yt({path:e,json:t.parsed,resultType:"all",callback(e){const s=e.value;if(r.has(s))return;r.add(s);const o=s.schema;if(!o)return;let a=s.schemaFormat;a&&(a=K(s.schemaFormat,t.semver.version),n.push({input:{asyncapi:t,data:o,meta:{message:s},path:[...ai(e.path),"schema"],schemaFormat:a,defaultSchemaFormat:i},value:s}))}})})),Promise.all(n.map((t=>function(e,t){return ri(this,void 0,void 0,(function*(){var i;const n=t.input.data,r=yield B(e,t.input);void 0!==(null===(i=t.value)||void 0===i?void 0:i.schema)?t.value.schema=r:t.value=r,n!==r&&(t.value[$]=n)}))}(e,t))))}))}(e,i)),n&&ii(t,n),ci(t)}))}(e,t,i,n,r)}}))}var ui=i(63083),mi=i(69248);class hi extends Map{filterByMajorVersions(e){return new hi([...this.entries()].filter((t=>e.includes(t[0].split(".")[0]))))}excludeByVersions(e){return new hi([...this.entries()].filter((t=>!e.includes(t[0]))))}find(e){return this.get(bi(e))}formats(){return[...this.values()]}}const yi=new hi(Object.entries(u.schemas).reverse().map((([e])=>[e,gi(e)])));function gi(e){const t=t=>function(e,t){if(!t)return!1;const i=String(t.asyncapi);return de(t)&&"asyncapi"in t&&function(e){const t=oe(e);return new RegExp(`^(${t.major})\\.(${t.minor})\\.(0|[1-9][0-9]*)$`).test(e)}(i)&&e===bi(i)}(e,t),i=oe(e);return t.displayName=`AsyncAPI ${i.major}.${i.minor}.x`,t}const bi=function(e){const t=oe(e);return`${t.major}.${t.minor}.0`};function vi(e){return"oneOf"===e.keyword||"required"===e.keyword&&"$ref"===e.params.missingProperty}function $i(e){for(let t=0;t0&&vi(i)&&e[t-1].instancePath.startsWith(i.instancePath)&&(e.splice(t,1),t--)}}const ji=new Map;function _i(e,t){const i=t?`${e}-resolved`:`${e}-unresolved`,n=ji.get(i);if(n)return n;let r=function(e){return JSON.parse(JSON.stringify(m().schemas[e]))}(e);delete r.definitions["http://json-schema.org/draft-07/schema"],delete r.definitions["http://json-schema.org/draft-04/schema"],r.$id=r.$id.replace("asyncapi.json",`asyncapi-${t?"resolved":"unresolved"}.json`);const{major:s}=oe(e);return t&&3===s&&(r=function(e){e.definitions["http://asyncapi.com/definitions/3.0.0/channel.json"].properties.servers.items.$ref="http://asyncapi.com/definitions/3.0.0/server.json";const t=e.definitions["http://asyncapi.com/definitions/3.0.0/operation.json"];t.properties.channel.$ref="http://asyncapi.com/definitions/3.0.0/channel.json",t.properties.messages.items.$ref="http://asyncapi.com/definitions/3.0.0/messageObject.json";const i=e.definitions["http://asyncapi.com/definitions/3.0.0/operationReply.json"];return i.properties.channel.$ref="http://asyncapi.com/definitions/3.0.0/channel.json",i.properties.messages.items.$ref="http://asyncapi.com/definitions/3.0.0/messageObject.json",e}(r)),ji.set(i,r),r}const wi='Property "$ref" is not expected to be here',xi=(0,ne.createRulesetFunction)({input:null,options:{type:"object",properties:{resolved:{type:"boolean"}},required:["resolved"]}},((e,t,i)=>{var n;const r=null===(n=i.document)||void 0===n?void 0:n.formats;if(!r)return;const s=t.resolved,o=function(e,t){for(const[i,n]of yi)if(e.has(n))return _i(i,t)}(r,s);if(!o)return;const a=(0,mi.wQ)(e,{allErrors:!0,schema:o,prepareResults:s?$i:void 0},i);return Array.isArray(a)?function(e,t){return t?e.filter((e=>e.message!==wi)):e.filter((e=>e.message===wi)).map((e=>(e.message="Referencing in this place is not allowed",e)))}(a,s):void 0})),Pi=(0,ne.createRulesetFunction)({input:null,options:null},((e,t,{document:i,documentInventory:n})=>{i.__documentInventory=n})),Si=(0,ne.createRulesetFunction)({input:null,options:null},(e=>de(e)&&"string"==typeof e.asyncapi?x.includes(e.asyncapi)?void 0:[{message:`Version "${e.asyncapi}" is not supported. Please use "${P}" (latest) version of the specification.`,path:[]}]:[{message:'This is not an AsyncAPI document. The "asyncapi" field as string is missing.',path:[]}])),Oi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{components:{type:"object"}},required:["components"]},options:null},((e,t,i)=>{const n=e.components,r=[];return Object.keys(n).forEach((e=>{if("securitySchemes"===e)return;const t=n[e];if(!de(t))return;const s=(0,mi.fK)(t,{reusableObjectsLocation:`#/components/${e}`},i);s&&Array.isArray(s)&&r.push(...s)})),r})),Ei={description:"Core AsyncAPI x.x.x ruleset.",formats:yi.formats(),rules:{"asyncapi-is-asyncapi":{description:"The input must be a document with a supported version of AsyncAPI.",formats:[()=>!0],message:"{{error}}",severity:"error",recommended:!0,given:"$",then:{function:Si}},"asyncapi-latest-version":{description:"Checking if the AsyncAPI document is using the latest version.",message:`The latest version of AsyncAPi is not used. It is recommended update to the "${P}" version.`,recommended:!0,severity:"info",given:"$.asyncapi",then:{function:mi.wQ,functionOptions:{schema:{const:P}}}},"asyncapi-document-resolved":{description:"Checking if the AsyncAPI document has valid resolved structure.",message:"{{error}}",severity:"error",recommended:!0,given:"$",then:{function:xi,functionOptions:{resolved:!0}}},"asyncapi-document-unresolved":{description:"Checking if the AsyncAPI document has valid unresolved structure.",message:"{{error}}",severity:"error",recommended:!0,resolved:!1,given:"$",then:{function:xi,functionOptions:{resolved:!1}}},"asyncapi-internal":{description:"That rule is internal to extend Spectral functionality for Parser purposes.",recommended:!0,given:"$",then:{function:Pi}}}},Ai={description:"Recommended AsyncAPI x.x.x ruleset.",formats:yi.filterByMajorVersions(["2"]).formats(),rules:{"asyncapi-id":{description:'AsyncAPI document should have "id" field.',recommended:!0,given:"$",then:{field:"id",function:mi.vN}},"asyncapi-defaultContentType":{description:'AsyncAPI document should have "defaultContentType" field.',recommended:!0,given:"$",then:{field:"defaultContentType",function:mi.vN}},"asyncapi-info-description":{description:'Info "description" should be present and non-empty string.',recommended:!0,given:"$",then:{field:"info.description",function:mi.vN}},"asyncapi-info-contact":{description:'Info object should have "contact" object.',recommended:!0,given:"$",then:{field:"info.contact",function:mi.vN}},"asyncapi-info-contact-properties":{description:'Contact object should have "name", "url" and "email" fields.',recommended:!0,given:"$.info.contact",then:[{field:"name",function:mi.vN},{field:"url",function:mi.vN},{field:"email",function:mi.vN}]},"asyncapi-info-license":{description:'Info object should have "license" object.',recommended:!0,given:"$",then:{field:"info.license",function:mi.vN}},"asyncapi-info-license-url":{description:'License object should have "url" field.',recommended:!1,given:"$",then:{field:"info.license.url",function:mi.vN}},"asyncapi-servers":{description:'AsyncAPI document should have non-empty "servers" object.',recommended:!0,given:"$",then:{field:"servers",function:mi.wQ,functionOptions:{schema:{type:"object",minProperties:1},allErrors:!0}}},"asyncapi-unused-component":{description:"Potentially unused component has been detected in AsyncAPI document.",formats:yi.filterByMajorVersions(["2"]).formats(),recommended:!0,resolved:!1,severity:"info",given:"$",then:{function:Oi}}}};function Ti(e){if("string"!=typeof e)return[];const t=e.match(/{(.+?)}/g);return t&&0!==t.length?t.map((e=>e.slice(1,-1))):[]}function Ii(e=[],t={}){return Object.keys(t).length?e.filter((e=>!Object.prototype.hasOwnProperty.call(t,e))):e}function ki(e=[],t={}){return e.length?Object.keys(t).filter((t=>!e.includes(t))):Object.keys(t)}const Ri=(0,ne.createRulesetFunction)({input:{type:"object",properties:{parameters:{type:"object"}},required:["parameters"]},options:null},((e,t,i)=>{const n=i.path[i.path.length-1],r=[],s=Ti(n);if(0===s.length)return;const o=Ii(s,e.parameters);o.length&&r.push({message:`Not all channel's parameters are described with "parameters" object. Missed: ${o.join(", ")}.`,path:[...i.path,"parameters"]});const a=ki(s,e.parameters);return a.length&&a.forEach((e=>{r.push({message:`Channel's "parameters" object has redundant defined "${e}" parameter.`,path:[...i.path,"parameters",e]})})),r})),Mi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{servers:{type:"object"},channels:{type:"object",additionalProperties:{type:"object",properties:{servers:{type:"array",items:{type:"string"}}}}}}},options:null},(e=>{var t,i;const n=[];if(!e.channels)return n;const r=Object.keys(null!==(t=e.servers)&&void 0!==t?t:{});return Object.entries(null!==(i=e.channels)&&void 0!==i?i:{}).forEach((([e,t])=>{t.servers&&t.servers.forEach(((t,i)=>{r.includes(t)||n.push({message:'Channel contains server that are not defined on the "servers" object.',path:["channels",e,"servers",i]})}))})),n}));var qi=i(46734);function Ci(e,t){if(!(0,qi.isPlainObject)(t))return t;const i=(0,qi.isPlainObject)(e)?Object.assign({},e):{};return Object.keys(t).forEach((e=>{const n=t[e];null===n?delete i[e]:i[e]=Ci(i[e],n)})),i}const Ni=(0,ne.createRulesetFunction)({input:{type:"object",properties:{traits:{type:"array",items:{type:"object"}}}},options:{type:"object",properties:{idField:{type:"string",enum:["operationId","messageId"]}}}},((e,t,i)=>{const n=function(e){if(Array.isArray(e.traits)){e=Object.assign({},e);for(const t of e.traits)for(const i in t)e[i]=Ci(e[i],t[i])}return e}(e);return(0,mi.vN)(n[t.idField],null,i)}));function Di(e,t){return e||"boolean"==typeof e?"boolean"==typeof e&&(e=!0===e?{}:{not:{}}):e="headers"===t?{type:"object"}:{},e}function Fi(e){var t;return Array.isArray(e.examples)&&null!==(t=e.examples.map(((e,t)=>({path:["examples",t],value:e}))))&&void 0!==t?t:[]}function Ui(e,t,i,n,r){return(0,mi.wQ)(e,{allErrors:!0,schema:n},Object.assign(Object.assign({},r),{path:[...r.path,...t,i]}))}const Vi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{name:{type:"string"},summary:{type:"string"}}},options:null},((e,t,i)=>{if(!e.examples)return;const n=[],r=Di(e.payload,"payload"),s=Di(e.headers,"headers");for(const t of Fi(e)){const{path:e,value:o}=t;if(void 0!==o.payload){const t=Ui(o.payload,e,"payload",r,i);Array.isArray(t)&&n.push(...t)}if(void 0!==o.headers){const t=Ui(o.headers,e,"headers",s,i);Array.isArray(t)&&n.push(...t)}}return n}));var Li=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function zi(e){return{description:"Examples of message object should validate against a payload with an explicit schemaFormat.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels.*.[publish,subscribe][?(@property === 'message' && @.schemaFormat !== void 0)]","$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message[?(@property === 'message' && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]","$.components.messages[?(!@null && @.schemaFormat !== void 0)]","$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]","$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.messages.*.traits[?(!@null && @.schemaFormat !== void 0)]","$.components.messageTraits[?(!@null && @.schemaFormat !== void 0)]"],then:{function:Bi(e)}}}function Bi(e){return(0,ne.createRulesetFunction)({input:{type:"object",properties:{name:{type:"string"},summary:{type:"string"}}},options:null},((t,i,n)=>Li(this,void 0,void 0,(function*(){if(!t.examples)return;if(!t.payload)return;const i=n.document,r=i.data,s=K(t.schemaFormat,r.asyncapi),o=G(r.asyncapi),a={asyncapi:se(r,i.__parserInput,i.source||void 0),rootPath:n.path,schemaFormat:s,defaultSchemaFormat:o},c=[],p=yield function(e,t,i){return Li(this,void 0,void 0,(function*(){const n=[...i.rootPath,"payload"];if(void 0===t)return{path:n,schema:void 0,errors:[]};try{const r={asyncapi:i.asyncapi,data:t,meta:{},path:n,schemaFormat:i.schemaFormat,defaultSchemaFormat:i.defaultSchemaFormat};return{path:n,schema:yield B(e,r),errors:[]}}catch(e){return{path:n,schema:void 0,errors:[{message:`Error thrown during schema validation. Name: ${e.name}, message: ${e.message}, stack: ${e.stack}`,path:n}]}}}))}(e,t.payload,a),d=p.schema;c.push(...p.errors);for(const e of Fi(t)){const{path:t,value:i}=e;if(void 0!==i.payload&&void 0!==d){const e=Ui(i.payload,t,"payload",d,n);Array.isArray(e)&&c.push(...e)}}return c}))))}function*Ki(e){const t=null==e?void 0:e.channels;if(!de(t))return{};for(const[e,i]of Object.entries(t))de(i)&&(de(i.subscribe)&&(yield{path:["channels",e,"subscribe"],kind:"subscribe",operation:i.subscribe}),de(i.publish)&&(yield{path:["channels",e,"publish"],kind:"publish",operation:i.publish}))}function Gi(e){if(Array.isArray(e.traits))for(let t=e.traits.length-1;t>=0;t--){const i=e.traits[t];if(de(i)&&"string"==typeof i.messageId)return{messageId:i.messageId,path:["traits",t,"messageId"]}}if("string"==typeof e.messageId)return{messageId:e.messageId,path:["messageId"]}}const Hi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{channels:{type:"object",properties:{subscribe:{type:"object",properties:{message:{oneOf:[{type:"object"},{type:"object",properties:{oneOf:{type:"array"}}}]}}},publish:{type:"object",properties:{message:{oneOf:[{type:"object"},{type:"object",properties:{oneOf:{type:"array"}}}]}}}}}}},options:null},(e=>{const t=[],i=function*(e){for(const{path:t,operation:i}of Ki(e)){if(!de(i))continue;const e=i.message;if(!de(e))continue;const n=e.oneOf;if(Array.isArray(n))for(const[e,i]of n.entries())de(i)&&(yield{path:[...t,"message","oneOf",e],message:i});else yield{path:[...t,"message"],message:e}}}(e),n=[];for(const{path:e,message:r}of i){const i=Gi(r);void 0!==i&&(n.includes(i.messageId)?t.push({message:'"messageId" must be unique across all the messages.',path:[...e,...i.path]}):n.push(i.messageId))}return t}));function Ji(e){if(Array.isArray(e.traits))for(let t=e.traits.length-1;t>=0;t--){const i=e.traits[t];if(de(i)&&"string"==typeof i.operationId)return{operationId:i.operationId,path:["traits",t,"operationId"]}}if("string"==typeof e.operationId)return{operationId:e.operationId,path:["operationId"]}}const Wi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{channels:{type:"object",properties:{subscribe:{type:"object"},publish:{type:"object"}}}}},options:null},(e=>{const t=[],i=Ki(e),n=[];for(const{path:e,operation:r}of i){const i=Ji(r);void 0!==i&&(n.includes(i.operationId)?t.push({message:'"operationId" must be unique across all the operations.',path:[...e,...i.path]}):n.push(i.operationId))}return t})),Qi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{default:{},examples:{type:"array"}},errorMessage:'#{{print("property")}must be an object containing "default" or an "examples" array'},errorOnInvalidInput:!0,options:{type:"object",properties:{type:{enum:["default","examples"]}},additionalProperties:!1,required:["type"]}},((e,t,i)=>{const n=e,r=[];for(const s of function(e,t){return"default"===t?[{path:["default"],value:e.default}]:Array.isArray(e.examples)?Array.from(e.examples.entries()).map((([e,t])=>({path:["examples",e],value:t}))):[]}(e,t.type)){const e=(0,mi.wQ)(s.value,{schema:n,allErrors:!0},Object.assign(Object.assign({},i),{path:[...i.path,...s.path]}));Array.isArray(e)&&r.push(...e)}return r})),Zi=["implicit","password","clientCredentials","authorizationCode"],Yi=(0,ne.createRulesetFunction)({input:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},options:{type:"object",properties:{objectType:{type:"string",enum:["Server","Operation"]}}}},((e={},{objectType:t},i)=>{var n,r;const s=[],o=i.document.data,a=null!==(r=null===(n=null==o?void 0:o.components)||void 0===n?void 0:n.securitySchemes)&&void 0!==r?r:{},c=Object.keys(a);return Object.keys(e).forEach((n=>{var r;c.includes(n)||s.push({message:`${t} must not reference an undefined security scheme.`,path:[...i.path,n]});const o=a[n];if("oauth2"===(null==o?void 0:o.type)){const t=function(e){const t=[];return Zi.forEach((i=>{const n=e[i];de(n)&&t.push(...Object.keys(n.scopes))})),Array.from(new Set(t))}(null!==(r=o.flows)&&void 0!==r?r:{});e[n].forEach(((e,r)=>{t.includes(e)||s.push({message:`Non-existing security scope for the specified security scheme. Available: [${t.join(", ")}]`,path:[...i.path,n,r]})}))}})),s})),Xi=(0,ne.createRulesetFunction)({input:{type:"object",properties:{url:{type:"string"},variables:{type:"object"}},required:["url","variables"]},options:null},((e,t,i)=>{const n=[],r=Ti(e.url);if(0===r.length)return n;const s=Ii(r,e.variables);s.length&&n.push({message:`Not all server's variables are described with "variables" object. Missed: ${s.join(", ")}.`,path:[...i.path,"variables"]});const o=ki(r,e.variables);return o.length&&o.forEach((e=>{n.push({message:`Server's "variables" object has redundant defined "${e}" url variable.`,path:[...i.path,"variables",e]})})),n})),en=(0,ne.createRulesetFunction)({input:{type:"object",properties:{components:{type:"object"}},required:["components"]},options:null},(e=>{var t;const i=null===(t=e.components)||void 0===t?void 0:t.securitySchemes;if(!de(i))return;const n=[];de(e.servers)&&Object.values(e.servers).forEach((e=>{Array.isArray(e.security)&&e.security.forEach((e=>{n.push(...Object.keys(e))}))}));const r=Ki(e);for(const{operation:e}of r)Array.isArray(e.security)&&e.security.forEach((e=>{n.push(...Object.keys(e))}));const s=new Set(n),o=Object.keys(i),a=[];return o.forEach((e=>{s.has(e)||a.push({message:"Potentially unused security scheme has been detected in AsyncAPI document.",path:["components","securitySchemes",e]})})),a})),tn=(0,ne.createRulesetFunction)({input:{type:"array",items:{type:"object",properties:{name:{type:"string"}},required:["name"]}},options:null},((e,t,i)=>{const n=function(e){return e.map((e=>e.name)).reduce(((e,t,i,n)=>(n.indexOf(t)!==i&&e.push(i),e)),[])}(e);if(0===n.length)return[];const r=[];for(const t of n){const n=e[t].name;r.push({message:`"tags" object contains duplicate tag name "${n}".`,path:[...i.path,t,"name"]})}return r}));var nn=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};function rn(e){return{description:"Custom schema must be correctly formatted from the point of view of the used format.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels.*.[publish,subscribe].message","$.channels.*.[publish,subscribe].message.oneOf.*","$.components.channels.*.[publish,subscribe].message","$.components.channels.*.[publish,subscribe].message.oneOf.*","$.components.messages.*"],then:{function:sn(e)}}}function sn(e){return(0,ne.createRulesetFunction)({input:{type:"object",properties:{schemaFormat:{type:"string"},payload:!0}},options:null},((...t)=>nn(this,[...t],void 0,(function*(t={},i,n){if(!t.payload)return[];const r=[...n.path,"payload"],s=n.document,o=s.data,a=K(t.schemaFormat,o.asyncapi),c=G(o.asyncapi),p={asyncapi:se(o,s.__parserInput,s.source||void 0),data:t.payload,meta:{},path:r,schemaFormat:a,defaultSchemaFormat:c};try{return yield function(e,t){return z(this,void 0,void 0,(function*(){const i=e.parserRegistry.get(t.schemaFormat);if(void 0===i){const{path:e,schemaFormat:i}=t;return e.pop(),[{message:`Unknown schema format: "${i}"`,path:[...e,"schemaFormat"]},{message:`Cannot validate and parse given schema due to unknown schema format: "${i}"`,path:[...e,"payload"]}]}return i.validate(t)}))}(e,p)}catch(e){return[{message:`Error thrown during schema validation. Name: ${e.name}, message: ${e.message}, stack: ${e.stack}`,path:r}]}}))))}const on={description:"Core AsyncAPI 2.x.x ruleset.",formats:yi.filterByMajorVersions(["2"]).formats(),rules:{"asyncapi2-server-security":{description:"Server have to reference a defined security schemes.",message:"{{error}}",severity:"error",recommended:!0,given:"$.servers.*.security.*",then:{function:Yi,functionOptions:{objectType:"Server"}}},"asyncapi2-server-variables":{description:"Server variables must be defined and there must be no redundant variables.",message:"{{error}}",severity:"error",recommended:!0,given:["$.servers.*","$.components.servers.*"],then:{function:Xi}},"asyncapi2-channel-no-query-nor-fragment":{description:'Channel address should not include query ("?") or fragment ("#") delimiter.',severity:"error",recommended:!0,given:"$.channels",then:{field:"@key",function:mi.T1,functionOptions:{notMatch:"[\\?#]"}}},"asyncapi2-channel-parameters":{description:"Channel parameters must be defined and there must be no redundant parameters.",message:"{{error}}",severity:"error",recommended:!0,given:"$.channels.*",then:{function:Ri}},"asyncapi2-channel-servers":{description:'Channel servers must be defined in the "servers" object.',message:"{{error}}",severity:"error",recommended:!0,given:"$",then:{function:Mi}},"asyncapi2-operation-operationId-uniqueness":{description:'"operationId" must be unique across all the operations.',severity:"error",recommended:!0,given:"$",then:{function:Wi}},"asyncapi2-operation-security":{description:"Operation have to reference a defined security schemes.",message:"{{error}}",severity:"error",recommended:!0,given:"$.channels[*][publish,subscribe].security.*",then:{function:Yi,functionOptions:{objectType:"Operation"}}},"asyncapi2-message-examples":{description:'Examples of message object should validate againt the "payload" and "headers" schemas.',message:"{{error}}",severity:"error",recommended:!0,given:["$.channels.*.[publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)]","$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]","$.components.messages[?(!@null && @.schemaFormat === void 0)]","$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]","$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]","$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]","$.components.messages.*.traits[?(!@null && @.schemaFormat === void 0)]","$.components.messageTraits[?(!@null && @.schemaFormat === void 0)]"],then:{function:Vi}},"asyncapi2-message-messageId-uniqueness":{description:'"messageId" must be unique across all the messages.',severity:"error",recommended:!0,given:"$",then:{function:Hi}},"asyncapi2-tags-uniqueness":{description:"Each tag must have a unique name.",message:"{{error}}",severity:"error",recommended:!0,given:["$.tags","$.channels.*.[publish,subscribe].tags","$.components.channels.*.[publish,subscribe].tags","$.channels.*.[publish,subscribe].traits.*.tags","$.components.channels.*.[publish,subscribe].traits.*.tags","$.components.operationTraits.*.tags","$.channels.*.[publish,subscribe].message.tags","$.channels.*.[publish,subscribe].message.oneOf.*.tags","$.components.channels.*.[publish,subscribe].message.tags","$.components.channels.*.[publish,subscribe].message.oneOf.*.tags","$.components.messages.*.tags","$.channels.*.[publish,subscribe].message.traits.*.tags","$.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags","$.components.channels.*.[publish,subscribe].message.traits.*.tags","$.components.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags","$.components.messages.*.traits.*.tags","$.components.messageTraits.*.tags"],then:{function:tn}}}},an=e=>({description:"Schemas AsyncAPI 2.x.x ruleset.",rules:{"asyncapi2-schemas":rn(e),"asyncapi2-schema-default":{description:"Default must be valid against its defined schema.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.default^","$.channels.*.parameters.*.schema.default^","$.components.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.default^","$.components.channels.*.parameters.*.schema.default^","$.components.schemas.*.default^","$.components.parameters.*.schema.default^","$.components.messages[?(@.schemaFormat === void 0)].payload.default^","$.components.messageTraits[?(@.schemaFormat === void 0)].payload.default^"],then:{function:Qi,functionOptions:{type:"default"}}},"asyncapi2-schema-examples":{description:"Examples must be valid against their defined schema.",message:"{{error}}",severity:"error",recommended:!0,given:["$.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.examples^","$.channels.*.parameters.*.schema.examples^","$.components.channels[*][publish,subscribe][?(@property === 'message' && @.schemaFormat === void 0)].payload.examples^","$.components.channels.*.parameters.*.schema.examples^","$.components.schemas.*.examples^","$.components.parameters.*.schema.examples^","$.components.messages[?(@.schemaFormat === void 0)].payload.examples^","$.components.messageTraits[?(@.schemaFormat === void 0)].payload.examples^"],then:{function:Qi,functionOptions:{type:"examples"}}},"asyncapi2-message-examples-custom-format":zi(e)}}),cn={description:"Recommended AsyncAPI 2.x.x ruleset.",formats:yi.filterByMajorVersions(["2"]).formats(),rules:{"asyncapi2-tags":{description:'AsyncAPI object should have non-empty "tags" array.',recommended:!0,given:"$",then:{field:"tags",function:mi.vN}},"asyncapi2-server-no-empty-variable":{description:"Server URL should not have empty variable substitution pattern.",recommended:!0,given:"$.servers[*].url",then:{function:mi.T1,functionOptions:{notMatch:"{}"}}},"asyncapi2-server-no-trailing-slash":{description:"Server URL should not end with slash.",recommended:!0,given:"$.servers[*].url",then:{function:mi.T1,functionOptions:{notMatch:"/$"}}},"asyncapi2-channel-no-empty-parameter":{description:"Channel address should not have empty parameter substitution pattern.",recommended:!0,given:"$.channels",then:{field:"@key",function:mi.T1,functionOptions:{notMatch:"{}"}}},"asyncapi2-channel-no-trailing-slash":{description:"Channel address should not end with slash.",recommended:!0,given:"$.channels",then:{field:"@key",function:mi.T1,functionOptions:{notMatch:".+\\/$"}}},"asyncapi2-operation-operationId":{description:'Operation should have an "operationId" field defined.',recommended:!0,given:["$.channels[*][publish,subscribe]","$.components.channels[*][publish,subscribe]"],then:{function:Ni,functionOptions:{idField:"operationId"}}},"asyncapi2-message-messageId":{description:'Message should have a "messageId" field defined.',recommended:!0,formats:yi.filterByMajorVersions(["2"]).excludeByVersions(["2.0.0","2.1.0","2.2.0","2.3.0"]).formats(),given:['$.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]',"$.channels.*.[publish,subscribe].message.oneOf.*",'$.components.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]',"$.components.channels.*.[publish,subscribe].message.oneOf.*","$.components.messages.*"],then:{function:Ni,functionOptions:{idField:"messageId"}}},"asyncapi2-unused-securityScheme":{description:"Potentially unused security scheme has been detected in AsyncAPI document.",recommended:!0,resolved:!1,severity:"info",given:"$",then:{function:en}}}},pn={type:"object",properties:{$ref:{type:"string",format:"uri-reference"}}},dn=(0,ne.createRulesetFunction)({input:{type:"object",properties:{channel:pn,messages:{type:"array",items:pn}}},options:null},((e,t,i)=>{var n,r;const s=[],o=null===(n=e.channel)||void 0===n?void 0:n.$ref;return null===(r=e.messages)||void 0===r||r.forEach(((e,t)=>{e.$ref.startsWith(`${o}/messages`)||s.push({message:"Operation message does not belong to the specified channel.",path:[...i.path,"messages",t]})})),s})),fn={description:"Core AsyncAPI 3.x.x ruleset.",formats:yi.filterByMajorVersions(["3"]).formats(),rules:{"asyncapi3-operation-messages-from-referred-channel":{description:'Operation "messages" must be a subset of the messages defined in the channel referenced in this operation.',message:"{{error}}",severity:"error",recommended:!0,resolved:!1,given:["$.operations.*","$.components.operations.*"],then:{function:dn}},"asyncapi3-required-operation-channel-unambiguity":{description:'The "channel" field of an operation under the root "operations" object must always reference a channel under the root "channels" object.',severity:"error",recommended:!0,resolved:!1,given:"$.operations.*",then:{field:"channel.$ref",function:mi.T1,functionOptions:{match:"#\\/channels\\/"}}},"asyncapi3-required-channel-servers-unambiguity":{description:'The "servers" field of a channel under the root "channels" object must always reference a subset of the servers under the root "servers" object.',severity:"error",recommended:!0,resolved:!1,given:"$.channels.*",then:{field:"$.servers.*.$ref",function:mi.T1,functionOptions:{match:"#\\/servers\\/"}}}}};var ln=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);rObject.assign(Object.assign({},e),{order:e.order||Number.MAX_SAFE_INTEGER,canRead:void 0===e.canRead||e.canRead}))),i=[...new Set(t.map((e=>e.schema)))].reduce(((e,i)=>(e[i]={resolve:bn(i,t)},e)),{}),n=!1!==e.cache;return new un.Resolver({uriCache:n?void 0:new mn.Cache({stdTTL:1}),resolvers:i})}function bn(e,t){const i=t.filter((t=>t.schema===e)).sort(((e,t)=>e.order-t.order));return(t,n)=>yn(this,void 0,void 0,(function*(){let r,s;for(const e of i)try{if(!vn(e,t,n))continue;if(r=yield e.read(t,n),"string"==typeof r)break}catch(e){s=e;continue}if("string"!=typeof r)throw s||new Error(`None of the available resolvers for "${e}" can resolve the given reference.`);return r}))}function vn(e,t,i){return"function"==typeof e.canRead?e.canRead(t,i):e.canRead}function $n(e,t={}){var i;const n=null===(i=t.__unstable)||void 0===i?void 0:i.resolver,r=new ne.Spectral({resolver:gn(n)}),s=function(e,t){var i;const n=t||{},{core:r=!0,recommended:s=!0}=n,o=ln(n,["core","recommended"]),a=[r&&Ei,s&&Ai,r&&on,r&&an(e),s&&cn,r&&fn,...(null===(i=t||{})||void 0===i?void 0:i.extends)||[]].filter(Boolean);return Object.assign(Object.assign({},o||{}),{extends:a})}(e,t.ruleset);return r.setRuleset(s),r}var jn=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};const _n={allowedSeverity:{error:!1,warning:!0,info:!0,hint:!0},__unstable:{}};function wn(e,t,i){return jn(this,arguments,void 0,(function*(e,t,i,n={}){var r;let s;try{const{allowedSeverity:o}=pe(_n,n),a=function(e){return"string"==typeof e?e:JSON.stringify(e,void 0,2)}(i);s=new ne.Document(a,ui.Yaml,n.source),s.__parserInput=i;const c=(null===(r=n.__unstable)||void 0===r?void 0:r.resolver)?$n(e,n):t;let{resolved:p,results:d}=yield c.runWithResolved(s,{});return(!(null==o?void 0:o.error)&&d.some((e=>e.severity===re.h_.Error))||!(null==o?void 0:o.warning)&&d.some((e=>e.severity===re.h_.Warning))||!(null==o?void 0:o.info)&&function(e){return e.some((e=>e.severity===re.h_.Information))}(d)||!(null==o?void 0:o.hint)&&function(e){return e.some((e=>e.severity===re.h_.Hint))}(d))&&(p=void 0),{validated:p,diagnostics:d,extras:{document:s}}}catch(e){return{validated:void 0,diagnostics:fe(e,"Error thrown during AsyncAPI document validation",s),extras:{document:s}}}}))}function xn(e){return null==e}var Pn={isNothing:xn,isObject:function(e){return"object"==typeof e&&null!==e},toArray:function(e){return Array.isArray(e)?e:xn(e)?[]:[e]},repeat:function(e,t){var i,n="";for(i=0;ia&&(t=n-a+(s=" ... ").length),i-n>a&&(i=n+a-(o=" ...").length),{str:s+e.slice(t,i).replace(/\t/g,"→")+o,pos:n-t+s.length}}function Tn(e,t){return Pn.repeat(" ",t-e.length)+e}var In=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var i,n=/\r?\n|\r|\0/g,r=[0],s=[],o=-1;i=n.exec(e.buffer);)s.push(i.index),r.push(i.index+i[0].length),e.position<=i.index&&o<0&&(o=r.length-2);o<0&&(o=r.length-1);var a,c,p="",d=Math.min(e.line+t.linesAfter,s.length).toString().length,f=t.maxLength-(t.indent+d+3);for(a=1;a<=t.linesBefore&&!(o-a<0);a++)c=An(e.buffer,r[o-a],s[o-a],e.position-(r[o]-r[o-a]),f),p=Pn.repeat(" ",t.indent)+Tn((e.line-a+1).toString(),d)+" | "+c.str+"\n"+p;for(c=An(e.buffer,r[o],s[o],e.position,f),p+=Pn.repeat(" ",t.indent)+Tn((e.line+1).toString(),d)+" | "+c.str+"\n",p+=Pn.repeat("-",t.indent+d+3+c.pos)+"^\n",a=1;a<=t.linesAfter&&!(o+a>=s.length);a++)c=An(e.buffer,r[o+a],s[o+a],e.position-(r[o]-r[o+a]),f),p+=Pn.repeat(" ",t.indent)+Tn((e.line+a+1).toString(),d)+" | "+c.str+"\n";return p.replace(/\n$/,"")},kn=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Rn=["scalar","sequence","mapping"],Mn=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===kn.indexOf(t))throw new En('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(i){e[i].forEach((function(e){t[String(e)]=i}))})),t}(t.styleAliases||null),-1===Rn.indexOf(this.kind))throw new En('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function qn(e,t){var i=[];return e[t].forEach((function(e){var t=i.length;i.forEach((function(i,n){i.tag===e.tag&&i.kind===e.kind&&i.multi===e.multi&&(t=n)})),i[t]=e})),i}function Cn(e){return this.extend(e)}Cn.prototype.extend=function(e){var t=[],i=[];if(e instanceof Mn)i.push(e);else if(Array.isArray(e))i=i.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new En("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(i=i.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Mn))throw new En("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new En("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new En("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),i.forEach((function(e){if(!(e instanceof Mn))throw new En("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var n=Object.create(Cn.prototype);return n.implicit=(this.implicit||[]).concat(t),n.explicit=(this.explicit||[]).concat(i),n.compiledImplicit=qn(n,"implicit"),n.compiledExplicit=qn(n,"explicit"),n.compiledTypeMap=function(){var e,t,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(e){e.multi?(i.multi[e.kind].push(e),i.multi.fallback.push(e)):i[e.kind][e.tag]=i.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Hn=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),Jn=/^[-+]?[0-9]+e/,Wn=new Mn("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!Hn.test(e)||"_"===e[e.length-1])},construct:function(e){var t,i;return i="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===i?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:i*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||Pn.isNegativeZero(e))},represent:function(e,t){var i;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Pn.isNegativeZero(e))return"-0.0";return i=e.toString(10),Jn.test(i)?i.replace("e",".e"):i},defaultStyle:"lowercase"}),Qn=Vn.extend({implicit:[Ln,zn,Gn,Wn]}),Zn=Qn,Yn=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Xn=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]))?))?$"),er=new Mn("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==Yn.exec(e)||null!==Xn.exec(e))},construct:function(e){var t,i,n,r,s,o,a,c,p=0,d=null;if(null===(t=Yn.exec(e))&&(t=Xn.exec(e)),null===t)throw new Error("Date resolve error");if(i=+t[1],n=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(i,n,r));if(s=+t[4],o=+t[5],a=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+="0";p=+p}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(i,n,r,s,o,a,p)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}}),tr=new Mn("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),ir="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",nr=new Mn("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,i,n=0,r=e.length,s=ir;for(i=0;i64)){if(t<0)return!1;n+=6}return n%8==0},construct:function(e){var t,i,n=e.replace(/[\r\n=]/g,""),r=n.length,s=ir,o=0,a=[];for(t=0;t>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|s.indexOf(n.charAt(t));return 0==(i=r%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===i?(a.push(o>>10&255),a.push(o>>2&255)):12===i&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,i,n="",r=0,s=e.length,o=ir;for(t=0;t>18&63],n+=o[r>>12&63],n+=o[r>>6&63],n+=o[63&r]),r=(r<<8)+e[t];return 0==(i=s%3)?(n+=o[r>>18&63],n+=o[r>>12&63],n+=o[r>>6&63],n+=o[63&r]):2===i?(n+=o[r>>10&63],n+=o[r>>4&63],n+=o[r<<2&63],n+=o[64]):1===i&&(n+=o[r>>2&63],n+=o[r<<4&63],n+=o[64],n+=o[64]),n}}),rr=Object.prototype.hasOwnProperty,sr=Object.prototype.toString,or=new Mn("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,i,n,r,s,o=[],a=e;for(t=0,i=a.length;t>10),56320+(e-65536&1023))}for(var Rr=new Array(256),Mr=new Array(256),qr=0;qr<256;qr++)Rr[qr]=Ir(qr)?1:0,Mr[qr]=Ir(qr);function Cr(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||fr,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Nr(e,t){var i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=In(i),new En(t,i)}function Dr(e,t){throw Nr(e,t)}function Fr(e,t){e.onWarning&&e.onWarning.call(null,Nr(e,t))}var Ur={YAML:function(e,t,i){var n,r,s;null!==e.version&&Dr(e,"duplication of %YAML directive"),1!==i.length&&Dr(e,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&Dr(e,"ill-formed argument of the YAML directive"),r=parseInt(n[1],10),s=parseInt(n[2],10),1!==r&&Dr(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=s<2,1!==s&&2!==s&&Fr(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,r;2!==i.length&&Dr(e,"TAG directive accepts exactly two arguments"),n=i[0],r=i[1],wr.test(n)||Dr(e,"ill-formed tag handle (first argument) of the TAG directive"),lr.call(e.tagMap,n)&&Dr(e,'there is a previously declared suffix for "'+n+'" tag handle'),xr.test(r)||Dr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r)}catch(t){Dr(e,"tag prefix is malformed: "+r)}e.tagMap[n]=r}};function Vr(e,t,i,n){var r,s,o,a;if(t1&&(e.result+=Pn.repeat("\n",t-1))}function Jr(e,t){var i,n,r=e.tag,s=e.anchor,o=[],a=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),n=e.input.charCodeAt(e.position);0!==n&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,Dr(e,"tab characters must not be used in indentation")),45===n)&&Er(e.input.charCodeAt(e.position+1));)if(a=!0,e.position++,Kr(e,!0,-1)&&e.lineIndent<=t)o.push(null),n=e.input.charCodeAt(e.position);else if(i=e.line,Zr(e,t,hr,!1,!0),o.push(e.result),Kr(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==n)Dr(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(g&&(o=e.line,a=e.lineStart,c=e.position),Zr(e,t,yr,!0,r)&&(g?h=e.result:y=e.result),g||(zr(e,l,u,m,h,y,o,a,c),m=h=y=null),Kr(e,!0,-1),p=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&0!==p)Dr(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===r?Dr(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?Dr(e,"repeat of an indentation width identifier"):(d=t+r-1,p=!0)}if(Or(s)){do{s=e.input.charCodeAt(++e.position)}while(Or(s));if(35===s)do{s=e.input.charCodeAt(++e.position)}while(!Sr(s)&&0!==s)}for(;0!==s;){for(Br(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!p||e.lineIndentd&&(d=e.lineIndent),Sr(s))f++;else{if(e.lineIndent0){for(r=o,s=0;r>0;r--)(o=Tr(a=e.input.charCodeAt(++e.position)))>=0?s=(s<<4)+o:Dr(e,"expected hexadecimal character");e.result+=kr(s),e.position++}else Dr(e,"unknown escape sequence");i=n=e.position}else Sr(a)?(Vr(e,i,n,!0),Hr(e,Kr(e,!1,t)),i=n=e.position):e.position===e.lineStart&&Gr(e)?Dr(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Dr(e,"unexpected end of the stream within a double quoted scalar")}(e,l)?y=!0:function(e){var t,i,n;if(42!==(n=e.input.charCodeAt(e.position)))return!1;for(n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!Er(n)&&!Ar(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&Dr(e,"name of an alias node must contain at least one character"),i=e.input.slice(t,e.position),lr.call(e.anchorMap,i)||Dr(e,'unidentified alias "'+i+'"'),e.result=e.anchorMap[i],Kr(e,!0,-1),!0}(e)?(y=!0,null===e.tag&&null===e.anchor||Dr(e,"alias node should not have any properties")):function(e,t,i){var n,r,s,o,a,c,p,d,f=e.kind,l=e.result;if(Er(d=e.input.charCodeAt(e.position))||Ar(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(Er(n=e.input.charCodeAt(e.position+1))||i&&Ar(n)))return!1;for(e.kind="scalar",e.result="",r=s=e.position,o=!1;0!==d;){if(58===d){if(Er(n=e.input.charCodeAt(e.position+1))||i&&Ar(n))break}else if(35===d){if(Er(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&Gr(e)||i&&Ar(d))break;if(Sr(d)){if(a=e.line,c=e.lineStart,p=e.lineIndent,Kr(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=s,e.line=a,e.lineStart=c,e.lineIndent=p;break}}o&&(Vr(e,r,s,!1),Hr(e,e.line-a),r=s=e.position,o=!1),Or(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return Vr(e,r,s,!1),!!e.result||(e.kind=f,e.result=l,!1)}(e,l,ur===i)&&(y=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(y=a&&Jr(e,u))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&Dr(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,p=e.implicitTypes.length;c"),null!==e.result&&f.kind!==e.kind&&Dr(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result,e.tag)?(e.result=f.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):Dr(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||y}function Yr(e){var t,i,n,r,s=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(r=e.input.charCodeAt(e.position))&&(Kr(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(o=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!Er(r);)r=e.input.charCodeAt(++e.position);for(n=[],(i=e.input.slice(t,e.position)).length<1&&Dr(e,"directive name must not be less than one character in length");0!==r;){for(;Or(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!Sr(r));break}if(Sr(r))break;for(t=e.position;0!==r&&!Er(r);)r=e.input.charCodeAt(++e.position);n.push(e.input.slice(t,e.position))}0!==r&&Br(e),lr.call(Ur,i)?Ur[i](e,i,n):Fr(e,'unknown document directive "'+i+'"')}Kr(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,Kr(e,!0,-1)):o&&Dr(e,"directives end mark is expected"),Zr(e,e.lineIndent-1,yr,!1,!0),Kr(e,!0,-1),e.checkLineBreaks&&jr.test(e.input.slice(s,e.position))&&Fr(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Gr(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,Kr(e,!0,-1)):e.position=55296&&n<=56319&&t+1=56320&&i<=57343?1024*(n-55296)+i-56320+65536:n}function Vs(e){return/^\n* /.test(e)}var Ls=1,zs=2,Bs=3,Ks=4,Gs=5;function Hs(e,t,i,n,r){e.dump=function(){if(0===t.length)return e.quotingType===ks?'""':"''";if(!e.noCompatMode&&(-1!==As.indexOf(t)||Ts.test(t)))return e.quotingType===ks?'"'+t+'"':"'"+t+"'";var s=e.indent*Math.max(1,i),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-s),a=n||e.flowLevel>-1&&i>=e.flowLevel;switch(function(e,t,i,n,r,s,o,a){var c,p,d=0,f=null,l=!1,u=!1,m=-1!==n,h=-1,y=Ns(p=Us(e,0))&&p!==ns&&!Cs(p)&&p!==ys&&p!==$s&&p!==gs&&p!==hs&&p!==_s&&p!==ws&&p!==Ps&&p!==Os&&p!==ds&&p!==ls&&p!==ms&&p!==cs&&p!==Ss&&p!==bs&&p!==vs&&p!==us&&p!==ps&&p!==fs&&p!==js&&p!==xs&&function(e){return!Cs(e)&&e!==gs}(Us(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!Ns(d=Us(e,c)))return Gs;y=y&&Fs(d,f,a),f=d}else{for(c=0;c=65536?c+=2:c++){if((d=Us(e,c))===ss)l=!0,m&&(u=u||c-h-1>n&&" "!==e[h+1],h=c);else if(!Ns(d))return Gs;y=y&&Fs(d,f,a),f=d}u=u||m&&c-h-1>n&&" "!==e[h+1]}return l||u?i>9&&Vs(e)?Gs:o?s===ks?Gs:zs:u?Ks:Bs:!y||o||r(e)?s===ks?Gs:zs:Ls}(t,a,e.indent,o,(function(t){return function(e,t){var i,n;for(i=0,n=e.implicitTypes.length;i"+Js(t,e.indent)+Ws(Ms(function(e,t){for(var i,n,r,s=/(\n+)([^\n]*)/g,o=(r=-1!==(r=e.indexOf("\n"))?r:e.length,s.lastIndex=r,Qs(e.slice(0,r),t)),a="\n"===e[0]||" "===e[0];n=s.exec(e);){var c=n[1],p=n[2];i=" "===p[0],o+=c+(a||i||""===p?"":"\n")+Qs(p,t),a=i}return o}(t,o),s));case Gs:return'"'+function(e){for(var t,i="",n=0,r=0;r=65536?r+=2:r++)n=Us(e,r),!(t=Es[n])&&Ns(n)?(i+=e[r],n>=65536&&(i+=e[r+1])):i+=t||Is(n);return i}(t)+'"';default:throw new En("impossible error: invalid scalar style")}}()}function Js(e,t){var i=Vs(e)?String(t):"",n="\n"===e[e.length-1];return i+(!n||"\n"!==e[e.length-2]&&"\n"!==e?n?"":"-":"+")+"\n"}function Ws(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Qs(e,t){if(""===e||" "===e[0])return e;for(var i,n,r=/ [^ ]/g,s=0,o=0,a=0,c="";i=r.exec(e);)(a=i.index)-s>t&&(n=o>s?o:a,c+="\n"+e.slice(s,n),s=n+1),o=a;return c+="\n",e.length-s>t&&o>s?c+=e.slice(s,o)+"\n"+e.slice(o+1):c+=e.slice(s),c.slice(1)}function Zs(e,t,i,n){var r,s,o,a="",c=e.tag;for(r=0,s=i.length;r tag resolver accepts not "'+c+'" style');n=a.represent[c](t,c)}e.dump=n}return!0}return!1}function Xs(e,t,i,n,r,s,o){e.tag=null,e.dump=i,Ys(e,i,!1)||Ys(e,i,!0);var a,c=ts.call(e.dump),p=n;n&&(n=e.flowLevel<0||e.flowLevel>t);var d,f,l="[object Object]"===c||"[object Array]"===c;if(l&&(f=-1!==(d=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||f||2!==e.indent&&t>0)&&(r=!1),f&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(l&&f&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)n&&0!==Object.keys(e.dump).length?(function(e,t,i,n){var r,s,o,a,c,p,d="",f=e.tag,l=Object.keys(i);if(!0===e.sortKeys)l.sort();else if("function"==typeof e.sortKeys)l.sort(e.sortKeys);else if(e.sortKeys)throw new En("sortKeys must be a boolean or a function");for(r=0,s=l.length;r1024)&&(e.dump&&ss===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,c&&(p+=qs(e,t)),Xs(e,t+1,a,!0,c)&&(e.dump&&ss===e.dump.charCodeAt(0)?p+=":":p+=": ",d+=p+=e.dump));e.tag=f,e.dump=d||"{}"}(e,t,e.dump,r),f&&(e.dump="&ref_"+d+e.dump)):(function(e,t,i){var n,r,s,o,a,c="",p=e.tag,d=Object.keys(i);for(n=0,r=d.length;n1024&&(a+="? "),a+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Xs(e,t,o,!1,!1)&&(c+=a+=e.dump));e.tag=p,e.dump="{"+c+"}"}(e,t,e.dump),f&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)n&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?Zs(e,t-1,e.dump,r):Zs(e,t,e.dump,r),f&&(e.dump="&ref_"+d+e.dump)):(function(e,t,i){var n,r,s,o="",a=e.tag;for(n=0,r=i.length;n",e.dump=a+" "+e.dump)}return!0}function eo(e,t){var i,n,r=[],s=[];for(to(e,r,s),i=0,n=s.length;i({message:e.message,path:[...n,...e.instancePath.replace(/^\//,"").split("/")]})))),i}))}function ho(e){return uo(this,void 0,void 0,(function*(){return e.data}))}function yo(){const e=["application/schema;version=draft-07","application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"];return x.forEach((t=>{e.push(`application/vnd.aai.asyncapi;version=${t}`,`application/vnd.aai.asyncapi+json;version=${t}`,`application/vnd.aai.asyncapi+yaml;version=${t}`)})),e}let go;var bo=function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))};const vo=class{constructor(e={}){var t;this.options=e,this.parserRegistry=new Map,this.spectral=$n(this,e),this.registerSchemaParser({validate:mo,parse:ho,getMimeTypes:yo}),null===(t=this.options.schemaParsers)||void 0===t||t.forEach((e=>this.registerSchemaParser(e)))}parse(e,t){return bo(this,void 0,void 0,(function*(){const i=Mt(e);return i?{document:i,diagnostics:[]}:so(this,this.spectral,e,t)}))}validate(e,t){return bo(this,void 0,void 0,(function*(){return Mt(e)?[]:(yield wn(this,this.spectral,e,t)).diagnostics}))}registerSchemaParser(e){return function(e,t){if("object"!=typeof t||"function"!=typeof t.validate||"function"!=typeof t.parse||"function"!=typeof t.getMimeTypes)throw new Error('Custom parser must have "parse()", "validate()" and "getMimeTypes()" functions.');t.getMimeTypes().forEach((i=>{e.parserRegistry.set(i,t)}))}(this,e)}}})(),n.default})())); \ No newline at end of file diff --git a/apps/parser/browser/index.js.LICENSE.txt b/apps/parser/browser/index.js.LICENSE.txt deleted file mode 100644 index 4cc839ffa..000000000 --- a/apps/parser/browser/index.js.LICENSE.txt +++ /dev/null @@ -1,79 +0,0 @@ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -/*! - * URI.js - Mutating URLs - * - * Version: 1.19.11 - * - * Author: Rodney Rehm - * Web: http://medialize.github.io/URI.js/ - * - * Licensed under - * MIT License http://www.opensource.org/licenses/mit-license - * - */ - -/*! - * URI.js - Mutating URLs - * IPv6 Support - * - * Version: 1.19.11 - * - * Author: Rodney Rehm - * Web: http://medialize.github.io/URI.js/ - * - * Licensed under - * MIT License http://www.opensource.org/licenses/mit-license - * - */ - -/*! - * URI.js - Mutating URLs - * Second Level Domain (SLD) Support - * - * Version: 1.19.11 - * - * Author: Rodney Rehm - * Web: http://medialize.github.io/URI.js/ - * - * Licensed under - * MIT License http://www.opensource.org/licenses/mit-license - * - */ - -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -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. -***************************************************************************** */ - -/*! https://mths.be/punycode v1.4.0 by @mathias */ - -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ - -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ - -/** - * @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 - */ - -/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ diff --git a/apps/parser/cjs/constants.d.ts b/apps/parser/cjs/constants.d.ts deleted file mode 100644 index ed323fa96..000000000 --- a/apps/parser/cjs/constants.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export declare const xParserSpecParsed = "x-parser-spec-parsed"; -export declare const xParserSpecStringified = "x-parser-spec-stringified"; -export declare const xParserApiVersion = "x-parser-api-version"; -export declare const xParserMessageName = "x-parser-message-name"; -export declare const xParserMessageParsed = "x-parser-message-parsed"; -export declare const xParserSchemaId = "x-parser-schema-id"; -export declare const xParserOriginalSchemaFormat = "x-parser-original-schema-format"; -export declare const xParserOriginalPayload = "x-parser-original-payload"; -export declare const xParserOriginalTraits = "x-parser-original-traits"; -export declare const xParserCircular = "x-parser-circular"; -export declare const xParserCircularProps = "x-parser-circular-props"; -export declare const xParserObjectUniqueId = "x-parser-unique-object-id"; -export declare const EXTENSION_REGEX: RegExp; -export declare const specVersions: string[]; -export declare const lastVersion: string; diff --git a/apps/parser/cjs/constants.js b/apps/parser/cjs/constants.js deleted file mode 100644 index 189092c1b..000000000 --- a/apps/parser/cjs/constants.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.lastVersion = exports.specVersions = exports.EXTENSION_REGEX = exports.xParserObjectUniqueId = exports.xParserCircularProps = exports.xParserCircular = exports.xParserOriginalTraits = exports.xParserOriginalPayload = exports.xParserOriginalSchemaFormat = exports.xParserSchemaId = exports.xParserMessageParsed = exports.xParserMessageName = exports.xParserApiVersion = exports.xParserSpecStringified = exports.xParserSpecParsed = void 0; -const specs_1 = __importDefault(require("@asyncapi/specs")); -exports.xParserSpecParsed = 'x-parser-spec-parsed'; -exports.xParserSpecStringified = 'x-parser-spec-stringified'; -exports.xParserApiVersion = 'x-parser-api-version'; -exports.xParserMessageName = 'x-parser-message-name'; -exports.xParserMessageParsed = 'x-parser-message-parsed'; -exports.xParserSchemaId = 'x-parser-schema-id'; -exports.xParserOriginalSchemaFormat = 'x-parser-original-schema-format'; -exports.xParserOriginalPayload = 'x-parser-original-payload'; -exports.xParserOriginalTraits = 'x-parser-original-traits'; -exports.xParserCircular = 'x-parser-circular'; -exports.xParserCircularProps = 'x-parser-circular-props'; -exports.xParserObjectUniqueId = 'x-parser-unique-object-id'; -exports.EXTENSION_REGEX = /^x-[\w\d.\-_]+$/; -// Only >=2.0.0 versions are supported -exports.specVersions = Object.keys(specs_1.default.schemas); -exports.lastVersion = exports.specVersions[exports.specVersions.length - 1]; diff --git a/apps/parser/cjs/custom-operations/anonymous-naming.d.ts b/apps/parser/cjs/custom-operations/anonymous-naming.d.ts deleted file mode 100644 index 25722cee7..000000000 --- a/apps/parser/cjs/custom-operations/anonymous-naming.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { AsyncAPIDocumentInterface } from '../models'; -export declare function anonymousNaming(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/cjs/custom-operations/anonymous-naming.js b/apps/parser/cjs/custom-operations/anonymous-naming.js deleted file mode 100644 index 263845c4e..000000000 --- a/apps/parser/cjs/custom-operations/anonymous-naming.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.anonymousNaming = void 0; -const constants_1 = require("../constants"); -const iterator_1 = require("../iterator"); -const utils_1 = require("../utils"); -function anonymousNaming(document) { - assignNameToComponentMessages(document); - assignNameToAnonymousMessages(document); - assignUidToComponentSchemas(document); - assignUidToComponentParameterSchemas(document); - assignUidToChannelParameterSchemas(document); - assignUidToAnonymousSchemas(document); -} -exports.anonymousNaming = anonymousNaming; -function assignNameToComponentMessages(document) { - document.components().messages().forEach(message => { - if (message.name() === undefined) { - (0, utils_1.setExtension)(constants_1.xParserMessageName, message.id(), message); - } - }); -} -function assignNameToAnonymousMessages(document) { - let anonymousMessageCounter = 0; - document.messages().forEach(message => { - var _a; - if (message.name() === undefined && ((_a = message.extensions().get(constants_1.xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()) === undefined) { - (0, utils_1.setExtension)(constants_1.xParserMessageName, message.id() || ``, message); - } - }); -} -function assignUidToComponentParameterSchemas(document) { - document.components().channelParameters().forEach(parameter => { - const schema = parameter.schema(); - if (schema && !schema.id()) { - (0, utils_1.setExtension)(constants_1.xParserSchemaId, parameter.id(), schema); - } - }); -} -function assignUidToChannelParameterSchemas(document) { - document.channels().forEach(channel => { - channel.parameters().forEach(parameter => { - const schema = parameter.schema(); - if (schema && !schema.id()) { - (0, utils_1.setExtension)(constants_1.xParserSchemaId, parameter.id(), schema); - } - }); - }); -} -function assignUidToComponentSchemas(document) { - document.components().schemas().forEach(schema => { - (0, utils_1.setExtension)(constants_1.xParserSchemaId, schema.id(), schema); - }); -} -function assignUidToAnonymousSchemas(doc) { - let anonymousSchemaCounter = 0; - function callback(schema) { - const json = schema.json(); - const isMultiFormatSchema = json.schema !== undefined; - const underlyingSchema = isMultiFormatSchema ? json.schema : json; - if (!schema.id()) { - (0, utils_1.setExtensionOnJson)(constants_1.xParserSchemaId, ``, underlyingSchema); - } - } - (0, iterator_1.traverseAsyncApiDocument)(doc, callback); -} diff --git a/apps/parser/cjs/custom-operations/apply-traits.d.ts b/apps/parser/cjs/custom-operations/apply-traits.d.ts deleted file mode 100644 index 1a7ff5ebe..000000000 --- a/apps/parser/cjs/custom-operations/apply-traits.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { v2, v3 } from '../spec-types'; -export declare function applyTraitsV2(asyncapi: v2.AsyncAPIObject): void; -export declare function applyTraitsV3(asyncapi: v3.AsyncAPIObject): void; diff --git a/apps/parser/cjs/custom-operations/apply-traits.js b/apps/parser/cjs/custom-operations/apply-traits.js deleted file mode 100644 index fdebb9b24..000000000 --- a/apps/parser/cjs/custom-operations/apply-traits.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.applyTraitsV3 = exports.applyTraitsV2 = void 0; -const jsonpath_plus_1 = require("jsonpath-plus"); -const utils_1 = require("../utils"); -const v2TraitPaths = [ - // operations - '$.channels.*.[publish,subscribe]', - '$.components.channels.*.[publish,subscribe]', - // messages - '$.channels.*.[publish,subscribe].message', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe].message', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.messages.*', -]; -function applyTraitsV2(asyncapi) { - applyAllTraitsV2(asyncapi, v2TraitPaths); -} -exports.applyTraitsV2 = applyTraitsV2; -function applyAllTraitsV2(asyncapi, paths) { - const visited = new Set(); - paths.forEach(path => { - (0, jsonpath_plus_1.JSONPath)({ - path, - json: asyncapi, - resultType: 'value', - callback(value) { - if (visited.has(value)) { - return; - } - visited.add(value); - applyTraitsToObjectV2(value); - }, - }); - }); -} -function applyTraitsToObjectV2(value) { - if (Array.isArray(value.traits)) { - for (const trait of value.traits) { - for (const key in trait) { - value[String(key)] = (0, utils_1.mergePatch)(value[String(key)], trait[String(key)]); - } - } - } -} -const v3TraitPaths = [ - // operations - '$.operations.*', - '$.operations.*.channel.*', - '$.operations.*.channel.messages.*', - '$.operations.*.messages.*', - '$.components.operations.*', - '$.components.operations.*.channel.*', - '$.components.operations.*.channel.messages.*', - '$.components.operations.*.messages.*', - // Channels - '$.channels.*.messages.*', - '$.components.channels.*.messages.*', - // messages - '$.components.messages.*', -]; -function applyTraitsV3(asyncapi) { - applyAllTraitsV3(asyncapi, v3TraitPaths); -} -exports.applyTraitsV3 = applyTraitsV3; -function applyAllTraitsV3(asyncapi, paths) { - const visited = new Set(); - paths.forEach(path => { - (0, jsonpath_plus_1.JSONPath)({ - path, - json: asyncapi, - resultType: 'value', - callback(value) { - if (visited.has(value)) { - return; - } - visited.add(value); - applyTraitsToObjectV3(value); - }, - }); - }); -} -function applyTraitsToObjectV3(value) { - if (!Array.isArray(value.traits)) { - return; - } - // shallow copy of object - const copy = Object.assign({}, value); - // reset the object but preserve the reference - for (const key in value) { - delete value[key]; - } - // merge root object at the end - for (const trait of [...copy.traits, copy]) { - for (const key in trait) { - value[String(key)] = (0, utils_1.mergePatch)(value[String(key)], trait[String(key)]); - } - } -} diff --git a/apps/parser/cjs/custom-operations/apply-unique-ids.d.ts b/apps/parser/cjs/custom-operations/apply-unique-ids.d.ts deleted file mode 100644 index 954f25248..000000000 --- a/apps/parser/cjs/custom-operations/apply-unique-ids.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. - * - * For v3; Apply unique ids to all channel's, operations, and message's. - */ -export declare function applyUniqueIds(structure: any): void; diff --git a/apps/parser/cjs/custom-operations/apply-unique-ids.js b/apps/parser/cjs/custom-operations/apply-unique-ids.js deleted file mode 100644 index 0209a39a7..000000000 --- a/apps/parser/cjs/custom-operations/apply-unique-ids.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.applyUniqueIds = void 0; -const constants_1 = require("../constants"); -/** - * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. - * - * For v3; Apply unique ids to all channel's, operations, and message's. - */ -function applyUniqueIds(structure) { - const asyncapiVersion = structure.asyncapi.charAt(0); - switch (asyncapiVersion) { - case '3': - applyUniqueIdToChannels(structure.channels); - applyUniqueIdToObjects(structure.operations); - if (structure.components) { - applyUniqueIdToObjects(structure.components.messages); - applyUniqueIdToObjects(structure.components.operations); - applyUniqueIdToChannels(structure.components.channels); - } - break; - } -} -exports.applyUniqueIds = applyUniqueIds; -function applyUniqueIdToChannels(channels) { - for (const [channelId, channel] of Object.entries((channels !== null && channels !== void 0 ? channels : {}))) { - if (!channel[constants_1.xParserObjectUniqueId]) { - channel[constants_1.xParserObjectUniqueId] = channelId; - } - applyUniqueIdToObjects(channel.messages); - } -} -function applyUniqueIdToObjects(objects) { - for (const [objectKey, object] of Object.entries((objects !== null && objects !== void 0 ? objects : {}))) { - if (!object[constants_1.xParserObjectUniqueId]) { - object[constants_1.xParserObjectUniqueId] = objectKey; - } - } -} diff --git a/apps/parser/cjs/custom-operations/check-circular-refs.d.ts b/apps/parser/cjs/custom-operations/check-circular-refs.d.ts deleted file mode 100644 index b1189cdac..000000000 --- a/apps/parser/cjs/custom-operations/check-circular-refs.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { AsyncAPIDocumentInterface } from '../models'; -export declare function checkCircularRefs(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/cjs/custom-operations/check-circular-refs.js b/apps/parser/cjs/custom-operations/check-circular-refs.js deleted file mode 100644 index b8f5ae282..000000000 --- a/apps/parser/cjs/custom-operations/check-circular-refs.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.checkCircularRefs = void 0; -const utils_1 = require("../utils"); -const constants_1 = require("../constants"); -function checkCircularRefs(document) { - if (hasInlineRef(document.json())) { - (0, utils_1.setExtension)(constants_1.xParserCircular, true, document); - } -} -exports.checkCircularRefs = checkCircularRefs; -function hasInlineRef(data) { - if (data && typeof data === 'object' && !Array.isArray(data)) { - if (Object.prototype.hasOwnProperty.call(data, '$ref')) { - return true; - } - for (const p in data) { - if (hasInlineRef(data[p])) { - return true; - } - } - } - return false; -} diff --git a/apps/parser/cjs/custom-operations/index.d.ts b/apps/parser/cjs/custom-operations/index.d.ts deleted file mode 100644 index 6767e00ce..000000000 --- a/apps/parser/cjs/custom-operations/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { RulesetFunctionContext } from '@stoplight/spectral-core'; -import type { Parser } from '../parser'; -import type { ParseOptions } from '../parse'; -import type { AsyncAPIDocumentInterface } from '../models'; -import type { DetailedAsyncAPI } from '../types'; -export { applyUniqueIds } from './apply-unique-ids'; -export declare function customOperations(parser: Parser, document: AsyncAPIDocumentInterface, detailed: DetailedAsyncAPI, inventory: RulesetFunctionContext['documentInventory'], options: ParseOptions): Promise; diff --git a/apps/parser/cjs/custom-operations/index.js b/apps/parser/cjs/custom-operations/index.js deleted file mode 100644 index f2928e446..000000000 --- a/apps/parser/cjs/custom-operations/index.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.customOperations = exports.applyUniqueIds = void 0; -const apply_traits_1 = require("./apply-traits"); -const resolve_circular_refs_1 = require("./resolve-circular-refs"); -const parse_schema_1 = require("./parse-schema"); -const anonymous_naming_1 = require("./anonymous-naming"); -const check_circular_refs_1 = require("./check-circular-refs"); -var apply_unique_ids_1 = require("./apply-unique-ids"); -Object.defineProperty(exports, "applyUniqueIds", { enumerable: true, get: function () { return apply_unique_ids_1.applyUniqueIds; } }); -function customOperations(parser, document, detailed, inventory, options) { - return __awaiter(this, void 0, void 0, function* () { - switch (detailed.semver.major) { - case 2: return operationsV2(parser, document, detailed, inventory, options); - case 3: return operationsV3(parser, document, detailed, inventory, options); - } - }); -} -exports.customOperations = customOperations; -function operationsV2(parser, document, detailed, inventory, options) { - return __awaiter(this, void 0, void 0, function* () { - (0, check_circular_refs_1.checkCircularRefs)(document); - if (options.applyTraits) { - (0, apply_traits_1.applyTraitsV2)(detailed.parsed); - } - if (options.parseSchemas) { - yield (0, parse_schema_1.parseSchemasV2)(parser, detailed); - } - // anonymous naming and resolving circular references should be done after custom schemas parsing - if (inventory) { - (0, resolve_circular_refs_1.resolveCircularRefs)(document, inventory); - } - (0, anonymous_naming_1.anonymousNaming)(document); - }); -} -function operationsV3(parser, document, detailed, inventory, options) { - return __awaiter(this, void 0, void 0, function* () { - (0, check_circular_refs_1.checkCircularRefs)(document); - if (options.applyTraits) { - (0, apply_traits_1.applyTraitsV3)(detailed.parsed); - } - if (options.parseSchemas) { - yield (0, parse_schema_1.parseSchemasV3)(parser, detailed); - } - // anonymous naming and resolving circular references should be done after custom schemas parsing - if (inventory) { - (0, resolve_circular_refs_1.resolveCircularRefs)(document, inventory); - } - (0, anonymous_naming_1.anonymousNaming)(document); - }); -} diff --git a/apps/parser/cjs/custom-operations/parse-schema.d.ts b/apps/parser/cjs/custom-operations/parse-schema.d.ts deleted file mode 100644 index 48c8eae6b..000000000 --- a/apps/parser/cjs/custom-operations/parse-schema.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { Parser } from '../parser'; -import type { DetailedAsyncAPI } from '../types'; -export declare function parseSchemasV2(parser: Parser, detailed: DetailedAsyncAPI): Promise; -export declare function parseSchemasV3(parser: Parser, detailed: DetailedAsyncAPI): Promise; diff --git a/apps/parser/cjs/custom-operations/parse-schema.js b/apps/parser/cjs/custom-operations/parse-schema.js deleted file mode 100644 index 3e71810b7..000000000 --- a/apps/parser/cjs/custom-operations/parse-schema.js +++ /dev/null @@ -1,158 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseSchemasV3 = exports.parseSchemasV2 = void 0; -const jsonpath_plus_1 = require("jsonpath-plus"); -const constants_1 = require("../constants"); -const schema_parser_1 = require("../schema-parser"); -const customSchemasPathsV2 = [ - // operations - '$.channels.*.[publish,subscribe].message', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe].message', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - // messages - '$.components.messages.*', -]; -const customSchemasPathsV3 = [ - // channels - '$.channels.*.messages.*.payload', - '$.channels.*.messages.*.headers', - '$.components.channels.*.messages.*.payload', - '$.components.channels.*.messages.*.headers', - // operations - '$.operations.*.messages.*.payload', - '$.operations.*.messages.*.headers', - '$.components.operations.*.messages.*.payload', - '$.components.operations.*.messages.*.headers', - // messages - '$.components.messages.*.payload', - '$.components.messages.*.headers.*', - // schemas - '$.components.schemas.*', -]; -function parseSchemasV2(parser, detailed) { - return __awaiter(this, void 0, void 0, function* () { - const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(detailed.semver.version); - const parseItems = []; - const visited = new Set(); - customSchemasPathsV2.forEach(path => { - (0, jsonpath_plus_1.JSONPath)({ - path, - json: detailed.parsed, - resultType: 'all', - callback(result) { - const value = result.value; - if (visited.has(value)) { - return; - } - visited.add(value); - const payload = value.payload; - if (!payload) { - return; - } - const schemaFormat = (0, schema_parser_1.getSchemaFormat)(value.schemaFormat, detailed.semver.version); - parseItems.push({ - input: { - asyncapi: detailed, - data: payload, - meta: { - message: value, - }, - path: [...splitPath(result.path), 'payload'], - schemaFormat, - defaultSchemaFormat, - }, - value, - }); - }, - }); - }); - return Promise.all(parseItems.map(item => parseSchemaV2(parser, item))); - }); -} -exports.parseSchemasV2 = parseSchemasV2; -function parseSchemasV3(parser, detailed) { - return __awaiter(this, void 0, void 0, function* () { - const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(detailed.semver.version); - const parseItems = []; - const visited = new Set(); - customSchemasPathsV3.forEach(path => { - (0, jsonpath_plus_1.JSONPath)({ - path, - json: detailed.parsed, - resultType: 'all', - callback(result) { - const value = result.value; - if (visited.has(value)) { - return; - } - visited.add(value); - const schema = value.schema; - if (!schema) { - return; - } - let schemaFormat = value.schemaFormat; - if (!schemaFormat) { - return; - } - schemaFormat = (0, schema_parser_1.getSchemaFormat)(value.schemaFormat, detailed.semver.version); - parseItems.push({ - input: { - asyncapi: detailed, - data: schema, - meta: { - message: value, - }, - path: [...splitPath(result.path), 'schema'], - schemaFormat, - defaultSchemaFormat, - }, - value, - }); - }, - }); - }); - return Promise.all(parseItems.map(item => parseSchemaV3(parser, item))); - }); -} -exports.parseSchemasV3 = parseSchemasV3; -function parseSchemaV3(parser, item) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const originalData = item.input.data; - const parsedData = yield (0, schema_parser_1.parseSchema)(parser, item.input); - if (((_a = item.value) === null || _a === void 0 ? void 0 : _a.schema) !== undefined) { - item.value.schema = parsedData; - } - else { - item.value = parsedData; - } - // save original payload only when data is different (returned by custom parsers) - if (originalData !== parsedData) { - item.value[constants_1.xParserOriginalPayload] = originalData; - } - }); -} -function parseSchemaV2(parser, item) { - return __awaiter(this, void 0, void 0, function* () { - const originalData = item.input.data; - const parsedData = item.value.payload = yield (0, schema_parser_1.parseSchema)(parser, item.input); - // save original payload only when data is different (returned by custom parsers) - if (originalData !== parsedData) { - item.value[constants_1.xParserOriginalPayload] = originalData; - } - }); -} -function splitPath(path) { - // remove $[' from beginning and '] at the end and split by '][' - return path.slice(3).slice(0, -2).split('\'][\''); -} diff --git a/apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts b/apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts deleted file mode 100644 index f47f88291..000000000 --- a/apps/parser/cjs/custom-operations/resolve-circular-refs.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { RulesetFunctionContext } from '@stoplight/spectral-core'; -import type { AsyncAPIDocumentInterface } from '../models'; -export declare function resolveCircularRefs(document: AsyncAPIDocumentInterface, inventory: RulesetFunctionContext['documentInventory']): void; diff --git a/apps/parser/cjs/custom-operations/resolve-circular-refs.js b/apps/parser/cjs/custom-operations/resolve-circular-refs.js deleted file mode 100644 index 4505f97a4..000000000 --- a/apps/parser/cjs/custom-operations/resolve-circular-refs.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.resolveCircularRefs = void 0; -const utils_1 = require("../utils"); -const constants_1 = require("../constants"); -function resolveCircularRefs(document, inventory) { - const documentJson = document.json(); - const ctx = { document: documentJson, hasCircular: false, inventory, visited: new Set() }; - traverse(documentJson, [], null, '', ctx); - if (ctx.hasCircular) { - (0, utils_1.setExtension)(constants_1.xParserCircular, true, document); - } -} -exports.resolveCircularRefs = resolveCircularRefs; -function traverse(data, path, parent, property, ctx) { - if (typeof data !== 'object' || !data || ctx.visited.has(data)) { - return; - } - ctx.visited.add(data); - if (Array.isArray(data)) { - data.forEach((item, idx) => traverse(item, [...path, idx], data, idx, ctx)); - } - if ('$ref' in data) { - ctx.hasCircular = true; - const resolvedRef = retrieveCircularRef(data, path, ctx); - if (resolvedRef) { - parent[property] = resolvedRef; - } - } - else { - for (const p in data) { - traverse(data[p], [...path, p], data, p, ctx); - } - } - ctx.visited.delete(data); -} -function retrieveCircularRef(data, path, ctx) { - const $refPath = (0, utils_1.toJSONPathArray)(data.$ref); - const item = ctx.inventory.findAssociatedItemForPath(path, true); - // root document case - if (item === null) { - return (0, utils_1.retrieveDeepData)(ctx.document, $refPath); - } - // referenced document case - if (item) { - const subArrayIndex = (0, utils_1.findSubArrayIndex)(path, $refPath); - let dataPath; - if (subArrayIndex === -1) { // create subarray based on location of the assiociated document - use item.path - dataPath = [...path.slice(0, path.length - item.path.length), ...$refPath]; - } - else { // create subarray based on $refPath - dataPath = path.slice(0, subArrayIndex + $refPath.length); - } - return (0, utils_1.retrieveDeepData)(ctx.document, dataPath); - } -} diff --git a/apps/parser/cjs/document.d.ts b/apps/parser/cjs/document.d.ts deleted file mode 100644 index 482b4477d..000000000 --- a/apps/parser/cjs/document.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { AsyncAPIDocumentInterface } from './models'; -import type { OldAsyncAPIDocument } from './old-api'; -import type { DetailedAsyncAPI, AsyncAPIObject } from './types'; -export declare function createAsyncAPIDocument(asyncapi: DetailedAsyncAPI): AsyncAPIDocumentInterface; -export declare function toAsyncAPIDocument(maybeDoc: unknown): AsyncAPIDocumentInterface | undefined; -export declare function isAsyncAPIDocument(maybeDoc: unknown): maybeDoc is AsyncAPIDocumentInterface; -export declare function isOldAsyncAPIDocument(maybeDoc: unknown): maybeDoc is OldAsyncAPIDocument; -export declare function isParsedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; -export declare function isStringifiedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; diff --git a/apps/parser/cjs/document.js b/apps/parser/cjs/document.js deleted file mode 100644 index 5ab3a6638..000000000 --- a/apps/parser/cjs/document.js +++ /dev/null @@ -1,71 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isStringifiedDocument = exports.isParsedDocument = exports.isOldAsyncAPIDocument = exports.isAsyncAPIDocument = exports.toAsyncAPIDocument = exports.createAsyncAPIDocument = void 0; -const models_1 = require("./models"); -const stringify_1 = require("./stringify"); -const utils_1 = require("./utils"); -const constants_1 = require("./constants"); -function createAsyncAPIDocument(asyncapi) { - switch (asyncapi.semver.major) { - case 2: - return new models_1.AsyncAPIDocumentV2(asyncapi.parsed, { asyncapi, pointer: '/' }); - case 3: - return new models_1.AsyncAPIDocumentV3(asyncapi.parsed, { asyncapi, pointer: '/' }); - default: - throw new Error(`Unsupported AsyncAPI version: ${asyncapi.semver.version}`); - } -} -exports.createAsyncAPIDocument = createAsyncAPIDocument; -function toAsyncAPIDocument(maybeDoc) { - if (isAsyncAPIDocument(maybeDoc)) { - return maybeDoc; - } - if (!isParsedDocument(maybeDoc)) { - return (0, stringify_1.unstringify)(maybeDoc); - } - return createAsyncAPIDocument((0, utils_1.createDetailedAsyncAPI)(maybeDoc, maybeDoc)); -} -exports.toAsyncAPIDocument = toAsyncAPIDocument; -function isAsyncAPIDocument(maybeDoc) { - if (!maybeDoc) { - return false; - } - if (maybeDoc instanceof models_1.AsyncAPIDocumentV2 || maybeDoc instanceof models_1.AsyncAPIDocumentV3) { - return true; - } - if (maybeDoc && typeof maybeDoc.json === 'function') { - const versionOfParserAPI = maybeDoc.json()[constants_1.xParserApiVersion]; - return versionOfParserAPI === models_1.ParserAPIVersion; - } - return false; -} -exports.isAsyncAPIDocument = isAsyncAPIDocument; -function isOldAsyncAPIDocument(maybeDoc) { - if (maybeDoc && typeof maybeDoc.json === 'function') { - const versionOfParserAPI = maybeDoc.json()[constants_1.xParserApiVersion]; - return versionOfParserAPI === undefined || versionOfParserAPI === 0; - } - return false; -} -exports.isOldAsyncAPIDocument = isOldAsyncAPIDocument; -function isParsedDocument(maybeDoc) { - if (typeof maybeDoc !== 'object' || maybeDoc === null) { - return false; - } - return Boolean(maybeDoc[constants_1.xParserSpecParsed]); -} -exports.isParsedDocument = isParsedDocument; -function isStringifiedDocument(maybeDoc) { - try { - maybeDoc = typeof maybeDoc === 'string' ? JSON.parse(maybeDoc) : maybeDoc; - if (typeof maybeDoc !== 'object' || maybeDoc === null) { - return false; - } - return (Boolean(maybeDoc[constants_1.xParserSpecParsed]) && - Boolean(maybeDoc[constants_1.xParserSpecStringified])); - } - catch (_) { - return false; - } -} -exports.isStringifiedDocument = isStringifiedDocument; diff --git a/apps/parser/cjs/from.d.ts b/apps/parser/cjs/from.d.ts deleted file mode 100644 index f7eb1b051..000000000 --- a/apps/parser/cjs/from.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { readFile } from 'fs'; -import type { RequestInit } from 'node-fetch'; -import type { Parser } from './parser'; -import type { ParseOptions, ParseOutput } from './parse'; -import type { ValidateOptions } from './validate'; -import type { Diagnostic } from './types'; -interface FromResult { - parse: (options?: ParseOptions) => Promise; - validate: (options?: ValidateOptions) => Promise; -} -export declare function fromURL(parser: Parser, source: string, options?: RequestInit): FromResult; -export declare function fromFile(parser: Parser, source: string, options?: Parameters[1]): FromResult; -export {}; diff --git a/apps/parser/cjs/from.js b/apps/parser/cjs/from.js deleted file mode 100644 index 3bb288e13..000000000 --- a/apps/parser/cjs/from.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.fromFile = exports.fromURL = void 0; -const fs_1 = require("fs"); -const util_1 = require("util"); -function fromURL(parser, source, options) { - function fetchUrl() { - return __awaiter(this, void 0, void 0, function* () { - const fetchFn = yield getFetch(); - return (yield fetchFn(source, options)).text(); - }); - } - return { - parse(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield fetchUrl(); - return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); - }); - }, - validate(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield fetchUrl(); - return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); - }); - } - }; -} -exports.fromURL = fromURL; -function fromFile(parser, source, options) { - function readFileFn() { - return __awaiter(this, void 0, void 0, function* () { - return (yield (0, util_1.promisify)(fs_1.readFile)(source, options)).toString(); - }); - } - return { - parse(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield readFileFn(); - return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); - }); - }, - validate(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield readFileFn(); - return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); - }); - } - }; -} -exports.fromFile = fromFile; -let __fetchFn; -function getFetch() { - return __awaiter(this, void 0, void 0, function* () { - if (__fetchFn) { - return __fetchFn; - } - if (typeof fetch === 'undefined') { - return __fetchFn = (yield Promise.resolve().then(() => __importStar(require('node-fetch')))).default; - } - return (__fetchFn = fetch); - }); -} diff --git a/apps/parser/cjs/index.d.ts b/apps/parser/cjs/index.d.ts deleted file mode 100644 index a53f0608a..000000000 --- a/apps/parser/cjs/index.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { DiagnosticSeverity } from '@stoplight/types'; -import { Parser } from './parser'; -export * from './models'; -export { Parser }; -export { stringify, unstringify } from './stringify'; -export { fromURL, fromFile } from './from'; -export { createAsyncAPIDocument, toAsyncAPIDocument, isAsyncAPIDocument, isOldAsyncAPIDocument } from './document'; -export { DiagnosticSeverity }; -export * from './old-api'; -export type { AsyncAPISemver, Input, Diagnostic, SchemaValidateResult, AsyncAPISchema } from './types'; -export type { ValidateOptions, ValidateOutput } from './validate'; -export type { ParseOptions, ParseOutput } from './parse'; -export type { StringifyOptions } from './stringify'; -export type { ValidateSchemaInput, ParseSchemaInput, SchemaParser } from './schema-parser'; -export type { v2 as SpecTypesV2 } from './spec-types'; -export default Parser; diff --git a/apps/parser/cjs/index.js b/apps/parser/cjs/index.js deleted file mode 100644 index 331af195a..000000000 --- a/apps/parser/cjs/index.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.DiagnosticSeverity = exports.isOldAsyncAPIDocument = exports.isAsyncAPIDocument = exports.toAsyncAPIDocument = exports.createAsyncAPIDocument = exports.fromFile = exports.fromURL = exports.unstringify = exports.stringify = exports.Parser = void 0; -const types_1 = require("@stoplight/types"); -Object.defineProperty(exports, "DiagnosticSeverity", { enumerable: true, get: function () { return types_1.DiagnosticSeverity; } }); -const parser_1 = require("./parser"); -Object.defineProperty(exports, "Parser", { enumerable: true, get: function () { return parser_1.Parser; } }); -__exportStar(require("./models"), exports); -var stringify_1 = require("./stringify"); -Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_1.stringify; } }); -Object.defineProperty(exports, "unstringify", { enumerable: true, get: function () { return stringify_1.unstringify; } }); -var from_1 = require("./from"); -Object.defineProperty(exports, "fromURL", { enumerable: true, get: function () { return from_1.fromURL; } }); -Object.defineProperty(exports, "fromFile", { enumerable: true, get: function () { return from_1.fromFile; } }); -var document_1 = require("./document"); -Object.defineProperty(exports, "createAsyncAPIDocument", { enumerable: true, get: function () { return document_1.createAsyncAPIDocument; } }); -Object.defineProperty(exports, "toAsyncAPIDocument", { enumerable: true, get: function () { return document_1.toAsyncAPIDocument; } }); -Object.defineProperty(exports, "isAsyncAPIDocument", { enumerable: true, get: function () { return document_1.isAsyncAPIDocument; } }); -Object.defineProperty(exports, "isOldAsyncAPIDocument", { enumerable: true, get: function () { return document_1.isOldAsyncAPIDocument; } }); -__exportStar(require("./old-api"), exports); -exports.default = parser_1.Parser; diff --git a/apps/parser/cjs/iterator.d.ts b/apps/parser/cjs/iterator.d.ts deleted file mode 100644 index 1d2c98ddd..000000000 --- a/apps/parser/cjs/iterator.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import type { AsyncAPIDocumentInterface } from './models/asyncapi'; -import type { SchemaInterface } from './models/schema'; -/** - * The different kind of stages when crawling a schema. - */ -export declare enum SchemaIteratorCallbackType { - NEW_SCHEMA = "NEW_SCHEMA", - END_SCHEMA = "END_SCHEMA" -} -/** - * The different types of schemas you can iterate - */ -export declare enum SchemaTypesToIterate { - Parameters = "parameters", - Payloads = "payloads", - Headers = "headers", - Components = "components", - Objects = "objects", - Arrays = "arrays", - OneOfs = "oneOfs", - AllOfs = "allOfs", - AnyOfs = "anyOfs", - Nots = "nots", - PropertyNames = "propertyNames", - PatternProperties = "patternProperties", - Contains = "contains", - Ifs = "ifs", - Thenes = "thenes", - Elses = "elses", - Dependencies = "dependencies", - Definitions = "definitions" -} -export type TraverseOptions = { - callback: TraverseCallback; - schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; - seenSchemas: Set; -}; -export type TraverseCallback = (schema: SchemaInterface, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -export declare function traverseAsyncApiDocument(doc: AsyncAPIDocumentInterface, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/cjs/iterator.js b/apps/parser/cjs/iterator.js deleted file mode 100644 index 70551eac7..000000000 --- a/apps/parser/cjs/iterator.js +++ /dev/null @@ -1,228 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.traverseAsyncApiDocument = exports.SchemaTypesToIterate = exports.SchemaIteratorCallbackType = void 0; -/** - * The different kind of stages when crawling a schema. - */ -var SchemaIteratorCallbackType; -(function (SchemaIteratorCallbackType) { - SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; - SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; -})(SchemaIteratorCallbackType = exports.SchemaIteratorCallbackType || (exports.SchemaIteratorCallbackType = {})); -/** - * The different types of schemas you can iterate - */ -var SchemaTypesToIterate; -(function (SchemaTypesToIterate) { - SchemaTypesToIterate["Parameters"] = "parameters"; - SchemaTypesToIterate["Payloads"] = "payloads"; - SchemaTypesToIterate["Headers"] = "headers"; - SchemaTypesToIterate["Components"] = "components"; - SchemaTypesToIterate["Objects"] = "objects"; - SchemaTypesToIterate["Arrays"] = "arrays"; - SchemaTypesToIterate["OneOfs"] = "oneOfs"; - SchemaTypesToIterate["AllOfs"] = "allOfs"; - SchemaTypesToIterate["AnyOfs"] = "anyOfs"; - SchemaTypesToIterate["Nots"] = "nots"; - SchemaTypesToIterate["PropertyNames"] = "propertyNames"; - SchemaTypesToIterate["PatternProperties"] = "patternProperties"; - SchemaTypesToIterate["Contains"] = "contains"; - SchemaTypesToIterate["Ifs"] = "ifs"; - SchemaTypesToIterate["Thenes"] = "thenes"; - SchemaTypesToIterate["Elses"] = "elses"; - SchemaTypesToIterate["Dependencies"] = "dependencies"; - SchemaTypesToIterate["Definitions"] = "definitions"; -})(SchemaTypesToIterate = exports.SchemaTypesToIterate || (exports.SchemaTypesToIterate = {})); -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { - if (schemaTypesToIterate.length === 0) { - schemaTypesToIterate = Object.values(SchemaTypesToIterate); - } - const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; - if (!doc.channels().isEmpty()) { - doc.channels().all().forEach(channel => { - traverseChannel(channel, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Components) && !doc.components().isEmpty()) { - const components = doc.components(); - Object.values(components.messages().all() || {}).forEach(message => { - traverseMessage(message, options); - }); - Object.values(components.schemas().all() || {}).forEach(schema => { - traverseSchema(schema, null, options); - }); - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { - Object.values(components.channelParameters().filterBy((param) => { return param.hasSchema(); })).forEach(parameter => { - traverseSchema(parameter.schema(), null, options); - }); - } - Object.values(components.messageTraits().all() || {}).forEach(messageTrait => { - traverseMessageTrait(messageTrait, options); - }); - } -} -exports.traverseAsyncApiDocument = traverseAsyncApiDocument; -/* eslint-disable sonarjs/cognitive-complexity */ -/** - * Traverse current schema and all nested schemas. - */ -function traverseSchema(schema, propOrIndex, options) { - if (!schema) - return; - const { schemaTypesToIterate, callback, seenSchemas } = options; - // handle circular references - const jsonSchema = schema.json(); - if (seenSchemas.has(jsonSchema)) - return; - seenSchemas.add(jsonSchema); - // `type` isn't required so save type as array in the fallback - let types = schema.type() || []; - // change primitive type to array of types for easier handling - if (!Array.isArray(types)) { - types = [types]; - } - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) - return; - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) - return; - // check callback `NEW_SCHEMA` case - if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) - return; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) { - recursiveSchemaObject(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) { - recursiveSchemaArray(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.OneOfs)) { - (schema.oneOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.AnyOfs)) { - (schema.anyOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.AllOfs)) { - (schema.allOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Nots) && schema.not()) { - traverseSchema(schema.not(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Ifs) && schema.if()) { - traverseSchema(schema.if(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Thenes) && schema.then()) { - traverseSchema(schema.then(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Elses) && schema.else()) { - traverseSchema(schema.else(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Dependencies)) { - Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { - // do not iterate dependent required - if (dep && !Array.isArray(dep)) { - traverseSchema(dep, depName, options); - } - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Definitions)) { - Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { - traverseSchema(def, defName, options); - }); - } - callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); - seenSchemas.delete(jsonSchema); -} -/* eslint-enable sonarjs/cognitive-complexity */ -/** - * Recursively go through schema of object type and execute callback. - */ -function recursiveSchemaObject(schema, options) { - Object.entries(schema.properties() || {}).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - const additionalProperties = schema.additionalProperties(); - if (typeof additionalProperties === 'object') { - traverseSchema(additionalProperties, null, options); - } - const schemaTypesToIterate = options.schemaTypesToIterate; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.PropertyNames) && schema.propertyNames()) { - traverseSchema(schema.propertyNames(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.PatternProperties)) { - Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - } -} -/** - * Recursively go through schema of array type and execute callback. - */ -function recursiveSchemaArray(schema, options) { - const items = schema.items(); - if (items) { - if (Array.isArray(items)) { - items.forEach((item, idx) => { - traverseSchema(item, idx, options); - }); - } - else { - traverseSchema(items, null, options); - } - } - const additionalItems = schema.additionalItems(); - if (typeof additionalItems === 'object') { - traverseSchema(additionalItems, null, options); - } - if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { - traverseSchema(schema.contains(), null, options); - } -} -/** - * Go through each schema in channel - */ -function traverseChannel(channel, options) { - if (!channel) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { - Object.values(channel.parameters().filterBy((param) => { return param.hasSchema(); }) || {}).forEach(parameter => { - traverseSchema(parameter.schema(), null, options); - }); - } - channel.messages().all().forEach(message => { - traverseMessage(message, options); - }); -} -/** - * Go through each schema in a message - */ -function traverseMessage(message, options) { - if (!message) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && message.hasHeaders()) { - traverseSchema(message.headers(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Payloads) && message.hasPayload()) { - traverseSchema(message.payload(), null, options); - } -} -/** - * Go through each schema in a messageTrait - */ -function traverseMessageTrait(messageTrait, options) { - if (!messageTrait) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && messageTrait.hasHeaders()) { - traverseSchema(messageTrait.headers(), null, options); - } -} diff --git a/apps/parser/cjs/models/asyncapi.d.ts b/apps/parser/cjs/models/asyncapi.d.ts deleted file mode 100644 index e35f74e27..000000000 --- a/apps/parser/cjs/models/asyncapi.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { BaseModel } from './base'; -import type { InfoInterface } from './info'; -import type { ChannelsInterface } from './channels'; -import type { ComponentsInterface } from './components'; -import type { MessagesInterface } from './messages'; -import type { ExtensionsMixinInterface } from './mixins'; -import type { OperationsInterface } from './operations'; -import type { SchemasInterface } from './schemas'; -import type { SecuritySchemesInterface } from './security-schemes'; -import type { ServersInterface } from './servers'; -import type { v2, v3 } from '../spec-types'; -export declare const ParserAPIVersion = 3; -export interface AsyncAPIDocumentInterface extends BaseModel, ExtensionsMixinInterface { - version(): string; - defaultContentType(): string | undefined; - hasDefaultContentType(): boolean; - info(): InfoInterface; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - securitySchemes(): SecuritySchemesInterface; - components(): ComponentsInterface; - allServers(): ServersInterface; - allChannels(): ChannelsInterface; - allOperations(): OperationsInterface; - allMessages(): MessagesInterface; - allSchemas(): SchemasInterface; -} diff --git a/apps/parser/cjs/models/asyncapi.js b/apps/parser/cjs/models/asyncapi.js deleted file mode 100644 index 96eaf31a2..000000000 --- a/apps/parser/cjs/models/asyncapi.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ParserAPIVersion = void 0; -// https://github.com/asyncapi/parser-api/releases/tag/v3.0.0 -exports.ParserAPIVersion = 3; diff --git a/apps/parser/cjs/models/base.d.ts b/apps/parser/cjs/models/base.d.ts deleted file mode 100644 index 29aa35fa2..000000000 --- a/apps/parser/cjs/models/base.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { Constructor, InferModelData, InferModelMetadata } from './utils'; -import type { DetailedAsyncAPI } from '../types'; -export interface ModelMetadata { - asyncapi: DetailedAsyncAPI; - pointer: string; -} -export declare abstract class BaseModel = {}> { - protected readonly _json: J; - protected readonly _meta: ModelMetadata & M; - constructor(_json: J, _meta?: ModelMetadata & M); - json(): T; - json(key: K): J[K]; - meta(): ModelMetadata & M; - meta(key: K): (ModelMetadata & M)[K]; - jsonPath(field?: string | undefined): string; - protected createModel(Model: Constructor, value: InferModelData, meta: Omit & InferModelMetadata): T; -} diff --git a/apps/parser/cjs/models/base.js b/apps/parser/cjs/models/base.js deleted file mode 100644 index 26ea67cbb..000000000 --- a/apps/parser/cjs/models/base.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.BaseModel = void 0; -class BaseModel { - constructor(_json, _meta = {}) { - this._json = _json; - this._meta = _meta; - } - json(key) { - if (key === undefined) - return this._json; - if (this._json === null || this._json === undefined) - return this._json; - return this._json[key]; - } - meta(key) { - if (key === undefined) - return this._meta; - if (!this._meta) - return; - return this._meta[key]; - } - jsonPath(field) { - if (typeof field !== 'string') { - return this._meta.pointer; - } - return `${this._meta.pointer}/${field}`; - } - createModel(Model, value, meta) { - return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: this._meta.asyncapi })); - } -} -exports.BaseModel = BaseModel; diff --git a/apps/parser/cjs/models/binding.d.ts b/apps/parser/cjs/models/binding.d.ts deleted file mode 100644 index d63cbb8d2..000000000 --- a/apps/parser/cjs/models/binding.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface BindingInterface = Record> extends BaseModel, ExtensionsMixinInterface { - protocol(): string; - version(): string; - value(): V; -} diff --git a/apps/parser/cjs/models/binding.js b/apps/parser/cjs/models/binding.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/binding.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/bindings.d.ts b/apps/parser/cjs/models/bindings.d.ts deleted file mode 100644 index a9e00490d..000000000 --- a/apps/parser/cjs/models/bindings.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { Collection } from './collection'; -import type { BindingInterface } from './binding'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface BindingsInterface extends Collection, ExtensionsMixinInterface { -} diff --git a/apps/parser/cjs/models/bindings.js b/apps/parser/cjs/models/bindings.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/bindings.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channel-parameter.d.ts b/apps/parser/cjs/models/channel-parameter.d.ts deleted file mode 100644 index 3c787dbd1..000000000 --- a/apps/parser/cjs/models/channel-parameter.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -import type { SchemaInterface } from './schema'; -export interface ChannelParameterInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - hasSchema(): boolean; - schema(): SchemaInterface | undefined; - hasLocation(): boolean; - location(): string | undefined; -} diff --git a/apps/parser/cjs/models/channel-parameter.js b/apps/parser/cjs/models/channel-parameter.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/channel-parameter.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channel-parameters.d.ts b/apps/parser/cjs/models/channel-parameters.d.ts deleted file mode 100644 index 516c547bf..000000000 --- a/apps/parser/cjs/models/channel-parameters.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { ChannelParameterInterface } from './channel-parameter'; -export type ChannelParametersInterface = Collection; diff --git a/apps/parser/cjs/models/channel-parameters.js b/apps/parser/cjs/models/channel-parameters.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/channel-parameters.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channel.d.ts b/apps/parser/cjs/models/channel.d.ts deleted file mode 100644 index e4e434b88..000000000 --- a/apps/parser/cjs/models/channel.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelParametersInterface } from './channel-parameters'; -import type { MessagesInterface } from './messages'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -import type { OperationsInterface } from './operations'; -import type { ServersInterface } from './servers'; -export interface ChannelInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - address(): string | null | undefined; - servers(): ServersInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - parameters(): ChannelParametersInterface; -} diff --git a/apps/parser/cjs/models/channel.js b/apps/parser/cjs/models/channel.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/channel.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/channels.d.ts b/apps/parser/cjs/models/channels.d.ts deleted file mode 100644 index 028bd4a96..000000000 --- a/apps/parser/cjs/models/channels.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { ChannelInterface } from './channel'; -export interface ChannelsInterface extends Collection { - filterBySend(): ChannelInterface[]; - filterByReceive(): ChannelInterface[]; -} diff --git a/apps/parser/cjs/models/channels.js b/apps/parser/cjs/models/channels.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/channels.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/collection.d.ts b/apps/parser/cjs/models/collection.d.ts deleted file mode 100644 index 6c23e3b73..000000000 --- a/apps/parser/cjs/models/collection.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { BaseModel } from './base'; -import type { DetailedAsyncAPI } from '../types'; -export interface CollectionMetadata { - originalData?: Record; - asyncapi?: DetailedAsyncAPI; - pointer?: string; -} -export declare abstract class Collection = {}> extends Array { - protected readonly collections: T[]; - protected readonly _meta: CollectionMetadata & M; - constructor(collections: T[], _meta?: CollectionMetadata & M); - abstract get(id: string): T | undefined; - has(id: string): boolean; - all(): T[]; - isEmpty(): boolean; - filterBy(filter: (item: T) => boolean): T[]; - meta(): CollectionMetadata & M; - meta & M)>(key: K): (CollectionMetadata & M)[K]; -} diff --git a/apps/parser/cjs/models/collection.js b/apps/parser/cjs/models/collection.js deleted file mode 100644 index 24ebf1e84..000000000 --- a/apps/parser/cjs/models/collection.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Collection = void 0; -class Collection extends Array { - constructor(collections, _meta = {}) { - super(...collections); - this.collections = collections; - this._meta = _meta; - } - has(id) { - return typeof this.get(id) !== 'undefined'; - } - all() { - return this.collections; - } - isEmpty() { - return this.collections.length === 0; - } - filterBy(filter) { - return this.collections.filter(filter); - } - meta(key) { - if (key === undefined) - return this._meta; - if (!this._meta) - return; - return this._meta[String(key)]; - } -} -exports.Collection = Collection; diff --git a/apps/parser/cjs/models/components.d.ts b/apps/parser/cjs/models/components.d.ts deleted file mode 100644 index ce8c4f7e7..000000000 --- a/apps/parser/cjs/models/components.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { BaseModel } from './base'; -import type { BindingsInterface } from './bindings'; -import type { ExtensionsMixinInterface } from './mixins'; -import type { ServersInterface } from './servers'; -import type { ChannelsInterface } from './channels'; -import type { MessagesInterface } from './messages'; -import type { SchemasInterface } from './schemas'; -import type { ChannelParametersInterface } from './channel-parameters'; -import type { ServerVariablesInterface } from './server-variables'; -import type { OperationTraitsInterface } from './operation-traits'; -import type { MessageTraitsInterface } from './message-traits'; -import type { SecuritySchemesInterface } from './security-schemes'; -import type { CorrelationIdsInterface } from './correlation-ids'; -import type { OperationsInterface } from './operations'; -export interface ComponentsInterface extends BaseModel, ExtensionsMixinInterface { - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - channelParameters(): ChannelParametersInterface; - serverVariables(): ServerVariablesInterface; - operations(): OperationsInterface; - operationTraits(): OperationTraitsInterface; - messageTraits(): MessageTraitsInterface; - correlationIds(): CorrelationIdsInterface; - securitySchemes(): SecuritySchemesInterface; - serverBindings(): Record; - channelBindings(): Record; - operationBindings(): Record; - messageBindings(): Record; - isEmpty(): boolean; -} diff --git a/apps/parser/cjs/models/components.js b/apps/parser/cjs/models/components.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/components.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/contact.d.ts b/apps/parser/cjs/models/contact.d.ts deleted file mode 100644 index 79bf79984..000000000 --- a/apps/parser/cjs/models/contact.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface ContactInterface extends BaseModel, ExtensionsMixinInterface { - hasName(): boolean; - name(): string | undefined; - hasUrl(): boolean; - url(): string | undefined; - hasEmail(): boolean; - email(): string | undefined; -} diff --git a/apps/parser/cjs/models/contact.js b/apps/parser/cjs/models/contact.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/contact.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/correlation-id.d.ts b/apps/parser/cjs/models/correlation-id.d.ts deleted file mode 100644 index 526f641b6..000000000 --- a/apps/parser/cjs/models/correlation-id.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface CorrelationIdInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - location(): string | undefined; -} diff --git a/apps/parser/cjs/models/correlation-id.js b/apps/parser/cjs/models/correlation-id.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/correlation-id.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/correlation-ids.d.ts b/apps/parser/cjs/models/correlation-ids.d.ts deleted file mode 100644 index 47e02a09f..000000000 --- a/apps/parser/cjs/models/correlation-ids.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { CorrelationIdInterface } from './correlation-id'; -export type CorrelationIdsInterface = Collection; diff --git a/apps/parser/cjs/models/correlation-ids.js b/apps/parser/cjs/models/correlation-ids.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/correlation-ids.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/extension.d.ts b/apps/parser/cjs/models/extension.d.ts deleted file mode 100644 index a59abffb2..000000000 --- a/apps/parser/cjs/models/extension.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -export interface ExtensionInterface extends BaseModel { - id(): string; - value(): V; -} diff --git a/apps/parser/cjs/models/extension.js b/apps/parser/cjs/models/extension.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/extension.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/extensions.d.ts b/apps/parser/cjs/models/extensions.d.ts deleted file mode 100644 index abb62df18..000000000 --- a/apps/parser/cjs/models/extensions.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { ExtensionInterface } from './extension'; -export type ExtensionsInterface = Collection; diff --git a/apps/parser/cjs/models/extensions.js b/apps/parser/cjs/models/extensions.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/extensions.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/external-docs.d.ts b/apps/parser/cjs/models/external-docs.d.ts deleted file mode 100644 index bca1e1fef..000000000 --- a/apps/parser/cjs/models/external-docs.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - url(): string; -} diff --git a/apps/parser/cjs/models/external-docs.js b/apps/parser/cjs/models/external-docs.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/external-docs.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/external-documentation.d.ts b/apps/parser/cjs/models/external-documentation.d.ts deleted file mode 100644 index b48a51fde..000000000 --- a/apps/parser/cjs/models/external-documentation.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string | undefined; - url(): string; -} diff --git a/apps/parser/cjs/models/external-documentation.js b/apps/parser/cjs/models/external-documentation.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/external-documentation.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/external-documentations.d.ts b/apps/parser/cjs/models/external-documentations.d.ts deleted file mode 100644 index c6d0f9cf5..000000000 --- a/apps/parser/cjs/models/external-documentations.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from './collection'; -import type { ExternalDocumentationInterface } from './external-docs'; -export type ExternalDocumentationsInterface = Collection; -export declare class ExternalDocumentations extends Collection implements ExternalDocumentationsInterface { - get(id: string): ExternalDocumentationInterface | undefined; -} diff --git a/apps/parser/cjs/models/external-documentations.js b/apps/parser/cjs/models/external-documentations.js deleted file mode 100644 index 141db30fc..000000000 --- a/apps/parser/cjs/models/external-documentations.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ExternalDocumentations = void 0; -const collection_1 = require("./collection"); -class ExternalDocumentations extends collection_1.Collection { - get(id) { - return this.collections.find(externalDocs => externalDocs.meta('id') === id); - } -} -exports.ExternalDocumentations = ExternalDocumentations; diff --git a/apps/parser/cjs/models/index.d.ts b/apps/parser/cjs/models/index.d.ts deleted file mode 100644 index b07f3d24a..000000000 --- a/apps/parser/cjs/models/index.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -export * from './v2'; -export * from './v3'; -export * from './asyncapi'; -export * from './base'; -export * from './binding'; -export * from './bindings'; -export * from './channel-parameter'; -export * from './channel-parameters'; -export * from './channel'; -export * from './channels'; -export * from './collection'; -export * from './components'; -export * from './contact'; -export * from './correlation-id'; -export * from './correlation-ids'; -export * from './extension'; -export * from './extensions'; -export * from './external-docs'; -export * from './info'; -export * from './license'; -export * from './message-example'; -export * from './message-examples'; -export * from './message-trait'; -export * from './message-traits'; -export * from './message'; -export * from './messages'; -export * from './oauth-flow'; -export * from './oauth-flows'; -export * from './operation-replies'; -export * from './operation-reply-address'; -export * from './operation-reply-addresses'; -export * from './operation-reply'; -export * from './operation-trait'; -export * from './operation-traits'; -export * from './operation'; -export * from './operations'; -export * from './schema'; -export * from './schemas'; -export * from './security-requirement'; -export * from './security-requirements'; -export * from './security-scheme'; -export * from './security-schemes'; -export * from './server-variable'; -export * from './server-variables'; -export * from './server'; -export * from './servers'; -export * from './tag'; -export * from './tags'; diff --git a/apps/parser/cjs/models/index.js b/apps/parser/cjs/models/index.js deleted file mode 100644 index 0740e1f54..000000000 --- a/apps/parser/cjs/models/index.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./v2"), exports); -__exportStar(require("./v3"), exports); -__exportStar(require("./asyncapi"), exports); -__exportStar(require("./base"), exports); -__exportStar(require("./binding"), exports); -__exportStar(require("./bindings"), exports); -__exportStar(require("./channel-parameter"), exports); -__exportStar(require("./channel-parameters"), exports); -__exportStar(require("./channel"), exports); -__exportStar(require("./channels"), exports); -__exportStar(require("./collection"), exports); -__exportStar(require("./components"), exports); -__exportStar(require("./contact"), exports); -__exportStar(require("./correlation-id"), exports); -__exportStar(require("./correlation-ids"), exports); -__exportStar(require("./extension"), exports); -__exportStar(require("./extensions"), exports); -__exportStar(require("./external-docs"), exports); -__exportStar(require("./info"), exports); -__exportStar(require("./license"), exports); -__exportStar(require("./message-example"), exports); -__exportStar(require("./message-examples"), exports); -__exportStar(require("./message-trait"), exports); -__exportStar(require("./message-traits"), exports); -__exportStar(require("./message"), exports); -__exportStar(require("./messages"), exports); -__exportStar(require("./oauth-flow"), exports); -__exportStar(require("./oauth-flows"), exports); -__exportStar(require("./operation-replies"), exports); -__exportStar(require("./operation-reply-address"), exports); -__exportStar(require("./operation-reply-addresses"), exports); -__exportStar(require("./operation-reply"), exports); -__exportStar(require("./operation-trait"), exports); -__exportStar(require("./operation-traits"), exports); -__exportStar(require("./operation"), exports); -__exportStar(require("./operations"), exports); -__exportStar(require("./schema"), exports); -__exportStar(require("./schemas"), exports); -__exportStar(require("./security-requirement"), exports); -__exportStar(require("./security-requirements"), exports); -__exportStar(require("./security-scheme"), exports); -__exportStar(require("./security-schemes"), exports); -__exportStar(require("./server-variable"), exports); -__exportStar(require("./server-variables"), exports); -__exportStar(require("./server"), exports); -__exportStar(require("./servers"), exports); -__exportStar(require("./tag"), exports); -__exportStar(require("./tags"), exports); diff --git a/apps/parser/cjs/models/info.d.ts b/apps/parser/cjs/models/info.d.ts deleted file mode 100644 index 33ce92d33..000000000 --- a/apps/parser/cjs/models/info.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { ContactInterface } from './contact'; -import type { LicenseInterface } from './license'; -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; -export interface InfoInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { - title(): string; - version(): string; - hasId(): boolean; - id(): string | undefined; - hasTermsOfService(): boolean; - termsOfService(): string | undefined; - hasContact(): boolean; - contact(): ContactInterface | undefined; - hasLicense(): boolean; - license(): LicenseInterface | undefined; -} diff --git a/apps/parser/cjs/models/info.js b/apps/parser/cjs/models/info.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/info.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/license.d.ts b/apps/parser/cjs/models/license.d.ts deleted file mode 100644 index 55d4949b0..000000000 --- a/apps/parser/cjs/models/license.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface LicenseInterface extends BaseModel, ExtensionsMixinInterface { - name(): string; - hasUrl(): boolean; - url(): string | undefined; -} diff --git a/apps/parser/cjs/models/license.js b/apps/parser/cjs/models/license.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/license.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-example.d.ts b/apps/parser/cjs/models/message-example.d.ts deleted file mode 100644 index f929d876f..000000000 --- a/apps/parser/cjs/models/message-example.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface MessageExampleInterface extends BaseModel, ExtensionsMixinInterface { - hasName(): boolean; - name(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasHeaders(): boolean; - headers(): Record | undefined; - hasPayload(): boolean; - payload(): Record | undefined; -} diff --git a/apps/parser/cjs/models/message-example.js b/apps/parser/cjs/models/message-example.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/message-example.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-examples.d.ts b/apps/parser/cjs/models/message-examples.d.ts deleted file mode 100644 index ff4359d25..000000000 --- a/apps/parser/cjs/models/message-examples.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { MessageExampleInterface } from './message-example'; -export type MessageExamplesInterface = Collection; diff --git a/apps/parser/cjs/models/message-examples.js b/apps/parser/cjs/models/message-examples.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/message-examples.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-trait.d.ts b/apps/parser/cjs/models/message-trait.d.ts deleted file mode 100644 index 05632cb4c..000000000 --- a/apps/parser/cjs/models/message-trait.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { BaseModel } from './base'; -import type { CorrelationIdInterface } from './correlation-id'; -import type { MessageExamplesInterface } from './message-examples'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; -import type { SchemaInterface } from './schema'; -export interface MessageTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { - id(): string; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - hasMessageId(): boolean; - hasCorrelationId(): boolean; - correlationId(): CorrelationIdInterface | undefined; - hasContentType(): boolean; - contentType(): string | undefined; - hasHeaders(): boolean; - headers(): SchemaInterface | undefined; - hasName(): boolean; - name(): string | undefined; - hasTitle(): boolean; - title(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - examples(): MessageExamplesInterface; -} diff --git a/apps/parser/cjs/models/message-trait.js b/apps/parser/cjs/models/message-trait.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/message-trait.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message-traits.d.ts b/apps/parser/cjs/models/message-traits.d.ts deleted file mode 100644 index 78f21908e..000000000 --- a/apps/parser/cjs/models/message-traits.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { MessageTraitInterface } from './message-trait'; -export type MessageTraitsInterface = Collection; diff --git a/apps/parser/cjs/models/message-traits.js b/apps/parser/cjs/models/message-traits.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/message-traits.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/message.d.ts b/apps/parser/cjs/models/message.d.ts deleted file mode 100644 index c030c3912..000000000 --- a/apps/parser/cjs/models/message.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelsInterface } from './channels'; -import type { MessageTraitsInterface } from './message-traits'; -import type { MessageTraitInterface } from './message-trait'; -import type { OperationsInterface } from './operations'; -import type { SchemaInterface } from './schema'; -import type { ServersInterface } from './servers'; -export interface MessageInterface extends BaseModel, MessageTraitInterface { - hasPayload(): boolean; - payload(): SchemaInterface | undefined; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - traits(): MessageTraitsInterface; -} diff --git a/apps/parser/cjs/models/message.js b/apps/parser/cjs/models/message.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/message.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/messages.d.ts b/apps/parser/cjs/models/messages.d.ts deleted file mode 100644 index 614bbd142..000000000 --- a/apps/parser/cjs/models/messages.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { MessageInterface } from './message'; -export interface MessagesInterface extends Collection { - filterBySend(): MessageInterface[]; - filterByReceive(): MessageInterface[]; -} diff --git a/apps/parser/cjs/models/messages.js b/apps/parser/cjs/models/messages.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/messages.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/mixins.d.ts b/apps/parser/cjs/models/mixins.d.ts deleted file mode 100644 index 558a30c2a..000000000 --- a/apps/parser/cjs/models/mixins.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { BindingsInterface } from './bindings'; -import type { ExtensionsInterface } from './extensions'; -import type { ExternalDocumentationInterface } from './external-docs'; -import type { TagsInterface } from './tags'; -export interface BindingsMixinInterface { - bindings(): BindingsInterface; -} -export interface CoreMixinInterface extends BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, SummaryMixinInterface, TagsMixinInterface, TitleMixinInterface { -} -export interface DescriptionMixinInterface { - hasDescription(): boolean; - description(): string | undefined; -} -export interface ExtensionsMixinInterface { - extensions(): ExtensionsInterface; -} -export interface ExternalDocumentationMixinInterface { - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; -} -export interface SummaryMixinInterface { - hasSummary(): boolean; - summary(): string | undefined; -} -export interface TagsMixinInterface { - tags(): TagsInterface; -} -export interface TitleMixinInterface { - hasTitle(): boolean; - title(): string | undefined; -} diff --git a/apps/parser/cjs/models/mixins.js b/apps/parser/cjs/models/mixins.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/mixins.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/oauth-flow.d.ts b/apps/parser/cjs/models/oauth-flow.d.ts deleted file mode 100644 index 3151c3d76..000000000 --- a/apps/parser/cjs/models/oauth-flow.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BaseModel } from './base'; -import { ExtensionsMixinInterface } from './mixins'; -export interface OAuthFlowInterface = Record> extends BaseModel, ExtensionsMixinInterface { - hasAuthorizationUrl(): boolean; - authorizationUrl(): string | undefined; - hasTokenUrl(): boolean; - tokenUrl(): string | undefined; - hasRefreshUrl(): boolean; - refreshUrl(): string | undefined; - scopes(): Record | undefined; -} diff --git a/apps/parser/cjs/models/oauth-flow.js b/apps/parser/cjs/models/oauth-flow.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/oauth-flow.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/oauth-flows.d.ts b/apps/parser/cjs/models/oauth-flows.d.ts deleted file mode 100644 index 9d4a9c332..000000000 --- a/apps/parser/cjs/models/oauth-flows.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { BaseModel } from './base'; -import type { OAuthFlowInterface } from './oauth-flow'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface OAuthFlowsInterface extends BaseModel, ExtensionsMixinInterface { - hasAuthorizationCode(): boolean; - authorizationCode(): OAuthFlowInterface | undefined; - hasClientCredentials(): boolean; - clientCredentials(): OAuthFlowInterface | undefined; - hasImplicit(): boolean; - implicit(): OAuthFlowInterface | undefined; - hasPassword(): boolean; - password(): OAuthFlowInterface | undefined; -} diff --git a/apps/parser/cjs/models/oauth-flows.js b/apps/parser/cjs/models/oauth-flows.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/oauth-flows.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-replies.d.ts b/apps/parser/cjs/models/operation-replies.d.ts deleted file mode 100644 index 2472878d5..000000000 --- a/apps/parser/cjs/models/operation-replies.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Collection } from './collection'; -import type { OperationReplyInterface } from './operation-reply'; -export type OperationRepliesInterface = Collection; diff --git a/apps/parser/cjs/models/operation-replies.js b/apps/parser/cjs/models/operation-replies.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operation-replies.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-reply-address.d.ts b/apps/parser/cjs/models/operation-reply-address.d.ts deleted file mode 100644 index b7ea5dd00..000000000 --- a/apps/parser/cjs/models/operation-reply-address.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface OperationReplyAddressInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string | undefined; - location(): string; -} diff --git a/apps/parser/cjs/models/operation-reply-address.js b/apps/parser/cjs/models/operation-reply-address.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operation-reply-address.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-reply-addresses.d.ts b/apps/parser/cjs/models/operation-reply-addresses.d.ts deleted file mode 100644 index 8497f33cc..000000000 --- a/apps/parser/cjs/models/operation-reply-addresses.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Collection } from './collection'; -import type { OperationReplyAddressInterface } from './operation-reply-address'; -export type OperationReplyAddressesInterface = Collection; diff --git a/apps/parser/cjs/models/operation-reply-addresses.js b/apps/parser/cjs/models/operation-reply-addresses.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operation-reply-addresses.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-reply.d.ts b/apps/parser/cjs/models/operation-reply.d.ts deleted file mode 100644 index c66403879..000000000 --- a/apps/parser/cjs/models/operation-reply.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -import type { ChannelInterface } from './channel'; -import type { MessagesInterface } from './messages'; -import type { OperationReplyAddressInterface } from './operation-reply-address'; -export interface OperationReplyInterface extends BaseModel, ExtensionsMixinInterface { - id(): string | undefined; - hasAddress(): boolean; - address(): OperationReplyAddressInterface | undefined; - hasChannel(): boolean; - channel(): ChannelInterface | undefined; - messages(): MessagesInterface; -} diff --git a/apps/parser/cjs/models/operation-reply.js b/apps/parser/cjs/models/operation-reply.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operation-reply.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-trait.d.ts b/apps/parser/cjs/models/operation-trait.d.ts deleted file mode 100644 index 32f220ba0..000000000 --- a/apps/parser/cjs/models/operation-trait.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { BaseModel } from './base'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; -import { SecurityRequirements } from './v2/security-requirements'; -export interface OperationTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { - id(): string | undefined; - hasOperationId(): boolean; - operationId(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - security(): SecurityRequirements[]; -} diff --git a/apps/parser/cjs/models/operation-trait.js b/apps/parser/cjs/models/operation-trait.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operation-trait.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation-traits.d.ts b/apps/parser/cjs/models/operation-traits.d.ts deleted file mode 100644 index 30716170f..000000000 --- a/apps/parser/cjs/models/operation-traits.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { OperationTraitInterface } from './operation-trait'; -export type OperationTraitsInterface = Collection; diff --git a/apps/parser/cjs/models/operation-traits.js b/apps/parser/cjs/models/operation-traits.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operation-traits.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operation.d.ts b/apps/parser/cjs/models/operation.d.ts deleted file mode 100644 index 6cb9e3c97..000000000 --- a/apps/parser/cjs/models/operation.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelsInterface } from './channels'; -import type { MessagesInterface } from './messages'; -import type { OperationReplyInterface } from './operation-reply'; -import type { OperationTraitsInterface } from './operation-traits'; -import type { OperationTraitInterface } from './operation-trait'; -import type { ServersInterface } from './servers'; -export type OperationAction = 'send' | 'receive' | 'publish' | 'subscribe'; -export interface OperationInterface extends BaseModel, OperationTraitInterface { - action(): OperationAction; - isSend(): boolean; - isReceive(): boolean; - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - reply(): OperationReplyInterface | undefined; - traits(): OperationTraitsInterface; -} diff --git a/apps/parser/cjs/models/operation.js b/apps/parser/cjs/models/operation.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operation.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/operations.d.ts b/apps/parser/cjs/models/operations.d.ts deleted file mode 100644 index 378a78e84..000000000 --- a/apps/parser/cjs/models/operations.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { OperationInterface } from './operation'; -export interface OperationsInterface extends Collection { - filterBySend(): OperationInterface[]; - filterByReceive(): OperationInterface[]; -} diff --git a/apps/parser/cjs/models/operations.js b/apps/parser/cjs/models/operations.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/operations.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/schema.d.ts b/apps/parser/cjs/models/schema.d.ts deleted file mode 100644 index 3ff32aa99..000000000 --- a/apps/parser/cjs/models/schema.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; -import type { v2 } from '../spec-types'; -export interface SchemaInterface extends BaseModel, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { - $comment(): string | undefined; - $id(): string | undefined; - $schema(): string; - additionalItems(): boolean | SchemaInterface; - additionalProperties(): boolean | SchemaInterface; - allOf(): Array | undefined; - anyOf(): Array | undefined; - const(): any; - contains(): SchemaInterface | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - default(): any; - definitions(): Record | undefined; - description(): string | undefined; - dependencies(): Record> | undefined; - deprecated(): boolean; - discriminator(): string | undefined; - else(): SchemaInterface | undefined; - enum(): Array | undefined; - examples(): Array | undefined; - exclusiveMaximum(): number | undefined; - exclusiveMinimum(): number | undefined; - format(): string | undefined; - id(): string; - isBooleanSchema(): boolean; - if(): SchemaInterface | undefined; - isCircular(): boolean; - items(): SchemaInterface | Array | undefined; - maximum(): number | undefined; - maxItems(): number | undefined; - maxLength(): number | undefined; - maxProperties(): number | undefined; - minimum(): number | undefined; - minItems(): number | undefined; - minLength(): number | undefined; - minProperties(): number | undefined; - multipleOf(): number | undefined; - not(): SchemaInterface | undefined; - oneOf(): Array | undefined; - pattern(): string | undefined; - patternProperties(): Record | undefined; - properties(): Record | undefined; - property(name: string): SchemaInterface | undefined; - propertyNames(): SchemaInterface | undefined; - readOnly(): boolean | undefined; - required(): Array | undefined; - schemaFormat(): string; - then(): SchemaInterface | undefined; - title(): string | undefined; - type(): string | Array | undefined; - uniqueItems(): boolean | undefined; - writeOnly(): boolean | undefined; -} diff --git a/apps/parser/cjs/models/schema.js b/apps/parser/cjs/models/schema.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/schema.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/schemas.d.ts b/apps/parser/cjs/models/schemas.d.ts deleted file mode 100644 index c7ecb6460..000000000 --- a/apps/parser/cjs/models/schemas.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { SchemaInterface } from './schema'; -export type SchemasInterface = Collection; diff --git a/apps/parser/cjs/models/schemas.js b/apps/parser/cjs/models/schemas.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/schemas.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-requirement.d.ts b/apps/parser/cjs/models/security-requirement.d.ts deleted file mode 100644 index e56dbf50e..000000000 --- a/apps/parser/cjs/models/security-requirement.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { BaseModel } from './base'; -import type { SecuritySchemeInterface } from './security-scheme'; -export interface SecurityRequirementInterface extends BaseModel { - scheme(): SecuritySchemeInterface; - scopes(): string[]; -} diff --git a/apps/parser/cjs/models/security-requirement.js b/apps/parser/cjs/models/security-requirement.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/security-requirement.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-requirements.d.ts b/apps/parser/cjs/models/security-requirements.d.ts deleted file mode 100644 index 1c0516602..000000000 --- a/apps/parser/cjs/models/security-requirements.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { SecurityRequirementInterface } from './security-requirement'; -export type SecurityRequirementsInterface = Collection; diff --git a/apps/parser/cjs/models/security-requirements.js b/apps/parser/cjs/models/security-requirements.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/security-requirements.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-scheme.d.ts b/apps/parser/cjs/models/security-scheme.d.ts deleted file mode 100644 index 982b778ca..000000000 --- a/apps/parser/cjs/models/security-scheme.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { BaseModel } from './base'; -import type { OAuthFlowsInterface } from './oauth-flows'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface SecuritySchemeInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - type(): string; - hasName(): boolean; - name(): string | undefined; - hasIn(): boolean; - in(): string | undefined; - hasScheme(): boolean; - scheme(): string | undefined; - hasBearerFormat(): boolean; - bearerFormat(): string | undefined; - hasFlows(): boolean; - flows(): OAuthFlowsInterface | undefined; - hasOpenIdConnectUrl(): boolean; - openIdConnectUrl(): string | undefined; -} diff --git a/apps/parser/cjs/models/security-scheme.js b/apps/parser/cjs/models/security-scheme.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/security-scheme.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/security-schemes.d.ts b/apps/parser/cjs/models/security-schemes.d.ts deleted file mode 100644 index 49ecf7a6d..000000000 --- a/apps/parser/cjs/models/security-schemes.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { SecuritySchemeInterface } from './security-scheme'; -export type SecuritySchemesInterface = Collection; diff --git a/apps/parser/cjs/models/security-schemes.js b/apps/parser/cjs/models/security-schemes.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/security-schemes.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/server-variable.d.ts b/apps/parser/cjs/models/server-variable.d.ts deleted file mode 100644 index 85faa6989..000000000 --- a/apps/parser/cjs/models/server-variable.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface ServerVariableInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - hasDefaultValue(): boolean; - defaultValue(): string | undefined; - hasAllowedValues(): boolean; - allowedValues(): Array; - examples(): Array; -} diff --git a/apps/parser/cjs/models/server-variable.js b/apps/parser/cjs/models/server-variable.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/server-variable.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/server-variables.d.ts b/apps/parser/cjs/models/server-variables.d.ts deleted file mode 100644 index 24c0c40b9..000000000 --- a/apps/parser/cjs/models/server-variables.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { ServerVariableInterface } from './server-variable'; -export type ServerVariablesInterface = Collection; diff --git a/apps/parser/cjs/models/server-variables.js b/apps/parser/cjs/models/server-variables.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/server-variables.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/server.d.ts b/apps/parser/cjs/models/server.d.ts deleted file mode 100644 index e93560576..000000000 --- a/apps/parser/cjs/models/server.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelsInterface } from './channels'; -import type { MessagesInterface } from './messages'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, TagsMixinInterface } from './mixins'; -import type { OperationsInterface } from './operations'; -import type { ServerVariablesInterface } from './server-variables'; -import type { SecurityRequirementsInterface } from './security-requirements'; -export interface ServerInterface extends BaseModel, DescriptionMixinInterface, BindingsMixinInterface, ExtensionsMixinInterface, TagsMixinInterface { - id(): string; - url(): string; - host(): string; - hasPathname(): boolean; - pathname(): string | undefined; - protocol(): string; - protocolVersion(): string | undefined; - hasProtocolVersion(): boolean; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - variables(): ServerVariablesInterface; - security(): SecurityRequirementsInterface[]; -} diff --git a/apps/parser/cjs/models/server.js b/apps/parser/cjs/models/server.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/server.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/servers.d.ts b/apps/parser/cjs/models/servers.d.ts deleted file mode 100644 index 3108b996e..000000000 --- a/apps/parser/cjs/models/servers.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { ServerInterface } from './server'; -export interface ServersInterface extends Collection { - filterBySend(): ServerInterface[]; - filterByReceive(): ServerInterface[]; -} diff --git a/apps/parser/cjs/models/servers.js b/apps/parser/cjs/models/servers.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/servers.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/tag.d.ts b/apps/parser/cjs/models/tag.d.ts deleted file mode 100644 index 019512db2..000000000 --- a/apps/parser/cjs/models/tag.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; -export interface TagInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { - name(): string; -} diff --git a/apps/parser/cjs/models/tag.js b/apps/parser/cjs/models/tag.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/tag.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/tags.d.ts b/apps/parser/cjs/models/tags.d.ts deleted file mode 100644 index 09b764464..000000000 --- a/apps/parser/cjs/models/tags.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { TagInterface } from './tag'; -export type TagsInterface = Collection; diff --git a/apps/parser/cjs/models/tags.js b/apps/parser/cjs/models/tags.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/models/tags.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/models/utils.d.ts b/apps/parser/cjs/models/utils.d.ts deleted file mode 100644 index 554b09178..000000000 --- a/apps/parser/cjs/models/utils.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { BaseModel, ModelMetadata } from './base'; -import type { DetailedAsyncAPI } from '../types'; -import { AsyncAPIDocumentInterface } from './asyncapi'; -import { SchemasInterface } from '../models'; -export interface Constructor extends Function { - new (...any: any[]): T; -} -export type InferModelData = T extends BaseModel ? J : never; -export type InferModelMetadata = T extends BaseModel ? M : never; -export declare function createModel(Model: Constructor, value: InferModelData, meta: Omit & { - asyncapi?: DetailedAsyncAPI; -} & InferModelMetadata, parent?: BaseModel): T; -export declare function schemasFromDocument(document: AsyncAPIDocumentInterface, SchemasModel: Constructor, includeComponents: boolean): T; diff --git a/apps/parser/cjs/models/utils.js b/apps/parser/cjs/models/utils.js deleted file mode 100644 index d6959d5b9..000000000 --- a/apps/parser/cjs/models/utils.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.schemasFromDocument = exports.createModel = void 0; -const iterator_1 = require("../iterator"); -function createModel(Model, value, meta, parent) { - return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: meta.asyncapi || (parent === null || parent === void 0 ? void 0 : parent.meta().asyncapi) })); -} -exports.createModel = createModel; -function schemasFromDocument(document, SchemasModel, includeComponents) { - const jsonInstances = new Set(); - const schemas = new Set(); - function callback(schema) { - // comparing the reference (and not just the value) to the .json() object - if (!jsonInstances.has(schema.json())) { - jsonInstances.add(schema.json()); - schemas.add(schema); // unique schemas - } - } - let toIterate = Object.values(iterator_1.SchemaTypesToIterate); - if (!includeComponents) { - toIterate = toIterate.filter(s => s !== iterator_1.SchemaTypesToIterate.Components); - } - (0, iterator_1.traverseAsyncApiDocument)(document, callback, toIterate); - return new SchemasModel(Array.from(schemas)); -} -exports.schemasFromDocument = schemasFromDocument; diff --git a/apps/parser/cjs/models/v2/asyncapi.d.ts b/apps/parser/cjs/models/v2/asyncapi.d.ts deleted file mode 100644 index b2073140a..000000000 --- a/apps/parser/cjs/models/v2/asyncapi.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import type { AsyncAPIDocumentInterface } from '../asyncapi'; -import type { InfoInterface } from '../info'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { ComponentsInterface } from '../components'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { SchemasInterface } from '../schemas'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { - version(): string; - defaultContentType(): string | undefined; - hasDefaultContentType(): boolean; - info(): InfoInterface; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - securitySchemes(): SecuritySchemesInterface; - components(): ComponentsInterface; - allServers(): ServersInterface; - allChannels(): ChannelsInterface; - allOperations(): OperationsInterface; - allMessages(): MessagesInterface; - allSchemas(): SchemasInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/asyncapi.js b/apps/parser/cjs/models/v2/asyncapi.js deleted file mode 100644 index c3f0dc54a..000000000 --- a/apps/parser/cjs/models/v2/asyncapi.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AsyncAPIDocument = void 0; -const base_1 = require("../base"); -const info_1 = require("./info"); -const channels_1 = require("./channels"); -const channel_1 = require("./channel"); -const components_1 = require("./components"); -const messages_1 = require("./messages"); -const operations_1 = require("./operations"); -const servers_1 = require("./servers"); -const server_1 = require("./server"); -const security_schemes_1 = require("./security-schemes"); -const security_scheme_1 = require("./security-scheme"); -const schemas_1 = require("./schemas"); -const mixins_1 = require("./mixins"); -const utils_1 = require("../../utils"); -const utils_2 = require("../utils"); -class AsyncAPIDocument extends base_1.BaseModel { - version() { - return this._json.asyncapi; - } - defaultContentType() { - return this._json.defaultContentType; - } - hasDefaultContentType() { - return !!this._json.defaultContentType; - } - info() { - return this.createModel(info_1.Info, this._json.info, { pointer: '/info' }); - } - servers() { - return new servers_1.Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${serverName}` }))); - } - channels() { - return new channels_1.Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(channel_1.Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}` }))); - } - operations() { - const operations = []; - this.channels().forEach(channel => operations.push(...channel.operations())); - return new operations_1.Operations(operations); - } - messages() { - const messages = []; - this.operations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); - return new messages_1.Messages(messages); - } - schemas() { - return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, false); - } - securitySchemes() { - var _a; - return new security_schemes_1.SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(security_scheme_1.SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); - } - components() { - return this.createModel(components_1.Components, this._json.components || {}, { pointer: '/components' }); - } - allServers() { - const servers = this.servers().all(); - this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); - return new servers_1.Servers(servers); - } - allChannels() { - const channels = this.channels().all(); - this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); - return new channels_1.Channels(channels); - } - allOperations() { - const operations = []; - this.allChannels().forEach(channel => operations.push(...channel.operations())); - return new operations_1.Operations(operations); - } - allMessages() { - const messages = []; - this.allOperations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); - this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); - return new messages_1.Messages(messages); - } - allSchemas() { - return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, true); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.AsyncAPIDocument = AsyncAPIDocument; diff --git a/apps/parser/cjs/models/v2/binding.d.ts b/apps/parser/cjs/models/v2/binding.d.ts deleted file mode 100644 index 6e13a3caf..000000000 --- a/apps/parser/cjs/models/v2/binding.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class Binding = Record> extends BaseModel implements BindingInterface { - protocol(): string; - version(): string; - value(): V; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/binding.js b/apps/parser/cjs/models/v2/binding.js deleted file mode 100644 index 52c49f724..000000000 --- a/apps/parser/cjs/models/v2/binding.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Binding = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class Binding extends base_1.BaseModel { - protocol() { - return this._meta.protocol; - } - version() { - return this._json.bindingVersion || 'latest'; - } - value() { - const value = Object.assign({}, this._json); - delete value.bindingVersion; - return value; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Binding = Binding; diff --git a/apps/parser/cjs/models/v2/bindings.d.ts b/apps/parser/cjs/models/v2/bindings.d.ts deleted file mode 100644 index 366f2d369..000000000 --- a/apps/parser/cjs/models/v2/bindings.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { BindingsInterface } from '../bindings'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -export declare class Bindings extends Collection implements BindingsInterface { - get = Record>(name: string): BindingInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/bindings.js b/apps/parser/cjs/models/v2/bindings.js deleted file mode 100644 index 793406ac1..000000000 --- a/apps/parser/cjs/models/v2/bindings.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Bindings = void 0; -const collection_1 = require("../collection"); -const extensions_1 = require("./extensions"); -const extension_1 = require("./extension"); -const utils_1 = require("../utils"); -const constants_1 = require("../../constants"); -class Bindings extends collection_1.Collection { - get(name) { - return this.collections.find(binding => binding.protocol() === name); - } - extensions() { - const extensions = []; - Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { - if (constants_1.EXTENSION_REGEX.test(id)) { - extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); - } - }); - return new extensions_1.Extensions(extensions); - } -} -exports.Bindings = Bindings; diff --git a/apps/parser/cjs/models/v2/channel-parameter.d.ts b/apps/parser/cjs/models/v2/channel-parameter.d.ts deleted file mode 100644 index ba1abeedd..000000000 --- a/apps/parser/cjs/models/v2/channel-parameter.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ChannelParameterInterface } from '../channel-parameter'; -import type { SchemaInterface } from '../schema'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { - id(): string; - hasSchema(): boolean; - schema(): SchemaInterface | undefined; - hasLocation(): boolean; - location(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/channel-parameter.js b/apps/parser/cjs/models/v2/channel-parameter.js deleted file mode 100644 index 5bada8346..000000000 --- a/apps/parser/cjs/models/v2/channel-parameter.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ChannelParameter = void 0; -const base_1 = require("../base"); -const schema_1 = require("./schema"); -const mixins_1 = require("./mixins"); -class ChannelParameter extends base_1.BaseModel { - id() { - return this._meta.id; - } - hasSchema() { - return !!this._json.schema; - } - schema() { - if (!this._json.schema) - return undefined; - return this.createModel(schema_1.Schema, this._json.schema, { pointer: `${this._meta.pointer}/schema` }); - } - hasLocation() { - return !!this._json.location; - } - location() { - return this._json.location; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.ChannelParameter = ChannelParameter; diff --git a/apps/parser/cjs/models/v2/channel-parameters.d.ts b/apps/parser/cjs/models/v2/channel-parameters.d.ts deleted file mode 100644 index 93abd0a6e..000000000 --- a/apps/parser/cjs/models/v2/channel-parameters.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ChannelParameterInterface } from '../channel-parameter'; -export declare class ChannelParameters extends Collection implements ChannelParametersInterface { - get(id: string): ChannelParameterInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/channel-parameters.js b/apps/parser/cjs/models/v2/channel-parameters.js deleted file mode 100644 index f81c49068..000000000 --- a/apps/parser/cjs/models/v2/channel-parameters.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ChannelParameters = void 0; -const collection_1 = require("../collection"); -class ChannelParameters extends collection_1.Collection { - get(id) { - return this.collections.find(parameter => parameter.id() === id); - } -} -exports.ChannelParameters = ChannelParameters; diff --git a/apps/parser/cjs/models/v2/channel.d.ts b/apps/parser/cjs/models/v2/channel.d.ts deleted file mode 100644 index 669ca948b..000000000 --- a/apps/parser/cjs/models/v2/channel.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { ChannelInterface } from '../channel'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ExtensionsInterface } from '../extensions'; -import type { MessagesInterface } from '../messages'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { v2 } from '../../spec-types'; -export declare class Channel extends BaseModel implements ChannelInterface { - id(): string; - address(): string; - hasDescription(): boolean; - description(): string | undefined; - servers(): ServersInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - parameters(): ChannelParametersInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/channel.js b/apps/parser/cjs/models/v2/channel.js deleted file mode 100644 index 9a1c197d0..000000000 --- a/apps/parser/cjs/models/v2/channel.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Channel = void 0; -const base_1 = require("../base"); -const channel_parameters_1 = require("./channel-parameters"); -const channel_parameter_1 = require("./channel-parameter"); -const messages_1 = require("./messages"); -const operations_1 = require("./operations"); -const operation_1 = require("./operation"); -const servers_1 = require("./servers"); -const server_1 = require("./server"); -const mixins_1 = require("./mixins"); -class Channel extends base_1.BaseModel { - id() { - return this._meta.id; - } - address() { - return this._meta.address; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - servers() { - var _a; - const servers = []; - const allowedServers = this._json.servers || []; - Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.servers) || {}).forEach(([serverName, server]) => { - if (allowedServers.length === 0 || allowedServers.includes(serverName)) { - servers.push(this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${serverName}` })); - } - }); - return new servers_1.Servers(servers); - } - operations() { - const operations = []; - ['publish', 'subscribe'].forEach(operationAction => { - const operation = this._json[operationAction]; - const id = (operation && operation.operationId) || operationAction; - if (operation) { - operations.push(this.createModel(operation_1.Operation, operation, { id, action: operationAction, pointer: `${this._meta.pointer}/${operationAction}` })); - } - }); - return new operations_1.Operations(operations); - } - messages() { - const messages = []; - this.operations().forEach(operation => messages.push(...operation.messages().all())); - return new messages_1.Messages(messages); - } - parameters() { - return new channel_parameters_1.ChannelParameters(Object.entries(this._json.parameters || {}).map(([channelParameterName, channelParameter]) => { - return this.createModel(channel_parameter_1.ChannelParameter, channelParameter, { - id: channelParameterName, - pointer: `${this._meta.pointer}/parameters/${channelParameterName}` - }); - })); - } - bindings() { - return (0, mixins_1.bindings)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Channel = Channel; diff --git a/apps/parser/cjs/models/v2/channels.d.ts b/apps/parser/cjs/models/v2/channels.d.ts deleted file mode 100644 index 01b199506..000000000 --- a/apps/parser/cjs/models/v2/channels.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelsInterface } from '../channels'; -import type { ChannelInterface } from '../channel'; -export declare class Channels extends Collection implements ChannelsInterface { - get(id: string): ChannelInterface | undefined; - filterBySend(): ChannelInterface[]; - filterByReceive(): ChannelInterface[]; -} diff --git a/apps/parser/cjs/models/v2/channels.js b/apps/parser/cjs/models/v2/channels.js deleted file mode 100644 index da2dd1deb..000000000 --- a/apps/parser/cjs/models/v2/channels.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Channels = void 0; -const collection_1 = require("../collection"); -class Channels extends collection_1.Collection { - get(id) { - return this.collections.find(channel => channel.id() === id); - } - filterBySend() { - return this.filterBy(channel => channel.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(channel => channel.operations().filterByReceive().length > 0); - } -} -exports.Channels = Channels; diff --git a/apps/parser/cjs/models/v2/components.d.ts b/apps/parser/cjs/models/v2/components.d.ts deleted file mode 100644 index 1865e8b6f..000000000 --- a/apps/parser/cjs/models/v2/components.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { BaseModel } from '../base'; -import { Collection } from '../collection'; -import type { BindingsInterface } from '../bindings'; -import type { ComponentsInterface } from '../components'; -import type { ExtensionsInterface } from '../extensions'; -import type { Constructor } from '../utils'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { SchemasInterface } from '../schemas'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationsInterface } from '../operations'; -import type { CorrelationIdsInterface } from '../correlation-ids'; -import type { v2 } from '../../spec-types'; -export declare class Components extends BaseModel implements ComponentsInterface { - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - channelParameters(): ChannelParametersInterface; - serverVariables(): ServerVariablesInterface; - operationTraits(): OperationTraitsInterface; - messageTraits(): MessageTraitsInterface; - correlationIds(): CorrelationIdsInterface; - securitySchemes(): SecuritySchemesInterface; - serverBindings(): Record; - channelBindings(): Record; - operationBindings(): Record; - messageBindings(): Record; - extensions(): ExtensionsInterface; - isEmpty(): boolean; - protected createCollection, T extends BaseModel>(itemsName: keyof v2.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; - protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; -} diff --git a/apps/parser/cjs/models/v2/components.js b/apps/parser/cjs/models/v2/components.js deleted file mode 100644 index 44622f34b..000000000 --- a/apps/parser/cjs/models/v2/components.js +++ /dev/null @@ -1,99 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Components = void 0; -const base_1 = require("../base"); -const bindings_1 = require("./bindings"); -const binding_1 = require("./binding"); -const channel_1 = require("./channel"); -const channel_parameter_1 = require("./channel-parameter"); -const correlation_id_1 = require("./correlation-id"); -const message_trait_1 = require("./message-trait"); -const operation_trait_1 = require("./operation-trait"); -const schema_1 = require("./schema"); -const security_scheme_1 = require("./security-scheme"); -const server_1 = require("./server"); -const server_variable_1 = require("./server-variable"); -const mixins_1 = require("./mixins"); -const servers_1 = require("./servers"); -const channels_1 = require("./channels"); -const messages_1 = require("./messages"); -const schemas_1 = require("./schemas"); -const channel_parameters_1 = require("./channel-parameters"); -const server_variables_1 = require("./server-variables"); -const operation_traits_1 = require("./operation-traits"); -const message_traits_1 = require("./message-traits"); -const security_schemes_1 = require("./security-schemes"); -const correlation_ids_1 = require("./correlation-ids"); -const operations_1 = require("./operations"); -const message_1 = require("./message"); -const utils_1 = require("../../utils"); -class Components extends base_1.BaseModel { - servers() { - return this.createCollection('servers', servers_1.Servers, server_1.Server); - } - channels() { - return new channels_1.Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(channel_1.Channel, channel, { id: channelAddress, address: '', pointer: `/components/channels/${(0, utils_1.tilde)(channelAddress)}` }))); - } - operations() { - return new operations_1.Operations([]); - } - messages() { - return this.createCollection('messages', messages_1.Messages, message_1.Message); - } - schemas() { - return this.createCollection('schemas', schemas_1.Schemas, schema_1.Schema); - } - channelParameters() { - return this.createCollection('parameters', channel_parameters_1.ChannelParameters, channel_parameter_1.ChannelParameter); - } - serverVariables() { - return this.createCollection('serverVariables', server_variables_1.ServerVariables, server_variable_1.ServerVariable); - } - operationTraits() { - return this.createCollection('operationTraits', operation_traits_1.OperationTraits, operation_trait_1.OperationTrait); - } - messageTraits() { - return this.createCollection('messageTraits', message_traits_1.MessageTraits, message_trait_1.MessageTrait); - } - correlationIds() { - return this.createCollection('correlationIds', correlation_ids_1.CorrelationIds, correlation_id_1.CorrelationId); - } - securitySchemes() { - return this.createCollection('securitySchemes', security_schemes_1.SecuritySchemes, security_scheme_1.SecurityScheme); - } - serverBindings() { - return this.createBindings('serverBindings'); - } - channelBindings() { - return this.createBindings('channelBindings'); - } - operationBindings() { - return this.createBindings('operationBindings'); - } - messageBindings() { - return this.createBindings('messageBindings'); - } - extensions() { - return (0, mixins_1.extensions)(this); - } - isEmpty() { - return Object.keys(this._json).length === 0; - } - createCollection(itemsName, collectionModel, itemModel) { - const collectionItems = []; - Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { - collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${id}` })); - }); - return new collectionModel(collectionItems); - } - createBindings(itemsName) { - return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { - const bindingsData = item || {}; - const asyncapi = this.meta('asyncapi'); - const pointer = `components/${itemsName}/${name}`; - bindings[name] = new bindings_1.Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(binding_1.Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); - return bindings; - }, {}); - } -} -exports.Components = Components; diff --git a/apps/parser/cjs/models/v2/contact.d.ts b/apps/parser/cjs/models/v2/contact.d.ts deleted file mode 100644 index cde7fe085..000000000 --- a/apps/parser/cjs/models/v2/contact.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class Contact extends BaseModel implements ContactInterface { - hasName(): boolean; - name(): string | undefined; - hasUrl(): boolean; - url(): string | undefined; - hasEmail(): boolean; - email(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/contact.js b/apps/parser/cjs/models/v2/contact.js deleted file mode 100644 index 2645428f8..000000000 --- a/apps/parser/cjs/models/v2/contact.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Contact = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class Contact extends base_1.BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - hasEmail() { - return !!this._json.email; - } - email() { - return this._json.email; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Contact = Contact; diff --git a/apps/parser/cjs/models/v2/correlation-id.d.ts b/apps/parser/cjs/models/v2/correlation-id.d.ts deleted file mode 100644 index 74959d265..000000000 --- a/apps/parser/cjs/models/v2/correlation-id.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { - location(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/correlation-id.js b/apps/parser/cjs/models/v2/correlation-id.js deleted file mode 100644 index 088be5413..000000000 --- a/apps/parser/cjs/models/v2/correlation-id.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CorrelationId = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class CorrelationId extends base_1.BaseModel { - location() { - return this._json.location; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.CorrelationId = CorrelationId; diff --git a/apps/parser/cjs/models/v2/correlation-ids.d.ts b/apps/parser/cjs/models/v2/correlation-ids.d.ts deleted file mode 100644 index 77f81c952..000000000 --- a/apps/parser/cjs/models/v2/correlation-ids.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { CorrelationIdsInterface } from '../correlation-ids'; -import type { CorrelationIdInterface } from '../correlation-id'; -export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { - get(id: string): CorrelationIdInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/correlation-ids.js b/apps/parser/cjs/models/v2/correlation-ids.js deleted file mode 100644 index cd9023f85..000000000 --- a/apps/parser/cjs/models/v2/correlation-ids.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CorrelationIds = void 0; -const collection_1 = require("../collection"); -class CorrelationIds extends collection_1.Collection { - get(id) { - return this.collections.find(correlationId => correlationId.meta('id') === id); - } -} -exports.CorrelationIds = CorrelationIds; diff --git a/apps/parser/cjs/models/v2/extension.d.ts b/apps/parser/cjs/models/v2/extension.d.ts deleted file mode 100644 index 9d45395be..000000000 --- a/apps/parser/cjs/models/v2/extension.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionInterface } from '../extension'; -import type { v2 } from '../../spec-types'; -export declare class Extension extends BaseModel, { - id: string; -}> implements ExtensionInterface { - id(): string; - value(): V; -} diff --git a/apps/parser/cjs/models/v2/extension.js b/apps/parser/cjs/models/v2/extension.js deleted file mode 100644 index c73bfbff0..000000000 --- a/apps/parser/cjs/models/v2/extension.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Extension = void 0; -const base_1 = require("../base"); -class Extension extends base_1.BaseModel { - id() { - return this._meta.id; - } - value() { - return this._json; - } -} -exports.Extension = Extension; diff --git a/apps/parser/cjs/models/v2/extensions.d.ts b/apps/parser/cjs/models/v2/extensions.d.ts deleted file mode 100644 index 3033f8a44..000000000 --- a/apps/parser/cjs/models/v2/extensions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExtensionInterface } from '../extension'; -export declare class Extensions extends Collection implements ExtensionsInterface { - get(id: string): ExtensionInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/extensions.js b/apps/parser/cjs/models/v2/extensions.js deleted file mode 100644 index f33796038..000000000 --- a/apps/parser/cjs/models/v2/extensions.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Extensions = void 0; -const collection_1 = require("../collection"); -class Extensions extends collection_1.Collection { - get(id) { - id = id.startsWith('x-') ? id : `x-${id}`; - return this.collections.find(ext => ext.id() === id); - } -} -exports.Extensions = Extensions; diff --git a/apps/parser/cjs/models/v2/external-docs.d.ts b/apps/parser/cjs/models/v2/external-docs.d.ts deleted file mode 100644 index 279640c89..000000000 --- a/apps/parser/cjs/models/v2/external-docs.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { - url(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/external-docs.js b/apps/parser/cjs/models/v2/external-docs.js deleted file mode 100644 index f41bbf627..000000000 --- a/apps/parser/cjs/models/v2/external-docs.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ExternalDocumentation = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class ExternalDocumentation extends base_1.BaseModel { - url() { - return this._json.url; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.ExternalDocumentation = ExternalDocumentation; diff --git a/apps/parser/cjs/models/v2/index.d.ts b/apps/parser/cjs/models/v2/index.d.ts deleted file mode 100644 index 5ce2f2622..000000000 --- a/apps/parser/cjs/models/v2/index.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export { AsyncAPIDocument as AsyncAPIDocumentV2 } from './asyncapi'; -export { Binding as BindingV2 } from './binding'; -export { Bindings as BindingsV2 } from './bindings'; -export { ChannelParameter as ChannelParameterV2 } from './channel-parameter'; -export { ChannelParameters as ChannelParametersV2 } from './channel-parameters'; -export { Channel as ChannelV2 } from './channel'; -export { Channels as ChannelsV2 } from './channels'; -export { Components as ComponentsV2 } from './components'; -export { Contact as ContactV2 } from './contact'; -export { CorrelationId as CorrelationIdV2 } from './correlation-id'; -export { Extension as ExtensionV2 } from './extension'; -export { Extensions as ExtensionsV2 } from './extensions'; -export { ExternalDocumentation as ExternalDocumentationV2 } from './external-docs'; -export { Info as InfoV2 } from './info'; -export { License as LicenseV2 } from './license'; -export { MessageExample as MessageExampleV2 } from './message-example'; -export { MessageExamples as MessageExamplesV2 } from './message-examples'; -export { MessageTrait as MessageTraitV2 } from './message-trait'; -export { MessageTraits as MessageTraitsV2 } from './message-traits'; -export { Message as MessageV2 } from './message'; -export { Messages as MessagesV2 } from './messages'; -export { OAuthFlow as OAuthFlowV2 } from './oauth-flow'; -export { OAuthFlows as OAuthFlowsV2 } from './oauth-flows'; -export { OperationTrait as OperationTraitV2 } from './operation-trait'; -export { OperationTraits as OperationTraitsV2 } from './operation-traits'; -export { Operation as OperationV2 } from './operation'; -export { Operations as OperationsV2 } from './operations'; -export { Schema as SchemaV2 } from './schema'; -export { Schemas as SchemasV2 } from './schemas'; -export { SecurityScheme as SecuritySchemeV2 } from './security-scheme'; -export { SecuritySchemes as SecuritySchemesV2 } from './security-schemes'; -export { ServerVariable as ServerVariableV2 } from './server-variable'; -export { ServerVariables as ServerVariablesV2 } from './server-variables'; -export { Server as ServerV2 } from './server'; -export { Servers as ServersV2 } from './servers'; -export { Tag as TagV2 } from './tag'; -export { Tags as TagsV2 } from './tags'; diff --git a/apps/parser/cjs/models/v2/index.js b/apps/parser/cjs/models/v2/index.js deleted file mode 100644 index fa2fca9d6..000000000 --- a/apps/parser/cjs/models/v2/index.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TagsV2 = exports.TagV2 = exports.ServersV2 = exports.ServerV2 = exports.ServerVariablesV2 = exports.ServerVariableV2 = exports.SecuritySchemesV2 = exports.SecuritySchemeV2 = exports.SchemasV2 = exports.SchemaV2 = exports.OperationsV2 = exports.OperationV2 = exports.OperationTraitsV2 = exports.OperationTraitV2 = exports.OAuthFlowsV2 = exports.OAuthFlowV2 = exports.MessagesV2 = exports.MessageV2 = exports.MessageTraitsV2 = exports.MessageTraitV2 = exports.MessageExamplesV2 = exports.MessageExampleV2 = exports.LicenseV2 = exports.InfoV2 = exports.ExternalDocumentationV2 = exports.ExtensionsV2 = exports.ExtensionV2 = exports.CorrelationIdV2 = exports.ContactV2 = exports.ComponentsV2 = exports.ChannelsV2 = exports.ChannelV2 = exports.ChannelParametersV2 = exports.ChannelParameterV2 = exports.BindingsV2 = exports.BindingV2 = exports.AsyncAPIDocumentV2 = void 0; -var asyncapi_1 = require("./asyncapi"); -Object.defineProperty(exports, "AsyncAPIDocumentV2", { enumerable: true, get: function () { return asyncapi_1.AsyncAPIDocument; } }); -var binding_1 = require("./binding"); -Object.defineProperty(exports, "BindingV2", { enumerable: true, get: function () { return binding_1.Binding; } }); -var bindings_1 = require("./bindings"); -Object.defineProperty(exports, "BindingsV2", { enumerable: true, get: function () { return bindings_1.Bindings; } }); -var channel_parameter_1 = require("./channel-parameter"); -Object.defineProperty(exports, "ChannelParameterV2", { enumerable: true, get: function () { return channel_parameter_1.ChannelParameter; } }); -var channel_parameters_1 = require("./channel-parameters"); -Object.defineProperty(exports, "ChannelParametersV2", { enumerable: true, get: function () { return channel_parameters_1.ChannelParameters; } }); -var channel_1 = require("./channel"); -Object.defineProperty(exports, "ChannelV2", { enumerable: true, get: function () { return channel_1.Channel; } }); -var channels_1 = require("./channels"); -Object.defineProperty(exports, "ChannelsV2", { enumerable: true, get: function () { return channels_1.Channels; } }); -var components_1 = require("./components"); -Object.defineProperty(exports, "ComponentsV2", { enumerable: true, get: function () { return components_1.Components; } }); -var contact_1 = require("./contact"); -Object.defineProperty(exports, "ContactV2", { enumerable: true, get: function () { return contact_1.Contact; } }); -var correlation_id_1 = require("./correlation-id"); -Object.defineProperty(exports, "CorrelationIdV2", { enumerable: true, get: function () { return correlation_id_1.CorrelationId; } }); -var extension_1 = require("./extension"); -Object.defineProperty(exports, "ExtensionV2", { enumerable: true, get: function () { return extension_1.Extension; } }); -var extensions_1 = require("./extensions"); -Object.defineProperty(exports, "ExtensionsV2", { enumerable: true, get: function () { return extensions_1.Extensions; } }); -var external_docs_1 = require("./external-docs"); -Object.defineProperty(exports, "ExternalDocumentationV2", { enumerable: true, get: function () { return external_docs_1.ExternalDocumentation; } }); -var info_1 = require("./info"); -Object.defineProperty(exports, "InfoV2", { enumerable: true, get: function () { return info_1.Info; } }); -var license_1 = require("./license"); -Object.defineProperty(exports, "LicenseV2", { enumerable: true, get: function () { return license_1.License; } }); -var message_example_1 = require("./message-example"); -Object.defineProperty(exports, "MessageExampleV2", { enumerable: true, get: function () { return message_example_1.MessageExample; } }); -var message_examples_1 = require("./message-examples"); -Object.defineProperty(exports, "MessageExamplesV2", { enumerable: true, get: function () { return message_examples_1.MessageExamples; } }); -var message_trait_1 = require("./message-trait"); -Object.defineProperty(exports, "MessageTraitV2", { enumerable: true, get: function () { return message_trait_1.MessageTrait; } }); -var message_traits_1 = require("./message-traits"); -Object.defineProperty(exports, "MessageTraitsV2", { enumerable: true, get: function () { return message_traits_1.MessageTraits; } }); -var message_1 = require("./message"); -Object.defineProperty(exports, "MessageV2", { enumerable: true, get: function () { return message_1.Message; } }); -var messages_1 = require("./messages"); -Object.defineProperty(exports, "MessagesV2", { enumerable: true, get: function () { return messages_1.Messages; } }); -var oauth_flow_1 = require("./oauth-flow"); -Object.defineProperty(exports, "OAuthFlowV2", { enumerable: true, get: function () { return oauth_flow_1.OAuthFlow; } }); -var oauth_flows_1 = require("./oauth-flows"); -Object.defineProperty(exports, "OAuthFlowsV2", { enumerable: true, get: function () { return oauth_flows_1.OAuthFlows; } }); -var operation_trait_1 = require("./operation-trait"); -Object.defineProperty(exports, "OperationTraitV2", { enumerable: true, get: function () { return operation_trait_1.OperationTrait; } }); -var operation_traits_1 = require("./operation-traits"); -Object.defineProperty(exports, "OperationTraitsV2", { enumerable: true, get: function () { return operation_traits_1.OperationTraits; } }); -var operation_1 = require("./operation"); -Object.defineProperty(exports, "OperationV2", { enumerable: true, get: function () { return operation_1.Operation; } }); -var operations_1 = require("./operations"); -Object.defineProperty(exports, "OperationsV2", { enumerable: true, get: function () { return operations_1.Operations; } }); -var schema_1 = require("./schema"); -Object.defineProperty(exports, "SchemaV2", { enumerable: true, get: function () { return schema_1.Schema; } }); -var schemas_1 = require("./schemas"); -Object.defineProperty(exports, "SchemasV2", { enumerable: true, get: function () { return schemas_1.Schemas; } }); -var security_scheme_1 = require("./security-scheme"); -Object.defineProperty(exports, "SecuritySchemeV2", { enumerable: true, get: function () { return security_scheme_1.SecurityScheme; } }); -var security_schemes_1 = require("./security-schemes"); -Object.defineProperty(exports, "SecuritySchemesV2", { enumerable: true, get: function () { return security_schemes_1.SecuritySchemes; } }); -var server_variable_1 = require("./server-variable"); -Object.defineProperty(exports, "ServerVariableV2", { enumerable: true, get: function () { return server_variable_1.ServerVariable; } }); -var server_variables_1 = require("./server-variables"); -Object.defineProperty(exports, "ServerVariablesV2", { enumerable: true, get: function () { return server_variables_1.ServerVariables; } }); -var server_1 = require("./server"); -Object.defineProperty(exports, "ServerV2", { enumerable: true, get: function () { return server_1.Server; } }); -var servers_1 = require("./servers"); -Object.defineProperty(exports, "ServersV2", { enumerable: true, get: function () { return servers_1.Servers; } }); -var tag_1 = require("./tag"); -Object.defineProperty(exports, "TagV2", { enumerable: true, get: function () { return tag_1.Tag; } }); -var tags_1 = require("./tags"); -Object.defineProperty(exports, "TagsV2", { enumerable: true, get: function () { return tags_1.Tags; } }); diff --git a/apps/parser/cjs/models/v2/info.d.ts b/apps/parser/cjs/models/v2/info.d.ts deleted file mode 100644 index 6f87dbdd8..000000000 --- a/apps/parser/cjs/models/v2/info.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { InfoInterface } from '../info'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { LicenseInterface } from '../license'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class Info extends BaseModel implements InfoInterface { - title(): string; - version(): string; - hasId(): boolean; - id(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasTermsOfService(): boolean; - termsOfService(): string | undefined; - hasContact(): boolean; - contact(): ContactInterface | undefined; - hasLicense(): boolean; - license(): LicenseInterface | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - tags(): TagsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/info.js b/apps/parser/cjs/models/v2/info.js deleted file mode 100644 index 3e99df807..000000000 --- a/apps/parser/cjs/models/v2/info.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Info = void 0; -const base_1 = require("../base"); -const contact_1 = require("./contact"); -const external_docs_1 = require("./external-docs"); -const license_1 = require("./license"); -const tags_1 = require("./tags"); -const tag_1 = require("./tag"); -const mixins_1 = require("./mixins"); -class Info extends base_1.BaseModel { - title() { - return this._json.title; - } - version() { - return this._json.version; - } - hasId() { - return !!this._meta.asyncapi.parsed.id; - } - id() { - return this._meta.asyncapi.parsed.id; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasTermsOfService() { - return !!this._json.termsOfService; - } - termsOfService() { - return this._json.termsOfService; - } - hasContact() { - return Object.keys(this._json.contact || {}).length > 0; - } - contact() { - const contact = this._json.contact; - return contact && this.createModel(contact_1.Contact, contact, { pointer: '/info/contact' }); - } - hasLicense() { - return Object.keys(this._json.license || {}).length > 0; - } - license() { - const license = this._json.license; - return license && this.createModel(license_1.License, license, { pointer: '/info/license' }); - } - hasExternalDocs() { - const asyncapiV2 = this._meta.asyncapi.parsed; - return Object.keys(asyncapiV2.externalDocs || {}).length > 0; - } - externalDocs() { - if (this.hasExternalDocs()) { - const asyncapiV2 = this._meta.asyncapi.parsed; - return this.createModel(external_docs_1.ExternalDocumentation, asyncapiV2.externalDocs, { pointer: '/externalDocs' }); - } - } - tags() { - const asyncapiV2 = this._meta.asyncapi.parsed; - const tags = asyncapiV2.tags || []; - return new tags_1.Tags(tags.map((tag, idx) => this.createModel(tag_1.Tag, tag, { pointer: `/tags/${idx}` }))); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Info = Info; diff --git a/apps/parser/cjs/models/v2/license.d.ts b/apps/parser/cjs/models/v2/license.d.ts deleted file mode 100644 index 351865595..000000000 --- a/apps/parser/cjs/models/v2/license.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { LicenseInterface } from '../license'; -import type { v2 } from '../../spec-types'; -export declare class License extends BaseModel implements LicenseInterface { - name(): string; - hasUrl(): boolean; - url(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/license.js b/apps/parser/cjs/models/v2/license.js deleted file mode 100644 index 9170a3962..000000000 --- a/apps/parser/cjs/models/v2/license.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.License = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class License extends base_1.BaseModel { - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.License = License; diff --git a/apps/parser/cjs/models/v2/message-example.d.ts b/apps/parser/cjs/models/v2/message-example.d.ts deleted file mode 100644 index e8a843b55..000000000 --- a/apps/parser/cjs/models/v2/message-example.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { MessageExampleInterface } from '../message-example'; -import type { v2 } from '../../spec-types'; -export declare class MessageExample extends BaseModel implements MessageExampleInterface { - hasName(): boolean; - name(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasHeaders(): boolean; - headers(): Record | undefined; - hasPayload(): boolean; - payload(): Record | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/message-example.js b/apps/parser/cjs/models/v2/message-example.js deleted file mode 100644 index 9710b3ca7..000000000 --- a/apps/parser/cjs/models/v2/message-example.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageExample = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class MessageExample extends base_1.BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - return this._json.headers; - } - hasPayload() { - return !!this._json.payload; - } - payload() { - return this._json.payload; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.MessageExample = MessageExample; diff --git a/apps/parser/cjs/models/v2/message-examples.d.ts b/apps/parser/cjs/models/v2/message-examples.d.ts deleted file mode 100644 index 0784e9dc1..000000000 --- a/apps/parser/cjs/models/v2/message-examples.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageExampleInterface } from '../message-example'; -export declare class MessageExamples extends Collection implements MessageExamplesInterface { - get(name: string): MessageExampleInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/message-examples.js b/apps/parser/cjs/models/v2/message-examples.js deleted file mode 100644 index d57029213..000000000 --- a/apps/parser/cjs/models/v2/message-examples.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageExamples = void 0; -const collection_1 = require("../collection"); -class MessageExamples extends collection_1.Collection { - get(name) { - return this.collections.find(example => example.name() === name); - } -} -exports.MessageExamples = MessageExamples; diff --git a/apps/parser/cjs/models/v2/message-trait.d.ts b/apps/parser/cjs/models/v2/message-trait.d.ts deleted file mode 100644 index ec31f7553..000000000 --- a/apps/parser/cjs/models/v2/message-trait.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageTraitInterface } from '../message-trait'; -import type { SchemaInterface } from '../schema'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class MessageTrait extends BaseModel implements MessageTraitInterface { - id(): string; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - hasMessageId(): boolean; - hasCorrelationId(): boolean; - correlationId(): CorrelationIdInterface | undefined; - hasContentType(): boolean; - contentType(): string | undefined; - hasHeaders(): boolean; - headers(): SchemaInterface | undefined; - hasName(): boolean; - name(): string | undefined; - hasTitle(): boolean; - title(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - examples(): MessageExamplesInterface; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/message-trait.js b/apps/parser/cjs/models/v2/message-trait.js deleted file mode 100644 index 263237a04..000000000 --- a/apps/parser/cjs/models/v2/message-trait.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageTrait = void 0; -const base_1 = require("../base"); -const correlation_id_1 = require("./correlation-id"); -const message_examples_1 = require("./message-examples"); -const message_example_1 = require("./message-example"); -const schema_1 = require("./schema"); -const constants_1 = require("../../constants"); -const mixins_1 = require("./mixins"); -const schema_parser_1 = require("../../schema-parser"); -class MessageTrait extends base_1.BaseModel { - id() { - return this._json.messageId || this._meta.id || this.json(constants_1.xParserMessageName); - } - hasSchemaFormat() { - return this.schemaFormat() !== undefined; - } - schemaFormat() { - return this._json.schemaFormat || (0, schema_parser_1.getDefaultSchemaFormat)(this._meta.asyncapi.semver.version); - } - hasMessageId() { - return !!this._json.messageId; - } - hasCorrelationId() { - return !!this._json.correlationId; - } - correlationId() { - if (!this._json.correlationId) - return undefined; - return this.createModel(correlation_id_1.CorrelationId, this._json.correlationId, { pointer: `${this._meta.pointer}/correlationId` }); - } - hasContentType() { - return !!this._json.contentType; - } - contentType() { - var _a; - return this._json.contentType || ((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.defaultContentType); - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - if (!this._json.headers) - return undefined; - return this.createModel(schema_1.Schema, this._json.headers, { pointer: `${this._meta.pointer}/headers` }); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasTitle() { - return !!this._json.title; - } - title() { - return this._json.title; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - examples() { - return new message_examples_1.MessageExamples((this._json.examples || []).map((example, index) => { - return this.createModel(message_example_1.MessageExample, example, { pointer: `${this._meta.pointer}/examples/${index}` }); - })); - } - tags() { - return (0, mixins_1.tags)(this); - } - bindings() { - return (0, mixins_1.bindings)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.MessageTrait = MessageTrait; diff --git a/apps/parser/cjs/models/v2/message-traits.d.ts b/apps/parser/cjs/models/v2/message-traits.d.ts deleted file mode 100644 index 8601210f2..000000000 --- a/apps/parser/cjs/models/v2/message-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { MessageTraitInterface } from '../message-trait'; -export declare class MessageTraits extends Collection implements MessageTraitsInterface { - get(id: string): MessageTraitInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/message-traits.js b/apps/parser/cjs/models/v2/message-traits.js deleted file mode 100644 index d70e4d65a..000000000 --- a/apps/parser/cjs/models/v2/message-traits.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageTraits = void 0; -const collection_1 = require("../collection"); -class MessageTraits extends collection_1.Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} -exports.MessageTraits = MessageTraits; diff --git a/apps/parser/cjs/models/v2/message.d.ts b/apps/parser/cjs/models/v2/message.d.ts deleted file mode 100644 index 9d7ee229a..000000000 --- a/apps/parser/cjs/models/v2/message.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { MessageTrait } from './message-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessageInterface } from '../message'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { SchemaInterface } from '../schema'; -import type { v2 } from '../../spec-types'; -export declare class Message extends MessageTrait implements MessageInterface { - hasPayload(): boolean; - payload(): SchemaInterface | undefined; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - traits(): MessageTraitsInterface; -} diff --git a/apps/parser/cjs/models/v2/message.js b/apps/parser/cjs/models/v2/message.js deleted file mode 100644 index 01c1ada54..000000000 --- a/apps/parser/cjs/models/v2/message.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Message = void 0; -const channels_1 = require("./channels"); -const operations_1 = require("./operations"); -const operation_1 = require("./operation"); -const message_traits_1 = require("./message-traits"); -const message_trait_1 = require("./message-trait"); -const servers_1 = require("./servers"); -const schema_1 = require("./schema"); -const utils_1 = require("../../utils"); -class Message extends message_trait_1.MessageTrait { - hasPayload() { - return !!this._json.payload; - } - payload() { - if (!this._json.payload) - return undefined; - return this.createModel(schema_1.Schema, this._json.payload, { pointer: `${this._meta.pointer}/payload`, schemaFormat: this._json.schemaFormat }); - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - if (!serversData.includes(server.json())) { - serversData.push(server.json()); - servers.push(server); - } - }); - }); - return new servers_1.Servers(servers); - } - channels() { - const channels = []; - const channelsData = []; - this.operations().all().forEach(operation => { - operation.channels().forEach(channel => { - if (!channelsData.includes(channel.json())) { - channelsData.push(channel.json()); - channels.push(channel); - } - }); - }); - return new channels_1.Channels(channels); - } - operations() { - var _a; - const operations = []; - Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { - ['subscribe', 'publish'].forEach(operationAction => { - const operation = channel[operationAction]; - if (operation && (operation.message === this._json || - (operation.message.oneOf || []).includes(this._json))) { - operations.push(this.createModel(operation_1.Operation, operation, { id: '', pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}/${operationAction}`, action: operationAction })); - } - }); - }); - return new operations_1.Operations(operations); - } - traits() { - return new message_traits_1.MessageTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(message_trait_1.MessageTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}` }); - })); - } -} -exports.Message = Message; diff --git a/apps/parser/cjs/models/v2/messages.d.ts b/apps/parser/cjs/models/v2/messages.d.ts deleted file mode 100644 index d988f36fb..000000000 --- a/apps/parser/cjs/models/v2/messages.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { MessagesInterface } from '../messages'; -import type { MessageInterface } from '../message'; -export declare class Messages extends Collection implements MessagesInterface { - get(name: string): MessageInterface | undefined; - filterBySend(): MessageInterface[]; - filterByReceive(): MessageInterface[]; -} diff --git a/apps/parser/cjs/models/v2/messages.js b/apps/parser/cjs/models/v2/messages.js deleted file mode 100644 index dc5d9adae..000000000 --- a/apps/parser/cjs/models/v2/messages.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Messages = void 0; -const collection_1 = require("../collection"); -class Messages extends collection_1.Collection { - get(name) { - return this.collections.find(message => message.id() === name); - } - filterBySend() { - return this.filterBy(message => message.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(message => message.operations().filterByReceive().length > 0); - } -} -exports.Messages = Messages; diff --git a/apps/parser/cjs/models/v2/mixins.d.ts b/apps/parser/cjs/models/v2/mixins.d.ts deleted file mode 100644 index 08b4d9d43..000000000 --- a/apps/parser/cjs/models/v2/mixins.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare function bindings(model: BaseModel<{ - bindings?: Record; -}>): BindingsInterface; -export declare function hasDescription(model: BaseModel<{ - description?: string; -}>): boolean; -export declare function description(model: BaseModel<{ - description?: string; -}>): string | undefined; -export declare function extensions(model: BaseModel): ExtensionsInterface; -export declare function hasExternalDocs(model: BaseModel<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): boolean; -export declare function externalDocs(model: BaseModel<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): ExternalDocumentationInterface | undefined; -export declare function tags(model: BaseModel<{ - tags?: v2.TagsObject; -}>): TagsInterface; diff --git a/apps/parser/cjs/models/v2/mixins.js b/apps/parser/cjs/models/v2/mixins.js deleted file mode 100644 index 899e4ebf9..000000000 --- a/apps/parser/cjs/models/v2/mixins.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.tags = exports.externalDocs = exports.hasExternalDocs = exports.extensions = exports.description = exports.hasDescription = exports.bindings = void 0; -const bindings_1 = require("./bindings"); -const binding_1 = require("./binding"); -const extensions_1 = require("./extensions"); -const extension_1 = require("./extension"); -const external_docs_1 = require("./external-docs"); -const tags_1 = require("./tags"); -const tag_1 = require("./tag"); -const utils_1 = require("../utils"); -const constants_1 = require("../../constants"); -function bindings(model) { - const bindings = model.json('bindings') || {}; - return new bindings_1.Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => (0, utils_1.createModel)(binding_1.Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); -} -exports.bindings = bindings; -function hasDescription(model) { - return Boolean(description(model)); -} -exports.hasDescription = hasDescription; -function description(model) { - return model.json('description'); -} -exports.description = description; -function extensions(model) { - const extensions = []; - Object.entries(model.json()).forEach(([id, value]) => { - if (constants_1.EXTENSION_REGEX.test(id)) { - extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: model.jsonPath(id) }, model)); - } - }); - return new extensions_1.Extensions(extensions); -} -exports.extensions = extensions; -function hasExternalDocs(model) { - return Object.keys(model.json('externalDocs') || {}).length > 0; -} -exports.hasExternalDocs = hasExternalDocs; -function externalDocs(model) { - if (hasExternalDocs(model)) { - return new external_docs_1.ExternalDocumentation(model.json('externalDocs')); - } -} -exports.externalDocs = externalDocs; -function tags(model) { - return new tags_1.Tags((model.json('tags') || []).map((tag, idx) => (0, utils_1.createModel)(tag_1.Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); -} -exports.tags = tags; diff --git a/apps/parser/cjs/models/v2/oauth-flow.d.ts b/apps/parser/cjs/models/v2/oauth-flow.d.ts deleted file mode 100644 index 32f8ec6ff..000000000 --- a/apps/parser/cjs/models/v2/oauth-flow.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v2 } from '../../spec-types'; -export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { - hasAuthorizationUrl(): boolean; - authorizationUrl(): string | undefined; - hasTokenUrl(): boolean; - tokenUrl(): string | undefined; - hasRefreshUrl(): boolean; - refreshUrl(): string | undefined; - scopes(): Record | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/oauth-flow.js b/apps/parser/cjs/models/v2/oauth-flow.js deleted file mode 100644 index 1f1b60a3b..000000000 --- a/apps/parser/cjs/models/v2/oauth-flow.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OAuthFlow = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class OAuthFlow extends base_1.BaseModel { - hasAuthorizationUrl() { - return !!this.json().authorizationUrl; - } - authorizationUrl() { - return this.json().authorizationUrl; - } - hasTokenUrl() { - return !!this.json().tokenUrl; - } - tokenUrl() { - return this.json().tokenUrl; - } - hasRefreshUrl() { - return !!this._json.refreshUrl; - } - refreshUrl() { - return this._json.refreshUrl; - } - scopes() { - return this._json.scopes; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.OAuthFlow = OAuthFlow; diff --git a/apps/parser/cjs/models/v2/oauth-flows.d.ts b/apps/parser/cjs/models/v2/oauth-flows.d.ts deleted file mode 100644 index 9ff0b07ed..000000000 --- a/apps/parser/cjs/models/v2/oauth-flows.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v2 } from '../../spec-types'; -export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { - hasAuthorizationCode(): boolean; - authorizationCode(): OAuthFlowInterface | undefined; - hasClientCredentials(): boolean; - clientCredentials(): OAuthFlowInterface | undefined; - hasImplicit(): boolean; - implicit(): OAuthFlowInterface | undefined; - hasPassword(): boolean; - password(): OAuthFlowInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/oauth-flows.js b/apps/parser/cjs/models/v2/oauth-flows.js deleted file mode 100644 index 8b21aa91b..000000000 --- a/apps/parser/cjs/models/v2/oauth-flows.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OAuthFlows = void 0; -const base_1 = require("../base"); -const oauth_flow_1 = require("./oauth-flow"); -const mixins_1 = require("./mixins"); -class OAuthFlows extends base_1.BaseModel { - hasAuthorizationCode() { - return !!this._json.authorizationCode; - } - authorizationCode() { - if (!this._json.authorizationCode) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.authorizationCode); - } - hasClientCredentials() { - return !!this._json.clientCredentials; - } - clientCredentials() { - if (!this._json.clientCredentials) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.clientCredentials); - } - hasImplicit() { - return !!this._json.implicit; - } - implicit() { - if (!this._json.implicit) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.implicit); - } - hasPassword() { - return !!this._json.password; - } - password() { - if (!this._json.password) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.password); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.OAuthFlows = OAuthFlows; diff --git a/apps/parser/cjs/models/v2/operation-trait.d.ts b/apps/parser/cjs/models/v2/operation-trait.d.ts deleted file mode 100644 index 400020182..000000000 --- a/apps/parser/cjs/models/v2/operation-trait.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { BaseModel } from '../base'; -import { SecurityRequirements } from './security-requirements'; -import type { BindingsInterface } from '../bindings'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { OperationAction } from '../operation'; -import type { OperationTraitInterface } from '../operation-trait'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class OperationTrait extends BaseModel implements OperationTraitInterface { - id(): string; - hasOperationId(): boolean; - operationId(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - security(): SecurityRequirements[]; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/operation-trait.js b/apps/parser/cjs/models/v2/operation-trait.js deleted file mode 100644 index 17f0dc947..000000000 --- a/apps/parser/cjs/models/v2/operation-trait.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationTrait = void 0; -const base_1 = require("../base"); -const security_scheme_1 = require("./security-scheme"); -const security_requirements_1 = require("./security-requirements"); -const security_requirement_1 = require("./security-requirement"); -const mixins_1 = require("./mixins"); -class OperationTrait extends base_1.BaseModel { - id() { - return this.operationId() || this._meta.id; - } - hasOperationId() { - return !!this._json.operationId; - } - operationId() { - return this._json.operationId; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - security() { - var _a, _b, _c, _d; - const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); - return (this._json.security || []).map((requirement, index) => { - const requirements = []; - Object.entries(requirement).forEach(([security, scopes]) => { - const scheme = this.createModel(security_scheme_1.SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); - requirements.push(this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); - }); - return new security_requirements_1.SecurityRequirements(requirements); - }); - } - tags() { - return (0, mixins_1.tags)(this); - } - bindings() { - return (0, mixins_1.bindings)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.OperationTrait = OperationTrait; diff --git a/apps/parser/cjs/models/v2/operation-traits.d.ts b/apps/parser/cjs/models/v2/operation-traits.d.ts deleted file mode 100644 index 0de03b0ff..000000000 --- a/apps/parser/cjs/models/v2/operation-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { OperationTraitInterface } from '../operation-trait'; -export declare class OperationTraits extends Collection implements OperationTraitsInterface { - get(id: string): OperationTraitInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/operation-traits.js b/apps/parser/cjs/models/v2/operation-traits.js deleted file mode 100644 index fe5d408ba..000000000 --- a/apps/parser/cjs/models/v2/operation-traits.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationTraits = void 0; -const collection_1 = require("../collection"); -class OperationTraits extends collection_1.Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} -exports.OperationTraits = OperationTraits; diff --git a/apps/parser/cjs/models/v2/operation.d.ts b/apps/parser/cjs/models/v2/operation.d.ts deleted file mode 100644 index 5976f4a7b..000000000 --- a/apps/parser/cjs/models/v2/operation.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { OperationTrait } from './operation-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { OperationInterface, OperationAction } from '../operation'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { ServersInterface } from '../servers'; -import type { v2 } from '../../spec-types'; -export declare class Operation extends OperationTrait implements OperationInterface { - action(): OperationAction; - isSend(): boolean; - isReceive(): boolean; - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - reply(): OperationReplyInterface | undefined; - traits(): OperationTraitsInterface; -} diff --git a/apps/parser/cjs/models/v2/operation.js b/apps/parser/cjs/models/v2/operation.js deleted file mode 100644 index 98dd354b1..000000000 --- a/apps/parser/cjs/models/v2/operation.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Operation = void 0; -const channels_1 = require("./channels"); -const channel_1 = require("./channel"); -const messages_1 = require("./messages"); -const message_1 = require("./message"); -const operation_traits_1 = require("./operation-traits"); -const operation_trait_1 = require("./operation-trait"); -const servers_1 = require("./servers"); -const utils_1 = require("../../utils"); -class Operation extends operation_trait_1.OperationTrait { - action() { - return this._meta.action; - } - isSend() { - return this.action() === 'subscribe'; - } - isReceive() { - return this.action() === 'publish'; - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - if (!serversData.includes(server.json())) { - serversData.push(server.json()); - servers.push(server); - } - }); - }); - return new servers_1.Servers(servers); - } - channels() { - const channels = []; - Object.entries(this._meta.asyncapi.parsed.channels || {}).forEach(([channelAddress, channel]) => { - if (channel.subscribe === this._json || channel.publish === this._json) { - channels.push(this.createModel(channel_1.Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}` })); - } - }); - return new channels_1.Channels(channels); - } - messages() { - let isOneOf = false; - let messages = []; - if (this._json.message) { - if (Array.isArray(this._json.message.oneOf)) { - messages = this._json.message.oneOf; - isOneOf = true; - } - else { - messages = [this._json.message]; - } - } - return new messages_1.Messages(messages.map((message, index) => { - return this.createModel(message_1.Message, message, { id: '', pointer: `${this._meta.pointer}/message${isOneOf ? `/oneOf/${index}` : ''}` }); - })); - } - reply() { - return; - } - traits() { - return new operation_traits_1.OperationTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(operation_trait_1.OperationTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}`, action: '' }); - })); - } -} -exports.Operation = Operation; diff --git a/apps/parser/cjs/models/v2/operations.d.ts b/apps/parser/cjs/models/v2/operations.d.ts deleted file mode 100644 index 161cb9b2e..000000000 --- a/apps/parser/cjs/models/v2/operations.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationsInterface } from '../operations'; -import type { OperationInterface } from '../operation'; -export declare class Operations extends Collection implements OperationsInterface { - get(id: string): OperationInterface | undefined; - filterBySend(): OperationInterface[]; - filterByReceive(): OperationInterface[]; -} diff --git a/apps/parser/cjs/models/v2/operations.js b/apps/parser/cjs/models/v2/operations.js deleted file mode 100644 index 2d57fd625..000000000 --- a/apps/parser/cjs/models/v2/operations.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Operations = void 0; -const collection_1 = require("../collection"); -class Operations extends collection_1.Collection { - get(id) { - return this.collections.find(operation => operation.id() === id); - } - filterBySend() { - return this.filterBy(operation => operation.isSend()); - } - filterByReceive() { - return this.filterBy(operation => operation.isReceive()); - } -} -exports.Operations = Operations; diff --git a/apps/parser/cjs/models/v2/schema.d.ts b/apps/parser/cjs/models/v2/schema.d.ts deleted file mode 100644 index ee799837c..000000000 --- a/apps/parser/cjs/models/v2/schema.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { SchemaInterface } from '../schema'; -import type { v2 } from '../../spec-types'; -export declare class Schema extends BaseModel implements SchemaInterface { - id(): string; - $comment(): string | undefined; - $id(): string | undefined; - $schema(): string; - additionalItems(): boolean | SchemaInterface; - additionalProperties(): boolean | SchemaInterface; - allOf(): Array | undefined; - anyOf(): Array | undefined; - const(): any; - contains(): SchemaInterface | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - default(): any; - definitions(): Record | undefined; - description(): string | undefined; - dependencies(): Record> | undefined; - deprecated(): boolean; - discriminator(): string | undefined; - else(): SchemaInterface | undefined; - enum(): Array | undefined; - examples(): Array | undefined; - exclusiveMaximum(): number | undefined; - exclusiveMinimum(): number | undefined; - format(): string | undefined; - isBooleanSchema(): boolean; - if(): SchemaInterface | undefined; - isCircular(): boolean; - items(): SchemaInterface | Array | undefined; - maximum(): number | undefined; - maxItems(): number | undefined; - maxLength(): number | undefined; - maxProperties(): number | undefined; - minimum(): number | undefined; - minItems(): number | undefined; - minLength(): number | undefined; - minProperties(): number | undefined; - multipleOf(): number | undefined; - not(): SchemaInterface | undefined; - oneOf(): Array | undefined; - pattern(): string | undefined; - patternProperties(): Record | undefined; - properties(): Record | undefined; - property(name: string): SchemaInterface | undefined; - propertyNames(): SchemaInterface | undefined; - readOnly(): boolean | undefined; - required(): Array | undefined; - schemaFormat(): string; - then(): SchemaInterface | undefined; - title(): string | undefined; - type(): string | Array | undefined; - uniqueItems(): boolean | undefined; - writeOnly(): boolean | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/schema.js b/apps/parser/cjs/models/v2/schema.js deleted file mode 100644 index 691a6d165..000000000 --- a/apps/parser/cjs/models/v2/schema.js +++ /dev/null @@ -1,312 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Schema = void 0; -const base_1 = require("../base"); -const constants_1 = require("../../constants"); -const mixins_1 = require("./mixins"); -const schema_parser_1 = require("../../schema-parser"); -class Schema extends base_1.BaseModel { - id() { - return this.$id() || this._meta.id || this.json(constants_1.xParserSchemaId); - } - $comment() { - if (typeof this._json === 'boolean') - return; - return this._json.$comment; - } - $id() { - if (typeof this._json === 'boolean') - return; - return this._json.$id; - } - $schema() { - if (typeof this._json === 'boolean') - return 'http://json-schema.org/draft-07/schema#'; - return this._json.$schema || 'http://json-schema.org/draft-07/schema#'; - } - additionalItems() { - if (typeof this._json === 'boolean') - return this._json; - if (typeof this._json.additionalItems === 'boolean') - return this._json.additionalItems; - if (this._json.additionalItems === undefined) - return true; - if (this._json.additionalItems === null) - return false; - return this.createModel(Schema, this._json.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); - } - additionalProperties() { - if (typeof this._json === 'boolean') - return this._json; - if (typeof this._json.additionalProperties === 'boolean') - return this._json.additionalProperties; - if (this._json.additionalProperties === undefined) - return true; - if (this._json.additionalProperties === null) - return false; - return this.createModel(Schema, this._json.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); - } - allOf() { - if (typeof this._json === 'boolean') - return; - if (!Array.isArray(this._json.allOf)) - return undefined; - return this._json.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); - } - anyOf() { - if (typeof this._json === 'boolean') - return; - if (!Array.isArray(this._json.anyOf)) - return undefined; - return this._json.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); - } - const() { - if (typeof this._json === 'boolean') - return; - return this._json.const; - } - contains() { - if (typeof this._json === 'boolean' || typeof this._json.contains !== 'object') - return; - return this.createModel(Schema, this._json.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); - } - contentEncoding() { - if (typeof this._json === 'boolean') - return; - return this._json.contentEncoding; - } - contentMediaType() { - if (typeof this._json === 'boolean') - return; - return this._json.contentMediaType; - } - default() { - if (typeof this._json === 'boolean') - return; - return this._json.default; - } - definitions() { - if (typeof this._json === 'boolean' || typeof this._json.definitions !== 'object') - return; - return Object.entries(this._json.definitions).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); - return acc; - }, {}); - } - description() { - if (typeof this._json === 'boolean') - return; - return this._json.description; - } - dependencies() { - if (typeof this._json === 'boolean') - return; - if (typeof this._json.dependencies !== 'object') - return undefined; - return Object.entries(this._json.dependencies).reduce((acc, [key, s]) => { - acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); - return acc; - }, {}); - } - deprecated() { - if (typeof this._json === 'boolean') - return false; - return this._json.deprecated || false; - } - discriminator() { - if (typeof this._json === 'boolean') - return; - return this._json.discriminator; - } - else() { - if (typeof this._json === 'boolean' || typeof this._json.else !== 'object') - return; - return this.createModel(Schema, this._json.else, { pointer: `${this._meta.pointer}/else`, parent: this }); - } - enum() { - if (typeof this._json === 'boolean') - return; - return this._json.enum; - } - examples() { - if (typeof this._json === 'boolean') - return; - return this._json.examples; - } - exclusiveMaximum() { - if (typeof this._json === 'boolean') - return; - return this._json.exclusiveMaximum; - } - exclusiveMinimum() { - if (typeof this._json === 'boolean') - return; - return this._json.exclusiveMinimum; - } - format() { - if (typeof this._json === 'boolean') - return; - return this._json.format; - } - isBooleanSchema() { - return typeof this._json === 'boolean'; - } - if() { - if (typeof this._json === 'boolean' || typeof this._json.if !== 'object') - return; - return this.createModel(Schema, this._json.if, { pointer: `${this._meta.pointer}/if`, parent: this }); - } - isCircular() { - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._json) - return true; - parent = parent._meta.parent; - } - return false; - } - items() { - if (typeof this._json === 'boolean' || typeof this._json.items !== 'object') - return; - if (Array.isArray(this._json.items)) { - return this._json.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); - } - return this.createModel(Schema, this._json.items, { pointer: `${this._meta.pointer}/items`, parent: this }); - } - maximum() { - if (typeof this._json === 'boolean') - return; - return this._json.maximum; - } - maxItems() { - if (typeof this._json === 'boolean') - return; - return this._json.maxItems; - } - maxLength() { - if (typeof this._json === 'boolean') - return; - return this._json.maxLength; - } - maxProperties() { - if (typeof this._json === 'boolean') - return; - return this._json.maxProperties; - } - minimum() { - if (typeof this._json === 'boolean') - return; - return this._json.minimum; - } - minItems() { - if (typeof this._json === 'boolean') - return; - return this._json.minItems; - } - minLength() { - if (typeof this._json === 'boolean') - return; - return this._json.minLength; - } - minProperties() { - if (typeof this._json === 'boolean') - return; - return this._json.minProperties; - } - multipleOf() { - if (typeof this._json === 'boolean') - return; - return this._json.multipleOf; - } - not() { - if (typeof this._json === 'boolean' || typeof this._json.not !== 'object') - return; - return this.createModel(Schema, this._json.not, { pointer: `${this._meta.pointer}/not`, parent: this }); - } - oneOf() { - if (typeof this._json === 'boolean') - return; - if (!Array.isArray(this._json.oneOf)) - return undefined; - return this._json.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); - } - pattern() { - if (typeof this._json === 'boolean') - return; - return this._json.pattern; - } - patternProperties() { - if (typeof this._json === 'boolean' || typeof this._json.patternProperties !== 'object') - return; - return Object.entries(this._json.patternProperties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); - return acc; - }, {}); - } - properties() { - if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object') - return; - return Object.entries(this._json.properties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); - return acc; - }, {}); - } - property(name) { - if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object' || typeof this._json.properties[name] !== 'object') - return; - return this.createModel(Schema, this._json.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); - } - propertyNames() { - if (typeof this._json === 'boolean' || typeof this._json.propertyNames !== 'object') - return; - return this.createModel(Schema, this._json.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); - } - readOnly() { - if (typeof this._json === 'boolean') - return false; - return this._json.readOnly || false; - } - required() { - if (typeof this._json === 'boolean') - return; - return this._json.required; - } - schemaFormat() { - return this._meta.schemaFormat || (0, schema_parser_1.getDefaultSchemaFormat)(this._meta.asyncapi.semver.version); - } - then() { - if (typeof this._json === 'boolean' || typeof this._json.then !== 'object') - return; - return this.createModel(Schema, this._json.then, { pointer: `${this._meta.pointer}/then`, parent: this }); - } - title() { - if (typeof this._json === 'boolean') - return; - return this._json.title; - } - type() { - if (typeof this._json === 'boolean') - return; - return this._json.type; - } - uniqueItems() { - if (typeof this._json === 'boolean') - return false; - return this._json.uniqueItems || false; - } - writeOnly() { - if (typeof this._json === 'boolean') - return false; - return this._json.writeOnly || false; - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Schema = Schema; diff --git a/apps/parser/cjs/models/v2/schemas.d.ts b/apps/parser/cjs/models/v2/schemas.d.ts deleted file mode 100644 index 15c1d17bc..000000000 --- a/apps/parser/cjs/models/v2/schemas.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SchemasInterface } from '../schemas'; -import type { SchemaInterface } from '../schema'; -export declare class Schemas extends Collection implements SchemasInterface { - get(id: string): SchemaInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/schemas.js b/apps/parser/cjs/models/v2/schemas.js deleted file mode 100644 index f67534034..000000000 --- a/apps/parser/cjs/models/v2/schemas.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Schemas = void 0; -const collection_1 = require("../collection"); -class Schemas extends collection_1.Collection { - get(id) { - return this.collections.find(schema => schema.id() === id); - } -} -exports.Schemas = Schemas; diff --git a/apps/parser/cjs/models/v2/security-requirement.d.ts b/apps/parser/cjs/models/v2/security-requirement.d.ts deleted file mode 100644 index 88cb3a757..000000000 --- a/apps/parser/cjs/models/v2/security-requirement.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirement extends BaseModel<{ - scopes?: string[]; - scheme: SecuritySchemeInterface; -}, { - id?: string; -}> implements SecurityRequirementInterface { - scheme(): SecuritySchemeInterface; - scopes(): string[]; -} diff --git a/apps/parser/cjs/models/v2/security-requirement.js b/apps/parser/cjs/models/v2/security-requirement.js deleted file mode 100644 index 7361b25ca..000000000 --- a/apps/parser/cjs/models/v2/security-requirement.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityRequirement = void 0; -const base_1 = require("../base"); -class SecurityRequirement extends base_1.BaseModel { - scheme() { - return this._json.scheme; - } - scopes() { - return this._json.scopes || []; - } -} -exports.SecurityRequirement = SecurityRequirement; diff --git a/apps/parser/cjs/models/v2/security-requirements.d.ts b/apps/parser/cjs/models/v2/security-requirements.d.ts deleted file mode 100644 index 882dd7bbc..000000000 --- a/apps/parser/cjs/models/v2/security-requirements.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecurityRequirementsInterface } from '../security-requirements'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { - get(id: string): SecurityRequirementInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/security-requirements.js b/apps/parser/cjs/models/v2/security-requirements.js deleted file mode 100644 index 10a90fa51..000000000 --- a/apps/parser/cjs/models/v2/security-requirements.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityRequirements = void 0; -const collection_1 = require("../collection"); -class SecurityRequirements extends collection_1.Collection { - get(id) { - return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); - } -} -exports.SecurityRequirements = SecurityRequirements; diff --git a/apps/parser/cjs/models/v2/security-scheme.d.ts b/apps/parser/cjs/models/v2/security-scheme.d.ts deleted file mode 100644 index 5a5cc6c7e..000000000 --- a/apps/parser/cjs/models/v2/security-scheme.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { v2 } from '../../spec-types'; -export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { - id(): string; - type(): v2.SecuritySchemeType; - hasDescription(): boolean; - description(): string | undefined; - hasName(): boolean; - name(): string | undefined; - hasIn(): boolean; - in(): v2.SecuritySchemaLocation | undefined; - hasScheme(): boolean; - scheme(): string | undefined; - hasBearerFormat(): boolean; - bearerFormat(): string | undefined; - hasFlows(): boolean; - flows(): OAuthFlowsInterface | undefined; - hasOpenIdConnectUrl(): boolean; - openIdConnectUrl(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/security-scheme.js b/apps/parser/cjs/models/v2/security-scheme.js deleted file mode 100644 index cc2144318..000000000 --- a/apps/parser/cjs/models/v2/security-scheme.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityScheme = void 0; -const base_1 = require("../base"); -const oauth_flows_1 = require("./oauth-flows"); -const mixins_1 = require("./mixins"); -class SecurityScheme extends base_1.BaseModel { - id() { - return this._meta.id; - } - type() { - return this._json.type; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasIn() { - return !!this._json.in; - } - in() { - return this._json.in; - } - hasScheme() { - return !!this._json.scheme; - } - scheme() { - return this._json.scheme; - } - hasBearerFormat() { - return !!this._json.bearerFormat; - } - bearerFormat() { - return this._json.bearerFormat; - } - hasFlows() { - return !!this._json.flows; - } - flows() { - if (!this._json.flows) - return undefined; - return new oauth_flows_1.OAuthFlows(this._json.flows); - } - hasOpenIdConnectUrl() { - return !!this._json.openIdConnectUrl; - } - openIdConnectUrl() { - return this._json.openIdConnectUrl; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.SecurityScheme = SecurityScheme; diff --git a/apps/parser/cjs/models/v2/security-schemes.d.ts b/apps/parser/cjs/models/v2/security-schemes.d.ts deleted file mode 100644 index e9d23e914..000000000 --- a/apps/parser/cjs/models/v2/security-schemes.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { SecuritySchemeInterface } from '../security-scheme'; -export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { - get(id: string): SecuritySchemeInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/security-schemes.js b/apps/parser/cjs/models/v2/security-schemes.js deleted file mode 100644 index ff43c7f68..000000000 --- a/apps/parser/cjs/models/v2/security-schemes.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecuritySchemes = void 0; -const collection_1 = require("../collection"); -class SecuritySchemes extends collection_1.Collection { - get(id) { - return this.collections.find(securityScheme => securityScheme.id() === id); - } -} -exports.SecuritySchemes = SecuritySchemes; diff --git a/apps/parser/cjs/models/v2/server-variable.d.ts b/apps/parser/cjs/models/v2/server-variable.d.ts deleted file mode 100644 index 973203637..000000000 --- a/apps/parser/cjs/models/v2/server-variable.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ServerVariableInterface } from '../server-variable'; -import type { v2 } from '../../spec-types'; -export declare class ServerVariable extends BaseModel implements ServerVariableInterface { - id(): string; - hasDescription(): boolean; - description(): string | undefined; - hasDefaultValue(): boolean; - defaultValue(): string | undefined; - hasAllowedValues(): boolean; - allowedValues(): Array; - examples(): Array; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/server-variable.js b/apps/parser/cjs/models/v2/server-variable.js deleted file mode 100644 index 8b3b363a8..000000000 --- a/apps/parser/cjs/models/v2/server-variable.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ServerVariable = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class ServerVariable extends base_1.BaseModel { - id() { - return this._meta.id; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasDefaultValue() { - return !!this._json.default; - } - defaultValue() { - return this._json.default; - } - hasAllowedValues() { - return !!this._json.enum; - } - allowedValues() { - return this._json.enum || []; - } - examples() { - return this._json.examples || []; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.ServerVariable = ServerVariable; diff --git a/apps/parser/cjs/models/v2/server-variables.d.ts b/apps/parser/cjs/models/v2/server-variables.d.ts deleted file mode 100644 index 7e3ebe7f4..000000000 --- a/apps/parser/cjs/models/v2/server-variables.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { ServerVariableInterface } from '../server-variable'; -export declare class ServerVariables extends Collection implements ServerVariablesInterface { - get(id: string): ServerVariableInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/server-variables.js b/apps/parser/cjs/models/v2/server-variables.js deleted file mode 100644 index 80f27b71b..000000000 --- a/apps/parser/cjs/models/v2/server-variables.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ServerVariables = void 0; -const collection_1 = require("../collection"); -class ServerVariables extends collection_1.Collection { - get(id) { - return this.collections.find(variable => variable.id() === id); - } -} -exports.ServerVariables = ServerVariables; diff --git a/apps/parser/cjs/models/v2/server.d.ts b/apps/parser/cjs/models/v2/server.d.ts deleted file mode 100644 index 326ae4172..000000000 --- a/apps/parser/cjs/models/v2/server.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { BaseModel } from '../base'; -import { SecurityRequirements } from './security-requirements'; -import type { ChannelsInterface } from '../channels'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { ServerInterface } from '../server'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { ExtensionsInterface } from '../extensions'; -import type { BindingsInterface } from '../bindings'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class Server extends BaseModel implements ServerInterface { - id(): string; - url(): string; - host(): string; - hasPathname(): boolean; - pathname(): string | undefined; - protocol(): string; - hasProtocolVersion(): boolean; - protocolVersion(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - variables(): ServerVariablesInterface; - security(): SecurityRequirements[]; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v2/server.js b/apps/parser/cjs/models/v2/server.js deleted file mode 100644 index 36bbd408b..000000000 --- a/apps/parser/cjs/models/v2/server.js +++ /dev/null @@ -1,102 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Server = void 0; -const base_1 = require("../base"); -const channels_1 = require("./channels"); -const channel_1 = require("./channel"); -const messages_1 = require("./messages"); -const operations_1 = require("./operations"); -const security_scheme_1 = require("./security-scheme"); -const server_variables_1 = require("./server-variables"); -const server_variable_1 = require("./server-variable"); -const security_requirements_1 = require("./security-requirements"); -const security_requirement_1 = require("./security-requirement"); -const mixins_1 = require("./mixins"); -const utils_1 = require("../../utils"); -class Server extends base_1.BaseModel { - id() { - return this._meta.id; - } - url() { - return this._json.url; - } - host() { - const url = new URL(this.url()); - return url.host; - } - hasPathname() { - return !!this.pathname(); - } - pathname() { - const url = new URL(this.url()); - return url.pathname; - } - protocol() { - return this._json.protocol; - } - hasProtocolVersion() { - return !!this._json.protocolVersion; - } - protocolVersion() { - return this._json.protocolVersion; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - channels() { - var _a; - const channels = []; - Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { - const allowedServers = channel.servers || []; - if (allowedServers.length === 0 || allowedServers.includes(this._meta.id)) { - channels.push(this.createModel(channel_1.Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${(0, utils_1.tilde)(channelAddress)}` })); - } - }); - return new channels_1.Channels(channels); - } - operations() { - const operations = []; - this.channels().forEach(channel => { - operations.push(...channel.operations().all()); - }); - return new operations_1.Operations(operations); - } - messages() { - const messages = []; - this.operations().forEach(operation => messages.push(...operation.messages().all())); - return new messages_1.Messages(messages); - } - variables() { - return new server_variables_1.ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { - return this.createModel(server_variable_1.ServerVariable, serverVariable, { - id: serverVariableName, - pointer: `${this._meta.pointer}/variables/${serverVariableName}` - }); - })); - } - security() { - var _a, _b, _c, _d; - const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); - return (this._json.security || []).map((requirement, index) => { - const requirements = []; - Object.entries(requirement).forEach(([security, scopes]) => { - const scheme = this.createModel(security_scheme_1.SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); - requirements.push(this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); - }); - return new security_requirements_1.SecurityRequirements(requirements); - }); - } - tags() { - return (0, mixins_1.tags)(this); - } - bindings() { - return (0, mixins_1.bindings)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Server = Server; diff --git a/apps/parser/cjs/models/v2/servers.d.ts b/apps/parser/cjs/models/v2/servers.d.ts deleted file mode 100644 index 101c8aa9e..000000000 --- a/apps/parser/cjs/models/v2/servers.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import { ServerInterface } from '../server'; -import { ServersInterface } from '../servers'; -export declare class Servers extends Collection implements ServersInterface { - get(id: string): ServerInterface | undefined; - filterBySend(): ServerInterface[]; - filterByReceive(): ServerInterface[]; -} diff --git a/apps/parser/cjs/models/v2/servers.js b/apps/parser/cjs/models/v2/servers.js deleted file mode 100644 index 030ad9265..000000000 --- a/apps/parser/cjs/models/v2/servers.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Servers = void 0; -const collection_1 = require("../collection"); -class Servers extends collection_1.Collection { - get(id) { - return this.collections.find(server => server.id() === id); - } - filterBySend() { - return this.filterBy(server => server.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(server => server.operations().filterByReceive().length > 0); - } -} -exports.Servers = Servers; diff --git a/apps/parser/cjs/models/v2/tag.d.ts b/apps/parser/cjs/models/v2/tag.d.ts deleted file mode 100644 index a7eaf141f..000000000 --- a/apps/parser/cjs/models/v2/tag.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagInterface } from '../tag'; -import type { v2 } from '../../spec-types'; -export declare class Tag extends BaseModel implements TagInterface { - name(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/tag.js b/apps/parser/cjs/models/v2/tag.js deleted file mode 100644 index b7f899b4b..000000000 --- a/apps/parser/cjs/models/v2/tag.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Tag = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class Tag extends base_1.BaseModel { - name() { - return this._json.name; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } -} -exports.Tag = Tag; diff --git a/apps/parser/cjs/models/v2/tags.d.ts b/apps/parser/cjs/models/v2/tags.d.ts deleted file mode 100644 index 371794b27..000000000 --- a/apps/parser/cjs/models/v2/tags.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { TagsInterface } from '../tags'; -import type { TagInterface } from '../tag'; -export declare class Tags extends Collection implements TagsInterface { - get(name: string): TagInterface | undefined; -} diff --git a/apps/parser/cjs/models/v2/tags.js b/apps/parser/cjs/models/v2/tags.js deleted file mode 100644 index aa4dc7f08..000000000 --- a/apps/parser/cjs/models/v2/tags.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Tags = void 0; -const collection_1 = require("../collection"); -class Tags extends collection_1.Collection { - get(name) { - return this.collections.find(tag => tag.name() === name); - } -} -exports.Tags = Tags; diff --git a/apps/parser/cjs/models/v3/asyncapi.d.ts b/apps/parser/cjs/models/v3/asyncapi.d.ts deleted file mode 100644 index a8c9d8c3b..000000000 --- a/apps/parser/cjs/models/v3/asyncapi.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import type { AsyncAPIDocumentInterface } from '../asyncapi'; -import type { InfoInterface } from '../info'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { ComponentsInterface } from '../components'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { ExtensionsInterface } from '../extensions'; -import type { SchemasInterface } from '../schemas'; -import type { v3 } from '../../spec-types'; -export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { - version(): string; - defaultContentType(): string | undefined; - hasDefaultContentType(): boolean; - info(): InfoInterface; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - securitySchemes(): SecuritySchemesInterface; - components(): ComponentsInterface; - allServers(): ServersInterface; - allChannels(): ChannelsInterface; - allOperations(): OperationsInterface; - allMessages(): MessagesInterface; - allSchemas(): SchemasInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/asyncapi.js b/apps/parser/cjs/models/v3/asyncapi.js deleted file mode 100644 index 6296cb83c..000000000 --- a/apps/parser/cjs/models/v3/asyncapi.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AsyncAPIDocument = void 0; -const base_1 = require("../base"); -const info_1 = require("./info"); -const servers_1 = require("./servers"); -const server_1 = require("./server"); -const channels_1 = require("./channels"); -const channel_1 = require("./channel"); -const operations_1 = require("./operations"); -const operation_1 = require("./operation"); -const messages_1 = require("./messages"); -const security_schemes_1 = require("./security-schemes"); -const security_scheme_1 = require("./security-scheme"); -const components_1 = require("./components"); -const schemas_1 = require("./schemas"); -const mixins_1 = require("./mixins"); -const utils_1 = require("../../utils"); -const utils_2 = require("../utils"); -class AsyncAPIDocument extends base_1.BaseModel { - version() { - return this._json.asyncapi; - } - defaultContentType() { - return this._json.defaultContentType; - } - hasDefaultContentType() { - return !!this._json.defaultContentType; - } - info() { - return this.createModel(info_1.Info, this._json.info, { pointer: '/info' }); - } - servers() { - return new servers_1.Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${(0, utils_1.tilde)(serverName)}` }))); - } - channels() { - return new channels_1.Channels(Object.entries(this._json.channels || {}).map(([channelId, channel]) => this.createModel(channel_1.Channel, channel, { id: channelId, pointer: `/channels/${(0, utils_1.tilde)(channelId)}` }))); - } - operations() { - return new operations_1.Operations(Object.entries(this._json.operations || {}).map(([operationId, operation]) => this.createModel(operation_1.Operation, operation, { id: operationId, pointer: `/operations/${(0, utils_1.tilde)(operationId)}` }))); - } - messages() { - const messages = []; - const messagesData = []; - this.channels().forEach(channel => { - channel.messages().forEach(message => { - const messageData = message.json(); - if (!messagesData.includes(messageData)) { - messagesData.push(messageData); - messages.push(message); - } - }); - }); - return new messages_1.Messages(messages); - } - schemas() { - return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, false); - } - securitySchemes() { - var _a; - return new security_schemes_1.SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(security_scheme_1.SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); - } - components() { - return this.createModel(components_1.Components, this._json.components || {}, { pointer: '/components' }); - } - allServers() { - const servers = this.servers().all(); - this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); - return new servers_1.Servers(servers); - } - allChannels() { - const channels = this.channels().all(); - this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); - return new channels_1.Channels(channels); - } - allOperations() { - const operations = this.operations().all(); - this.components().operations().forEach(operation => !operations.some(o => o.json() === operation.json()) && operations.push(operation)); - return new operations_1.Operations(operations); - } - allMessages() { - const messages = this.messages().all(); - this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); - return new messages_1.Messages(messages); - } - allSchemas() { - return (0, utils_2.schemasFromDocument)(this, schemas_1.Schemas, true); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.AsyncAPIDocument = AsyncAPIDocument; diff --git a/apps/parser/cjs/models/v3/binding.d.ts b/apps/parser/cjs/models/v3/binding.d.ts deleted file mode 100644 index 45be32fe8..000000000 --- a/apps/parser/cjs/models/v3/binding.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class Binding = Record> extends BaseModel implements BindingInterface { - protocol(): string; - version(): string; - value(): V; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/binding.js b/apps/parser/cjs/models/v3/binding.js deleted file mode 100644 index 52c49f724..000000000 --- a/apps/parser/cjs/models/v3/binding.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Binding = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class Binding extends base_1.BaseModel { - protocol() { - return this._meta.protocol; - } - version() { - return this._json.bindingVersion || 'latest'; - } - value() { - const value = Object.assign({}, this._json); - delete value.bindingVersion; - return value; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Binding = Binding; diff --git a/apps/parser/cjs/models/v3/bindings.d.ts b/apps/parser/cjs/models/v3/bindings.d.ts deleted file mode 100644 index 366f2d369..000000000 --- a/apps/parser/cjs/models/v3/bindings.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { BindingsInterface } from '../bindings'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -export declare class Bindings extends Collection implements BindingsInterface { - get = Record>(name: string): BindingInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/bindings.js b/apps/parser/cjs/models/v3/bindings.js deleted file mode 100644 index 793406ac1..000000000 --- a/apps/parser/cjs/models/v3/bindings.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Bindings = void 0; -const collection_1 = require("../collection"); -const extensions_1 = require("./extensions"); -const extension_1 = require("./extension"); -const utils_1 = require("../utils"); -const constants_1 = require("../../constants"); -class Bindings extends collection_1.Collection { - get(name) { - return this.collections.find(binding => binding.protocol() === name); - } - extensions() { - const extensions = []; - Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { - if (constants_1.EXTENSION_REGEX.test(id)) { - extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); - } - }); - return new extensions_1.Extensions(extensions); - } -} -exports.Bindings = Bindings; diff --git a/apps/parser/cjs/models/v3/channel-parameter.d.ts b/apps/parser/cjs/models/v3/channel-parameter.d.ts deleted file mode 100644 index 35ca76669..000000000 --- a/apps/parser/cjs/models/v3/channel-parameter.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ChannelParameterInterface } from '../channel-parameter'; -import type { SchemaInterface } from '../schema'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { - id(): string; - hasSchema(): boolean; - schema(): SchemaInterface | undefined; - hasLocation(): boolean; - location(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/channel-parameter.js b/apps/parser/cjs/models/v3/channel-parameter.js deleted file mode 100644 index 7b48d35f5..000000000 --- a/apps/parser/cjs/models/v3/channel-parameter.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ChannelParameter = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -const schema_1 = require("./schema"); -class ChannelParameter extends base_1.BaseModel { - id() { - return this._meta.id; - } - hasSchema() { - return true; - } - schema() { - return this.createModel(schema_1.Schema, { - type: 'string', - description: this._json.description, - enum: this._json.enum, - default: this._json.default, - examples: this._json.examples - }, { pointer: `${this._meta.pointer}` }); - } - hasLocation() { - return !!this._json.location; - } - location() { - return this._json.location; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.ChannelParameter = ChannelParameter; diff --git a/apps/parser/cjs/models/v3/channel-parameters.d.ts b/apps/parser/cjs/models/v3/channel-parameters.d.ts deleted file mode 100644 index 93abd0a6e..000000000 --- a/apps/parser/cjs/models/v3/channel-parameters.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ChannelParameterInterface } from '../channel-parameter'; -export declare class ChannelParameters extends Collection implements ChannelParametersInterface { - get(id: string): ChannelParameterInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/channel-parameters.js b/apps/parser/cjs/models/v3/channel-parameters.js deleted file mode 100644 index f81c49068..000000000 --- a/apps/parser/cjs/models/v3/channel-parameters.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ChannelParameters = void 0; -const collection_1 = require("../collection"); -class ChannelParameters extends collection_1.Collection { - get(id) { - return this.collections.find(parameter => parameter.id() === id); - } -} -exports.ChannelParameters = ChannelParameters; diff --git a/apps/parser/cjs/models/v3/channel.d.ts b/apps/parser/cjs/models/v3/channel.d.ts deleted file mode 100644 index 36b080f51..000000000 --- a/apps/parser/cjs/models/v3/channel.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { CoreModel } from './mixins'; -import type { ChannelInterface } from '../channel'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { MessagesInterface } from '../messages'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { v3 } from '../../spec-types'; -export declare class Channel extends CoreModel implements ChannelInterface { - id(): string; - address(): string | null | undefined; - servers(): ServersInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - parameters(): ChannelParametersInterface; -} diff --git a/apps/parser/cjs/models/v3/channel.js b/apps/parser/cjs/models/v3/channel.js deleted file mode 100644 index d0728e7c4..000000000 --- a/apps/parser/cjs/models/v3/channel.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Channel = void 0; -const channel_parameters_1 = require("./channel-parameters"); -const channel_parameter_1 = require("./channel-parameter"); -const messages_1 = require("./messages"); -const message_1 = require("./message"); -const operations_1 = require("./operations"); -const operation_1 = require("./operation"); -const servers_1 = require("./servers"); -const server_1 = require("./server"); -const constants_1 = require("../../constants"); -const mixins_1 = require("./mixins"); -class Channel extends mixins_1.CoreModel { - id() { - return this._meta.id; - } - address() { - return this._json.address; - } - servers() { - var _a, _b, _c; - const servers = []; - const allowedServers = (_a = this._json.servers) !== null && _a !== void 0 ? _a : []; - Object.entries((_c = (_b = this._meta.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed.servers) !== null && _c !== void 0 ? _c : {}).forEach(([serverName, server]) => { - if (allowedServers.length === 0 || allowedServers.includes(server)) { - servers.push(this.createModel(server_1.Server, server, { id: serverName, pointer: `/servers/${serverName}` })); - } - }); - return new servers_1.Servers(servers); - } - operations() { - var _a, _b, _c; - const operations = []; - Object.entries(((_c = (_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) !== null && _c !== void 0 ? _c : {})).forEach(([operationId, operation]) => { - const operationChannelId = operation.channel[constants_1.xParserObjectUniqueId]; - const channelId = this._json[constants_1.xParserObjectUniqueId]; - if (operationChannelId === channelId) { - operations.push(this.createModel(operation_1.Operation, operation, { id: operationId, pointer: `/operations/${operationId}` })); - } - }); - return new operations_1.Operations(operations); - } - messages() { - var _a; - return new messages_1.Messages(Object.entries((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map(([messageName, message]) => { - return this.createModel(message_1.Message, message, { id: messageName, pointer: this.jsonPath(`messages/${messageName}`) }); - })); - } - parameters() { - var _a; - return new channel_parameters_1.ChannelParameters(Object.entries((_a = this._json.parameters) !== null && _a !== void 0 ? _a : {}).map(([channelParameterName, channelParameter]) => { - return this.createModel(channel_parameter_1.ChannelParameter, channelParameter, { - id: channelParameterName, - pointer: this.jsonPath(`parameters/${channelParameterName}`), - }); - })); - } -} -exports.Channel = Channel; diff --git a/apps/parser/cjs/models/v3/channels.d.ts b/apps/parser/cjs/models/v3/channels.d.ts deleted file mode 100644 index 01b199506..000000000 --- a/apps/parser/cjs/models/v3/channels.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelsInterface } from '../channels'; -import type { ChannelInterface } from '../channel'; -export declare class Channels extends Collection implements ChannelsInterface { - get(id: string): ChannelInterface | undefined; - filterBySend(): ChannelInterface[]; - filterByReceive(): ChannelInterface[]; -} diff --git a/apps/parser/cjs/models/v3/channels.js b/apps/parser/cjs/models/v3/channels.js deleted file mode 100644 index da2dd1deb..000000000 --- a/apps/parser/cjs/models/v3/channels.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Channels = void 0; -const collection_1 = require("../collection"); -class Channels extends collection_1.Collection { - get(id) { - return this.collections.find(channel => channel.id() === id); - } - filterBySend() { - return this.filterBy(channel => channel.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(channel => channel.operations().filterByReceive().length > 0); - } -} -exports.Channels = Channels; diff --git a/apps/parser/cjs/models/v3/components.d.ts b/apps/parser/cjs/models/v3/components.d.ts deleted file mode 100644 index aea020b94..000000000 --- a/apps/parser/cjs/models/v3/components.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { BaseModel } from '../base'; -import { Collection } from '../collection'; -import { CorrelationIds } from './correlation-ids'; -import type { BindingsInterface } from '../bindings'; -import type { ComponentsInterface } from '../components'; -import type { ExtensionsInterface } from '../extensions'; -import type { Constructor } from '../utils'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { SchemasInterface } from '../schemas'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationRepliesInterface } from '../operation-replies'; -import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; -import type { OperationsInterface } from '../operations'; -import type { ExternalDocumentationsInterface } from '../external-documentations'; -import type { TagsInterface } from '../tags'; -import type { v3 } from '../../spec-types'; -export declare class Components extends BaseModel implements ComponentsInterface { - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - channelParameters(): ChannelParametersInterface; - serverVariables(): ServerVariablesInterface; - operationTraits(): OperationTraitsInterface; - messageTraits(): MessageTraitsInterface; - replies(): OperationRepliesInterface; - replyAddresses(): OperationReplyAddressesInterface; - correlationIds(): CorrelationIds; - securitySchemes(): SecuritySchemesInterface; - tags(): TagsInterface; - externalDocs(): ExternalDocumentationsInterface; - serverBindings(): Record; - channelBindings(): Record; - operationBindings(): Record; - messageBindings(): Record; - extensions(): ExtensionsInterface; - isEmpty(): boolean; - protected createCollection, T extends BaseModel>(itemsName: keyof v3.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; - protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; -} diff --git a/apps/parser/cjs/models/v3/components.js b/apps/parser/cjs/models/v3/components.js deleted file mode 100644 index a1b49f4d4..000000000 --- a/apps/parser/cjs/models/v3/components.js +++ /dev/null @@ -1,120 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Components = void 0; -const base_1 = require("../base"); -const bindings_1 = require("./bindings"); -const binding_1 = require("./binding"); -const channel_1 = require("./channel"); -const channel_parameter_1 = require("./channel-parameter"); -const correlation_id_1 = require("./correlation-id"); -const message_trait_1 = require("./message-trait"); -const operation_trait_1 = require("./operation-trait"); -const operation_reply_1 = require("./operation-reply"); -const operation_reply_address_1 = require("./operation-reply-address"); -const schema_1 = require("./schema"); -const security_scheme_1 = require("./security-scheme"); -const server_1 = require("./server"); -const server_variable_1 = require("./server-variable"); -const mixins_1 = require("./mixins"); -const servers_1 = require("./servers"); -const channels_1 = require("./channels"); -const messages_1 = require("./messages"); -const schemas_1 = require("./schemas"); -const channel_parameters_1 = require("./channel-parameters"); -const server_variables_1 = require("./server-variables"); -const operation_traits_1 = require("./operation-traits"); -const message_traits_1 = require("./message-traits"); -const operation_replies_1 = require("./operation-replies"); -const operation_reply_addresses_1 = require("./operation-reply-addresses"); -const security_schemes_1 = require("./security-schemes"); -const correlation_ids_1 = require("./correlation-ids"); -const operations_1 = require("./operations"); -const operation_1 = require("./operation"); -const message_1 = require("./message"); -const external_documentations_1 = require("../external-documentations"); -const external_docs_1 = require("./external-docs"); -const tags_1 = require("./tags"); -const tag_1 = require("./tag"); -const utils_1 = require("../../utils"); -class Components extends base_1.BaseModel { - servers() { - return this.createCollection('servers', servers_1.Servers, server_1.Server); - } - channels() { - return this.createCollection('channels', channels_1.Channels, channel_1.Channel); - } - operations() { - return this.createCollection('operations', operations_1.Operations, operation_1.Operation); - } - messages() { - return this.createCollection('messages', messages_1.Messages, message_1.Message); - } - schemas() { - return this.createCollection('schemas', schemas_1.Schemas, schema_1.Schema); - } - channelParameters() { - return this.createCollection('parameters', channel_parameters_1.ChannelParameters, channel_parameter_1.ChannelParameter); - } - serverVariables() { - return this.createCollection('serverVariables', server_variables_1.ServerVariables, server_variable_1.ServerVariable); - } - operationTraits() { - return this.createCollection('operationTraits', operation_traits_1.OperationTraits, operation_trait_1.OperationTrait); - } - messageTraits() { - return this.createCollection('messageTraits', message_traits_1.MessageTraits, message_trait_1.MessageTrait); - } - replies() { - return this.createCollection('replies', operation_replies_1.OperationReplies, operation_reply_1.OperationReply); - } - replyAddresses() { - return this.createCollection('replyAddresses', operation_reply_addresses_1.OperationReplyAddresses, operation_reply_address_1.OperationReplyAddress); - } - correlationIds() { - return this.createCollection('correlationIds', correlation_ids_1.CorrelationIds, correlation_id_1.CorrelationId); - } - securitySchemes() { - return this.createCollection('securitySchemes', security_schemes_1.SecuritySchemes, security_scheme_1.SecurityScheme); - } - tags() { - return this.createCollection('tags', tags_1.Tags, tag_1.Tag); - } - externalDocs() { - return this.createCollection('externalDocs', external_documentations_1.ExternalDocumentations, external_docs_1.ExternalDocumentation); - } - serverBindings() { - return this.createBindings('serverBindings'); - } - channelBindings() { - return this.createBindings('channelBindings'); - } - operationBindings() { - return this.createBindings('operationBindings'); - } - messageBindings() { - return this.createBindings('messageBindings'); - } - extensions() { - return (0, mixins_1.extensions)(this); - } - isEmpty() { - return Object.keys(this._json).length === 0; - } - createCollection(itemsName, collectionModel, itemModel) { - const collectionItems = []; - Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { - collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${(0, utils_1.tilde)(id)}` })); - }); - return new collectionModel(collectionItems); - } - createBindings(itemsName) { - return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { - const bindingsData = item || {}; - const asyncapi = this.meta('asyncapi'); - const pointer = `components/${itemsName}/${name}`; - bindings[name] = new bindings_1.Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(binding_1.Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); - return bindings; - }, {}); - } -} -exports.Components = Components; diff --git a/apps/parser/cjs/models/v3/contact.d.ts b/apps/parser/cjs/models/v3/contact.d.ts deleted file mode 100644 index 06946eaf9..000000000 --- a/apps/parser/cjs/models/v3/contact.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class Contact extends BaseModel implements ContactInterface { - hasName(): boolean; - name(): string | undefined; - hasUrl(): boolean; - url(): string | undefined; - hasEmail(): boolean; - email(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/contact.js b/apps/parser/cjs/models/v3/contact.js deleted file mode 100644 index 2645428f8..000000000 --- a/apps/parser/cjs/models/v3/contact.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Contact = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class Contact extends base_1.BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - hasEmail() { - return !!this._json.email; - } - email() { - return this._json.email; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Contact = Contact; diff --git a/apps/parser/cjs/models/v3/correlation-id.d.ts b/apps/parser/cjs/models/v3/correlation-id.d.ts deleted file mode 100644 index bebcdb660..000000000 --- a/apps/parser/cjs/models/v3/correlation-id.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BaseModel } from '../base'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { - hasDescription(): boolean; - description(): string | undefined; - hasLocation(): boolean; - location(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/correlation-id.js b/apps/parser/cjs/models/v3/correlation-id.js deleted file mode 100644 index 3fd7016da..000000000 --- a/apps/parser/cjs/models/v3/correlation-id.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CorrelationId = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class CorrelationId extends base_1.BaseModel { - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasLocation() { - return !!this._json.location; - } - location() { - return this._json.location; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.CorrelationId = CorrelationId; diff --git a/apps/parser/cjs/models/v3/correlation-ids.d.ts b/apps/parser/cjs/models/v3/correlation-ids.d.ts deleted file mode 100644 index 77f81c952..000000000 --- a/apps/parser/cjs/models/v3/correlation-ids.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { CorrelationIdsInterface } from '../correlation-ids'; -import type { CorrelationIdInterface } from '../correlation-id'; -export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { - get(id: string): CorrelationIdInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/correlation-ids.js b/apps/parser/cjs/models/v3/correlation-ids.js deleted file mode 100644 index cd9023f85..000000000 --- a/apps/parser/cjs/models/v3/correlation-ids.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CorrelationIds = void 0; -const collection_1 = require("../collection"); -class CorrelationIds extends collection_1.Collection { - get(id) { - return this.collections.find(correlationId => correlationId.meta('id') === id); - } -} -exports.CorrelationIds = CorrelationIds; diff --git a/apps/parser/cjs/models/v3/extension.d.ts b/apps/parser/cjs/models/v3/extension.d.ts deleted file mode 100644 index 9e5075c77..000000000 --- a/apps/parser/cjs/models/v3/extension.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionInterface } from '../extension'; -import type { v3 } from '../../spec-types'; -export declare class Extension extends BaseModel, { - id: string; -}> implements ExtensionInterface { - id(): string; - version(): string; - value(): V; -} diff --git a/apps/parser/cjs/models/v3/extension.js b/apps/parser/cjs/models/v3/extension.js deleted file mode 100644 index a0f2c2b6f..000000000 --- a/apps/parser/cjs/models/v3/extension.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Extension = void 0; -const base_1 = require("../base"); -class Extension extends base_1.BaseModel { - id() { - return this._meta.id; - } - version() { - return 'to implement'; - } - value() { - return this._json; - } -} -exports.Extension = Extension; diff --git a/apps/parser/cjs/models/v3/extensions.d.ts b/apps/parser/cjs/models/v3/extensions.d.ts deleted file mode 100644 index 3033f8a44..000000000 --- a/apps/parser/cjs/models/v3/extensions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExtensionInterface } from '../extension'; -export declare class Extensions extends Collection implements ExtensionsInterface { - get(id: string): ExtensionInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/extensions.js b/apps/parser/cjs/models/v3/extensions.js deleted file mode 100644 index f33796038..000000000 --- a/apps/parser/cjs/models/v3/extensions.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Extensions = void 0; -const collection_1 = require("../collection"); -class Extensions extends collection_1.Collection { - get(id) { - id = id.startsWith('x-') ? id : `x-${id}`; - return this.collections.find(ext => ext.id() === id); - } -} -exports.Extensions = Extensions; diff --git a/apps/parser/cjs/models/v3/external-docs.d.ts b/apps/parser/cjs/models/v3/external-docs.d.ts deleted file mode 100644 index 6e0544e76..000000000 --- a/apps/parser/cjs/models/v3/external-docs.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { - id(): string | undefined; - url(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/external-docs.js b/apps/parser/cjs/models/v3/external-docs.js deleted file mode 100644 index ae0b0f24e..000000000 --- a/apps/parser/cjs/models/v3/external-docs.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ExternalDocumentation = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class ExternalDocumentation extends base_1.BaseModel { - id() { - return this._meta.id; - } - url() { - return this._json.url; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.ExternalDocumentation = ExternalDocumentation; diff --git a/apps/parser/cjs/models/v3/index.d.ts b/apps/parser/cjs/models/v3/index.d.ts deleted file mode 100644 index fb3848508..000000000 --- a/apps/parser/cjs/models/v3/index.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -export { AsyncAPIDocument as AsyncAPIDocumentV3 } from './asyncapi'; -export { Binding as BindingV3 } from './binding'; -export { Bindings as BindingsV3 } from './bindings'; -export { ChannelParameter as ChannelParameterV3 } from './channel-parameter'; -export { ChannelParameters as ChannelParametersV3 } from './channel-parameters'; -export { Channel as ChannelV3 } from './channel'; -export { Channels as ChannelsV3 } from './channels'; -export { Components as ComponentsV3 } from './components'; -export { Contact as ContactV3 } from './contact'; -export { CorrelationId as CorrelationIdV3 } from './correlation-id'; -export { Extension as ExtensionV3 } from './extension'; -export { Extensions as ExtensionsV3 } from './extensions'; -export { ExternalDocumentation as ExternalDocumentationV3 } from './external-docs'; -export { Info as InfoV3 } from './info'; -export { License as LicenseV3 } from './license'; -export { MessageExample as MessageExampleV3 } from './message-example'; -export { MessageExamples as MessageExamplesV3 } from './message-examples'; -export { MessageTrait as MessageTraitV3 } from './message-trait'; -export { MessageTraits as MessageTraitsV3 } from './message-traits'; -export { Message as MessageV3 } from './message'; -export { Messages as MessagesV3 } from './messages'; -export { OAuthFlow as OAuthFlowV3 } from './oauth-flow'; -export { OAuthFlows as OAuthFlowsV3 } from './oauth-flows'; -export { OperationTrait as OperationTraitV3 } from './operation-trait'; -export { OperationTraits as OperationTraitsV3 } from './operation-traits'; -export { OperationReplies as OperationRepliesV3 } from './operation-replies'; -export { OperationReplyAddress as OperationReplyAddressV3 } from './operation-reply-address'; -export { OperationReplyAddresses as OperationReplyAddressesV3 } from './operation-reply-addresses'; -export { OperationReply as OperationReplyV3 } from './operation-reply'; -export { Operation as OperationV3 } from './operation'; -export { Operations as OperationsV3 } from './operations'; -export { Schema as SchemaV3 } from './schema'; -export { Schemas as SchemasV3 } from './schemas'; -export { SecurityScheme as SecuritySchemeV3 } from './security-scheme'; -export { SecuritySchemes as SecuritySchemesV3 } from './security-schemes'; -export { ServerVariable as ServerVariableV3 } from './server-variable'; -export { ServerVariables as ServerVariablesV3 } from './server-variables'; -export { Server as ServerV3 } from './server'; -export { Servers as ServersV3 } from './servers'; -export { Tag as TagV3 } from './tag'; -export { Tags as TagsV3 } from './tags'; diff --git a/apps/parser/cjs/models/v3/index.js b/apps/parser/cjs/models/v3/index.js deleted file mode 100644 index 7ca81f9ae..000000000 --- a/apps/parser/cjs/models/v3/index.js +++ /dev/null @@ -1,85 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TagsV3 = exports.TagV3 = exports.ServersV3 = exports.ServerV3 = exports.ServerVariablesV3 = exports.ServerVariableV3 = exports.SecuritySchemesV3 = exports.SecuritySchemeV3 = exports.SchemasV3 = exports.SchemaV3 = exports.OperationsV3 = exports.OperationV3 = exports.OperationReplyV3 = exports.OperationReplyAddressesV3 = exports.OperationReplyAddressV3 = exports.OperationRepliesV3 = exports.OperationTraitsV3 = exports.OperationTraitV3 = exports.OAuthFlowsV3 = exports.OAuthFlowV3 = exports.MessagesV3 = exports.MessageV3 = exports.MessageTraitsV3 = exports.MessageTraitV3 = exports.MessageExamplesV3 = exports.MessageExampleV3 = exports.LicenseV3 = exports.InfoV3 = exports.ExternalDocumentationV3 = exports.ExtensionsV3 = exports.ExtensionV3 = exports.CorrelationIdV3 = exports.ContactV3 = exports.ComponentsV3 = exports.ChannelsV3 = exports.ChannelV3 = exports.ChannelParametersV3 = exports.ChannelParameterV3 = exports.BindingsV3 = exports.BindingV3 = exports.AsyncAPIDocumentV3 = void 0; -var asyncapi_1 = require("./asyncapi"); -Object.defineProperty(exports, "AsyncAPIDocumentV3", { enumerable: true, get: function () { return asyncapi_1.AsyncAPIDocument; } }); -var binding_1 = require("./binding"); -Object.defineProperty(exports, "BindingV3", { enumerable: true, get: function () { return binding_1.Binding; } }); -var bindings_1 = require("./bindings"); -Object.defineProperty(exports, "BindingsV3", { enumerable: true, get: function () { return bindings_1.Bindings; } }); -var channel_parameter_1 = require("./channel-parameter"); -Object.defineProperty(exports, "ChannelParameterV3", { enumerable: true, get: function () { return channel_parameter_1.ChannelParameter; } }); -var channel_parameters_1 = require("./channel-parameters"); -Object.defineProperty(exports, "ChannelParametersV3", { enumerable: true, get: function () { return channel_parameters_1.ChannelParameters; } }); -var channel_1 = require("./channel"); -Object.defineProperty(exports, "ChannelV3", { enumerable: true, get: function () { return channel_1.Channel; } }); -var channels_1 = require("./channels"); -Object.defineProperty(exports, "ChannelsV3", { enumerable: true, get: function () { return channels_1.Channels; } }); -var components_1 = require("./components"); -Object.defineProperty(exports, "ComponentsV3", { enumerable: true, get: function () { return components_1.Components; } }); -var contact_1 = require("./contact"); -Object.defineProperty(exports, "ContactV3", { enumerable: true, get: function () { return contact_1.Contact; } }); -var correlation_id_1 = require("./correlation-id"); -Object.defineProperty(exports, "CorrelationIdV3", { enumerable: true, get: function () { return correlation_id_1.CorrelationId; } }); -var extension_1 = require("./extension"); -Object.defineProperty(exports, "ExtensionV3", { enumerable: true, get: function () { return extension_1.Extension; } }); -var extensions_1 = require("./extensions"); -Object.defineProperty(exports, "ExtensionsV3", { enumerable: true, get: function () { return extensions_1.Extensions; } }); -var external_docs_1 = require("./external-docs"); -Object.defineProperty(exports, "ExternalDocumentationV3", { enumerable: true, get: function () { return external_docs_1.ExternalDocumentation; } }); -var info_1 = require("./info"); -Object.defineProperty(exports, "InfoV3", { enumerable: true, get: function () { return info_1.Info; } }); -var license_1 = require("./license"); -Object.defineProperty(exports, "LicenseV3", { enumerable: true, get: function () { return license_1.License; } }); -var message_example_1 = require("./message-example"); -Object.defineProperty(exports, "MessageExampleV3", { enumerable: true, get: function () { return message_example_1.MessageExample; } }); -var message_examples_1 = require("./message-examples"); -Object.defineProperty(exports, "MessageExamplesV3", { enumerable: true, get: function () { return message_examples_1.MessageExamples; } }); -var message_trait_1 = require("./message-trait"); -Object.defineProperty(exports, "MessageTraitV3", { enumerable: true, get: function () { return message_trait_1.MessageTrait; } }); -var message_traits_1 = require("./message-traits"); -Object.defineProperty(exports, "MessageTraitsV3", { enumerable: true, get: function () { return message_traits_1.MessageTraits; } }); -var message_1 = require("./message"); -Object.defineProperty(exports, "MessageV3", { enumerable: true, get: function () { return message_1.Message; } }); -var messages_1 = require("./messages"); -Object.defineProperty(exports, "MessagesV3", { enumerable: true, get: function () { return messages_1.Messages; } }); -var oauth_flow_1 = require("./oauth-flow"); -Object.defineProperty(exports, "OAuthFlowV3", { enumerable: true, get: function () { return oauth_flow_1.OAuthFlow; } }); -var oauth_flows_1 = require("./oauth-flows"); -Object.defineProperty(exports, "OAuthFlowsV3", { enumerable: true, get: function () { return oauth_flows_1.OAuthFlows; } }); -var operation_trait_1 = require("./operation-trait"); -Object.defineProperty(exports, "OperationTraitV3", { enumerable: true, get: function () { return operation_trait_1.OperationTrait; } }); -var operation_traits_1 = require("./operation-traits"); -Object.defineProperty(exports, "OperationTraitsV3", { enumerable: true, get: function () { return operation_traits_1.OperationTraits; } }); -var operation_replies_1 = require("./operation-replies"); -Object.defineProperty(exports, "OperationRepliesV3", { enumerable: true, get: function () { return operation_replies_1.OperationReplies; } }); -var operation_reply_address_1 = require("./operation-reply-address"); -Object.defineProperty(exports, "OperationReplyAddressV3", { enumerable: true, get: function () { return operation_reply_address_1.OperationReplyAddress; } }); -var operation_reply_addresses_1 = require("./operation-reply-addresses"); -Object.defineProperty(exports, "OperationReplyAddressesV3", { enumerable: true, get: function () { return operation_reply_addresses_1.OperationReplyAddresses; } }); -var operation_reply_1 = require("./operation-reply"); -Object.defineProperty(exports, "OperationReplyV3", { enumerable: true, get: function () { return operation_reply_1.OperationReply; } }); -var operation_1 = require("./operation"); -Object.defineProperty(exports, "OperationV3", { enumerable: true, get: function () { return operation_1.Operation; } }); -var operations_1 = require("./operations"); -Object.defineProperty(exports, "OperationsV3", { enumerable: true, get: function () { return operations_1.Operations; } }); -var schema_1 = require("./schema"); -Object.defineProperty(exports, "SchemaV3", { enumerable: true, get: function () { return schema_1.Schema; } }); -var schemas_1 = require("./schemas"); -Object.defineProperty(exports, "SchemasV3", { enumerable: true, get: function () { return schemas_1.Schemas; } }); -var security_scheme_1 = require("./security-scheme"); -Object.defineProperty(exports, "SecuritySchemeV3", { enumerable: true, get: function () { return security_scheme_1.SecurityScheme; } }); -var security_schemes_1 = require("./security-schemes"); -Object.defineProperty(exports, "SecuritySchemesV3", { enumerable: true, get: function () { return security_schemes_1.SecuritySchemes; } }); -var server_variable_1 = require("./server-variable"); -Object.defineProperty(exports, "ServerVariableV3", { enumerable: true, get: function () { return server_variable_1.ServerVariable; } }); -var server_variables_1 = require("./server-variables"); -Object.defineProperty(exports, "ServerVariablesV3", { enumerable: true, get: function () { return server_variables_1.ServerVariables; } }); -var server_1 = require("./server"); -Object.defineProperty(exports, "ServerV3", { enumerable: true, get: function () { return server_1.Server; } }); -var servers_1 = require("./servers"); -Object.defineProperty(exports, "ServersV3", { enumerable: true, get: function () { return servers_1.Servers; } }); -var tag_1 = require("./tag"); -Object.defineProperty(exports, "TagV3", { enumerable: true, get: function () { return tag_1.Tag; } }); -var tags_1 = require("./tags"); -Object.defineProperty(exports, "TagsV3", { enumerable: true, get: function () { return tags_1.Tags; } }); diff --git a/apps/parser/cjs/models/v3/info.d.ts b/apps/parser/cjs/models/v3/info.d.ts deleted file mode 100644 index 241aea7f7..000000000 --- a/apps/parser/cjs/models/v3/info.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { InfoInterface } from '../info'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { LicenseInterface } from '../license'; -import type { TagsInterface } from '../tags'; -import type { v3 } from '../../spec-types'; -export declare class Info extends BaseModel implements InfoInterface { - title(): string; - version(): string; - hasId(): boolean; - id(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasTermsOfService(): boolean; - termsOfService(): string | undefined; - hasContact(): boolean; - contact(): ContactInterface | undefined; - hasLicense(): boolean; - license(): LicenseInterface | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - tags(): TagsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/info.js b/apps/parser/cjs/models/v3/info.js deleted file mode 100644 index 248b88122..000000000 --- a/apps/parser/cjs/models/v3/info.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Info = void 0; -const base_1 = require("../base"); -const contact_1 = require("./contact"); -const license_1 = require("./license"); -const mixins_1 = require("./mixins"); -class Info extends base_1.BaseModel { - title() { - return this._json.title; - } - version() { - return this._json.version; - } - hasId() { - return !!this._meta.asyncapi.parsed.id; - } - id() { - return this._meta.asyncapi.parsed.id; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasTermsOfService() { - return !!this._json.termsOfService; - } - termsOfService() { - return this._json.termsOfService; - } - hasContact() { - return Object.keys(this._json.contact || {}).length > 0; - } - contact() { - const contact = this._json.contact; - return contact && this.createModel(contact_1.Contact, contact, { pointer: this.jsonPath('contact') }); - } - hasLicense() { - return Object.keys(this._json.license || {}).length > 0; - } - license() { - const license = this._json.license; - return license && this.createModel(license_1.License, license, { pointer: this.jsonPath('license') }); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - tags() { - return (0, mixins_1.tags)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Info = Info; diff --git a/apps/parser/cjs/models/v3/license.d.ts b/apps/parser/cjs/models/v3/license.d.ts deleted file mode 100644 index aa8c7b619..000000000 --- a/apps/parser/cjs/models/v3/license.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { LicenseInterface } from '../license'; -import type { v3 } from '../../spec-types'; -export declare class License extends BaseModel implements LicenseInterface { - name(): string; - hasUrl(): boolean; - url(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/license.js b/apps/parser/cjs/models/v3/license.js deleted file mode 100644 index 9170a3962..000000000 --- a/apps/parser/cjs/models/v3/license.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.License = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class License extends base_1.BaseModel { - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.License = License; diff --git a/apps/parser/cjs/models/v3/message-example.d.ts b/apps/parser/cjs/models/v3/message-example.d.ts deleted file mode 100644 index 5b41dcdea..000000000 --- a/apps/parser/cjs/models/v3/message-example.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { MessageExampleInterface } from '../message-example'; -import type { v3 } from '../../spec-types'; -export declare class MessageExample extends BaseModel implements MessageExampleInterface { - hasName(): boolean; - name(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasHeaders(): boolean; - headers(): Record | undefined; - hasPayload(): boolean; - payload(): Record | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/message-example.js b/apps/parser/cjs/models/v3/message-example.js deleted file mode 100644 index 9710b3ca7..000000000 --- a/apps/parser/cjs/models/v3/message-example.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageExample = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class MessageExample extends base_1.BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - return this._json.headers; - } - hasPayload() { - return !!this._json.payload; - } - payload() { - return this._json.payload; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.MessageExample = MessageExample; diff --git a/apps/parser/cjs/models/v3/message-examples.d.ts b/apps/parser/cjs/models/v3/message-examples.d.ts deleted file mode 100644 index 0784e9dc1..000000000 --- a/apps/parser/cjs/models/v3/message-examples.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageExampleInterface } from '../message-example'; -export declare class MessageExamples extends Collection implements MessageExamplesInterface { - get(name: string): MessageExampleInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/message-examples.js b/apps/parser/cjs/models/v3/message-examples.js deleted file mode 100644 index d57029213..000000000 --- a/apps/parser/cjs/models/v3/message-examples.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageExamples = void 0; -const collection_1 = require("../collection"); -class MessageExamples extends collection_1.Collection { - get(name) { - return this.collections.find(example => example.name() === name); - } -} -exports.MessageExamples = MessageExamples; diff --git a/apps/parser/cjs/models/v3/message-trait.d.ts b/apps/parser/cjs/models/v3/message-trait.d.ts deleted file mode 100644 index 12ddcd2d1..000000000 --- a/apps/parser/cjs/models/v3/message-trait.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { CoreModel } from './mixins'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageTraitInterface } from '../message-trait'; -import type { SchemaInterface } from '../schema'; -import type { v3 } from '../../spec-types'; -export declare class MessageTrait extends CoreModel implements MessageTraitInterface { - id(): string; - hasMessageId(): boolean; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - hasCorrelationId(): boolean; - correlationId(): CorrelationIdInterface | undefined; - hasContentType(): boolean; - contentType(): string | undefined; - hasHeaders(): boolean; - headers(): SchemaInterface | undefined; - hasName(): boolean; - name(): string | undefined; - examples(): MessageExamplesInterface; -} diff --git a/apps/parser/cjs/models/v3/message-trait.js b/apps/parser/cjs/models/v3/message-trait.js deleted file mode 100644 index 0199b061d..000000000 --- a/apps/parser/cjs/models/v3/message-trait.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageTrait = void 0; -const correlation_id_1 = require("./correlation-id"); -const message_examples_1 = require("./message-examples"); -const message_example_1 = require("./message-example"); -const schema_1 = require("./schema"); -const constants_1 = require("../../constants"); -const mixins_1 = require("./mixins"); -class MessageTrait extends mixins_1.CoreModel { - id() { - var _a; - return this._meta.id || ((_a = this.extensions().get(constants_1.xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()); - } - hasMessageId() { - return false; - } - hasSchemaFormat() { - return false; - } - schemaFormat() { - return undefined; - } - hasCorrelationId() { - return !!this._json.correlationId; - } - correlationId() { - if (!this._json.correlationId) - return undefined; - return this.createModel(correlation_id_1.CorrelationId, this._json.correlationId, { pointer: this.jsonPath('correlationId') }); - } - hasContentType() { - return !!this._json.contentType; - } - contentType() { - var _a, _b; - return this._json.contentType || ((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.defaultContentType); - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - if (!this._json.headers) - return undefined; - return this.createModel(schema_1.Schema, this._json.headers, { pointer: this.jsonPath('headers') }); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - examples() { - return new message_examples_1.MessageExamples((this._json.examples || []).map((example, index) => { - return this.createModel(message_example_1.MessageExample, example, { pointer: this.jsonPath(`examples/${index}`) }); - })); - } -} -exports.MessageTrait = MessageTrait; diff --git a/apps/parser/cjs/models/v3/message-traits.d.ts b/apps/parser/cjs/models/v3/message-traits.d.ts deleted file mode 100644 index 8601210f2..000000000 --- a/apps/parser/cjs/models/v3/message-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { MessageTraitInterface } from '../message-trait'; -export declare class MessageTraits extends Collection implements MessageTraitsInterface { - get(id: string): MessageTraitInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/message-traits.js b/apps/parser/cjs/models/v3/message-traits.js deleted file mode 100644 index d70e4d65a..000000000 --- a/apps/parser/cjs/models/v3/message-traits.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageTraits = void 0; -const collection_1 = require("../collection"); -class MessageTraits extends collection_1.Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} -exports.MessageTraits = MessageTraits; diff --git a/apps/parser/cjs/models/v3/message.d.ts b/apps/parser/cjs/models/v3/message.d.ts deleted file mode 100644 index 0a1f9a820..000000000 --- a/apps/parser/cjs/models/v3/message.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { MessageTrait } from './message-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessageInterface } from '../message'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { SchemaInterface } from '../schema'; -import type { v3 } from '../../spec-types'; -export declare class Message extends MessageTrait implements MessageInterface { - hasPayload(): boolean; - payload(): SchemaInterface | undefined; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - traits(): MessageTraitsInterface; -} diff --git a/apps/parser/cjs/models/v3/message.js b/apps/parser/cjs/models/v3/message.js deleted file mode 100644 index ac8538f16..000000000 --- a/apps/parser/cjs/models/v3/message.js +++ /dev/null @@ -1,96 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Message = void 0; -const channel_1 = require("./channel"); -const channels_1 = require("./channels"); -const operations_1 = require("./operations"); -const operation_1 = require("./operation"); -const message_traits_1 = require("./message-traits"); -const message_trait_1 = require("./message-trait"); -const servers_1 = require("./servers"); -const schema_1 = require("./schema"); -const constants_1 = require("../../constants"); -class Message extends message_trait_1.MessageTrait { - hasPayload() { - return !!this._json.payload; - } - payload() { - if (!this._json.payload) - return undefined; - return this.createModel(schema_1.Schema, this._json.payload, { pointer: this.jsonPath('payload') }); - } - hasSchemaFormat() { - // If it has a payload, schema format is expected (at least the default) - return this.hasPayload(); - } - schemaFormat() { - var _a; - if (this.hasSchemaFormat()) { - return (_a = this.payload()) === null || _a === void 0 ? void 0 : _a.schemaFormat(); - } - return undefined; - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - const serverData = server.json(); - if (!serversData.includes(serverData)) { - serversData.push(serverData); - servers.push(server); - } - }); - }); - return new servers_1.Servers(servers); - } - channels() { - var _a, _b; - const thisMessageId = (this._json)[constants_1.xParserObjectUniqueId]; - const channels = []; - const channelsData = []; - this.operations().forEach(operation => { - operation.channels().forEach(channel => { - const channelData = channel.json(); - // Comparing with the data (JSON) because same channel could exist but it will include the ID based on where it is declared. For example, asyncapi.channels contain ID field. - if (!channelsData.includes(channelData)) { - channelsData.push(channelData); - channels.push(channel); - } - }); - }); - Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelId, channelData]) => { - const channelModel = this.createModel(channel_1.Channel, channelData, { id: channelId, pointer: `/channels/${channelId}` }); - if (!channelsData.includes(channelData) && channelModel.messages().some(m => { - const messageId = m[constants_1.xParserObjectUniqueId]; - return messageId === thisMessageId; - })) { - channelsData.push(channelData); - channels.push(channelModel); - } - }); - return new channels_1.Channels(channels); - } - operations() { - var _a, _b; - const thisMessageId = (this._json)[constants_1.xParserObjectUniqueId]; - const operations = []; - Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) || {}).forEach(([operationId, operation]) => { - const operationModel = this.createModel(operation_1.Operation, operation, { id: operationId, pointer: `/operations/${operationId}` }); - const operationHasMessage = operationModel.messages().some(m => { - const messageId = m[constants_1.xParserObjectUniqueId]; - return messageId === thisMessageId; - }); - if (operationHasMessage) { - operations.push(operationModel); - } - }); - return new operations_1.Operations(operations); - } - traits() { - return new message_traits_1.MessageTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(message_trait_1.MessageTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); - })); - } -} -exports.Message = Message; diff --git a/apps/parser/cjs/models/v3/messages.d.ts b/apps/parser/cjs/models/v3/messages.d.ts deleted file mode 100644 index d988f36fb..000000000 --- a/apps/parser/cjs/models/v3/messages.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { MessagesInterface } from '../messages'; -import type { MessageInterface } from '../message'; -export declare class Messages extends Collection implements MessagesInterface { - get(name: string): MessageInterface | undefined; - filterBySend(): MessageInterface[]; - filterByReceive(): MessageInterface[]; -} diff --git a/apps/parser/cjs/models/v3/messages.js b/apps/parser/cjs/models/v3/messages.js deleted file mode 100644 index dc5d9adae..000000000 --- a/apps/parser/cjs/models/v3/messages.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Messages = void 0; -const collection_1 = require("../collection"); -class Messages extends collection_1.Collection { - get(name) { - return this.collections.find(message => message.id() === name); - } - filterBySend() { - return this.filterBy(message => message.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(message => message.operations().filterByReceive().length > 0); - } -} -exports.Messages = Messages; diff --git a/apps/parser/cjs/models/v3/mixins.d.ts b/apps/parser/cjs/models/v3/mixins.d.ts deleted file mode 100644 index a4fdfa8ea..000000000 --- a/apps/parser/cjs/models/v3/mixins.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagsInterface } from '../tags'; -import type { v3 } from '../../spec-types'; -type BindingsObject = v3.ServerBindingsObject | v3.ChannelBindingsObject | v3.OperationBindingsObject | v3.MessageBindingsObject | v3.ReferenceObject; -export interface CoreObject extends v3.SpecificationExtensions { - title?: string; - summary?: string; - description?: string; - externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; - tags?: v3.TagsObject; - bindings?: BindingsObject; -} -export declare abstract class CoreModel = {}> extends BaseModel { - hasTitle(): boolean; - title(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} -export declare function bindings(model: BaseModel<{ - bindings?: BindingsObject; -}>): BindingsInterface; -export declare function hasDescription(model: BaseModel<{ - description?: string; -}>): boolean; -export declare function description(model: BaseModel<{ - description?: string; -}>): string | undefined; -export declare function extensions(model: BaseModel): ExtensionsInterface; -export declare function hasExternalDocs(model: BaseModel<{ - externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; -}>): boolean; -export declare function externalDocs(model: BaseModel<{ - externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; -}>): ExternalDocumentationInterface | undefined; -export declare function tags(model: BaseModel<{ - tags?: v3.TagsObject; -}>): TagsInterface; -export {}; diff --git a/apps/parser/cjs/models/v3/mixins.js b/apps/parser/cjs/models/v3/mixins.js deleted file mode 100644 index 868237e38..000000000 --- a/apps/parser/cjs/models/v3/mixins.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.tags = exports.externalDocs = exports.hasExternalDocs = exports.extensions = exports.description = exports.hasDescription = exports.bindings = exports.CoreModel = void 0; -const base_1 = require("../base"); -const bindings_1 = require("./bindings"); -const binding_1 = require("./binding"); -const extensions_1 = require("./extensions"); -const extension_1 = require("./extension"); -const external_docs_1 = require("./external-docs"); -const tags_1 = require("./tags"); -const tag_1 = require("./tag"); -const utils_1 = require("../utils"); -const constants_1 = require("../../constants"); -class CoreModel extends base_1.BaseModel { - hasTitle() { - return !!this._json.title; - } - title() { - return this._json.title; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } - tags() { - return tags(this); - } - bindings() { - return bindings(this); - } - extensions() { - return extensions(this); - } -} -exports.CoreModel = CoreModel; -function bindings(model) { - const bindings = model.json('bindings') || {}; - return new bindings_1.Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => (0, utils_1.createModel)(binding_1.Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); -} -exports.bindings = bindings; -function hasDescription(model) { - return Boolean(description(model)); -} -exports.hasDescription = hasDescription; -function description(model) { - return model.json('description'); -} -exports.description = description; -function extensions(model) { - const extensions = []; - Object.entries(model.json()).forEach(([id, value]) => { - if (constants_1.EXTENSION_REGEX.test(id)) { - extensions.push((0, utils_1.createModel)(extension_1.Extension, value, { id, pointer: model.jsonPath(id) }, model)); - } - }); - return new extensions_1.Extensions(extensions); -} -exports.extensions = extensions; -function hasExternalDocs(model) { - return Object.keys(model.json('externalDocs') || {}).length > 0; -} -exports.hasExternalDocs = hasExternalDocs; -function externalDocs(model) { - if (hasExternalDocs(model)) { - return new external_docs_1.ExternalDocumentation(model.json('externalDocs')); - } -} -exports.externalDocs = externalDocs; -function tags(model) { - return new tags_1.Tags((model.json('tags') || []).map((tag, idx) => (0, utils_1.createModel)(tag_1.Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); -} -exports.tags = tags; diff --git a/apps/parser/cjs/models/v3/oauth-flow.d.ts b/apps/parser/cjs/models/v3/oauth-flow.d.ts deleted file mode 100644 index feaa5cdd3..000000000 --- a/apps/parser/cjs/models/v3/oauth-flow.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v3 } from '../../spec-types'; -export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { - hasAuthorizationUrl(): boolean; - authorizationUrl(): string | undefined; - hasRefreshUrl(): boolean; - refreshUrl(): string | undefined; - scopes(): Record | undefined; - hasTokenUrl(): boolean; - tokenUrl(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/oauth-flow.js b/apps/parser/cjs/models/v3/oauth-flow.js deleted file mode 100644 index 8c82eadf0..000000000 --- a/apps/parser/cjs/models/v3/oauth-flow.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OAuthFlow = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class OAuthFlow extends base_1.BaseModel { - hasAuthorizationUrl() { - return !!this.json().authorizationUrl; - } - authorizationUrl() { - return this.json().authorizationUrl; - } - hasRefreshUrl() { - return !!this._json.refreshUrl; - } - refreshUrl() { - return this._json.refreshUrl; - } - scopes() { - return this._json.availableScopes; - } - hasTokenUrl() { - return !!this.json().tokenUrl; - } - tokenUrl() { - return this.json().tokenUrl; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.OAuthFlow = OAuthFlow; diff --git a/apps/parser/cjs/models/v3/oauth-flows.d.ts b/apps/parser/cjs/models/v3/oauth-flows.d.ts deleted file mode 100644 index 776ab8f9c..000000000 --- a/apps/parser/cjs/models/v3/oauth-flows.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v3 } from '../../spec-types'; -export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { - hasAuthorizationCode(): boolean; - authorizationCode(): OAuthFlowInterface | undefined; - hasClientCredentials(): boolean; - clientCredentials(): OAuthFlowInterface | undefined; - hasImplicit(): boolean; - implicit(): OAuthFlowInterface | undefined; - hasPassword(): boolean; - password(): OAuthFlowInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/oauth-flows.js b/apps/parser/cjs/models/v3/oauth-flows.js deleted file mode 100644 index 8b21aa91b..000000000 --- a/apps/parser/cjs/models/v3/oauth-flows.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OAuthFlows = void 0; -const base_1 = require("../base"); -const oauth_flow_1 = require("./oauth-flow"); -const mixins_1 = require("./mixins"); -class OAuthFlows extends base_1.BaseModel { - hasAuthorizationCode() { - return !!this._json.authorizationCode; - } - authorizationCode() { - if (!this._json.authorizationCode) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.authorizationCode); - } - hasClientCredentials() { - return !!this._json.clientCredentials; - } - clientCredentials() { - if (!this._json.clientCredentials) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.clientCredentials); - } - hasImplicit() { - return !!this._json.implicit; - } - implicit() { - if (!this._json.implicit) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.implicit); - } - hasPassword() { - return !!this._json.password; - } - password() { - if (!this._json.password) - return undefined; - return new oauth_flow_1.OAuthFlow(this._json.password); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.OAuthFlows = OAuthFlows; diff --git a/apps/parser/cjs/models/v3/operation-replies.d.ts b/apps/parser/cjs/models/v3/operation-replies.d.ts deleted file mode 100644 index 591354641..000000000 --- a/apps/parser/cjs/models/v3/operation-replies.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationRepliesInterface } from '../operation-replies'; -export declare class OperationReplies extends Collection implements OperationRepliesInterface { - get(id: string): OperationReplyInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/operation-replies.js b/apps/parser/cjs/models/v3/operation-replies.js deleted file mode 100644 index f7f712ade..000000000 --- a/apps/parser/cjs/models/v3/operation-replies.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationReplies = void 0; -const collection_1 = require("../collection"); -class OperationReplies extends collection_1.Collection { - get(id) { - return this.collections.find(reply => reply.id() === id); - } -} -exports.OperationReplies = OperationReplies; diff --git a/apps/parser/cjs/models/v3/operation-reply-address.d.ts b/apps/parser/cjs/models/v3/operation-reply-address.d.ts deleted file mode 100644 index 267391330..000000000 --- a/apps/parser/cjs/models/v3/operation-reply-address.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OperationReplyAddressInterface } from '../operation-reply-address'; -import type { v3 } from '../../spec-types'; -export declare class OperationReplyAddress extends BaseModel implements OperationReplyAddressInterface { - id(): string | undefined; - location(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/operation-reply-address.js b/apps/parser/cjs/models/v3/operation-reply-address.js deleted file mode 100644 index eb7b2a187..000000000 --- a/apps/parser/cjs/models/v3/operation-reply-address.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationReplyAddress = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class OperationReplyAddress extends base_1.BaseModel { - id() { - return this._meta.id; - } - location() { - return this._json.location; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.OperationReplyAddress = OperationReplyAddress; diff --git a/apps/parser/cjs/models/v3/operation-reply-addresses.d.ts b/apps/parser/cjs/models/v3/operation-reply-addresses.d.ts deleted file mode 100644 index c652ba48d..000000000 --- a/apps/parser/cjs/models/v3/operation-reply-addresses.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationReplyAddressInterface } from '../operation-reply-address'; -import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; -export declare class OperationReplyAddresses extends Collection implements OperationReplyAddressesInterface { - get(id: string): OperationReplyAddressInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/operation-reply-addresses.js b/apps/parser/cjs/models/v3/operation-reply-addresses.js deleted file mode 100644 index 5ebeb6c52..000000000 --- a/apps/parser/cjs/models/v3/operation-reply-addresses.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationReplyAddresses = void 0; -const collection_1 = require("../collection"); -class OperationReplyAddresses extends collection_1.Collection { - get(id) { - return this.collections.find(reply => reply.id() === id); - } -} -exports.OperationReplyAddresses = OperationReplyAddresses; diff --git a/apps/parser/cjs/models/v3/operation-reply.d.ts b/apps/parser/cjs/models/v3/operation-reply.d.ts deleted file mode 100644 index f4ab7dc30..000000000 --- a/apps/parser/cjs/models/v3/operation-reply.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { BaseModel } from '../base'; -import { MessagesInterface } from '../messages'; -import type { ExtensionsInterface } from '../extensions'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationReplyAddressInterface } from '../operation-reply-address'; -import type { ChannelInterface } from '../channel'; -import type { v3 } from '../../spec-types'; -export declare class OperationReply extends BaseModel implements OperationReplyInterface { - id(): string | undefined; - hasAddress(): boolean; - address(): OperationReplyAddressInterface | undefined; - hasChannel(): boolean; - channel(): ChannelInterface | undefined; - messages(): MessagesInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/operation-reply.js b/apps/parser/cjs/models/v3/operation-reply.js deleted file mode 100644 index 8cd0bf08a..000000000 --- a/apps/parser/cjs/models/v3/operation-reply.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationReply = void 0; -const base_1 = require("../base"); -const channel_1 = require("./channel"); -const message_1 = require("./message"); -const messages_1 = require("./messages"); -const operation_reply_address_1 = require("./operation-reply-address"); -const mixins_1 = require("./mixins"); -const constants_1 = require("../../constants"); -class OperationReply extends base_1.BaseModel { - id() { - return this._meta.id; - } - hasAddress() { - return !!this._json.address; - } - address() { - if (this._json.address) { - return this.createModel(operation_reply_address_1.OperationReplyAddress, this._json.address, { pointer: this.jsonPath('address') }); - } - } - hasChannel() { - return !!this._json.channel; - } - channel() { - if (this._json.channel) { - const channelId = this._json.channel[constants_1.xParserObjectUniqueId]; - return this.createModel(channel_1.Channel, this._json.channel, { id: channelId, pointer: this.jsonPath('channel') }); - } - return this._json.channel; - } - messages() { - var _a; - return new messages_1.Messages(Object.values((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map((message) => { - const messageId = message[constants_1.xParserObjectUniqueId]; - return this.createModel(message_1.Message, message, { id: messageId, pointer: this.jsonPath(`messages/${messageId}`) }); - })); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.OperationReply = OperationReply; diff --git a/apps/parser/cjs/models/v3/operation-trait.d.ts b/apps/parser/cjs/models/v3/operation-trait.d.ts deleted file mode 100644 index 3ba2432ad..000000000 --- a/apps/parser/cjs/models/v3/operation-trait.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { SecurityRequirements } from './security-requirements'; -import { CoreModel } from './mixins'; -import type { OperationTraitInterface } from '../operation-trait'; -import type { v3 } from '../../spec-types'; -export declare class OperationTrait extends CoreModel implements OperationTraitInterface { - id(): string | undefined; - hasOperationId(): boolean; - operationId(): string | undefined; - security(): SecurityRequirements[]; -} diff --git a/apps/parser/cjs/models/v3/operation-trait.js b/apps/parser/cjs/models/v3/operation-trait.js deleted file mode 100644 index a86695780..000000000 --- a/apps/parser/cjs/models/v3/operation-trait.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationTrait = void 0; -const security_scheme_1 = require("./security-scheme"); -const security_requirements_1 = require("./security-requirements"); -const security_requirement_1 = require("./security-requirement"); -const mixins_1 = require("./mixins"); -class OperationTrait extends mixins_1.CoreModel { - id() { - return this.operationId() || this._meta.id; - } - hasOperationId() { - return !!this._meta.id; - } - operationId() { - return this._meta.id; - } - security() { - return (this._json.security || []).map((security, index) => { - const scheme = this.createModel(security_scheme_1.SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); - const requirement = this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); - return new security_requirements_1.SecurityRequirements([requirement]); - }); - } -} -exports.OperationTrait = OperationTrait; diff --git a/apps/parser/cjs/models/v3/operation-traits.d.ts b/apps/parser/cjs/models/v3/operation-traits.d.ts deleted file mode 100644 index 0de03b0ff..000000000 --- a/apps/parser/cjs/models/v3/operation-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { OperationTraitInterface } from '../operation-trait'; -export declare class OperationTraits extends Collection implements OperationTraitsInterface { - get(id: string): OperationTraitInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/operation-traits.js b/apps/parser/cjs/models/v3/operation-traits.js deleted file mode 100644 index fe5d408ba..000000000 --- a/apps/parser/cjs/models/v3/operation-traits.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationTraits = void 0; -const collection_1 = require("../collection"); -class OperationTraits extends collection_1.Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} -exports.OperationTraits = OperationTraits; diff --git a/apps/parser/cjs/models/v3/operation.d.ts b/apps/parser/cjs/models/v3/operation.d.ts deleted file mode 100644 index 39181b612..000000000 --- a/apps/parser/cjs/models/v3/operation.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { OperationTrait } from './operation-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { OperationInterface, OperationAction } from '../operation'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { ServersInterface } from '../servers'; -import type { v3 } from '../../spec-types'; -export declare class Operation extends OperationTrait implements OperationInterface { - action(): OperationAction; - isSend(): boolean; - isReceive(): boolean; - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - hasReply(): boolean; - reply(): OperationReplyInterface | undefined; - traits(): OperationTraitsInterface; -} diff --git a/apps/parser/cjs/models/v3/operation.js b/apps/parser/cjs/models/v3/operation.js deleted file mode 100644 index a07608d30..000000000 --- a/apps/parser/cjs/models/v3/operation.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Operation = void 0; -const messages_1 = require("./messages"); -const message_1 = require("./message"); -const channels_1 = require("./channels"); -const channel_1 = require("./channel"); -const operation_traits_1 = require("./operation-traits"); -const operation_trait_1 = require("./operation-trait"); -const operation_reply_1 = require("./operation-reply"); -const servers_1 = require("./servers"); -const constants_1 = require("../../constants"); -class Operation extends operation_trait_1.OperationTrait { - action() { - return this._json.action; - } - isSend() { - return this.action() === 'send'; - } - isReceive() { - return this.action() === 'receive'; - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - const serverData = server.json(); - if (!serversData.includes(serverData)) { - serversData.push(serverData); - servers.push(server); - } - }); - }); - return new servers_1.Servers(servers); - } - channels() { - if (this._json.channel) { - const operationChannelId = this._json.channel[constants_1.xParserObjectUniqueId]; - return new channels_1.Channels([ - this.createModel(channel_1.Channel, this._json.channel, { id: operationChannelId, pointer: `/channels/${operationChannelId}` }) - ]); - } - return new channels_1.Channels([]); - } - messages() { - const messages = []; - if (Array.isArray(this._json.messages)) { - this._json.messages.forEach((message, index) => { - const messageId = message[constants_1.xParserObjectUniqueId]; - messages.push(this.createModel(message_1.Message, message, { id: messageId, pointer: this.jsonPath(`messages/${index}`) })); - }); - return new messages_1.Messages(messages); - } - this.channels().forEach(channel => { - messages.push(...channel.messages()); - }); - return new messages_1.Messages(messages); - } - hasReply() { - return !!this._json.reply; - } - reply() { - if (this._json.reply) { - return this.createModel(operation_reply_1.OperationReply, this._json.reply, { pointer: this.jsonPath('reply') }); - } - } - traits() { - return new operation_traits_1.OperationTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(operation_trait_1.OperationTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); - })); - } -} -exports.Operation = Operation; diff --git a/apps/parser/cjs/models/v3/operations.d.ts b/apps/parser/cjs/models/v3/operations.d.ts deleted file mode 100644 index 161cb9b2e..000000000 --- a/apps/parser/cjs/models/v3/operations.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationsInterface } from '../operations'; -import type { OperationInterface } from '../operation'; -export declare class Operations extends Collection implements OperationsInterface { - get(id: string): OperationInterface | undefined; - filterBySend(): OperationInterface[]; - filterByReceive(): OperationInterface[]; -} diff --git a/apps/parser/cjs/models/v3/operations.js b/apps/parser/cjs/models/v3/operations.js deleted file mode 100644 index 2d57fd625..000000000 --- a/apps/parser/cjs/models/v3/operations.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Operations = void 0; -const collection_1 = require("../collection"); -class Operations extends collection_1.Collection { - get(id) { - return this.collections.find(operation => operation.id() === id); - } - filterBySend() { - return this.filterBy(operation => operation.isSend()); - } - filterByReceive() { - return this.filterBy(operation => operation.isReceive()); - } -} -exports.Operations = Operations; diff --git a/apps/parser/cjs/models/v3/schema.d.ts b/apps/parser/cjs/models/v3/schema.d.ts deleted file mode 100644 index be8d1ac43..000000000 --- a/apps/parser/cjs/models/v3/schema.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { BaseModel, ModelMetadata } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { SchemaInterface } from '../schema'; -import type { v3 } from '../../spec-types'; -export declare class Schema extends BaseModel implements SchemaInterface { - protected readonly _json: v3.MultiFormatSchemaObject; - protected readonly _meta: ModelMetadata & { - id?: string; - parent?: Schema; - }; - private _schemaFormat; - private _schemaObject; - constructor(_json: v3.MultiFormatSchemaObject, _meta?: ModelMetadata & { - id?: string; - parent?: Schema; - }); - id(): string; - $comment(): string | undefined; - $id(): string | undefined; - $schema(): string; - additionalItems(): boolean | SchemaInterface; - additionalProperties(): boolean | SchemaInterface; - allOf(): Array | undefined; - anyOf(): Array | undefined; - const(): any; - contains(): SchemaInterface | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - default(): any; - definitions(): Record | undefined; - description(): string | undefined; - dependencies(): Record> | undefined; - deprecated(): boolean; - discriminator(): string | undefined; - else(): SchemaInterface | undefined; - enum(): Array | undefined; - examples(): Array | undefined; - exclusiveMaximum(): number | undefined; - exclusiveMinimum(): number | undefined; - format(): string | undefined; - isBooleanSchema(): boolean; - if(): SchemaInterface | undefined; - isCircular(): boolean; - items(): SchemaInterface | Array | undefined; - maximum(): number | undefined; - maxItems(): number | undefined; - maxLength(): number | undefined; - maxProperties(): number | undefined; - minimum(): number | undefined; - minItems(): number | undefined; - minLength(): number | undefined; - minProperties(): number | undefined; - multipleOf(): number | undefined; - not(): SchemaInterface | undefined; - oneOf(): Array | undefined; - pattern(): string | undefined; - patternProperties(): Record | undefined; - properties(): Record | undefined; - property(name: string): SchemaInterface | undefined; - propertyNames(): SchemaInterface | undefined; - readOnly(): boolean | undefined; - required(): Array | undefined; - schemaFormat(): string; - then(): SchemaInterface | undefined; - title(): string | undefined; - type(): string | Array | undefined; - uniqueItems(): boolean | undefined; - writeOnly(): boolean | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/schema.js b/apps/parser/cjs/models/v3/schema.js deleted file mode 100644 index 8fd439036..000000000 --- a/apps/parser/cjs/models/v3/schema.js +++ /dev/null @@ -1,325 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Schema = void 0; -const base_1 = require("../base"); -const constants_1 = require("../../constants"); -const mixins_1 = require("./mixins"); -const schema_parser_1 = require("../../schema-parser"); -class Schema extends base_1.BaseModel { - // The following constructor is needed because, starting from AsyncAPI v3, schemas can be multi-format as well. - constructor(_json, _meta = {}) { - var _a, _b; - super(_json, _meta); - this._json = _json; - this._meta = _meta; - // Based on the shape of the JSON, we grab the data for the Schema from the root (Schema) or rather from `schema` field (MultiFormatSchema). - if (typeof _json === 'object' && typeof _json.schema === 'object') { - this._schemaObject = _json.schema; - this._schemaFormat = _json.schemaFormat; - } - else { - this._schemaObject = _json; - this._schemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)((_b = (_a = _meta.asyncapi) === null || _a === void 0 ? void 0 : _a.semver) === null || _b === void 0 ? void 0 : _b.version); - } - } - id() { - return this.$id() || this._meta.id || this._schemaObject[constants_1.xParserSchemaId]; - } - $comment() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.$comment; - } - $id() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.$id; - } - $schema() { - var _a; - if (typeof this._schemaObject === 'boolean') - return 'http://json-schema.org/draft-07/schema#'; - return (_a = this._schemaObject.$schema) !== null && _a !== void 0 ? _a : 'http://json-schema.org/draft-07/schema#'; - } - additionalItems() { - if (typeof this._schemaObject === 'boolean') - return this._schemaObject; - if (this._schemaObject.additionalItems === undefined) - return true; - if (typeof this._schemaObject.additionalItems === 'boolean') - return this._schemaObject.additionalItems; - return this.createModel(Schema, this._schemaObject.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); - } - additionalProperties() { - if (typeof this._schemaObject === 'boolean') - return this._schemaObject; - if (this._schemaObject.additionalProperties === undefined) - return true; - if (typeof this._schemaObject.additionalProperties === 'boolean') - return this._schemaObject.additionalProperties; - return this.createModel(Schema, this._schemaObject.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); - } - allOf() { - if (typeof this._schemaObject === 'boolean') - return; - if (!Array.isArray(this._schemaObject.allOf)) - return undefined; - return this._schemaObject.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); - } - anyOf() { - if (typeof this._schemaObject === 'boolean') - return; - if (!Array.isArray(this._schemaObject.anyOf)) - return undefined; - return this._schemaObject.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); - } - const() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.const; - } - contains() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.contains !== 'object') - return; - return this.createModel(Schema, this._schemaObject.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); - } - contentEncoding() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.contentEncoding; - } - contentMediaType() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.contentMediaType; - } - default() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.default; - } - definitions() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.definitions !== 'object') - return; - return Object.entries(this._schemaObject.definitions).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); - return acc; - }, {}); - } - description() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.description; - } - dependencies() { - if (typeof this._schemaObject === 'boolean') - return; - if (typeof this._schemaObject.dependencies !== 'object') - return undefined; - return Object.entries(this._schemaObject.dependencies).reduce((acc, [key, s]) => { - acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); - return acc; - }, {}); - } - deprecated() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.deprecated || false; - } - discriminator() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.discriminator; - } - else() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.else !== 'object') - return; - return this.createModel(Schema, this._schemaObject.else, { pointer: `${this._meta.pointer}/else`, parent: this }); - } - enum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.enum; - } - examples() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.examples; - } - exclusiveMaximum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.exclusiveMaximum; - } - exclusiveMinimum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.exclusiveMinimum; - } - format() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.format; - } - isBooleanSchema() { - return typeof this._schemaObject === 'boolean'; - } - if() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.if !== 'object') - return; - return this.createModel(Schema, this._schemaObject.if, { pointer: `${this._meta.pointer}/if`, parent: this }); - } - isCircular() { - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._schemaObject) - return true; - parent = parent._meta.parent; - } - return false; - } - items() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.items !== 'object') - return; - if (Array.isArray(this._schemaObject.items)) { - return this._schemaObject.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); - } - return this.createModel(Schema, this._schemaObject.items, { pointer: `${this._meta.pointer}/items`, parent: this }); - } - maximum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maximum; - } - maxItems() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maxItems; - } - maxLength() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maxLength; - } - maxProperties() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maxProperties; - } - minimum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minimum; - } - minItems() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minItems; - } - minLength() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minLength; - } - minProperties() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minProperties; - } - multipleOf() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.multipleOf; - } - not() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.not !== 'object') - return; - return this.createModel(Schema, this._schemaObject.not, { pointer: `${this._meta.pointer}/not`, parent: this }); - } - oneOf() { - if (typeof this._schemaObject === 'boolean') - return; - if (!Array.isArray(this._schemaObject.oneOf)) - return undefined; - return this._schemaObject.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); - } - pattern() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.pattern; - } - patternProperties() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.patternProperties !== 'object') - return; - return Object.entries(this._schemaObject.patternProperties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); - return acc; - }, {}); - } - properties() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object') - return; - return Object.entries(this._schemaObject.properties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); - return acc; - }, {}); - } - property(name) { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object' || typeof this._schemaObject.properties[name] !== 'object') - return; - return this.createModel(Schema, this._schemaObject.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); - } - propertyNames() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.propertyNames !== 'object') - return; - return this.createModel(Schema, this._schemaObject.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); - } - readOnly() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.readOnly || false; - } - required() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.required; - } - schemaFormat() { - return this._schemaFormat; - } - then() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.then !== 'object') - return; - return this.createModel(Schema, this._schemaObject.then, { pointer: `${this._meta.pointer}/then`, parent: this }); - } - title() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.title; - } - type() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.type; - } - uniqueItems() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.uniqueItems || false; - } - writeOnly() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.writeOnly || false; - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.Schema = Schema; diff --git a/apps/parser/cjs/models/v3/schemas.d.ts b/apps/parser/cjs/models/v3/schemas.d.ts deleted file mode 100644 index 15c1d17bc..000000000 --- a/apps/parser/cjs/models/v3/schemas.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SchemasInterface } from '../schemas'; -import type { SchemaInterface } from '../schema'; -export declare class Schemas extends Collection implements SchemasInterface { - get(id: string): SchemaInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/schemas.js b/apps/parser/cjs/models/v3/schemas.js deleted file mode 100644 index f67534034..000000000 --- a/apps/parser/cjs/models/v3/schemas.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Schemas = void 0; -const collection_1 = require("../collection"); -class Schemas extends collection_1.Collection { - get(id) { - return this.collections.find(schema => schema.id() === id); - } -} -exports.Schemas = Schemas; diff --git a/apps/parser/cjs/models/v3/security-requirement.d.ts b/apps/parser/cjs/models/v3/security-requirement.d.ts deleted file mode 100644 index 88cb3a757..000000000 --- a/apps/parser/cjs/models/v3/security-requirement.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirement extends BaseModel<{ - scopes?: string[]; - scheme: SecuritySchemeInterface; -}, { - id?: string; -}> implements SecurityRequirementInterface { - scheme(): SecuritySchemeInterface; - scopes(): string[]; -} diff --git a/apps/parser/cjs/models/v3/security-requirement.js b/apps/parser/cjs/models/v3/security-requirement.js deleted file mode 100644 index 7361b25ca..000000000 --- a/apps/parser/cjs/models/v3/security-requirement.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityRequirement = void 0; -const base_1 = require("../base"); -class SecurityRequirement extends base_1.BaseModel { - scheme() { - return this._json.scheme; - } - scopes() { - return this._json.scopes || []; - } -} -exports.SecurityRequirement = SecurityRequirement; diff --git a/apps/parser/cjs/models/v3/security-requirements.d.ts b/apps/parser/cjs/models/v3/security-requirements.d.ts deleted file mode 100644 index 882dd7bbc..000000000 --- a/apps/parser/cjs/models/v3/security-requirements.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecurityRequirementsInterface } from '../security-requirements'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { - get(id: string): SecurityRequirementInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/security-requirements.js b/apps/parser/cjs/models/v3/security-requirements.js deleted file mode 100644 index 10a90fa51..000000000 --- a/apps/parser/cjs/models/v3/security-requirements.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityRequirements = void 0; -const collection_1 = require("../collection"); -class SecurityRequirements extends collection_1.Collection { - get(id) { - return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); - } -} -exports.SecurityRequirements = SecurityRequirements; diff --git a/apps/parser/cjs/models/v3/security-scheme.d.ts b/apps/parser/cjs/models/v3/security-scheme.d.ts deleted file mode 100644 index 4bbef1f2e..000000000 --- a/apps/parser/cjs/models/v3/security-scheme.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { v3 } from '../../spec-types'; -export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { - id(): string; - type(): v3.SecuritySchemeType; - hasDescription(): boolean; - description(): string | undefined; - hasName(): boolean; - name(): string | undefined; - hasIn(): boolean; - in(): v3.SecuritySchemaLocation | undefined; - hasScheme(): boolean; - scheme(): string | undefined; - hasBearerFormat(): boolean; - bearerFormat(): string | undefined; - hasFlows(): boolean; - flows(): OAuthFlowsInterface | undefined; - hasOpenIdConnectUrl(): boolean; - openIdConnectUrl(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/security-scheme.js b/apps/parser/cjs/models/v3/security-scheme.js deleted file mode 100644 index cc2144318..000000000 --- a/apps/parser/cjs/models/v3/security-scheme.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityScheme = void 0; -const base_1 = require("../base"); -const oauth_flows_1 = require("./oauth-flows"); -const mixins_1 = require("./mixins"); -class SecurityScheme extends base_1.BaseModel { - id() { - return this._meta.id; - } - type() { - return this._json.type; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasIn() { - return !!this._json.in; - } - in() { - return this._json.in; - } - hasScheme() { - return !!this._json.scheme; - } - scheme() { - return this._json.scheme; - } - hasBearerFormat() { - return !!this._json.bearerFormat; - } - bearerFormat() { - return this._json.bearerFormat; - } - hasFlows() { - return !!this._json.flows; - } - flows() { - if (!this._json.flows) - return undefined; - return new oauth_flows_1.OAuthFlows(this._json.flows); - } - hasOpenIdConnectUrl() { - return !!this._json.openIdConnectUrl; - } - openIdConnectUrl() { - return this._json.openIdConnectUrl; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.SecurityScheme = SecurityScheme; diff --git a/apps/parser/cjs/models/v3/security-schemes.d.ts b/apps/parser/cjs/models/v3/security-schemes.d.ts deleted file mode 100644 index e9d23e914..000000000 --- a/apps/parser/cjs/models/v3/security-schemes.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { SecuritySchemeInterface } from '../security-scheme'; -export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { - get(id: string): SecuritySchemeInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/security-schemes.js b/apps/parser/cjs/models/v3/security-schemes.js deleted file mode 100644 index ff43c7f68..000000000 --- a/apps/parser/cjs/models/v3/security-schemes.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecuritySchemes = void 0; -const collection_1 = require("../collection"); -class SecuritySchemes extends collection_1.Collection { - get(id) { - return this.collections.find(securityScheme => securityScheme.id() === id); - } -} -exports.SecuritySchemes = SecuritySchemes; diff --git a/apps/parser/cjs/models/v3/server-variable.d.ts b/apps/parser/cjs/models/v3/server-variable.d.ts deleted file mode 100644 index 63b954f0e..000000000 --- a/apps/parser/cjs/models/v3/server-variable.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ServerVariableInterface } from '../server-variable'; -import type { v3 } from '../../spec-types'; -export declare class ServerVariable extends BaseModel implements ServerVariableInterface { - id(): string; - hasDescription(): boolean; - description(): string | undefined; - hasDefaultValue(): boolean; - defaultValue(): string | undefined; - hasAllowedValues(): boolean; - allowedValues(): Array; - examples(): Array; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/cjs/models/v3/server-variable.js b/apps/parser/cjs/models/v3/server-variable.js deleted file mode 100644 index 8b3b363a8..000000000 --- a/apps/parser/cjs/models/v3/server-variable.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ServerVariable = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class ServerVariable extends base_1.BaseModel { - id() { - return this._meta.id; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasDefaultValue() { - return !!this._json.default; - } - defaultValue() { - return this._json.default; - } - hasAllowedValues() { - return !!this._json.enum; - } - allowedValues() { - return this._json.enum || []; - } - examples() { - return this._json.examples || []; - } - extensions() { - return (0, mixins_1.extensions)(this); - } -} -exports.ServerVariable = ServerVariable; diff --git a/apps/parser/cjs/models/v3/server-variables.d.ts b/apps/parser/cjs/models/v3/server-variables.d.ts deleted file mode 100644 index 7e3ebe7f4..000000000 --- a/apps/parser/cjs/models/v3/server-variables.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { ServerVariableInterface } from '../server-variable'; -export declare class ServerVariables extends Collection implements ServerVariablesInterface { - get(id: string): ServerVariableInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/server-variables.js b/apps/parser/cjs/models/v3/server-variables.js deleted file mode 100644 index 80f27b71b..000000000 --- a/apps/parser/cjs/models/v3/server-variables.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ServerVariables = void 0; -const collection_1 = require("../collection"); -class ServerVariables extends collection_1.Collection { - get(id) { - return this.collections.find(variable => variable.id() === id); - } -} -exports.ServerVariables = ServerVariables; diff --git a/apps/parser/cjs/models/v3/server.d.ts b/apps/parser/cjs/models/v3/server.d.ts deleted file mode 100644 index 6ca2e8906..000000000 --- a/apps/parser/cjs/models/v3/server.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { SecurityRequirements } from './security-requirements'; -import { CoreModel } from './mixins'; -import type { ChannelsInterface } from '../channels'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { ServerInterface } from '../server'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { v3 } from '../../spec-types'; -export declare class Server extends CoreModel implements ServerInterface { - id(): string; - url(): string; - host(): string; - protocol(): string; - hasPathname(): boolean; - pathname(): string | undefined; - hasProtocolVersion(): boolean; - protocolVersion(): string | undefined; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - variables(): ServerVariablesInterface; - security(): SecurityRequirements[]; -} diff --git a/apps/parser/cjs/models/v3/server.js b/apps/parser/cjs/models/v3/server.js deleted file mode 100644 index f8014e770..000000000 --- a/apps/parser/cjs/models/v3/server.js +++ /dev/null @@ -1,103 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Server = void 0; -const channels_1 = require("./channels"); -const channel_1 = require("./channel"); -const messages_1 = require("./messages"); -const operations_1 = require("./operations"); -const security_scheme_1 = require("./security-scheme"); -const server_variables_1 = require("./server-variables"); -const server_variable_1 = require("./server-variable"); -const security_requirements_1 = require("./security-requirements"); -const security_requirement_1 = require("./security-requirement"); -const mixins_1 = require("./mixins"); -const utils_1 = require("../../utils"); -class Server extends mixins_1.CoreModel { - id() { - return this._meta.id; - } - url() { - let host = this.host(); - if (!host.endsWith('/')) { - host = `${host}/`; - } - let pathname = this.pathname() || ''; - if (pathname.startsWith('/')) { - pathname = pathname.substring(1); - } - return `${this.protocol()}://${host}${pathname}`; - } - host() { - return this._json.host; - } - protocol() { - return this._json.protocol; - } - hasPathname() { - return !!this._json.pathname; - } - pathname() { - return this._json.pathname; - } - hasProtocolVersion() { - return !!this._json.protocolVersion; - } - protocolVersion() { - return this._json.protocolVersion; - } - channels() { - var _a, _b; - const channels = []; - Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelName, channel]) => { - const allowedServers = channel.servers || []; - if (allowedServers.length === 0 || allowedServers.includes(this._json)) { - channels.push(this.createModel(channel_1.Channel, channel, { id: channelName, pointer: `/channels/${(0, utils_1.tilde)(channelName)}` })); - } - }); - return new channels_1.Channels(channels); - } - operations() { - const operations = []; - const operationsData = []; - this.channels().forEach(channel => { - channel.operations().forEach(operation => { - const operationData = operation.json(); - if (!operationsData.includes(operationData)) { - operations.push(operation); - operationsData.push(operationData); - } - }); - }); - return new operations_1.Operations(operations); - } - messages() { - const messages = []; - const messagedData = []; - this.channels().forEach(channel => { - channel.messages().forEach(message => { - const messageData = message.json(); - if (!messagedData.includes(messageData)) { - messages.push(message); - messagedData.push(messageData); - } - }); - }); - return new messages_1.Messages(messages); - } - variables() { - return new server_variables_1.ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { - return this.createModel(server_variable_1.ServerVariable, serverVariable, { - id: serverVariableName, - pointer: this.jsonPath(`variables/${serverVariableName}`), - }); - })); - } - security() { - return (this._json.security || []).map((security, index) => { - const scheme = this.createModel(security_scheme_1.SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); - const requirement = this.createModel(security_requirement_1.SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); - return new security_requirements_1.SecurityRequirements([requirement]); - }); - } -} -exports.Server = Server; diff --git a/apps/parser/cjs/models/v3/servers.d.ts b/apps/parser/cjs/models/v3/servers.d.ts deleted file mode 100644 index 101c8aa9e..000000000 --- a/apps/parser/cjs/models/v3/servers.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import { ServerInterface } from '../server'; -import { ServersInterface } from '../servers'; -export declare class Servers extends Collection implements ServersInterface { - get(id: string): ServerInterface | undefined; - filterBySend(): ServerInterface[]; - filterByReceive(): ServerInterface[]; -} diff --git a/apps/parser/cjs/models/v3/servers.js b/apps/parser/cjs/models/v3/servers.js deleted file mode 100644 index 030ad9265..000000000 --- a/apps/parser/cjs/models/v3/servers.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Servers = void 0; -const collection_1 = require("../collection"); -class Servers extends collection_1.Collection { - get(id) { - return this.collections.find(server => server.id() === id); - } - filterBySend() { - return this.filterBy(server => server.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(server => server.operations().filterByReceive().length > 0); - } -} -exports.Servers = Servers; diff --git a/apps/parser/cjs/models/v3/tag.d.ts b/apps/parser/cjs/models/v3/tag.d.ts deleted file mode 100644 index 007d9e008..000000000 --- a/apps/parser/cjs/models/v3/tag.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagInterface } from '../tag'; -import type { v3 } from '../../spec-types'; -export declare class Tag extends BaseModel implements TagInterface { - id(): string | undefined; - name(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/tag.js b/apps/parser/cjs/models/v3/tag.js deleted file mode 100644 index 734a70883..000000000 --- a/apps/parser/cjs/models/v3/tag.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Tag = void 0; -const base_1 = require("../base"); -const mixins_1 = require("./mixins"); -class Tag extends base_1.BaseModel { - id() { - return this._meta.id; - } - name() { - return this._json.name; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - extensions() { - return (0, mixins_1.extensions)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } -} -exports.Tag = Tag; diff --git a/apps/parser/cjs/models/v3/tags.d.ts b/apps/parser/cjs/models/v3/tags.d.ts deleted file mode 100644 index 371794b27..000000000 --- a/apps/parser/cjs/models/v3/tags.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { TagsInterface } from '../tags'; -import type { TagInterface } from '../tag'; -export declare class Tags extends Collection implements TagsInterface { - get(name: string): TagInterface | undefined; -} diff --git a/apps/parser/cjs/models/v3/tags.js b/apps/parser/cjs/models/v3/tags.js deleted file mode 100644 index aa4dc7f08..000000000 --- a/apps/parser/cjs/models/v3/tags.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Tags = void 0; -const collection_1 = require("../collection"); -class Tags extends collection_1.Collection { - get(name) { - return this.collections.find(tag => tag.name() === name); - } -} -exports.Tags = Tags; diff --git a/apps/parser/cjs/old-api/asyncapi.d.ts b/apps/parser/cjs/old-api/asyncapi.d.ts deleted file mode 100644 index a441ac55a..000000000 --- a/apps/parser/cjs/old-api/asyncapi.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { Info } from './info'; -import { Server } from './server'; -import { Channel } from './channel'; -import { Components } from './components'; -import { Message } from './message'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -import type { SchemaTypesToIterate, TraverseCallback } from './iterator'; -export declare class AsyncAPIDocument extends SpecificationExtensionsModel { - version(): string; - info(): Info; - id(): string | undefined; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; - hasServers(): boolean; - servers(): Record; - serverNames(): string[]; - server(name: string): Server | null; - hasDefaultContentType(): boolean; - defaultContentType(): string | null; - hasChannels(): boolean; - channels(): Record; - channelNames(): string[]; - channel(name: string): Channel | null; - hasComponents(): boolean; - components(): Components | null; - hasMessages(): boolean; - allMessages(): Map; - allSchemas(): Map; - hasCircular(): boolean; - traverseSchemas(callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; - static stringify(doc: AsyncAPIDocument, space?: number): string | undefined; - static parse(doc: string | Record): AsyncAPIDocument | undefined; -} diff --git a/apps/parser/cjs/old-api/asyncapi.js b/apps/parser/cjs/old-api/asyncapi.js deleted file mode 100644 index 9c5ea2997..000000000 --- a/apps/parser/cjs/old-api/asyncapi.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AsyncAPIDocument = void 0; -const mixins_1 = require("./mixins"); -const info_1 = require("./info"); -const server_1 = require("./server"); -const channel_1 = require("./channel"); -const components_1 = require("./components"); -const iterator_1 = require("./iterator"); -const constants_1 = require("../constants"); -const stringify_1 = require("../stringify"); -class AsyncAPIDocument extends mixins_1.SpecificationExtensionsModel { - version() { - return this._json.asyncapi; - } - info() { - return new info_1.Info(this._json.info); - } - id() { - return this._json.id; - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - hasTags() { - return mixins_1.tagsMixins.hasTags(this); - } - tags() { - return mixins_1.tagsMixins.tags(this); - } - tagNames() { - return mixins_1.tagsMixins.tagNames(this); - } - hasTag(name) { - return mixins_1.tagsMixins.hasTag(this, name); - } - tag(name) { - return mixins_1.tagsMixins.tag(this, name); - } - hasServers() { - return !!this._json.servers; - } - servers() { - return (0, mixins_1.createMapOfType)(this._json.servers, server_1.Server); - } - serverNames() { - if (!this._json.servers) - return []; - return Object.keys(this._json.servers); - } - server(name) { - return (0, mixins_1.getMapValue)(this._json.servers, name, server_1.Server); - } - hasDefaultContentType() { - return !!this._json.defaultContentType; - } - defaultContentType() { - return this._json.defaultContentType || null; - } - hasChannels() { - return !!this._json.channels; - } - channels() { - return (0, mixins_1.createMapOfType)(this._json.channels, channel_1.Channel); - } - channelNames() { - if (!this._json.channels) - return []; - return Object.keys(this._json.channels); - } - channel(name) { - return (0, mixins_1.getMapValue)(this._json.channels, name, channel_1.Channel); - } - hasComponents() { - return !!this._json.components; - } - components() { - if (!this._json.components) - return null; - return new components_1.Components(this._json.components); - } - hasMessages() { - return !!this.allMessages().size; - } - allMessages() { - const messages = new Map(); - if (this.hasChannels()) { - this.channelNames().forEach(channelName => { - const channel = this.channel(channelName); - if (channel) { - if (channel.hasPublish()) { - channel.publish().messages().forEach(m => { - messages.set(m.uid(), m); - }); - } - if (channel.hasSubscribe()) { - channel.subscribe().messages().forEach(m => { - messages.set(m.uid(), m); - }); - } - } - }); - } - if (this.hasComponents()) { - Object.values(this.components().messages()).forEach(m => { - messages.set(m.uid(), m); - }); - } - return messages; - } - allSchemas() { - const schemas = new Map(); - function allSchemasCallback(schema) { - if (schema.uid()) { - schemas.set(schema.uid(), schema); - } - } - (0, iterator_1.traverseAsyncApiDocument)(this, allSchemasCallback); - return schemas; - } - hasCircular() { - return !!this._json[constants_1.xParserCircular]; - } - traverseSchemas(callback, schemaTypesToIterate = []) { - (0, iterator_1.traverseAsyncApiDocument)(this, callback, schemaTypesToIterate); - } - static stringify(doc, space) { - const rawDoc = doc.json(); - const copiedDoc = Object.assign({}, rawDoc); - copiedDoc[constants_1.xParserSpecStringified] = true; - return JSON.stringify(copiedDoc, (0, stringify_1.refReplacer)(), space); - } - static parse(doc) { - let parsedJSON = doc; - if (typeof doc === 'string') { - parsedJSON = JSON.parse(doc); - } - else if (typeof doc === 'object') { - // shall copy - parsedJSON = Object.assign({}, parsedJSON); - } - // the `doc` must be an AsyncAPI parsed document - if (typeof parsedJSON !== 'object' || !parsedJSON[constants_1.xParserSpecParsed]) { - throw new Error('Cannot parse invalid AsyncAPI document'); - } - // if the `doc` is not stringified via the `stringify` static method then immediately return a model. - if (!parsedJSON[constants_1.xParserSpecStringified]) { - return new AsyncAPIDocument(parsedJSON); - } - // remove `x-parser-spec-stringified` extension - delete parsedJSON[String(constants_1.xParserSpecStringified)]; - const objToPath = new Map(); - const pathToObj = new Map(); - (0, stringify_1.traverseStringifiedData)(parsedJSON, undefined, parsedJSON, objToPath, pathToObj); - return new AsyncAPIDocument(parsedJSON); - } -} -exports.AsyncAPIDocument = AsyncAPIDocument; diff --git a/apps/parser/cjs/old-api/base.d.ts b/apps/parser/cjs/old-api/base.d.ts deleted file mode 100644 index 286a470ef..000000000 --- a/apps/parser/cjs/old-api/base.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare abstract class Base = Record> { - protected readonly _json: J; - protected readonly _meta: M; - constructor(_json: J, _meta?: M); - json(): T; - json(key: K): J[K]; -} diff --git a/apps/parser/cjs/old-api/base.js b/apps/parser/cjs/old-api/base.js deleted file mode 100644 index 08ec69eac..000000000 --- a/apps/parser/cjs/old-api/base.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Base = void 0; -class Base { - constructor(_json, _meta = {}) { - this._json = _json; - this._meta = _meta; - if (_json === undefined || _json === null) { - throw new Error('Invalid JSON to instantiate the Base object.'); - } - } - json(key) { - if (key === undefined || typeof this._json !== 'object') - return this._json; - if (!this._json) - return; - return this._json[key]; - } -} -exports.Base = Base; diff --git a/apps/parser/cjs/old-api/channel-parameter.d.ts b/apps/parser/cjs/old-api/channel-parameter.d.ts deleted file mode 100644 index 3265c56d0..000000000 --- a/apps/parser/cjs/old-api/channel-parameter.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -export declare class ChannelParameter extends SpecificationExtensionsModel { - description(): string | null; - hasDescription(): boolean; - schema(): Schema | null; - location(): string | undefined; -} diff --git a/apps/parser/cjs/old-api/channel-parameter.js b/apps/parser/cjs/old-api/channel-parameter.js deleted file mode 100644 index f13a20365..000000000 --- a/apps/parser/cjs/old-api/channel-parameter.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ChannelParameter = void 0; -const mixins_1 = require("./mixins"); -const schema_1 = require("./schema"); -class ChannelParameter extends mixins_1.SpecificationExtensionsModel { - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - schema() { - if (!this._json.schema) - return null; - return new schema_1.Schema(this._json.schema); - } - location() { - return this._json.location; - } -} -exports.ChannelParameter = ChannelParameter; diff --git a/apps/parser/cjs/old-api/channel.d.ts b/apps/parser/cjs/old-api/channel.d.ts deleted file mode 100644 index 8214311fc..000000000 --- a/apps/parser/cjs/old-api/channel.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { ChannelParameter } from './channel-parameter'; -import { Operation } from './operation'; -import type { v2 } from '../spec-types'; -export declare class Channel extends SpecificationExtensionsModel { - description(): string | null; - hasDescription(): boolean; - hasParameters(): boolean; - parameters(): Record; - parameter(name: string): ChannelParameter | null; - hasServers(): boolean; - servers(): string[]; - server(index: number | string): string | null; - publish(): Operation | null; - subscribe(): Operation | null; - hasPublish(): boolean; - hasSubscribe(): boolean; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; -} diff --git a/apps/parser/cjs/old-api/channel.js b/apps/parser/cjs/old-api/channel.js deleted file mode 100644 index ca9f70ccd..000000000 --- a/apps/parser/cjs/old-api/channel.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Channel = void 0; -const mixins_1 = require("./mixins"); -const channel_parameter_1 = require("./channel-parameter"); -const operation_1 = require("./operation"); -class Channel extends mixins_1.SpecificationExtensionsModel { - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - hasParameters() { - return !!this._json.parameters; - } - parameters() { - return (0, mixins_1.createMapOfType)(this._json.parameters, channel_parameter_1.ChannelParameter); - } - parameter(name) { - return (0, mixins_1.getMapValue)(this._json.parameters, name, channel_parameter_1.ChannelParameter); - } - hasServers() { - return !!this._json.servers; - } - servers() { - if (!this._json.servers) - return []; - return this._json.servers; - } - server(index) { - if (!this._json.servers) - return null; - if (typeof index !== 'number') - return null; - if (index > this._json.servers.length - 1) - return null; - return this._json.servers[+index]; - } - publish() { - if (!this._json.publish) - return null; - return new operation_1.Operation(this._json.publish, { kind: 'publish' }); - } - subscribe() { - if (!this._json.subscribe) - return null; - return new operation_1.Operation(this._json.subscribe, { kind: 'subscribe' }); - } - hasPublish() { - return !!this._json.publish; - } - hasSubscribe() { - return !!this._json.subscribe; - } - hasBindings() { - return mixins_1.bindingsMixins.hasBindings(this); - } - bindings() { - return mixins_1.bindingsMixins.bindings(this); - } - bindingProtocols() { - return mixins_1.bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return mixins_1.bindingsMixins.hasBinding(this, name); - } - binding(name) { - return mixins_1.bindingsMixins.binding(this, name); - } -} -exports.Channel = Channel; diff --git a/apps/parser/cjs/old-api/components.d.ts b/apps/parser/cjs/old-api/components.d.ts deleted file mode 100644 index 7a409a019..000000000 --- a/apps/parser/cjs/old-api/components.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { Channel } from './channel'; -import { Message } from './message'; -import { Schema } from './schema'; -import { SecurityScheme } from './security-scheme'; -import { Server } from './server'; -import { ChannelParameter } from './channel-parameter'; -import { CorrelationId } from './correlation-id'; -import { OperationTrait } from './operation-trait'; -import { MessageTrait } from './message-trait'; -import { ServerVariable } from './server-variable'; -import type { v2 } from '../spec-types'; -export declare class Components extends SpecificationExtensionsModel { - hasChannels(): boolean; - channels(): Record; - channel(name: string): Channel | null; - hasMessages(): boolean; - messages(): Record; - message(name: string): Message | null; - hasSchemas(): boolean; - schemas(): Record; - schema(name: string): Schema | null; - hasSecuritySchemes(): boolean; - securitySchemes(): Record; - securityScheme(name: string): SecurityScheme | null; - hasServers(): boolean; - servers(): Record; - server(name: string): Server | null; - hasParameters(): boolean; - parameters(): Record; - parameter(name: string): ChannelParameter | null; - hasCorrelationIds(): boolean; - correlationIds(): Record; - correlationId(name: string): CorrelationId | null; - hasOperationTraits(): boolean; - operationTraits(): Record>; - operationTrait(name: string): OperationTrait | null; - hasMessageTraits(): boolean; - messageTraits(): Record>; - messageTrait(name: string): MessageTrait; - hasServerVariables(): boolean; - serverVariables(): Record; - serverVariable(name: string): ServerVariable | null; -} diff --git a/apps/parser/cjs/old-api/components.js b/apps/parser/cjs/old-api/components.js deleted file mode 100644 index c02c9e480..000000000 --- a/apps/parser/cjs/old-api/components.js +++ /dev/null @@ -1,107 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Components = void 0; -const mixins_1 = require("./mixins"); -const channel_1 = require("./channel"); -const message_1 = require("./message"); -const schema_1 = require("./schema"); -const security_scheme_1 = require("./security-scheme"); -const server_1 = require("./server"); -const channel_parameter_1 = require("./channel-parameter"); -const correlation_id_1 = require("./correlation-id"); -const operation_trait_1 = require("./operation-trait"); -const message_trait_1 = require("./message-trait"); -const server_variable_1 = require("./server-variable"); -class Components extends mixins_1.SpecificationExtensionsModel { - hasChannels() { - return !!this._json.channels; - } - channels() { - return (0, mixins_1.createMapOfType)(this._json.channels, channel_1.Channel); - } - channel(name) { - return (0, mixins_1.getMapValue)(this._json.channels, name, channel_1.Channel); - } - hasMessages() { - return !!this._json.messages; - } - messages() { - return (0, mixins_1.createMapOfType)(this._json.messages, message_1.Message); - } - message(name) { - return (0, mixins_1.getMapValue)(this._json.messages, name, message_1.Message); - } - hasSchemas() { - return !!this._json.schemas; - } - schemas() { - return (0, mixins_1.createMapOfType)(this._json.schemas, schema_1.Schema); - } - schema(name) { - return (0, mixins_1.getMapValue)(this._json.schemas, name, schema_1.Schema); - } - hasSecuritySchemes() { - return !!this._json.securitySchemes; - } - securitySchemes() { - return (0, mixins_1.createMapOfType)(this._json.securitySchemes, security_scheme_1.SecurityScheme); - } - securityScheme(name) { - return (0, mixins_1.getMapValue)(this._json.securitySchemes, name, security_scheme_1.SecurityScheme); - } - hasServers() { - return !!this._json.servers; - } - servers() { - return (0, mixins_1.createMapOfType)(this._json.servers, server_1.Server); - } - server(name) { - return (0, mixins_1.getMapValue)(this._json.servers, name, server_1.Server); - } - hasParameters() { - return !!this._json.parameters; - } - parameters() { - return (0, mixins_1.createMapOfType)(this._json.parameters, channel_parameter_1.ChannelParameter); - } - parameter(name) { - return (0, mixins_1.getMapValue)(this._json.parameters, name, channel_parameter_1.ChannelParameter); - } - hasCorrelationIds() { - return !!this._json.correlationIds; - } - correlationIds() { - return (0, mixins_1.createMapOfType)(this._json.correlationIds, correlation_id_1.CorrelationId); - } - correlationId(name) { - return (0, mixins_1.getMapValue)(this._json.correlationIds, name, correlation_id_1.CorrelationId); - } - hasOperationTraits() { - return !!this._json.operationTraits; - } - operationTraits() { - return (0, mixins_1.createMapOfType)(this._json.operationTraits, operation_trait_1.OperationTrait); - } - operationTrait(name) { - return (0, mixins_1.getMapValue)(this._json.operationTraits, name, operation_trait_1.OperationTrait); - } - hasMessageTraits() { - return !!this._json.messageTraits; - } - messageTraits() { - return (0, mixins_1.createMapOfType)(this._json.messageTraits, message_trait_1.MessageTrait); - } - messageTrait(name) { - return (0, mixins_1.getMapValue)(this._json.messageTraits, name, message_trait_1.MessageTrait); - } - hasServerVariables() { - return !!this._json.serverVariables; - } - serverVariables() { - return (0, mixins_1.createMapOfType)(this._json.serverVariables, server_variable_1.ServerVariable); - } - serverVariable(name) { - return (0, mixins_1.getMapValue)(this._json.serverVariables, name, server_variable_1.ServerVariable); - } -} -exports.Components = Components; diff --git a/apps/parser/cjs/old-api/contact.d.ts b/apps/parser/cjs/old-api/contact.d.ts deleted file mode 100644 index dd119cb51..000000000 --- a/apps/parser/cjs/old-api/contact.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class Contact extends SpecificationExtensionsModel { - name(): string | undefined; - url(): string | undefined; - email(): string | undefined; -} diff --git a/apps/parser/cjs/old-api/contact.js b/apps/parser/cjs/old-api/contact.js deleted file mode 100644 index e4cba30a5..000000000 --- a/apps/parser/cjs/old-api/contact.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Contact = void 0; -const mixins_1 = require("./mixins"); -class Contact extends mixins_1.SpecificationExtensionsModel { - name() { - return this._json.name; - } - url() { - return this._json.url; - } - email() { - return this._json.email; - } -} -exports.Contact = Contact; diff --git a/apps/parser/cjs/old-api/converter.d.ts b/apps/parser/cjs/old-api/converter.d.ts deleted file mode 100644 index f405c4a03..000000000 --- a/apps/parser/cjs/old-api/converter.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { AsyncAPIDocument } from './asyncapi'; -import type { AsyncAPIDocumentInterface } from '../models/asyncapi'; -export declare function convertToOldAPI(newDocument: AsyncAPIDocumentInterface): AsyncAPIDocument; -export declare function convertToNewAPI(oldDocument: AsyncAPIDocument): AsyncAPIDocumentInterface; diff --git a/apps/parser/cjs/old-api/converter.js b/apps/parser/cjs/old-api/converter.js deleted file mode 100644 index da58d743b..000000000 --- a/apps/parser/cjs/old-api/converter.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.convertToNewAPI = exports.convertToOldAPI = void 0; -const asyncapi_1 = require("./asyncapi"); -const constants_1 = require("../constants"); -const document_1 = require("../document"); -const stringify_1 = require("../stringify"); -const schema_parser_1 = require("../schema-parser"); -const utils_1 = require("../utils"); -function convertToOldAPI(newDocument) { - const data = (0, stringify_1.copy)(newDocument.json()); - const document = new asyncapi_1.AsyncAPIDocument(data); - handleMessages(document); - handleOperations(document); - (0, utils_1.setExtension)(constants_1.xParserApiVersion, 0, document); - return document; -} -exports.convertToOldAPI = convertToOldAPI; -function convertToNewAPI(oldDocument) { - const data = (0, stringify_1.copy)(oldDocument.json()); - const detailed = (0, utils_1.createDetailedAsyncAPI)(data); - return (0, document_1.createAsyncAPIDocument)(detailed); -} -exports.convertToNewAPI = convertToNewAPI; -function handleMessages(document) { - const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(document.version()); - for (const message of document.allMessages().values()) { - const json = message.json(); - if (json.traits) { - json[constants_1.xParserOriginalTraits] = json.traits; - delete json.traits; - } - json[constants_1.xParserOriginalSchemaFormat] = json.schemaFormat || defaultSchemaFormat; - json.schemaFormat = defaultSchemaFormat; - json[constants_1.xParserOriginalPayload] = json[constants_1.xParserOriginalPayload] || json.payload; - json[constants_1.xParserMessageParsed] = true; - } -} -function handleOperations(document) { - Object.values(document.channels()).forEach(channel => { - const publish = channel.publish(); - const subscribe = channel.subscribe(); - if (publish) { - const json = publish.json(); - if (json.traits) { - json[constants_1.xParserOriginalTraits] = json.traits; - delete json.traits; - } - } - if (subscribe) { - const json = subscribe.json(); - if (json.traits) { - json[constants_1.xParserOriginalTraits] = json.traits; - delete json.traits; - } - } - }); -} diff --git a/apps/parser/cjs/old-api/correlation-id.d.ts b/apps/parser/cjs/old-api/correlation-id.d.ts deleted file mode 100644 index 02fe34b0d..000000000 --- a/apps/parser/cjs/old-api/correlation-id.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class CorrelationId extends SpecificationExtensionsModel { - description(): string | null; - hasDescription(): boolean; - location(): string; -} diff --git a/apps/parser/cjs/old-api/correlation-id.js b/apps/parser/cjs/old-api/correlation-id.js deleted file mode 100644 index 7a1104d12..000000000 --- a/apps/parser/cjs/old-api/correlation-id.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CorrelationId = void 0; -const mixins_1 = require("./mixins"); -class CorrelationId extends mixins_1.SpecificationExtensionsModel { - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - location() { - return this._json.location; - } -} -exports.CorrelationId = CorrelationId; diff --git a/apps/parser/cjs/old-api/external-docs.d.ts b/apps/parser/cjs/old-api/external-docs.d.ts deleted file mode 100644 index 67df99a8b..000000000 --- a/apps/parser/cjs/old-api/external-docs.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Base } from './base'; -import type { v2 } from '../spec-types'; -export declare class ExternalDocs extends Base { - url(): string; - hasDescription(): boolean; - description(): string | null; - hasExtensions(): boolean; - extensions(): v2.SpecificationExtensions; - extensionKeys(): string[]; - extKeys(): string[]; - hasExtension(extension: string): boolean; - extension(extension: string): v2.SpecificationExtension; - hasExt(extension: string): boolean; - ext(extension: string): any; -} diff --git a/apps/parser/cjs/old-api/external-docs.js b/apps/parser/cjs/old-api/external-docs.js deleted file mode 100644 index 5a481b949..000000000 --- a/apps/parser/cjs/old-api/external-docs.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ExternalDocs = void 0; -const base_1 = require("./base"); -const mixins_1 = require("./mixins"); -class ExternalDocs extends base_1.Base { - url() { - return this._json.url; - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - description() { - return (0, mixins_1.description)(this); - } - hasExtensions() { - return mixins_1.extensionsMixins.hasExtensions(this); - } - extensions() { - return mixins_1.extensionsMixins.extensions(this); - } - extensionKeys() { - return mixins_1.extensionsMixins.extensionKeys(this); - } - extKeys() { - return mixins_1.extensionsMixins.extKeys(this); - } - hasExtension(extension) { - return mixins_1.extensionsMixins.hasExtension(this, extension); - } - extension(extension) { - return mixins_1.extensionsMixins.extension(this, extension); - } - hasExt(extension) { - return mixins_1.extensionsMixins.hasExt(this, extension); - } - ext(extension) { - return mixins_1.extensionsMixins.ext(this, extension); - } -} -exports.ExternalDocs = ExternalDocs; diff --git a/apps/parser/cjs/old-api/index.d.ts b/apps/parser/cjs/old-api/index.d.ts deleted file mode 100644 index 3ad086673..000000000 --- a/apps/parser/cjs/old-api/index.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -export { convertToOldAPI, convertToNewAPI } from './converter'; -export { AsyncAPIDocument as OldAsyncAPIDocument } from './asyncapi'; -export { Base as OldBase } from './base'; -export { ChannelParameter as OldChannelParameter } from './channel-parameter'; -export { Channel as OldChannel } from './channel'; -export { Components as OldComponents } from './components'; -export { Contact as OldContact } from './contact'; -export { CorrelationId as OldCorrelationId } from './correlation-id'; -export { ExternalDocs as OldExternalDocs } from './external-docs'; -export { License as OldLicense } from './license'; -export { MessageTrait as OldMessageTrait } from './message-trait'; -export { Message as OldMessage } from './message'; -export { OAuthFlow as OldOAuthFlow } from './oauth-flow'; -export { OperationTrait as OldOperationTrait } from './operation-trait'; -export { Operation as OldOperation } from './operation'; -export { Schema as OldSchema } from './schema'; -export { SecurityRequirement as OldSecurityRequirement } from './security-requirement'; -export { SecurityScheme as OldSecurityScheme } from './security-scheme'; -export { ServerVariable as OldServerVariable } from './server-variable'; -export { Server as OldServer } from './server'; -export { Tag as OldTag } from './tag'; diff --git a/apps/parser/cjs/old-api/index.js b/apps/parser/cjs/old-api/index.js deleted file mode 100644 index 60b8a7166..000000000 --- a/apps/parser/cjs/old-api/index.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OldTag = exports.OldServer = exports.OldServerVariable = exports.OldSecurityScheme = exports.OldSecurityRequirement = exports.OldSchema = exports.OldOperation = exports.OldOperationTrait = exports.OldOAuthFlow = exports.OldMessage = exports.OldMessageTrait = exports.OldLicense = exports.OldExternalDocs = exports.OldCorrelationId = exports.OldContact = exports.OldComponents = exports.OldChannel = exports.OldChannelParameter = exports.OldBase = exports.OldAsyncAPIDocument = exports.convertToNewAPI = exports.convertToOldAPI = void 0; -var converter_1 = require("./converter"); -Object.defineProperty(exports, "convertToOldAPI", { enumerable: true, get: function () { return converter_1.convertToOldAPI; } }); -Object.defineProperty(exports, "convertToNewAPI", { enumerable: true, get: function () { return converter_1.convertToNewAPI; } }); -var asyncapi_1 = require("./asyncapi"); -Object.defineProperty(exports, "OldAsyncAPIDocument", { enumerable: true, get: function () { return asyncapi_1.AsyncAPIDocument; } }); -var base_1 = require("./base"); -Object.defineProperty(exports, "OldBase", { enumerable: true, get: function () { return base_1.Base; } }); -var channel_parameter_1 = require("./channel-parameter"); -Object.defineProperty(exports, "OldChannelParameter", { enumerable: true, get: function () { return channel_parameter_1.ChannelParameter; } }); -var channel_1 = require("./channel"); -Object.defineProperty(exports, "OldChannel", { enumerable: true, get: function () { return channel_1.Channel; } }); -var components_1 = require("./components"); -Object.defineProperty(exports, "OldComponents", { enumerable: true, get: function () { return components_1.Components; } }); -var contact_1 = require("./contact"); -Object.defineProperty(exports, "OldContact", { enumerable: true, get: function () { return contact_1.Contact; } }); -var correlation_id_1 = require("./correlation-id"); -Object.defineProperty(exports, "OldCorrelationId", { enumerable: true, get: function () { return correlation_id_1.CorrelationId; } }); -var external_docs_1 = require("./external-docs"); -Object.defineProperty(exports, "OldExternalDocs", { enumerable: true, get: function () { return external_docs_1.ExternalDocs; } }); -var license_1 = require("./license"); -Object.defineProperty(exports, "OldLicense", { enumerable: true, get: function () { return license_1.License; } }); -var message_trait_1 = require("./message-trait"); -Object.defineProperty(exports, "OldMessageTrait", { enumerable: true, get: function () { return message_trait_1.MessageTrait; } }); -var message_1 = require("./message"); -Object.defineProperty(exports, "OldMessage", { enumerable: true, get: function () { return message_1.Message; } }); -var oauth_flow_1 = require("./oauth-flow"); -Object.defineProperty(exports, "OldOAuthFlow", { enumerable: true, get: function () { return oauth_flow_1.OAuthFlow; } }); -var operation_trait_1 = require("./operation-trait"); -Object.defineProperty(exports, "OldOperationTrait", { enumerable: true, get: function () { return operation_trait_1.OperationTrait; } }); -var operation_1 = require("./operation"); -Object.defineProperty(exports, "OldOperation", { enumerable: true, get: function () { return operation_1.Operation; } }); -var schema_1 = require("./schema"); -Object.defineProperty(exports, "OldSchema", { enumerable: true, get: function () { return schema_1.Schema; } }); -var security_requirement_1 = require("./security-requirement"); -Object.defineProperty(exports, "OldSecurityRequirement", { enumerable: true, get: function () { return security_requirement_1.SecurityRequirement; } }); -var security_scheme_1 = require("./security-scheme"); -Object.defineProperty(exports, "OldSecurityScheme", { enumerable: true, get: function () { return security_scheme_1.SecurityScheme; } }); -var server_variable_1 = require("./server-variable"); -Object.defineProperty(exports, "OldServerVariable", { enumerable: true, get: function () { return server_variable_1.ServerVariable; } }); -var server_1 = require("./server"); -Object.defineProperty(exports, "OldServer", { enumerable: true, get: function () { return server_1.Server; } }); -var tag_1 = require("./tag"); -Object.defineProperty(exports, "OldTag", { enumerable: true, get: function () { return tag_1.Tag; } }); diff --git a/apps/parser/cjs/old-api/info.d.ts b/apps/parser/cjs/old-api/info.d.ts deleted file mode 100644 index 94d613d55..000000000 --- a/apps/parser/cjs/old-api/info.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Contact } from './contact'; -import { License } from './license'; -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class Info extends SpecificationExtensionsModel { - title(): string; - version(): string; - description(): string | null; - hasDescription(): boolean; - termsOfService(): string | undefined; - license(): License | null; - contact(): Contact | null; -} diff --git a/apps/parser/cjs/old-api/info.js b/apps/parser/cjs/old-api/info.js deleted file mode 100644 index cff4102ee..000000000 --- a/apps/parser/cjs/old-api/info.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Info = void 0; -const contact_1 = require("./contact"); -const license_1 = require("./license"); -const mixins_1 = require("./mixins"); -class Info extends mixins_1.SpecificationExtensionsModel { - title() { - return this._json.title; - } - version() { - return this._json.version; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - termsOfService() { - return this._json.termsOfService; - } - license() { - if (!this._json.license) - return null; - return new license_1.License(this._json.license); - } - contact() { - if (!this._json.contact) - return null; - return new contact_1.Contact(this._json.contact); - } -} -exports.Info = Info; diff --git a/apps/parser/cjs/old-api/iterator.d.ts b/apps/parser/cjs/old-api/iterator.d.ts deleted file mode 100644 index 419fc9546..000000000 --- a/apps/parser/cjs/old-api/iterator.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import type { AsyncAPIDocument } from './asyncapi'; -import type { Schema } from './schema'; -/** - * The different kind of stages when crawling a schema. - */ -export declare enum SchemaIteratorCallbackType { - NEW_SCHEMA = "NEW_SCHEMA", - END_SCHEMA = "END_SCHEMA" -} -/** - * The different types of schemas you can iterate - */ -export declare enum SchemaTypesToIterate { - parameters = "parameters", - payloads = "payloads", - headers = "headers", - components = "components", - objects = "objects", - arrays = "arrays", - oneOfs = "oneOfs", - allOfs = "allOfs", - anyOfs = "anyOfs", - nots = "nots", - propertyNames = "propertyNames", - patternProperties = "patternProperties", - contains = "contains", - ifs = "ifs", - thenes = "thenes", - elses = "elses", - dependencies = "dependencies", - definitions = "definitions" -} -export type TraverseOptions = { - callback: TraverseCallback; - schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; - seenSchemas: Set; -}; -export type TraverseCallback = (schema: Schema, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -export declare function traverseAsyncApiDocument(doc: AsyncAPIDocument, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/cjs/old-api/iterator.js b/apps/parser/cjs/old-api/iterator.js deleted file mode 100644 index 9dae5d7b1..000000000 --- a/apps/parser/cjs/old-api/iterator.js +++ /dev/null @@ -1,250 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.traverseAsyncApiDocument = exports.SchemaTypesToIterate = exports.SchemaIteratorCallbackType = void 0; -/** - * The different kind of stages when crawling a schema. - */ -var SchemaIteratorCallbackType; -(function (SchemaIteratorCallbackType) { - SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; - SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; -})(SchemaIteratorCallbackType = exports.SchemaIteratorCallbackType || (exports.SchemaIteratorCallbackType = {})); -/** - * The different types of schemas you can iterate - */ -var SchemaTypesToIterate; -(function (SchemaTypesToIterate) { - SchemaTypesToIterate["parameters"] = "parameters"; - SchemaTypesToIterate["payloads"] = "payloads"; - SchemaTypesToIterate["headers"] = "headers"; - SchemaTypesToIterate["components"] = "components"; - SchemaTypesToIterate["objects"] = "objects"; - SchemaTypesToIterate["arrays"] = "arrays"; - SchemaTypesToIterate["oneOfs"] = "oneOfs"; - SchemaTypesToIterate["allOfs"] = "allOfs"; - SchemaTypesToIterate["anyOfs"] = "anyOfs"; - SchemaTypesToIterate["nots"] = "nots"; - SchemaTypesToIterate["propertyNames"] = "propertyNames"; - SchemaTypesToIterate["patternProperties"] = "patternProperties"; - SchemaTypesToIterate["contains"] = "contains"; - SchemaTypesToIterate["ifs"] = "ifs"; - SchemaTypesToIterate["thenes"] = "thenes"; - SchemaTypesToIterate["elses"] = "elses"; - SchemaTypesToIterate["dependencies"] = "dependencies"; - SchemaTypesToIterate["definitions"] = "definitions"; -})(SchemaTypesToIterate = exports.SchemaTypesToIterate || (exports.SchemaTypesToIterate = {})); -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { - if (schemaTypesToIterate.length === 0) { - schemaTypesToIterate = Object.values(SchemaTypesToIterate); - } - const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; - Object.values(doc.channels()).forEach(channel => { - traverseChannel(channel, options); - }); - const components = doc.components(); - if (schemaTypesToIterate.includes(SchemaTypesToIterate.components) && components) { - Object.values(components.messages()).forEach(message => { - traverseMessage(message, options); - }); - Object.values(components.schemas()).forEach(schema => { - traverseSchema(schema, null, options); - }); - if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { - Object.values(components.parameters()).forEach(parameter => { - const schema = parameter.schema(); - if (schema) { - traverseSchema(schema, null, options); - } - }); - } - Object.values(components.messageTraits()).forEach(messageTrait => { - traverseMessageTrait(messageTrait, options); - }); - } -} -exports.traverseAsyncApiDocument = traverseAsyncApiDocument; -/* eslint-disable sonarjs/cognitive-complexity */ -/** - * Traverse current schema and all nested schemas. - */ -function traverseSchema(schema, propOrIndex, options) { - if (!schema) - return; - const { schemaTypesToIterate, callback, seenSchemas } = options; - // handle circular references - const jsonSchema = schema.json(); - if (seenSchemas.has(jsonSchema)) - return; - seenSchemas.add(jsonSchema); - // `type` isn't required so save type as array in the fallback - let types = schema.type() || []; - // change primitive type to array of types for easier handling - if (!Array.isArray(types)) { - types = [types]; - } - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) - return; - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) - return; - // check callback `NEW_SCHEMA` case - if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) - return; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) { - recursiveSchemaObject(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) { - recursiveSchemaArray(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.oneOfs)) { - (schema.oneOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.anyOfs)) { - (schema.anyOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.allOfs)) { - (schema.allOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.nots) && schema.not()) { - traverseSchema(schema.not(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.ifs) && schema.if()) { - traverseSchema(schema.if(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.thenes) && schema.then()) { - traverseSchema(schema.then(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.elses) && schema.else()) { - traverseSchema(schema.else(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.dependencies)) { - Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { - // do not iterate dependent required - if (dep && !Array.isArray(dep)) { - traverseSchema(dep, depName, options); - } - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.definitions)) { - Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { - traverseSchema(def, defName, options); - }); - } - callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); - seenSchemas.delete(jsonSchema); -} -/* eslint-enable sonarjs/cognitive-complexity */ -/** - * Recursively go through schema of object type and execute callback. - */ -function recursiveSchemaObject(schema, options) { - Object.entries(schema.properties()).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - const additionalProperties = schema.additionalProperties(); - if (typeof additionalProperties === 'object') { - traverseSchema(additionalProperties, null, options); - } - const schemaTypesToIterate = options.schemaTypesToIterate; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.propertyNames) && schema.propertyNames()) { - traverseSchema(schema.propertyNames(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.patternProperties)) { - Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - } -} -/** - * Recursively go through schema of array type and execute callback. - */ -function recursiveSchemaArray(schema, options) { - const items = schema.items(); - if (items) { - if (Array.isArray(items)) { - items.forEach((item, idx) => { - traverseSchema(item, idx, options); - }); - } - else { - traverseSchema(items, null, options); - } - } - const additionalItems = schema.additionalItems(); - if (typeof additionalItems === 'object') { - traverseSchema(additionalItems, null, options); - } - if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { - traverseSchema(schema.contains(), null, options); - } -} -/** - * Go through each schema in channel - */ -function traverseChannel(channel, options) { - if (!channel) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { - Object.values(channel.parameters() || {}).forEach(parameter => { - const schema = parameter.schema(); - if (schema) { - traverseSchema(schema, null, options); - } - }); - } - const publish = channel.publish(); - if (publish) { - publish.messages().forEach(message => { - traverseMessage(message, options); - }); - } - const subscribe = channel.subscribe(); - if (subscribe) { - subscribe.messages().forEach(message => { - traverseMessage(message, options); - }); - } -} -/** - * Go through each schema in a message - */ -function traverseMessage(message, options) { - if (!message) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { - const headers = message.headers(); - if (headers) { - traverseSchema(headers, null, options); - } - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.payloads)) { - const payload = message.payload(); - if (payload) { - traverseSchema(payload, null, options); - } - } -} -/** - * Go through each schema in a messageTrait - */ -function traverseMessageTrait(messageTrait, options) { - if (!messageTrait) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { - const headers = messageTrait.headers(); - if (headers) { - traverseSchema(headers, null, options); - } - } -} diff --git a/apps/parser/cjs/old-api/license.d.ts b/apps/parser/cjs/old-api/license.d.ts deleted file mode 100644 index 2e926b988..000000000 --- a/apps/parser/cjs/old-api/license.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class License extends SpecificationExtensionsModel { - name(): string; - url(): string | undefined; -} diff --git a/apps/parser/cjs/old-api/license.js b/apps/parser/cjs/old-api/license.js deleted file mode 100644 index 2d5916002..000000000 --- a/apps/parser/cjs/old-api/license.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.License = void 0; -const mixins_1 = require("./mixins"); -class License extends mixins_1.SpecificationExtensionsModel { - name() { - return this._json.name; - } - url() { - return this._json.url; - } -} -exports.License = License; diff --git a/apps/parser/cjs/old-api/message-trait.d.ts b/apps/parser/cjs/old-api/message-trait.d.ts deleted file mode 100644 index e4a7f5825..000000000 --- a/apps/parser/cjs/old-api/message-trait.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { CorrelationId } from './correlation-id'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -export declare class MessageTrait extends SpecificationExtensionsModel { - id(): string | undefined; - headers(): Schema | null; - header(name: string): Schema | null; - correlationId(): CorrelationId | null; - schemaFormat(): string; - contentType(): string | undefined; - name(): string | undefined; - title(): string | undefined; - summary(): string | undefined; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; - examples(): v2.MessageExampleObject[] | undefined; -} diff --git a/apps/parser/cjs/old-api/message-trait.js b/apps/parser/cjs/old-api/message-trait.js deleted file mode 100644 index 2066f4e69..000000000 --- a/apps/parser/cjs/old-api/message-trait.js +++ /dev/null @@ -1,87 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageTrait = void 0; -const mixins_1 = require("./mixins"); -const correlation_id_1 = require("./correlation-id"); -const schema_1 = require("./schema"); -class MessageTrait extends mixins_1.SpecificationExtensionsModel { - id() { - return this._json.messageId; - } - headers() { - if (!this._json.headers) - return null; - return new schema_1.Schema(this._json.headers); - } - header(name) { - if (!this._json.headers) - return null; - return (0, mixins_1.getMapValue)(this._json.headers.properties || {}, name, schema_1.Schema); - } - correlationId() { - if (!this._json.correlationId) - return null; - return new correlation_id_1.CorrelationId(this._json.correlationId); - } - schemaFormat() { - return this._json.schemaFormat; // Old API points always to the default schema format for given AsyncAPI version, so we need to force returned type as string. - } - contentType() { - return this._json.contentType; - } - name() { - return this._json.name; - } - title() { - return this._json.title; - } - summary() { - return this._json.summary; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - hasTags() { - return mixins_1.tagsMixins.hasTags(this); - } - tags() { - return mixins_1.tagsMixins.tags(this); - } - tagNames() { - return mixins_1.tagsMixins.tagNames(this); - } - hasTag(name) { - return mixins_1.tagsMixins.hasTag(this, name); - } - tag(name) { - return mixins_1.tagsMixins.tag(this, name); - } - hasBindings() { - return mixins_1.bindingsMixins.hasBindings(this); - } - bindings() { - return mixins_1.bindingsMixins.bindings(this); - } - bindingProtocols() { - return mixins_1.bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return mixins_1.bindingsMixins.hasBinding(this, name); - } - binding(name) { - return mixins_1.bindingsMixins.binding(this, name); - } - examples() { - return this._json.examples; - } -} -exports.MessageTrait = MessageTrait; diff --git a/apps/parser/cjs/old-api/message.d.ts b/apps/parser/cjs/old-api/message.d.ts deleted file mode 100644 index 08e26b8f3..000000000 --- a/apps/parser/cjs/old-api/message.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { MessageTrait } from './message-trait'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -export declare class Message extends MessageTrait { - uid(): string; - payload(): Schema | null; - traits(): MessageTrait[]; - hasTraits(): boolean; - originalPayload(): any; - originalSchemaFormat(): string; -} diff --git a/apps/parser/cjs/old-api/message.js b/apps/parser/cjs/old-api/message.js deleted file mode 100644 index 54493b756..000000000 --- a/apps/parser/cjs/old-api/message.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Message = void 0; -const message_trait_1 = require("./message-trait"); -const schema_1 = require("./schema"); -const constants_1 = require("../constants"); -class Message extends message_trait_1.MessageTrait { - uid() { - return this.id() || this.name() || this.ext(constants_1.xParserMessageName); - } - payload() { - if (!this._json.payload) - return null; - return new schema_1.Schema(this._json.payload); - } - traits() { - const traits = this.ext(constants_1.xParserOriginalTraits) || this._json.traits; - if (!traits) - return []; - return traits.map(t => new message_trait_1.MessageTrait(t)); - } - hasTraits() { - return !!this.ext(constants_1.xParserOriginalTraits) || !!this._json.traits; - } - originalPayload() { - return this.ext(constants_1.xParserOriginalPayload) || this.payload(); - } - originalSchemaFormat() { - return this.ext(constants_1.xParserOriginalSchemaFormat) || this.schemaFormat(); - } -} -exports.Message = Message; diff --git a/apps/parser/cjs/old-api/mixins.d.ts b/apps/parser/cjs/old-api/mixins.d.ts deleted file mode 100644 index 4985944d7..000000000 --- a/apps/parser/cjs/old-api/mixins.d.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Base } from './base'; -import { ExternalDocs } from './external-docs'; -import { Tag } from './tag'; -import type { v2 } from '../spec-types'; -export declare abstract class SpecificationExtensionsModel = Record> extends Base { - hasExtensions(): boolean; - extensions(): v2.SpecificationExtensions; - extensionKeys(): string[]; - extKeys(): string[]; - hasExtension(extension: string): boolean; - extension(extension: string): v2.SpecificationExtension; - hasExt(extension: string): boolean; - ext(extension: string): any; -} -export declare function hasDescription(model: Base<{ - description?: string; -}>): boolean; -export declare function description(model: Base<{ - description?: string; -}>): string | null; -export declare function hasExternalDocs(model: Base<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): boolean; -export declare function externalDocs(model: Base<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): ExternalDocs | null; -export declare const extensionsMixins: { - hasExtensions(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): boolean; - extensions(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): v2.SpecificationExtensions; - extensionKeys(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): string[]; - extKeys(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): string[]; - hasExtension(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): boolean; - extension(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): v2.SpecificationExtension | null; - hasExt(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): boolean; - ext(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): any; -}; -export declare const bindingsMixins: { - hasBindings(model: Base<{ - bindings?: Record; - }>): boolean; - bindings(model: Base<{ - bindings?: Record; - }>): Record; - bindingProtocols(model: Base<{ - bindings?: Record; - }>): string[]; - hasBinding(model: Base<{ - bindings?: Record; - }>, name: string): boolean; - binding(model: Base<{ - bindings?: Record; - }>, name: string): v2.Binding | null; -}; -export declare const tagsMixins: { - hasTags(model: Base<{ - tags?: Array; - }>): boolean; - tags(model: Base<{ - tags?: Array; - }>): Array; - tagNames(model: Base<{ - tags?: Array; - }>): string[]; - hasTag(model: Base<{ - tags?: Array; - }>, name: string): boolean; - tag(model: Base<{ - tags?: Array; - }>, name: string): Tag | null; -}; -interface Constructor extends Function { - new (...any: any[]): T; -} -type InferModelData = T extends Base ? J : never; -type InferModelMetadata = T extends Base ? M : never; -export declare function getMapValue, K extends keyof T>(obj: T | undefined, key: K): T[K] | null; -export declare function getMapValue(obj: Record> | undefined, key: string, Type: Constructor, meta?: InferModelMetadata): T | null; -export declare function createMapOfType(obj: Record> | undefined, Type: Constructor, meta?: InferModelMetadata): Record; -export {}; diff --git a/apps/parser/cjs/old-api/mixins.js b/apps/parser/cjs/old-api/mixins.js deleted file mode 100644 index 197b679b0..000000000 --- a/apps/parser/cjs/old-api/mixins.js +++ /dev/null @@ -1,148 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createMapOfType = exports.getMapValue = exports.tagsMixins = exports.bindingsMixins = exports.extensionsMixins = exports.externalDocs = exports.hasExternalDocs = exports.description = exports.hasDescription = exports.SpecificationExtensionsModel = void 0; -const base_1 = require("./base"); -const external_docs_1 = require("./external-docs"); -const tag_1 = require("./tag"); -const constants_1 = require("../constants"); -class SpecificationExtensionsModel extends base_1.Base { - hasExtensions() { - return exports.extensionsMixins.hasExtensions(this); - } - extensions() { - return exports.extensionsMixins.extensions(this); - } - extensionKeys() { - return exports.extensionsMixins.extensionKeys(this); - } - extKeys() { - return exports.extensionsMixins.extKeys(this); - } - hasExtension(extension) { - return exports.extensionsMixins.hasExtension(this, extension); - } - extension(extension) { - return exports.extensionsMixins.extension(this, extension); - } - hasExt(extension) { - return exports.extensionsMixins.hasExt(this, extension); - } - ext(extension) { - return exports.extensionsMixins.ext(this, extension); - } -} -exports.SpecificationExtensionsModel = SpecificationExtensionsModel; -function hasDescription(model) { - return Boolean(model.json('description')); -} -exports.hasDescription = hasDescription; -function description(model) { - const description = model.json('description'); - return typeof description === 'string' ? description : null; -} -exports.description = description; -function hasExternalDocs(model) { - return Object.keys(model.json('externalDocs') || {}).length > 0; -} -exports.hasExternalDocs = hasExternalDocs; -function externalDocs(model) { - if (typeof model.json('externalDocs') === 'object') { - return new external_docs_1.ExternalDocs(model.json('externalDocs')); - } - return null; -} -exports.externalDocs = externalDocs; -exports.extensionsMixins = { - hasExtensions(model) { - return !!exports.extensionsMixins.extensionKeys(model).length; - }, - extensions(model) { - const result = {}; - Object.entries(model.json()).forEach(([key, value]) => { - if (constants_1.EXTENSION_REGEX.test(key)) { - result[key] = value; - } - }); - return result; - }, - extensionKeys(model) { - return Object.keys(exports.extensionsMixins.extensions(model)); - }, - extKeys(model) { - return exports.extensionsMixins.extensionKeys(model); - }, - hasExtension(model, extension) { - if (!extension.startsWith('x-')) { - return false; - } - return !!model.json()[extension]; - }, - extension(model, extension) { - if (!extension.startsWith('x-')) { - return null; - } - return model.json()[extension]; - }, - hasExt(model, extension) { - return exports.extensionsMixins.hasExtension(model, extension); - }, - ext(model, extension) { - return exports.extensionsMixins.extension(model, extension); - }, -}; -exports.bindingsMixins = { - hasBindings(model) { - return !!Object.keys(exports.bindingsMixins.bindings(model)).length; - }, - bindings(model) { - return model.json('bindings') || {}; - }, - bindingProtocols(model) { - return Object.keys(exports.bindingsMixins.bindings(model)); - }, - hasBinding(model, name) { - return !!exports.bindingsMixins.binding(model, name); - }, - binding(model, name) { - return getMapValue(model.json('bindings'), name); - }, -}; -exports.tagsMixins = { - hasTags(model) { - return !!exports.tagsMixins.tags(model).length; - }, - tags(model) { - const tags = model.json('tags'); - return tags ? tags.map(t => new tag_1.Tag(t)) : []; - }, - tagNames(model) { - const tags = model.json('tags'); - return tags ? tags.map(t => t.name) : []; - }, - hasTag(model, name) { - return !!exports.tagsMixins.tag(model, name); - }, - tag(model, name) { - const tg = (model.json('tags') || []).find(t => t.name === name); - return tg ? new tag_1.Tag(tg) : null; - }, -}; -function getMapValue(obj, key, Type, meta) { - if (typeof key !== 'string' || !obj) - return null; - const v = obj[String(key)]; - if (v === undefined) - return null; - return Type ? new Type(v, meta) : v; -} -exports.getMapValue = getMapValue; -function createMapOfType(obj, Type, meta) { - const result = {}; - if (!obj) - return result; - Object.entries(obj).forEach(([key, value]) => { - result[key] = new Type(value, meta); - }); - return result; -} -exports.createMapOfType = createMapOfType; diff --git a/apps/parser/cjs/old-api/oauth-flow.d.ts b/apps/parser/cjs/old-api/oauth-flow.d.ts deleted file mode 100644 index 0621e5b7e..000000000 --- a/apps/parser/cjs/old-api/oauth-flow.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class OAuthFlow extends SpecificationExtensionsModel { - authorizationUrl(): string; - tokenUrl(): string; - refreshUrl(): string | undefined; - scopes(): Record; -} diff --git a/apps/parser/cjs/old-api/oauth-flow.js b/apps/parser/cjs/old-api/oauth-flow.js deleted file mode 100644 index ed8625948..000000000 --- a/apps/parser/cjs/old-api/oauth-flow.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OAuthFlow = void 0; -const mixins_1 = require("./mixins"); -class OAuthFlow extends mixins_1.SpecificationExtensionsModel { - authorizationUrl() { - return this._json.authorizationUrl; - } - tokenUrl() { - return this._json.tokenUrl; - } - refreshUrl() { - return this._json.refreshUrl; - } - scopes() { - return this._json.scopes; - } -} -exports.OAuthFlow = OAuthFlow; diff --git a/apps/parser/cjs/old-api/operation-trait.d.ts b/apps/parser/cjs/old-api/operation-trait.d.ts deleted file mode 100644 index 9e48932d7..000000000 --- a/apps/parser/cjs/old-api/operation-trait.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { SecurityRequirement } from './security-requirement'; -import type { v2 } from '../spec-types'; -export declare class OperationTrait extends SpecificationExtensionsModel { - isPublish(): boolean; - isSubscribe(): boolean; - kind(): "subscribe" | "publish"; - id(): string | undefined; - summary(): string | undefined; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; - security(): SecurityRequirement[] | null; -} diff --git a/apps/parser/cjs/old-api/operation-trait.js b/apps/parser/cjs/old-api/operation-trait.js deleted file mode 100644 index 731253693..000000000 --- a/apps/parser/cjs/old-api/operation-trait.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperationTrait = void 0; -const mixins_1 = require("./mixins"); -const security_requirement_1 = require("./security-requirement"); -class OperationTrait extends mixins_1.SpecificationExtensionsModel { - isPublish() { - return this._meta.kind === 'publish'; - } - isSubscribe() { - return this._meta.kind === 'subscribe'; - } - kind() { - return this._meta.kind; - } - id() { - return this._json.operationId; - } - summary() { - return this._json.summary; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - hasTags() { - return mixins_1.tagsMixins.hasTags(this); - } - tags() { - return mixins_1.tagsMixins.tags(this); - } - tagNames() { - return mixins_1.tagsMixins.tagNames(this); - } - hasTag(name) { - return mixins_1.tagsMixins.hasTag(this, name); - } - tag(name) { - return mixins_1.tagsMixins.tag(this, name); - } - hasBindings() { - return mixins_1.bindingsMixins.hasBindings(this); - } - bindings() { - return mixins_1.bindingsMixins.bindings(this); - } - bindingProtocols() { - return mixins_1.bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return mixins_1.bindingsMixins.hasBinding(this, name); - } - binding(name) { - return mixins_1.bindingsMixins.binding(this, name); - } - security() { - if (!this._json.security) - return null; - return this._json.security.map(sec => new security_requirement_1.SecurityRequirement(sec)); - } -} -exports.OperationTrait = OperationTrait; diff --git a/apps/parser/cjs/old-api/operation.d.ts b/apps/parser/cjs/old-api/operation.d.ts deleted file mode 100644 index 057caa8e8..000000000 --- a/apps/parser/cjs/old-api/operation.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { OperationTrait } from './operation-trait'; -import { Message } from './message'; -import type { v2 } from '../spec-types'; -export declare class Operation extends OperationTrait { - traits(): OperationTrait[]; - hasTraits(): boolean; - hasMultipleMessages(): boolean; - messages(): Message[]; - message(index?: number | string): Message | null; -} diff --git a/apps/parser/cjs/old-api/operation.js b/apps/parser/cjs/old-api/operation.js deleted file mode 100644 index b5f0331bc..000000000 --- a/apps/parser/cjs/old-api/operation.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Operation = void 0; -const operation_trait_1 = require("./operation-trait"); -const message_1 = require("./message"); -class Operation extends operation_trait_1.OperationTrait { - traits() { - const traits = this._json['x-parser-original-traits'] || this._json.traits; - if (!traits) - return []; - return traits.map(t => new operation_trait_1.OperationTrait(t)); - } - hasTraits() { - return !!this._json['x-parser-original-traits'] || !!this._json.traits; - } - hasMultipleMessages() { - const message = this._json.message; - // eslint-disable-next-line sonarjs/prefer-single-boolean-return - if (message && message.oneOf && message.oneOf.length > 1) - return true; - return false; - } - messages() { - const message = this._json.message; - if (!message) - return []; - if (message.oneOf) - return message.oneOf.map(m => new message_1.Message(m)); - return [new message_1.Message(message)]; - } - message(index) { - const message = this._json.message; - if (!message) - return null; - if (message.oneOf && message.oneOf.length === 1) - return new message_1.Message(message.oneOf[0]); - if (!message.oneOf) - return new message_1.Message(message); - if (typeof index !== 'number') - return null; - if (index > message.oneOf.length - 1) - return null; - return new message_1.Message(message.oneOf[+index]); - } -} -exports.Operation = Operation; diff --git a/apps/parser/cjs/old-api/schema.d.ts b/apps/parser/cjs/old-api/schema.d.ts deleted file mode 100644 index d4a2bb039..000000000 --- a/apps/parser/cjs/old-api/schema.d.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class Schema extends SpecificationExtensionsModel { - uid(): any; - $id(): string | undefined; - multipleOf(): number | undefined; - maximum(): number | undefined; - exclusiveMaximum(): number | undefined; - minimum(): number | undefined; - exclusiveMinimum(): number | undefined; - maxLength(): number | undefined; - minLength(): number | undefined; - pattern(): string | undefined; - maxItems(): number | undefined; - minItems(): number | undefined; - uniqueItems(): boolean | undefined; - maxProperties(): number | undefined; - minProperties(): number | undefined; - required(): string[] | undefined; - enum(): import("json-schema").JSONSchema7Type[] | undefined; - type(): import("json-schema").JSONSchema7TypeName | import("json-schema").JSONSchema7TypeName[] | undefined; - allOf(): Schema[] | null; - oneOf(): Schema[] | null; - anyOf(): Schema[] | null; - not(): Schema | null; - items(): Schema | Schema[] | null; - properties(): Record; - property(name: string): Schema | null; - additionalProperties(): boolean | Schema | undefined; - additionalItems(): Schema | undefined; - patternProperties(): Record; - const(): import("json-schema").JSONSchema7Type | undefined; - contains(): Schema | null; - dependencies(): Record | null; - propertyNames(): Schema | null; - if(): Schema | null; - then(): Schema | null; - else(): Schema | null; - format(): string | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - definitions(): Record; - title(): string | undefined; - default(): import("json-schema").JSONSchema7Type | undefined; - deprecated(): boolean | undefined; - discriminator(): string | undefined; - readOnly(): boolean | undefined; - writeOnly(): boolean | undefined; - examples(): import("json-schema").JSONSchema7Type[] | undefined; - isBooleanSchema(): boolean; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - isCircular(): boolean; - circularSchema(): Schema | undefined; - hasCircularProps(): boolean; - circularProps(): any; - protected __get(key: K): v2.AsyncAPISchemaDefinition[K] | undefined; - protected __createChild(s: v2.AsyncAPISchemaObject): Schema; -} diff --git a/apps/parser/cjs/old-api/schema.js b/apps/parser/cjs/old-api/schema.js deleted file mode 100644 index 4353de374..000000000 --- a/apps/parser/cjs/old-api/schema.js +++ /dev/null @@ -1,242 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Schema = void 0; -const mixins_1 = require("./mixins"); -const constants_1 = require("../constants"); -class Schema extends mixins_1.SpecificationExtensionsModel { - uid() { - return this.$id() || this.ext('x-parser-schema-id'); - } - $id() { - return this.__get('$id'); - } - multipleOf() { - return this.__get('multipleOf'); - } - maximum() { - return this.__get('maximum'); - } - exclusiveMaximum() { - return this.__get('exclusiveMaximum'); - } - minimum() { - return this.__get('minimum'); - } - exclusiveMinimum() { - return this.__get('exclusiveMinimum'); - } - maxLength() { - return this.__get('maxLength'); - } - minLength() { - return this.__get('minLength'); - } - pattern() { - return this.__get('pattern'); - } - maxItems() { - return this.__get('maxItems'); - } - minItems() { - return this.__get('minItems'); - } - uniqueItems() { - return this.__get('uniqueItems'); - } - maxProperties() { - return this.__get('maxProperties'); - } - minProperties() { - return this.__get('minProperties'); - } - required() { - return this.__get('required'); - } - enum() { - return this.__get('enum'); - } - type() { - return this.__get('type'); - } - allOf() { - const allOf = this.__get('allOf'); - return !allOf ? null : allOf.map(this.__createChild); - } - oneOf() { - const oneOf = this.__get('oneOf'); - return !oneOf ? null : oneOf.map(this.__createChild); - } - anyOf() { - const anyOf = this.__get('anyOf'); - return !anyOf ? null : anyOf.map(this.__createChild); - } - not() { - const not = this.__get('not'); - return !not ? null : this.__createChild(not); - } - items() { - const items = this.__get('items'); - if (!items) - return null; - if (Array.isArray(items)) { - return items.map(this.__createChild); - } - return this.__createChild(items); - } - properties() { - return (0, mixins_1.createMapOfType)(this.__get('properties'), Schema, { parent: this }); - } - property(name) { - return (0, mixins_1.getMapValue)(this.__get('properties'), name, Schema, { parent: this }); - } - additionalProperties() { - const additionalProperties = this.__get('additionalProperties'); - if (typeof additionalProperties === 'boolean') - return additionalProperties; - if (additionalProperties === undefined || additionalProperties === null) - return; - return this.__createChild(additionalProperties); - } - additionalItems() { - const additionalItems = this.__get('additionalItems'); - if (additionalItems === undefined || additionalItems === null) - return; - return this.__createChild(additionalItems); - } - patternProperties() { - return (0, mixins_1.createMapOfType)(this.__get('patternProperties'), Schema, { parent: this }); - } - const() { - return this.__get('const'); - } - contains() { - const contains = this.__get('contains'); - return typeof contains === 'undefined' ? null : this.__createChild(contains); - } - dependencies() { - const dependencies = this.__get('dependencies'); - if (!dependencies) - return null; - const result = {}; - Object.entries(dependencies).forEach(([key, value]) => { - result[key] = !Array.isArray(value) ? this.__createChild(value) : value; - }); - return result; - } - propertyNames() { - const propertyNames = this.__get('propertyNames'); - return typeof propertyNames === 'undefined' ? null : this.__createChild(propertyNames); - } - if() { - const _if = this.__get('if'); - return typeof _if === 'undefined' ? null : this.__createChild(_if); - } - then() { - const _then = this.__get('then'); - return typeof _then === 'undefined' ? null : this.__createChild(_then); - } - else() { - const _else = this.__get('else'); - return typeof _else === 'undefined' ? null : this.__createChild(_else); - } - format() { - return this.__get('format'); - } - contentEncoding() { - return this.__get('contentEncoding'); - } - contentMediaType() { - return this.__get('contentMediaType'); - } - definitions() { - return (0, mixins_1.createMapOfType)(this.__get('definitions'), Schema, { parent: this }); - } - title() { - return this.__get('title'); - } - default() { - return this.__get('default'); - } - deprecated() { - return this.__get('deprecated'); - } - discriminator() { - return this.__get('discriminator'); - } - readOnly() { - return this.__get('readOnly'); - } - writeOnly() { - return this.__get('writeOnly'); - } - examples() { - return this.__get('examples'); - } - isBooleanSchema() { - return typeof this._json === 'boolean'; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - isCircular() { - if (this.ext(constants_1.xParserCircular)) { - return true; - } - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._json) - return true; - parent = parent._meta && parent._meta.parent; - } - return false; - } - circularSchema() { - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._json) - return parent; - parent = parent._meta && parent._meta.parent; - } - } - hasCircularProps() { - if (Array.isArray(this.ext(constants_1.xParserCircularProps))) { - return this.ext(constants_1.xParserCircularProps).length > 0; - } - return Object.entries(this.properties() || {}) - .map(([propertyName, property]) => { - if (property.isCircular()) - return propertyName; - }) - .filter(Boolean) - .length > 0; - } - circularProps() { - if (Array.isArray(this.ext(constants_1.xParserCircularProps))) { - return this.ext(constants_1.xParserCircularProps); - } - return Object.entries(this.properties() || {}) - .map(([propertyName, property]) => { - if (property.isCircular()) - return propertyName; - }) - .filter(Boolean); - } - __get(key) { - if (typeof this._json === 'boolean') - return; - return this._json[key]; - } - __createChild(s) { - return new Schema(s, { parent: this }); - } -} -exports.Schema = Schema; diff --git a/apps/parser/cjs/old-api/security-requirement.d.ts b/apps/parser/cjs/old-api/security-requirement.d.ts deleted file mode 100644 index 034e0c317..000000000 --- a/apps/parser/cjs/old-api/security-requirement.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Base } from './base'; -import type { v2 } from '../spec-types'; -export declare class SecurityRequirement extends Base { -} diff --git a/apps/parser/cjs/old-api/security-requirement.js b/apps/parser/cjs/old-api/security-requirement.js deleted file mode 100644 index 032888ba1..000000000 --- a/apps/parser/cjs/old-api/security-requirement.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityRequirement = void 0; -const base_1 = require("./base"); -class SecurityRequirement extends base_1.Base { -} -exports.SecurityRequirement = SecurityRequirement; diff --git a/apps/parser/cjs/old-api/security-scheme.d.ts b/apps/parser/cjs/old-api/security-scheme.d.ts deleted file mode 100644 index bde080425..000000000 --- a/apps/parser/cjs/old-api/security-scheme.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { OAuthFlow } from './oauth-flow'; -import type { v2 } from '../spec-types'; -export declare class SecurityScheme extends SpecificationExtensionsModel { - type(): v2.SecuritySchemeType; - description(): string | null; - hasDescription(): boolean; - name(): string | undefined; - in(): "user" | "password" | "query" | "header" | "cookie" | undefined; - scheme(): string | undefined; - bearerFormat(): string | undefined; - openIdConnectUrl(): string | undefined; - flows(): Record; -} diff --git a/apps/parser/cjs/old-api/security-scheme.js b/apps/parser/cjs/old-api/security-scheme.js deleted file mode 100644 index 66e8b32a5..000000000 --- a/apps/parser/cjs/old-api/security-scheme.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SecurityScheme = void 0; -const mixins_1 = require("./mixins"); -const oauth_flow_1 = require("./oauth-flow"); -class SecurityScheme extends mixins_1.SpecificationExtensionsModel { - type() { - return this._json.type; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - name() { - return this._json.name; - } - in() { - return this._json.in; - } - scheme() { - return this._json.scheme; - } - bearerFormat() { - return this._json.bearerFormat; - } - openIdConnectUrl() { - return this._json.openIdConnectUrl; - } - flows() { - return (0, mixins_1.createMapOfType)(this._json.flows, oauth_flow_1.OAuthFlow); - } -} -exports.SecurityScheme = SecurityScheme; diff --git a/apps/parser/cjs/old-api/server-variable.d.ts b/apps/parser/cjs/old-api/server-variable.d.ts deleted file mode 100644 index ed17f1d6f..000000000 --- a/apps/parser/cjs/old-api/server-variable.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class ServerVariable extends SpecificationExtensionsModel { - allowedValues(): string[] | undefined; - allows(name: string): boolean; - hasAllowedValues(): boolean; - description(): string | null; - hasDescription(): boolean; - defaultValue(): string | undefined; - hasDefaultValue(): boolean; - examples(): string[] | undefined; -} diff --git a/apps/parser/cjs/old-api/server-variable.js b/apps/parser/cjs/old-api/server-variable.js deleted file mode 100644 index ecb9971ba..000000000 --- a/apps/parser/cjs/old-api/server-variable.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ServerVariable = void 0; -const mixins_1 = require("./mixins"); -class ServerVariable extends mixins_1.SpecificationExtensionsModel { - allowedValues() { - return this._json.enum; - } - allows(name) { - if (this._json.enum === undefined) - return true; - return this._json.enum.includes(name); - } - hasAllowedValues() { - return this._json.enum !== undefined; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - defaultValue() { - return this._json.default; - } - hasDefaultValue() { - return this._json.default !== undefined; - } - examples() { - return this._json.examples; - } -} -exports.ServerVariable = ServerVariable; diff --git a/apps/parser/cjs/old-api/server.d.ts b/apps/parser/cjs/old-api/server.d.ts deleted file mode 100644 index e4a46cd23..000000000 --- a/apps/parser/cjs/old-api/server.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { ServerVariable } from './server-variable'; -import { SecurityRequirement } from './security-requirement'; -import type { v2 } from '../spec-types'; -export declare class Server extends SpecificationExtensionsModel { - url(): string; - protocol(): string; - protocolVersion(): string | undefined; - description(): string | null; - hasDescription(): boolean; - variables(): Record; - variable(name: string): ServerVariable | null; - hasVariables(): boolean; - security(): SecurityRequirement[] | null; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; -} diff --git a/apps/parser/cjs/old-api/server.js b/apps/parser/cjs/old-api/server.js deleted file mode 100644 index 7cd286bdd..000000000 --- a/apps/parser/cjs/old-api/server.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Server = void 0; -const mixins_1 = require("./mixins"); -const server_variable_1 = require("./server-variable"); -const security_requirement_1 = require("./security-requirement"); -class Server extends mixins_1.SpecificationExtensionsModel { - url() { - return this._json.url; - } - protocol() { - return this._json.protocol; - } - protocolVersion() { - return this._json.protocolVersion; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - variables() { - return (0, mixins_1.createMapOfType)(this._json.variables, server_variable_1.ServerVariable); - } - variable(name) { - return (0, mixins_1.getMapValue)(this._json.variables, name, server_variable_1.ServerVariable); - } - hasVariables() { - return !!this._json.variables; - } - security() { - if (!this._json.security) - return null; - return this._json.security.map(sec => new security_requirement_1.SecurityRequirement(sec)); - } - hasBindings() { - return mixins_1.bindingsMixins.hasBindings(this); - } - bindings() { - return mixins_1.bindingsMixins.bindings(this); - } - bindingProtocols() { - return mixins_1.bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return mixins_1.bindingsMixins.hasBinding(this, name); - } - binding(name) { - return mixins_1.bindingsMixins.binding(this, name); - } - hasTags() { - return mixins_1.tagsMixins.hasTags(this); - } - tags() { - return mixins_1.tagsMixins.tags(this); - } - tagNames() { - return mixins_1.tagsMixins.tagNames(this); - } - hasTag(name) { - return mixins_1.tagsMixins.hasTag(this, name); - } - tag(name) { - return mixins_1.tagsMixins.tag(this, name); - } -} -exports.Server = Server; diff --git a/apps/parser/cjs/old-api/tag.d.ts b/apps/parser/cjs/old-api/tag.d.ts deleted file mode 100644 index f895f29e7..000000000 --- a/apps/parser/cjs/old-api/tag.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Base } from './base'; -import type { v2 } from '../spec-types'; -export declare class Tag extends Base { - name(): string; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasExtensions(): boolean; - extensions(): v2.SpecificationExtensions; - extensionKeys(): string[]; - extKeys(): string[]; - hasExtension(extension: string): boolean; - extension(extension: string): v2.SpecificationExtension; - hasExt(extension: string): boolean; - ext(extension: string): any; -} diff --git a/apps/parser/cjs/old-api/tag.js b/apps/parser/cjs/old-api/tag.js deleted file mode 100644 index 265b22580..000000000 --- a/apps/parser/cjs/old-api/tag.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Tag = void 0; -const base_1 = require("./base"); -const mixins_1 = require("./mixins"); -class Tag extends base_1.Base { - name() { - return this._json.name; - } - description() { - return (0, mixins_1.description)(this); - } - hasDescription() { - return (0, mixins_1.hasDescription)(this); - } - externalDocs() { - return (0, mixins_1.externalDocs)(this); - } - hasExternalDocs() { - return (0, mixins_1.hasExternalDocs)(this); - } - hasExtensions() { - return mixins_1.extensionsMixins.hasExtensions(this); - } - extensions() { - return mixins_1.extensionsMixins.extensions(this); - } - extensionKeys() { - return mixins_1.extensionsMixins.extensionKeys(this); - } - extKeys() { - return mixins_1.extensionsMixins.extKeys(this); - } - hasExtension(extension) { - return mixins_1.extensionsMixins.hasExtension(this, extension); - } - extension(extension) { - return mixins_1.extensionsMixins.extension(this, extension); - } - hasExt(extension) { - return mixins_1.extensionsMixins.hasExt(this, extension); - } - ext(extension) { - return mixins_1.extensionsMixins.ext(this, extension); - } -} -exports.Tag = Tag; diff --git a/apps/parser/cjs/parse.d.ts b/apps/parser/cjs/parse.d.ts deleted file mode 100644 index 53a8e0501..000000000 --- a/apps/parser/cjs/parse.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { AsyncAPIDocumentInterface } from './models'; -import type { Spectral, Document } from '@stoplight/spectral-core'; -import type { Parser } from './parser'; -import type { ResolverOptions } from './resolver'; -import type { ValidateOptions } from './validate'; -import type { Input, Diagnostic } from './types'; -export interface ParseOutput { - document: AsyncAPIDocumentInterface | undefined; - diagnostics: Diagnostic[]; - extras?: { - document: Document; - }; -} -export interface ParseOptions { - source?: string; - applyTraits?: boolean; - parseSchemas?: boolean; - validateOptions?: Omit; - __unstable?: { - resolver?: Omit; - }; -} -export declare function parse(parser: Parser, spectral: Spectral, asyncapi: Input, options?: ParseOptions): Promise; diff --git a/apps/parser/cjs/parse.js b/apps/parser/cjs/parse.js deleted file mode 100644 index 9f8a62691..000000000 --- a/apps/parser/cjs/parse.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parse = void 0; -const models_1 = require("./models"); -const custom_operations_1 = require("./custom-operations"); -const validate_1 = require("./validate"); -const stringify_1 = require("./stringify"); -const document_1 = require("./document"); -const utils_1 = require("./utils"); -const constants_1 = require("./constants"); -const defaultOptions = { - applyTraits: true, - parseSchemas: true, - validateOptions: {}, - __unstable: {}, -}; -const js_yaml_1 = __importDefault(require("js-yaml")); -function parse(parser, spectral, asyncapi, options = {}) { - return __awaiter(this, void 0, void 0, function* () { - let spectralDocument; - try { - options = (0, utils_1.mergePatch)(defaultOptions, options); - // Normalize input to always be JSON - let loadedObj; - if (typeof asyncapi === 'string') { - try { - loadedObj = js_yaml_1.default.load(asyncapi); - } - catch (e) { - loadedObj = JSON.parse(asyncapi); - } - } - else { - loadedObj = asyncapi; - } - const { validated, diagnostics, extras } = yield (0, validate_1.validate)(parser, spectral, loadedObj, Object.assign(Object.assign({}, options.validateOptions), { source: options.source, __unstable: options.__unstable })); - if (validated === undefined) { - return { - document: undefined, - diagnostics, - extras - }; - } - spectralDocument = extras.document; - const inventory = spectralDocument.__documentInventory; - // unfreeze the object - Spectral makes resolved document "freezed" - const validatedDoc = (0, stringify_1.copy)(validated); - // Apply unique ids which are used as part of iterating between channels <-> operations <-> messages - (0, custom_operations_1.applyUniqueIds)(validatedDoc); - const detailed = (0, utils_1.createDetailedAsyncAPI)(validatedDoc, loadedObj, options.source); - const document = (0, document_1.createAsyncAPIDocument)(detailed); - (0, utils_1.setExtension)(constants_1.xParserSpecParsed, true, document); - (0, utils_1.setExtension)(constants_1.xParserApiVersion, models_1.ParserAPIVersion, document); - yield (0, custom_operations_1.customOperations)(parser, document, detailed, inventory, options); - return { - document, - diagnostics, - extras, - }; - } - catch (err) { - return { document: undefined, diagnostics: (0, utils_1.createUncaghtDiagnostic)(err, 'Error thrown during AsyncAPI document parsing', spectralDocument), extras: undefined }; - } - }); -} -exports.parse = parse; diff --git a/apps/parser/cjs/parser.d.ts b/apps/parser/cjs/parser.d.ts deleted file mode 100644 index a7ad7019d..000000000 --- a/apps/parser/cjs/parser.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { Spectral } from '@stoplight/spectral-core'; -import type { ParseOptions, ParseOutput } from './parse'; -import type { ValidateOptions } from './validate'; -import type { ResolverOptions } from './resolver'; -import type { RulesetOptions } from './ruleset'; -import type { SchemaParser } from './schema-parser'; -import type { Diagnostic, Input } from './types'; -export interface ParserOptions { - ruleset?: RulesetOptions; - schemaParsers?: Array; - __unstable?: { - resolver?: ResolverOptions; - }; -} -export declare class Parser { - private readonly options; - readonly parserRegistry: Map>; - protected readonly spectral: Spectral; - constructor(options?: ParserOptions); - parse(asyncapi: Input, options?: ParseOptions): Promise; - validate(asyncapi: Input, options?: ValidateOptions): Promise; - registerSchemaParser(parser: SchemaParser): void; -} diff --git a/apps/parser/cjs/parser.js b/apps/parser/cjs/parser.js deleted file mode 100644 index 603bbe51e..000000000 --- a/apps/parser/cjs/parser.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Parser = void 0; -const document_1 = require("./document"); -const parse_1 = require("./parse"); -const validate_1 = require("./validate"); -const schema_parser_1 = require("./schema-parser"); -const asyncapi_schema_parser_1 = require("./schema-parser/asyncapi-schema-parser"); -const spectral_1 = require("./spectral"); -class Parser { - constructor(options = {}) { - var _a; - this.options = options; - this.parserRegistry = new Map(); - this.spectral = (0, spectral_1.createSpectral)(this, options); - this.registerSchemaParser((0, asyncapi_schema_parser_1.AsyncAPISchemaParser)()); - (_a = this.options.schemaParsers) === null || _a === void 0 ? void 0 : _a.forEach(parser => this.registerSchemaParser(parser)); - } - parse(asyncapi, options) { - return __awaiter(this, void 0, void 0, function* () { - const maybeDocument = (0, document_1.toAsyncAPIDocument)(asyncapi); - if (maybeDocument) { - return { - document: maybeDocument, - diagnostics: [], - }; - } - return (0, parse_1.parse)(this, this.spectral, asyncapi, options); - }); - } - validate(asyncapi, options) { - return __awaiter(this, void 0, void 0, function* () { - const maybeDocument = (0, document_1.toAsyncAPIDocument)(asyncapi); - if (maybeDocument) { - return []; - } - return (yield (0, validate_1.validate)(this, this.spectral, asyncapi, options)).diagnostics; - }); - } - registerSchemaParser(parser) { - return (0, schema_parser_1.registerSchemaParser)(this, parser); - } -} -exports.Parser = Parser; diff --git a/apps/parser/cjs/resolver.d.ts b/apps/parser/cjs/resolver.d.ts deleted file mode 100644 index 90d4232bc..000000000 --- a/apps/parser/cjs/resolver.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Resolver as SpectralResolver } from '@stoplight/spectral-ref-resolver'; -import type Uri from 'urijs'; -export interface Resolver { - schema: 'file' | 'http' | 'https' | string; - order?: number; - canRead?: boolean | ((uri: Uri, ctx?: any) => boolean); - read: (uri: Uri, ctx?: any) => string | undefined | Promise; -} -export interface ResolverOptions { - cache?: boolean; - resolvers?: Array; -} -export declare function createResolver(options?: ResolverOptions): SpectralResolver; diff --git a/apps/parser/cjs/resolver.js b/apps/parser/cjs/resolver.js deleted file mode 100644 index d54a97966..000000000 --- a/apps/parser/cjs/resolver.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createResolver = void 0; -const spectral_ref_resolver_1 = require("@stoplight/spectral-ref-resolver"); -const cache_1 = require("@stoplight/json-ref-resolver/cache"); -const json_ref_readers_1 = require("@stoplight/json-ref-readers"); -function createResolver(options = {}) { - const availableResolvers = [ - ...createDefaultResolvers(), - ...(options.resolvers || []) - ].map(r => (Object.assign(Object.assign({}, r), { order: r.order || Number.MAX_SAFE_INTEGER, canRead: typeof r.canRead === 'undefined' ? true : r.canRead }))); - const availableSchemas = [...new Set(availableResolvers.map(r => r.schema))]; - const resolvers = availableSchemas.reduce((acc, schema) => { - acc[schema] = { resolve: createSchemaResolver(schema, availableResolvers) }; - return acc; - }, {}); - // if cache is enabled, use default Cache instance in SpectralResolver, otherwise use custom one with ttl set to 1ms - const cache = options.cache !== false; - return new spectral_ref_resolver_1.Resolver({ - uriCache: cache ? undefined : new cache_1.Cache({ stdTTL: 1 }), - resolvers: resolvers, - }); -} -exports.createResolver = createResolver; -function createDefaultResolvers() { - return [ - { - schema: 'file', - read: json_ref_readers_1.resolveFile, - }, - { - schema: 'https', - read: json_ref_readers_1.resolveHttp, - }, - { - schema: 'http', - read: json_ref_readers_1.resolveHttp, - }, - ]; -} -function createSchemaResolver(schema, allResolvers) { - const resolvers = allResolvers.filter(r => r.schema === schema).sort((a, b) => { return a.order - b.order; }); - return (uri, ctx) => __awaiter(this, void 0, void 0, function* () { - let result = undefined; - let lastError; - for (const resolver of resolvers) { - try { - if (!canRead(resolver, uri, ctx)) - continue; - result = yield resolver.read(uri, ctx); - if (typeof result === 'string') { - break; - } - } - catch (e) { - lastError = e; - continue; - } - } - if (typeof result !== 'string') { - throw lastError || new Error(`None of the available resolvers for "${schema}" can resolve the given reference.`); - } - return result; - }); -} -function canRead(resolver, uri, ctx) { - return typeof resolver.canRead === 'function' ? resolver.canRead(uri, ctx) : resolver.canRead; -} diff --git a/apps/parser/cjs/ruleset/formats.d.ts b/apps/parser/cjs/ruleset/formats.d.ts deleted file mode 100644 index 2160cffb7..000000000 --- a/apps/parser/cjs/ruleset/formats.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Format } from '@stoplight/spectral-core'; -export declare class Formats extends Map { - filterByMajorVersions(majorsToInclude: string[]): Formats; - excludeByVersions(versionsToExclude: string[]): Formats; - find(version: string): Format | undefined; - formats(): Format[]; -} -export declare const AsyncAPIFormats: Formats; diff --git a/apps/parser/cjs/ruleset/formats.js b/apps/parser/cjs/ruleset/formats.js deleted file mode 100644 index ecf9c21b1..000000000 --- a/apps/parser/cjs/ruleset/formats.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AsyncAPIFormats = exports.Formats = void 0; -const utils_1 = require("../utils"); -const specs_1 = require("@asyncapi/specs"); -class Formats extends Map { - filterByMajorVersions(majorsToInclude) { - return new Formats([...this.entries()].filter(element => { return majorsToInclude.includes(element[0].split('.')[0]); })); - } - excludeByVersions(versionsToExclude) { - return new Formats([...this.entries()].filter(element => { return !versionsToExclude.includes(element[0]); })); - } - find(version) { - return this.get(formatVersion(version)); - } - formats() { - return [...this.values()]; - } -} -exports.Formats = Formats; -exports.AsyncAPIFormats = new Formats(Object.entries(specs_1.schemas).reverse().map(([version]) => [version, createFormat(version)])); // reverse is used for giving newer versions a higher priority when matching -function isAsyncAPIVersion(versionToMatch, document) { - const asyncAPIDoc = document; - if (!asyncAPIDoc) - return false; - const documentVersion = String(asyncAPIDoc.asyncapi); - return (0, utils_1.isObject)(document) && 'asyncapi' in document - && assertValidAsyncAPIVersion(documentVersion) - && versionToMatch === formatVersion(documentVersion); -} -function assertValidAsyncAPIVersion(documentVersion) { - const semver = (0, utils_1.getSemver)(documentVersion); - const regexp = new RegExp(`^(${semver.major})\\.(${semver.minor})\\.(0|[1-9][0-9]*)$`); // eslint-disable-line security/detect-non-literal-regexp - return regexp.test(documentVersion); -} -function createFormat(version) { - const format = (document) => isAsyncAPIVersion(version, document); - const semver = (0, utils_1.getSemver)(version); - format.displayName = `AsyncAPI ${semver.major}.${semver.minor}.x`; - return format; -} -const formatVersion = function (version) { - const versionSemver = (0, utils_1.getSemver)(version); - return `${versionSemver.major}.${versionSemver.minor}.0`; -}; diff --git a/apps/parser/cjs/ruleset/functions/documentStructure.d.ts b/apps/parser/cjs/ruleset/functions/documentStructure.d.ts deleted file mode 100644 index 95f97ca19..000000000 --- a/apps/parser/cjs/ruleset/functions/documentStructure.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { Format } from '@stoplight/spectral-core'; -export declare function getSchema(docFormats: Set, resolved: boolean): Record | void; -export declare const documentStructure: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/functions/documentStructure.js b/apps/parser/cjs/ruleset/functions/documentStructure.js deleted file mode 100644 index 40c35ea99..000000000 --- a/apps/parser/cjs/ruleset/functions/documentStructure.js +++ /dev/null @@ -1,133 +0,0 @@ -"use strict"; -/* eslint-disable sonarjs/no-duplicate-string */ -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.documentStructure = exports.getSchema = void 0; -const specs_1 = __importDefault(require("@asyncapi/specs")); -const spectral_core_1 = require("@stoplight/spectral-core"); -const spectral_functions_1 = require("@stoplight/spectral-functions"); -const formats_1 = require("../formats"); -const utils_1 = require("../../utils"); -function shouldIgnoreError(error) { - return ( - // oneOf is a fairly error as we have 2 options to choose from for most of the time. - error.keyword === 'oneOf' || - // the required $ref is entirely useless, since aas-schema rules operate on resolved content, so there won't be any $refs in the document - (error.keyword === 'required' && error.params.missingProperty === '$ref')); -} -// ajv throws a lot of errors that have no understandable context, e.g. errors related to the fact that a value doesn't meet the conditions of some sub-schema in `oneOf`, `anyOf` etc. -// for this reason, we filter these unnecessary errors and leave only the most important ones (usually the first occurring in the list of errors). -function prepareResults(errors) { - // Update additionalProperties errors to make them more precise and prevent them from being treated as duplicates - for (let i = 0; i < errors.length; i++) { - const error = errors[i]; - if (error.keyword === 'additionalProperties') { - error.instancePath = `${error.instancePath}/${String(error.params['additionalProperty'])}`; - } - else if (error.keyword === 'required' && error.params.missingProperty === '$ref') { - errors.splice(i, 1); - i--; - } - } - for (let i = 0; i < errors.length; i++) { - const error = errors[i]; - if (i + 1 < errors.length && errors[i + 1].instancePath === error.instancePath) { - errors.splice(i + 1, 1); - i--; - } - else if (i > 0 && shouldIgnoreError(error) && errors[i - 1].instancePath.startsWith(error.instancePath)) { - errors.splice(i, 1); - i--; - } - } -} -// this is needed because some v3 object fields are expected to be only `$ref` to other objects. -// In order to validate resolved references, we modify those schemas and instead allow the definition of the object -function prepareV3ResolvedSchema(copied) { - // channel object - const channelObject = copied.definitions['http://asyncapi.com/definitions/3.0.0/channel.json']; - channelObject.properties.servers.items.$ref = 'http://asyncapi.com/definitions/3.0.0/server.json'; - // operation object - const operationSchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operation.json']; - operationSchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; - operationSchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; - // operation reply object - const operationReplySchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operationReply.json']; - operationReplySchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; - operationReplySchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; - return copied; -} -function getCopyOfSchema(version) { - return JSON.parse(JSON.stringify(specs_1.default.schemas[version])); -} -const serializedSchemas = new Map(); -function getSerializedSchema(version, resolved) { - const serializedSchemaKey = resolved ? `${version}-resolved` : `${version}-unresolved`; - const schema = serializedSchemas.get(serializedSchemaKey); - if (schema) { - return schema; - } - // Copy to not operate on the original json schema - between imports (in different modules) we operate on this same schema. - let copied = getCopyOfSchema(version); - // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. - delete copied.definitions['http://json-schema.org/draft-07/schema']; - delete copied.definitions['http://json-schema.org/draft-04/schema']; - // Spectral caches the schemas using '$id' property - copied['$id'] = copied['$id'].replace('asyncapi.json', `asyncapi-${resolved ? 'resolved' : 'unresolved'}.json`); - const { major } = (0, utils_1.getSemver)(version); - if (resolved && major === 3) { - copied = prepareV3ResolvedSchema(copied); - } - serializedSchemas.set(serializedSchemaKey, copied); - return copied; -} -const refErrorMessage = 'Property "$ref" is not expected to be here'; -function filterRefErrors(errors, resolved) { - if (resolved) { - return errors.filter(err => err.message !== refErrorMessage); - } - return errors - .filter(err => err.message === refErrorMessage) - .map(err => { - err.message = 'Referencing in this place is not allowed'; - return err; - }); -} -function getSchema(docFormats, resolved) { - for (const [version, format] of formats_1.AsyncAPIFormats) { - if (docFormats.has(format)) { - return getSerializedSchema(version, resolved); - } - } -} -exports.getSchema = getSchema; -exports.documentStructure = (0, spectral_core_1.createRulesetFunction)({ - input: null, - options: { - type: 'object', - properties: { - resolved: { - type: 'boolean', - }, - }, - required: ['resolved'], - }, -}, (targetVal, options, context) => { - var _a; - const formats = (_a = context.document) === null || _a === void 0 ? void 0 : _a.formats; - if (!formats) { - return; - } - const resolved = options.resolved; - const schema = getSchema(formats, resolved); - if (!schema) { - return; - } - const errors = (0, spectral_functions_1.schema)(targetVal, { allErrors: true, schema, prepareResults: resolved ? prepareResults : undefined }, context); - if (!Array.isArray(errors)) { - return; - } - return filterRefErrors(errors, resolved); -}); diff --git a/apps/parser/cjs/ruleset/functions/internal.d.ts b/apps/parser/cjs/ruleset/functions/internal.d.ts deleted file mode 100644 index 63f1be3d8..000000000 --- a/apps/parser/cjs/ruleset/functions/internal.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const internal: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/functions/internal.js b/apps/parser/cjs/ruleset/functions/internal.js deleted file mode 100644 index a3bd8decc..000000000 --- a/apps/parser/cjs/ruleset/functions/internal.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.internal = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -exports.internal = (0, spectral_core_1.createRulesetFunction)({ - input: null, - options: null, -}, (_, __, { document, documentInventory }) => { - // adding document inventory in document - we need it in custom operations to resolve all circular refs - document.__documentInventory = documentInventory; -}); diff --git a/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts b/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts deleted file mode 100644 index df5362db6..000000000 --- a/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { MaybeAsyncAPI } from '../../types'; -export declare const isAsyncAPIDocument: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js b/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js deleted file mode 100644 index b2ac39480..000000000 --- a/apps/parser/cjs/ruleset/functions/isAsyncAPIDocument.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isAsyncAPIDocument = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const constants_1 = require("../../constants"); -const utils_1 = require("../../utils"); -exports.isAsyncAPIDocument = (0, spectral_core_1.createRulesetFunction)({ - input: null, - options: null, -}, (targetVal) => { - if (!(0, utils_1.isObject)(targetVal) || typeof targetVal.asyncapi !== 'string') { - return [ - { - message: 'This is not an AsyncAPI document. The "asyncapi" field as string is missing.', - path: [], - } - ]; - } - if (!constants_1.specVersions.includes(targetVal.asyncapi)) { - return [ - { - message: `Version "${targetVal.asyncapi}" is not supported. Please use "${constants_1.lastVersion}" (latest) version of the specification.`, - path: [], - } - ]; - } -}); diff --git a/apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts b/apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts deleted file mode 100644 index 0996c4c1c..000000000 --- a/apps/parser/cjs/ruleset/functions/uniquenessTags.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -type Tags = Array<{ - name: string; -}>; -export declare const uniquenessTags: import("@stoplight/spectral-core").RulesetFunctionWithValidator; -export {}; diff --git a/apps/parser/cjs/ruleset/functions/uniquenessTags.js b/apps/parser/cjs/ruleset/functions/uniquenessTags.js deleted file mode 100644 index 983dee18b..000000000 --- a/apps/parser/cjs/ruleset/functions/uniquenessTags.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.uniquenessTags = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -function getDuplicateTagsIndexes(tags) { - return tags - .map(item => item.name) - .reduce((acc, item, i, arr) => { - if (arr.indexOf(item) !== i) { - acc.push(i); - } - return acc; - }, []); -} -exports.uniquenessTags = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'array', - items: { - type: 'object', - properties: { - name: { - type: 'string', - }, - }, - required: ['name'], - }, - }, - options: null, -}, (targetVal, _, ctx) => { - const duplicatedTags = getDuplicateTagsIndexes(targetVal); - if (duplicatedTags.length === 0) { - return []; - } - const results = []; - for (const duplicatedIndex of duplicatedTags) { - const duplicatedTag = targetVal[duplicatedIndex].name; - results.push({ - message: `"tags" object contains duplicate tag name "${duplicatedTag}".`, - path: [...ctx.path, duplicatedIndex, 'name'], - }); - } - return results; -}); diff --git a/apps/parser/cjs/ruleset/functions/unusedComponent.d.ts b/apps/parser/cjs/ruleset/functions/unusedComponent.d.ts deleted file mode 100644 index bad14d8a9..000000000 --- a/apps/parser/cjs/ruleset/functions/unusedComponent.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const unusedComponent: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - components: Record; -}, null>; diff --git a/apps/parser/cjs/ruleset/functions/unusedComponent.js b/apps/parser/cjs/ruleset/functions/unusedComponent.js deleted file mode 100644 index 43f830648..000000000 --- a/apps/parser/cjs/ruleset/functions/unusedComponent.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.unusedComponent = void 0; -const spectral_functions_1 = require("@stoplight/spectral-functions"); -const spectral_core_1 = require("@stoplight/spectral-core"); -const utils_1 = require("../../utils"); -exports.unusedComponent = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - components: { - type: 'object', - }, - }, - required: ['components'], - }, - options: null, -}, (targetVal, _, context) => { - const components = targetVal.components; - const results = []; - Object.keys(components).forEach(componentType => { - // if component type is `securitySchemes` we skip the validation - // security schemes in >=2.x.x are referenced by keys, not by object ref - for this case we have a separate `asyncapi2-unused-securityScheme` rule - if (componentType === 'securitySchemes') { - return; - } - const value = components[componentType]; - if (!(0, utils_1.isObject)(value)) { - return; - } - const resultsForType = (0, spectral_functions_1.unreferencedReusableObject)(value, { reusableObjectsLocation: `#/components/${componentType}` }, context); - if (resultsForType && Array.isArray(resultsForType)) { - results.push(...resultsForType); - } - }); - return results; -}); diff --git a/apps/parser/cjs/ruleset/index.d.ts b/apps/parser/cjs/ruleset/index.d.ts deleted file mode 100644 index 2897d6f86..000000000 --- a/apps/parser/cjs/ruleset/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Parser } from '../parser'; -import type { RulesetDefinition } from '@stoplight/spectral-core'; -export type RulesetOptions = RulesetDefinition & { - core?: boolean; - recommended?: boolean; -} | RulesetDefinition | { - core?: boolean; - recommended?: boolean; -}; -export declare function createRuleset(parser: Parser, options?: RulesetOptions): RulesetDefinition; diff --git a/apps/parser/cjs/ruleset/index.js b/apps/parser/cjs/ruleset/index.js deleted file mode 100644 index c4b60483b..000000000 --- a/apps/parser/cjs/ruleset/index.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -var __rest = (this && this.__rest) || function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createRuleset = void 0; -const ruleset_1 = require("./ruleset"); -const v2_1 = require("./v2"); -const v3_1 = require("./v3"); -function createRuleset(parser, options) { - var _a; - const _b = (options || {}), { core: useCore = true, recommended: useRecommended = true } = _b, rest = __rest(_b, ["core", "recommended"]); - const extendedRuleset = [ - useCore && ruleset_1.coreRuleset, - useRecommended && ruleset_1.recommendedRuleset, - useCore && v2_1.v2CoreRuleset, - useCore && (0, v2_1.v2SchemasRuleset)(parser), - useRecommended && v2_1.v2RecommendedRuleset, - useCore && v3_1.v3CoreRuleset, - ...((_a = (options || {})) === null || _a === void 0 ? void 0 : _a.extends) || [], - ].filter(Boolean); - return Object.assign(Object.assign({}, rest || {}), { extends: extendedRuleset }); -} -exports.createRuleset = createRuleset; diff --git a/apps/parser/cjs/ruleset/ruleset.d.ts b/apps/parser/cjs/ruleset/ruleset.d.ts deleted file mode 100644 index 3e7c5cf63..000000000 --- a/apps/parser/cjs/ruleset/ruleset.d.ts +++ /dev/null @@ -1,184 +0,0 @@ -export declare const coreRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Root Object rules - */ - 'asyncapi-is-asyncapi': { - description: string; - formats: (() => boolean)[]; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-latest-version': { - description: string; - message: string; - recommended: boolean; - severity: string; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - schema: { - const: string; - }; - }; - }; - }; - 'asyncapi-document-resolved': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - resolved: boolean; - }; - }; - }; - 'asyncapi-document-unresolved': { - description: string; - message: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - resolved: boolean; - }; - }; - }; - 'asyncapi-internal': { - description: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - }; -}; -export declare const recommendedRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Root Object rules - */ - 'asyncapi-id': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-defaultContentType': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Info Object rules - */ - 'asyncapi-info-description': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-info-contact': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-info-contact-properties': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }[]; - }; - 'asyncapi-info-license': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-info-license-url': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Server Object rules - */ - 'asyncapi-servers': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - schema: { - type: string; - minProperties: number; - }; - allErrors: boolean; - }; - }; - }; - /** - * Component Object rules - */ - 'asyncapi-unused-component': { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - recommended: boolean; - resolved: boolean; - severity: string; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - components: Record; - }, null>; - }; - }; - }; -}; diff --git a/apps/parser/cjs/ruleset/ruleset.js b/apps/parser/cjs/ruleset/ruleset.js deleted file mode 100644 index 58739b243..000000000 --- a/apps/parser/cjs/ruleset/ruleset.js +++ /dev/null @@ -1,198 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.recommendedRuleset = exports.coreRuleset = void 0; -const spectral_functions_1 = require("@stoplight/spectral-functions"); -const documentStructure_1 = require("./functions/documentStructure"); -const internal_1 = require("./functions/internal"); -const isAsyncAPIDocument_1 = require("./functions/isAsyncAPIDocument"); -const unusedComponent_1 = require("./functions/unusedComponent"); -const formats_1 = require("./formats"); -const constants_1 = require("../constants"); -exports.coreRuleset = { - description: 'Core AsyncAPI x.x.x ruleset.', - formats: formats_1.AsyncAPIFormats.formats(), - rules: { - /** - * Root Object rules - */ - 'asyncapi-is-asyncapi': { - description: 'The input must be a document with a supported version of AsyncAPI.', - formats: [() => true], - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$', - then: { - function: isAsyncAPIDocument_1.isAsyncAPIDocument, - }, - }, - 'asyncapi-latest-version': { - description: 'Checking if the AsyncAPI document is using the latest version.', - message: `The latest version of AsyncAPi is not used. It is recommended update to the "${constants_1.lastVersion}" version.`, - recommended: true, - severity: 'info', - given: '$.asyncapi', - then: { - function: spectral_functions_1.schema, - functionOptions: { - schema: { - const: constants_1.lastVersion, - }, - }, - }, - }, - 'asyncapi-document-resolved': { - description: 'Checking if the AsyncAPI document has valid resolved structure.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$', - then: { - function: documentStructure_1.documentStructure, - functionOptions: { - resolved: true, - }, - }, - }, - 'asyncapi-document-unresolved': { - description: 'Checking if the AsyncAPI document has valid unresolved structure.', - message: '{{error}}', - severity: 'error', - recommended: true, - resolved: false, - given: '$', - then: { - function: documentStructure_1.documentStructure, - functionOptions: { - resolved: false, - }, - }, - }, - 'asyncapi-internal': { - description: 'That rule is internal to extend Spectral functionality for Parser purposes.', - recommended: true, - given: '$', - then: { - function: internal_1.internal, - }, - }, - }, -}; -exports.recommendedRuleset = { - description: 'Recommended AsyncAPI x.x.x ruleset.', - formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - rules: { - /** - * Root Object rules - */ - 'asyncapi-id': { - description: 'AsyncAPI document should have "id" field.', - recommended: true, - given: '$', - then: { - field: 'id', - function: spectral_functions_1.truthy, - }, - }, - 'asyncapi-defaultContentType': { - description: 'AsyncAPI document should have "defaultContentType" field.', - recommended: true, - given: '$', - then: { - field: 'defaultContentType', - function: spectral_functions_1.truthy, - }, - }, - /** - * Info Object rules - */ - 'asyncapi-info-description': { - description: 'Info "description" should be present and non-empty string.', - recommended: true, - given: '$', - then: { - field: 'info.description', - function: spectral_functions_1.truthy, - }, - }, - 'asyncapi-info-contact': { - description: 'Info object should have "contact" object.', - recommended: true, - given: '$', - then: { - field: 'info.contact', - function: spectral_functions_1.truthy, - }, - }, - 'asyncapi-info-contact-properties': { - description: 'Contact object should have "name", "url" and "email" fields.', - recommended: true, - given: '$.info.contact', - then: [ - { - field: 'name', - function: spectral_functions_1.truthy, - }, - { - field: 'url', - function: spectral_functions_1.truthy, - }, - { - field: 'email', - function: spectral_functions_1.truthy, - }, - ], - }, - 'asyncapi-info-license': { - description: 'Info object should have "license" object.', - recommended: true, - given: '$', - then: { - field: 'info.license', - function: spectral_functions_1.truthy, - }, - }, - 'asyncapi-info-license-url': { - description: 'License object should have "url" field.', - recommended: false, - given: '$', - then: { - field: 'info.license.url', - function: spectral_functions_1.truthy, - }, - }, - /** - * Server Object rules - */ - 'asyncapi-servers': { - description: 'AsyncAPI document should have non-empty "servers" object.', - recommended: true, - given: '$', - then: { - field: 'servers', - function: spectral_functions_1.schema, - functionOptions: { - schema: { - type: 'object', - minProperties: 1, - }, - allErrors: true, - }, - }, - }, - /** - * Component Object rules - */ - 'asyncapi-unused-component': { - description: 'Potentially unused component has been detected in AsyncAPI document.', - formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - recommended: true, - resolved: false, - severity: 'info', - given: '$', - then: { - function: unusedComponent_1.unusedComponent, - }, - }, - }, -}; diff --git a/apps/parser/cjs/ruleset/utils/getMissingProps.d.ts b/apps/parser/cjs/ruleset/utils/getMissingProps.d.ts deleted file mode 100644 index 8c9eff169..000000000 --- a/apps/parser/cjs/ruleset/utils/getMissingProps.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function getMissingProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/cjs/ruleset/utils/getMissingProps.js b/apps/parser/cjs/ruleset/utils/getMissingProps.js deleted file mode 100644 index 66ed00e15..000000000 --- a/apps/parser/cjs/ruleset/utils/getMissingProps.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMissingProps = void 0; -function getMissingProps(arr = [], obj = {}) { - if (!Object.keys(obj).length) - return arr; - return arr.filter(val => { - return !Object.prototype.hasOwnProperty.call(obj, val); - }); -} -exports.getMissingProps = getMissingProps; diff --git a/apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts b/apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts deleted file mode 100644 index 82efd65f0..000000000 --- a/apps/parser/cjs/ruleset/utils/getRedundantProps.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function getRedundantProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/cjs/ruleset/utils/getRedundantProps.js b/apps/parser/cjs/ruleset/utils/getRedundantProps.js deleted file mode 100644 index e2f49c70e..000000000 --- a/apps/parser/cjs/ruleset/utils/getRedundantProps.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getRedundantProps = void 0; -function getRedundantProps(arr = [], obj = {}) { - if (!arr.length) - return Object.keys(obj); - return Object.keys(obj).filter(val => { - return !arr.includes(val); - }); -} -exports.getRedundantProps = getRedundantProps; diff --git a/apps/parser/cjs/ruleset/utils/index.d.ts b/apps/parser/cjs/ruleset/utils/index.d.ts deleted file mode 100644 index 75834cb11..000000000 --- a/apps/parser/cjs/ruleset/utils/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './getMissingProps'; -export * from './getRedundantProps'; -export * from './mergeTraits'; -export * from './parseUrlVariables'; diff --git a/apps/parser/cjs/ruleset/utils/index.js b/apps/parser/cjs/ruleset/utils/index.js deleted file mode 100644 index 562b5944d..000000000 --- a/apps/parser/cjs/ruleset/utils/index.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./getMissingProps"), exports); -__exportStar(require("./getRedundantProps"), exports); -__exportStar(require("./mergeTraits"), exports); -__exportStar(require("./parseUrlVariables"), exports); diff --git a/apps/parser/cjs/ruleset/utils/mergeTraits.d.ts b/apps/parser/cjs/ruleset/utils/mergeTraits.d.ts deleted file mode 100644 index b36a26c0a..000000000 --- a/apps/parser/cjs/ruleset/utils/mergeTraits.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type MaybeHaveTraits = { - traits?: any[]; -} & Record; -export declare function mergeTraits(data: T): T; diff --git a/apps/parser/cjs/ruleset/utils/mergeTraits.js b/apps/parser/cjs/ruleset/utils/mergeTraits.js deleted file mode 100644 index 16120af88..000000000 --- a/apps/parser/cjs/ruleset/utils/mergeTraits.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.mergeTraits = void 0; -const json_1 = require("@stoplight/json"); -function mergeTraits(data) { - if (Array.isArray(data.traits)) { - data = Object.assign({}, data); // shallow copy - for (const trait of data.traits) { - for (const key in trait) { - data[key] = merge(data[key], trait[key]); - } - } - } - return data; -} -exports.mergeTraits = mergeTraits; -function merge(origin, patch) { - // If the patch is not an object, it replaces the origin. - if (!(0, json_1.isPlainObject)(patch)) { - return patch; - } - const result = !(0, json_1.isPlainObject)(origin) - ? {} // Non objects are being replaced. - : Object.assign({}, origin); // Make sure we never modify the origin. - Object.keys(patch).forEach(key => { - const patchVal = patch[key]; - if (patchVal === null) { - delete result[key]; - } - else { - result[key] = merge(result[key], patchVal); - } - }); - return result; -} diff --git a/apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts b/apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts deleted file mode 100644 index f3533d8a6..000000000 --- a/apps/parser/cjs/ruleset/utils/parseUrlVariables.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function parseUrlVariables(str: string): string[]; diff --git a/apps/parser/cjs/ruleset/utils/parseUrlVariables.js b/apps/parser/cjs/ruleset/utils/parseUrlVariables.js deleted file mode 100644 index aef7ed08a..000000000 --- a/apps/parser/cjs/ruleset/utils/parseUrlVariables.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseUrlVariables = void 0; -function parseUrlVariables(str) { - if (typeof str !== 'string') - return []; - const variables = str.match(/{(.+?)}/g); - if (!variables || variables.length === 0) - return []; - return variables.map(v => v.slice(1, -1)); -} -exports.parseUrlVariables = parseUrlVariables; diff --git a/apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts b/apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts deleted file mode 100644 index 3154fd33e..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/channelParameters.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const channelParameters: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - parameters: Record; -}, null>; diff --git a/apps/parser/cjs/ruleset/v2/functions/channelParameters.js b/apps/parser/cjs/ruleset/v2/functions/channelParameters.js deleted file mode 100644 index 730f6642b..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/channelParameters.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.channelParameters = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const utils_1 = require("../../utils"); -exports.channelParameters = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - parameters: { - type: 'object', - }, - }, - required: ['parameters'], - }, - options: null, -}, (targetVal, _, ctx) => { - const path = ctx.path[ctx.path.length - 1]; - const results = []; - const parameters = (0, utils_1.parseUrlVariables)(path); - if (parameters.length === 0) - return; - const missingParameters = (0, utils_1.getMissingProps)(parameters, targetVal.parameters); - if (missingParameters.length) { - results.push({ - message: `Not all channel's parameters are described with "parameters" object. Missed: ${missingParameters.join(', ')}.`, - path: [...ctx.path, 'parameters'], - }); - } - const redundantParameters = (0, utils_1.getRedundantProps)(parameters, targetVal.parameters); - if (redundantParameters.length) { - redundantParameters.forEach(param => { - results.push({ - message: `Channel's "parameters" object has redundant defined "${param}" parameter.`, - path: [...ctx.path, 'parameters', param], - }); - }); - } - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts b/apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts deleted file mode 100644 index ecdc32a79..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/channelServers.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const channelServers: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - servers?: Record | undefined; - channels?: Record | undefined; -}, null>; diff --git a/apps/parser/cjs/ruleset/v2/functions/channelServers.js b/apps/parser/cjs/ruleset/v2/functions/channelServers.js deleted file mode 100644 index 3c3b15def..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/channelServers.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.channelServers = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -exports.channelServers = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - servers: { - type: 'object', - }, - channels: { - type: 'object', - additionalProperties: { - type: 'object', - properties: { - servers: { - type: 'array', - items: { - type: 'string', - }, - }, - }, - }, - }, - }, - }, - options: null, -}, (targetVal) => { - var _a, _b; - const results = []; - if (!targetVal.channels) - return results; - const serverNames = Object.keys((_a = targetVal.servers) !== null && _a !== void 0 ? _a : {}); - Object.entries((_b = targetVal.channels) !== null && _b !== void 0 ? _b : {}).forEach(([channelAddress, channel]) => { - if (!channel.servers) - return; - channel.servers.forEach((serverName, index) => { - if (!serverNames.includes(serverName)) { - results.push({ - message: 'Channel contains server that are not defined on the "servers" object.', - path: ['channels', channelAddress, 'servers', index], - }); - } - }); - }); - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/checkId.d.ts b/apps/parser/cjs/ruleset/v2/functions/checkId.d.ts deleted file mode 100644 index 5314c47e4..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/checkId.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { MaybeHaveTraits } from '../../utils'; -export declare const checkId: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/checkId.js b/apps/parser/cjs/ruleset/v2/functions/checkId.js deleted file mode 100644 index d42deb998..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/checkId.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.checkId = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const spectral_functions_1 = require("@stoplight/spectral-functions"); -const utils_1 = require("../../utils"); -exports.checkId = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - traits: { - type: 'array', - items: { - type: 'object', - }, - }, - }, - }, - options: { - type: 'object', - properties: { - idField: { - type: 'string', - enum: ['operationId', 'messageId'], - }, - }, - }, -}, (targetVal, options, ctx) => { - const mergedValue = (0, utils_1.mergeTraits)(targetVal); - return (0, spectral_functions_1.truthy)(mergedValue[options.idField], null, ctx); -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts b/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts deleted file mode 100644 index 6a27833ff..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { RuleDefinition } from '@stoplight/spectral-core'; -import type { Parser } from 'parser'; -export declare function asyncApi2MessageExamplesParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js b/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js deleted file mode 100644 index 855a0ef37..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/messageExamples-spectral-rule-v2.js +++ /dev/null @@ -1,117 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.asyncApi2MessageExamplesParserRule = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const schema_parser_1 = require("../../../schema-parser"); -const utils_1 = require("../../../utils"); -const messageExamples_1 = require("./messageExamples"); -function asyncApi2MessageExamplesParserRule(parser) { - return { - description: 'Examples of message object should validate against a payload with an explicit schemaFormat.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // messages - '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat !== void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message[?(@property === \'message\' && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', - '$.components.messages[?(!@null && @.schemaFormat !== void 0)]', - // message traits - '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.messages.*.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.messageTraits[?(!@null && @.schemaFormat !== void 0)]', - ], - then: { - function: rulesetFunction(parser), - }, - }; -} -exports.asyncApi2MessageExamplesParserRule = asyncApi2MessageExamplesParserRule; -function rulesetFunction(parser) { - return (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - name: { - type: 'string', - }, - summary: { - type: 'string', - }, - }, - }, - options: null, - }, (targetVal, _, ctx) => __awaiter(this, void 0, void 0, function* () { - if (!targetVal.examples) - return; - if (!targetVal.payload) - return; - const document = ctx.document; - const parsedSpec = document.data; - const schemaFormat = (0, schema_parser_1.getSchemaFormat)(targetVal.schemaFormat, parsedSpec.asyncapi); - const defaultSchemaFormat = (0, schema_parser_1.getDefaultSchemaFormat)(parsedSpec.asyncapi); - const asyncapi = (0, utils_1.createDetailedAsyncAPI)(parsedSpec, document.__parserInput, document.source || undefined); - const input = { - asyncapi, - rootPath: ctx.path, - schemaFormat, - defaultSchemaFormat - }; - const results = []; - const payloadSchemaResults = yield parseExampleSchema(parser, targetVal.payload, input); - const payloadSchema = payloadSchemaResults.schema; - results.push(...payloadSchemaResults.errors); - for (const example of (0, messageExamples_1.getMessageExamples)(targetVal)) { - const { path, value } = example; - // validate payload - if (value.payload !== undefined && payloadSchema !== undefined) { - const errors = (0, messageExamples_1.validate)(value.payload, path, 'payload', payloadSchema, ctx); - if (Array.isArray(errors)) { - results.push(...errors); - } - } - } - return results; - })); -} -function parseExampleSchema(parser, schema, input) { - return __awaiter(this, void 0, void 0, function* () { - const path = [...input.rootPath, 'payload']; - if (schema === undefined) { - return { path, schema: undefined, errors: [] }; - } - try { - const parseSchemaInput = { - asyncapi: input.asyncapi, - data: schema, - meta: {}, - path, - schemaFormat: input.schemaFormat, - defaultSchemaFormat: input.defaultSchemaFormat, - }; - const parsedSchema = yield (0, schema_parser_1.parseSchema)(parser, parseSchemaInput); - return { path, schema: parsedSchema, errors: [] }; - } - catch (err) { - const error = { - message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, - path - }; - return { path, schema: undefined, errors: [error] }; - } - }); -} diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts b/apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts deleted file mode 100644 index 540a910cf..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/messageExamples.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { schema as schemaFn } from '@stoplight/spectral-functions'; -import type { JsonPath } from '@stoplight/types'; -import type { RulesetFunctionContext } from '@stoplight/spectral-core'; -import type { v2 } from 'spec-types'; -export declare function getMessageExamples(message: v2.MessageObject): Array<{ - path: JsonPath; - value: v2.MessageExampleObject; -}>; -export declare function validate(value: unknown, path: JsonPath, type: 'payload' | 'headers', schema: unknown, ctx: RulesetFunctionContext): ReturnType; -export declare const messageExamples: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/messageExamples.js b/apps/parser/cjs/ruleset/v2/functions/messageExamples.js deleted file mode 100644 index 2bad074ea..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/messageExamples.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.messageExamples = exports.validate = exports.getMessageExamples = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const spectral_functions_1 = require("@stoplight/spectral-functions"); -function serializeSchema(schema, type) { - if (!schema && typeof schema !== 'boolean') { // if schema is falsy then - if (type === 'headers') { // object for headers - schema = { type: 'object' }; - } - else { // anything for payload - schema = {}; - } - } - else if (typeof schema === 'boolean') { // spectral cannot handle boolean schemas - if (schema === true) { - schema = {}; // everything - } - else { - schema = { not: {} }; // nothing - } - } - return schema; -} -function getMessageExamples(message) { - var _a; - if (!Array.isArray(message.examples)) { - return []; - } - return ((_a = message.examples.map((example, index) => { - return { - path: ['examples', index], - value: example, - }; - })) !== null && _a !== void 0 ? _a : []); -} -exports.getMessageExamples = getMessageExamples; -function validate(value, path, type, schema, ctx) { - return (0, spectral_functions_1.schema)(value, { - allErrors: true, - schema: schema, - }, Object.assign(Object.assign({}, ctx), { path: [...ctx.path, ...path, type] })); -} -exports.validate = validate; -exports.messageExamples = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - name: { - type: 'string', - }, - summary: { - type: 'string', - }, - }, - }, - options: null, -}, (targetVal, _, ctx) => { - if (!targetVal.examples) - return; - const results = []; - const payloadSchema = serializeSchema(targetVal.payload, 'payload'); - const headersSchema = serializeSchema(targetVal.headers, 'headers'); - for (const example of getMessageExamples(targetVal)) { - const { path, value } = example; - // validate payload - if (value.payload !== undefined) { - const errors = validate(value.payload, path, 'payload', payloadSchema, ctx); - if (Array.isArray(errors)) { - results.push(...errors); - } - } - // validate headers - if (value.headers !== undefined) { - const errors = validate(value.headers, path, 'headers', headersSchema, ctx); - if (Array.isArray(errors)) { - results.push(...errors); - } - } - } - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts b/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts deleted file mode 100644 index 052420947..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { v2 } from '../../../spec-types'; -export declare const messageIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js b/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js deleted file mode 100644 index 4cf473a94..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/messageIdUniqueness.js +++ /dev/null @@ -1,95 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.messageIdUniqueness = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const utils_1 = require("../utils"); -const utils_2 = require("../../../utils"); -function retrieveMessageId(message) { - if (Array.isArray(message.traits)) { - for (let i = message.traits.length - 1; i >= 0; i--) { - const trait = message.traits[i]; - if ((0, utils_2.isObject)(trait) && typeof trait.messageId === 'string') { - return { - messageId: trait.messageId, - path: ['traits', i, 'messageId'], - }; - } - } - } - if (typeof message.messageId === 'string') { - return { - messageId: message.messageId, - path: ['messageId'], - }; - } - return undefined; -} -exports.messageIdUniqueness = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - channels: { - type: 'object', - properties: { - subscribe: { - type: 'object', - properties: { - message: { - oneOf: [ - { type: 'object' }, - { - type: 'object', - properties: { - oneOf: { - type: 'array', - }, - }, - }, - ], - }, - }, - }, - publish: { - type: 'object', - properties: { - message: { - oneOf: [ - { type: 'object' }, - { - type: 'object', - properties: { - oneOf: { - type: 'array', - }, - }, - }, - ], - }, - }, - }, - }, - }, - }, - }, - options: null, -}, (targetVal) => { - const results = []; - const messages = (0, utils_1.getAllMessages)(targetVal); - const seenIds = []; - for (const { path, message } of messages) { - const maybeMessageId = retrieveMessageId(message); - if (maybeMessageId === undefined) { - continue; - } - if (seenIds.includes(maybeMessageId.messageId)) { - results.push({ - message: '"messageId" must be unique across all the messages.', - path: [...path, ...maybeMessageId.path], - }); - } - else { - seenIds.push(maybeMessageId.messageId); - } - } - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts b/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts deleted file mode 100644 index bfe23e90f..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { v2 } from '../../../spec-types'; -export declare const operationIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js b/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js deleted file mode 100644 index a98da3558..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/operationIdUniqueness.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.operationIdUniqueness = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const utils_1 = require("../utils"); -const utils_2 = require("../../../utils"); -function retrieveOperationId(operation) { - if (Array.isArray(operation.traits)) { - for (let i = operation.traits.length - 1; i >= 0; i--) { - const trait = operation.traits[i]; - if ((0, utils_2.isObject)(trait) && typeof trait.operationId === 'string') { - return { - operationId: trait.operationId, - path: ['traits', i, 'operationId'], - }; - } - } - } - if (typeof operation.operationId === 'string') { - return { - operationId: operation.operationId, - path: ['operationId'], - }; - } - return undefined; -} -exports.operationIdUniqueness = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - channels: { - type: 'object', - properties: { - subscribe: { - type: 'object', - }, - publish: { - type: 'object', - }, - }, - }, - }, - }, - options: null, -}, (targetVal) => { - const results = []; - const operations = (0, utils_1.getAllOperations)(targetVal); - const seenIds = []; - for (const { path, operation } of operations) { - const maybeOperationId = retrieveOperationId(operation); - if (maybeOperationId === undefined) { - continue; - } - if (seenIds.includes(maybeOperationId.operationId)) { - results.push({ - message: '"operationId" must be unique across all the operations.', - path: [...path, ...maybeOperationId.path], - }); - } - else { - seenIds.push(maybeOperationId.operationId); - } - } - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts b/apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts deleted file mode 100644 index 09111d4be..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/schemaValidation.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -type SchemaFragment = { - default?: unknown; - examples?: unknown[]; -}; -export declare const schemaValidation: import("@stoplight/spectral-core").RulesetFunctionWithValidator; -export {}; diff --git a/apps/parser/cjs/ruleset/v2/functions/schemaValidation.js b/apps/parser/cjs/ruleset/v2/functions/schemaValidation.js deleted file mode 100644 index 629aef074..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/schemaValidation.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.schemaValidation = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const spectral_functions_1 = require("@stoplight/spectral-functions"); -function getRelevantItems(target, type) { - if (type === 'default') { - return [{ path: ['default'], value: target.default }]; - } - if (!Array.isArray(target.examples)) { - return []; - } - return Array.from(target.examples.entries()).map(([key, value]) => ({ - path: ['examples', key], - value, - })); -} -exports.schemaValidation = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - default: {}, - examples: { - type: 'array', - }, - }, - errorMessage: '#{{print("property")}must be an object containing "default" or an "examples" array', - }, - errorOnInvalidInput: true, - options: { - type: 'object', - properties: { - type: { - enum: ['default', 'examples'], - }, - }, - additionalProperties: false, - required: ['type'], - }, -}, (targetVal, opts, context) => { - const schemaObject = targetVal; - const results = []; - for (const relevantItem of getRelevantItems(targetVal, opts.type)) { - const result = (0, spectral_functions_1.schema)(relevantItem.value, { - schema: schemaObject, - allErrors: true, - }, Object.assign(Object.assign({}, context), { path: [...context.path, ...relevantItem.path] })); - if (Array.isArray(result)) { - results.push(...result); - } - } - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/security.d.ts b/apps/parser/cjs/ruleset/v2/functions/security.d.ts deleted file mode 100644 index 7eccc4120..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/security.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const security: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { - objectType: 'Server' | 'Operation'; -}>; diff --git a/apps/parser/cjs/ruleset/v2/functions/security.js b/apps/parser/cjs/ruleset/v2/functions/security.js deleted file mode 100644 index 81a1759bb..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/security.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.security = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const utils_1 = require("../../../utils"); -const oAuth2Keys = ['implicit', 'password', 'clientCredentials', 'authorizationCode']; -function getAllScopes(oauth2) { - const scopes = []; - oAuth2Keys.forEach(key => { - const flow = oauth2[key]; - if ((0, utils_1.isObject)(flow)) { - scopes.push(...Object.keys(flow.scopes)); - } - }); - return Array.from(new Set(scopes)); -} -exports.security = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - additionalProperties: { - type: 'array', - items: { - type: 'string', - }, - }, - }, - options: { - type: 'object', - properties: { - objectType: { - type: 'string', - enum: ['Server', 'Operation'], - }, - }, - }, -}, (targetVal = {}, { objectType }, ctx) => { - var _a, _b; - const results = []; - const spec = ctx.document.data; - const securitySchemes = (_b = (_a = spec === null || spec === void 0 ? void 0 : spec.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) !== null && _b !== void 0 ? _b : {}; - const securitySchemesKeys = Object.keys(securitySchemes); - Object.keys(targetVal).forEach(securityKey => { - var _a; - if (!securitySchemesKeys.includes(securityKey)) { - results.push({ - message: `${objectType} must not reference an undefined security scheme.`, - path: [...ctx.path, securityKey], - }); - } - const securityScheme = securitySchemes[securityKey]; - if ((securityScheme === null || securityScheme === void 0 ? void 0 : securityScheme.type) === 'oauth2') { - const availableScopes = getAllScopes((_a = securityScheme.flows) !== null && _a !== void 0 ? _a : {}); - targetVal[securityKey].forEach((securityScope, index) => { - if (!availableScopes.includes(securityScope)) { - results.push({ - message: `Non-existing security scope for the specified security scheme. Available: [${availableScopes.join(', ')}]`, - path: [...ctx.path, securityKey, index], - }); - } - }); - } - }); - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts b/apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts deleted file mode 100644 index 1f3e71612..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/serverVariables.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const serverVariables: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - url: string; - variables: Record; -}, null>; diff --git a/apps/parser/cjs/ruleset/v2/functions/serverVariables.js b/apps/parser/cjs/ruleset/v2/functions/serverVariables.js deleted file mode 100644 index 94d50a592..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/serverVariables.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.serverVariables = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const utils_1 = require("../../utils"); -exports.serverVariables = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - url: { - type: 'string', - }, - variables: { - type: 'object', - }, - }, - required: ['url', 'variables'], - }, - options: null, -}, (targetVal, _, ctx) => { - const results = []; - const variables = (0, utils_1.parseUrlVariables)(targetVal.url); - if (variables.length === 0) - return results; - const missingVariables = (0, utils_1.getMissingProps)(variables, targetVal.variables); - if (missingVariables.length) { - results.push({ - message: `Not all server's variables are described with "variables" object. Missed: ${missingVariables.join(', ')}.`, - path: [...ctx.path, 'variables'], - }); - } - const redundantVariables = (0, utils_1.getRedundantProps)(variables, targetVal.variables); - if (redundantVariables.length) { - redundantVariables.forEach(variable => { - results.push({ - message: `Server's "variables" object has redundant defined "${variable}" url variable.`, - path: [...ctx.path, 'variables', variable], - }); - }); - } - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts b/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts deleted file mode 100644 index 93af76773..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { v2 } from '../../../spec-types'; -export declare const unusedSecuritySchemes: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js b/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js deleted file mode 100644 index ee79562a7..000000000 --- a/apps/parser/cjs/ruleset/v2/functions/unusedSecuritySchemes.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.unusedSecuritySchemes = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const utils_1 = require("../utils"); -const utils_2 = require("../../../utils"); -exports.unusedSecuritySchemes = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - components: { - type: 'object', - }, - }, - required: ['components'], - }, - options: null, -}, (targetVal) => { - var _a; - const securitySchemes = (_a = targetVal.components) === null || _a === void 0 ? void 0 : _a.securitySchemes; - if (!(0, utils_2.isObject)(securitySchemes)) { - return; - } - const usedSecuritySchemes = []; - // collect all security requirements from servers - if ((0, utils_2.isObject)(targetVal.servers)) { - Object.values(targetVal.servers).forEach(server => { - if (Array.isArray(server.security)) { - server.security.forEach(requirements => { - usedSecuritySchemes.push(...Object.keys(requirements)); - }); - } - }); - } - // collect all security requirements from operations - const operations = (0, utils_1.getAllOperations)(targetVal); - for (const { operation } of operations) { - if (Array.isArray(operation.security)) { - operation.security.forEach(requirements => { - usedSecuritySchemes.push(...Object.keys(requirements)); - }); - } - } - const usedSecuritySchemesSet = new Set(usedSecuritySchemes); - const securitySchemesKinds = Object.keys(securitySchemes); - const results = []; - securitySchemesKinds.forEach(securitySchemeKind => { - if (!usedSecuritySchemesSet.has(securitySchemeKind)) { - results.push({ - message: 'Potentially unused security scheme has been detected in AsyncAPI document.', - path: ['components', 'securitySchemes', securitySchemeKind], - }); - } - }); - return results; -}); diff --git a/apps/parser/cjs/ruleset/v2/index.d.ts b/apps/parser/cjs/ruleset/v2/index.d.ts deleted file mode 100644 index 5acc4189e..000000000 --- a/apps/parser/cjs/ruleset/v2/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ruleset'; diff --git a/apps/parser/cjs/ruleset/v2/index.js b/apps/parser/cjs/ruleset/v2/index.js deleted file mode 100644 index 342c4148c..000000000 --- a/apps/parser/cjs/ruleset/v2/index.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./ruleset"), exports); diff --git a/apps/parser/cjs/ruleset/v2/ruleset.d.ts b/apps/parser/cjs/ruleset/v2/ruleset.d.ts deleted file mode 100644 index 0715d2bc1..000000000 --- a/apps/parser/cjs/ruleset/v2/ruleset.d.ts +++ /dev/null @@ -1,304 +0,0 @@ -import type { Parser } from '../../parser'; -export declare const v2CoreRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Server Object rules - */ - 'asyncapi2-server-security': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { - objectType: "Server" | "Operation"; - }>; - functionOptions: { - objectType: string; - }; - }; - }; - 'asyncapi2-server-variables': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - url: string; - variables: Record; - }, null>; - }; - }; - 'asyncapi2-channel-no-query-nor-fragment': { - description: string; - severity: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - /** - * Channel Object rules - */ - 'asyncapi2-channel-parameters': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - parameters: Record; - }, null>; - }; - }; - 'asyncapi2-channel-servers': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - servers?: Record | undefined; - channels?: Record | undefined; - }, null>; - }; - }; - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId-uniqueness': { - description: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi2-operation-security': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { - objectType: "Server" | "Operation"; - }>; - functionOptions: { - objectType: string; - }; - }; - }; - /** - * Message Object rules - */ - 'asyncapi2-message-examples': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi2-message-messageId-uniqueness': { - description: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Misc rules - */ - 'asyncapi2-tags-uniqueness': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - name: string; - }[], null>; - }; - }; - }; -}; -export declare const v2SchemasRuleset: (parser: Parser) => { - description: string; - rules: { - 'asyncapi2-schemas': import("@stoplight/spectral-core").RuleDefinition; - 'asyncapi2-schema-default': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - default?: unknown; - examples?: unknown[] | undefined; - }, { - type: "default" | "examples"; - }>; - functionOptions: { - type: string; - }; - }; - }; - 'asyncapi2-schema-examples': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - default?: unknown; - examples?: unknown[] | undefined; - }, { - type: "default" | "examples"; - }>; - functionOptions: { - type: string; - }; - }; - }; - 'asyncapi2-message-examples-custom-format': import("@stoplight/spectral-core").RuleDefinition; - }; -}; -export declare const v2RecommendedRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Root Object rules - */ - 'asyncapi2-tags': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Server Object rules - */ - 'asyncapi2-server-no-empty-variable': { - description: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - 'asyncapi2-server-no-trailing-slash': { - description: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - /** - * Channel Object rules - */ - 'asyncapi2-channel-no-empty-parameter': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - 'asyncapi2-channel-no-trailing-slash': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId': { - description: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - idField: string; - }; - }; - }; - /** - * Message Object rules - */ - 'asyncapi2-message-messageId': { - description: string; - recommended: boolean; - formats: import("@stoplight/spectral-core").Format[]; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - idField: string; - }; - }; - }; - /** - * Component Object rules - */ - 'asyncapi2-unused-securityScheme': { - description: string; - recommended: boolean; - resolved: boolean; - severity: string; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - }; -}; diff --git a/apps/parser/cjs/ruleset/v2/ruleset.js b/apps/parser/cjs/ruleset/v2/ruleset.js deleted file mode 100644 index 7c42a9b52..000000000 --- a/apps/parser/cjs/ruleset/v2/ruleset.js +++ /dev/null @@ -1,356 +0,0 @@ -"use strict"; -/* eslint-disable sonarjs/no-duplicate-string */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.v2RecommendedRuleset = exports.v2SchemasRuleset = exports.v2CoreRuleset = void 0; -const formats_1 = require("../formats"); -const spectral_functions_1 = require("@stoplight/spectral-functions"); -const channelParameters_1 = require("./functions/channelParameters"); -const channelServers_1 = require("./functions/channelServers"); -const checkId_1 = require("./functions/checkId"); -const messageExamples_1 = require("./functions/messageExamples"); -const messageExamples_spectral_rule_v2_1 = require("./functions/messageExamples-spectral-rule-v2"); -const messageIdUniqueness_1 = require("./functions/messageIdUniqueness"); -const operationIdUniqueness_1 = require("./functions/operationIdUniqueness"); -const schemaValidation_1 = require("./functions/schemaValidation"); -const security_1 = require("./functions/security"); -const serverVariables_1 = require("./functions/serverVariables"); -const unusedSecuritySchemes_1 = require("./functions/unusedSecuritySchemes"); -const uniquenessTags_1 = require("../functions/uniquenessTags"); -const spectral_rule_v2_1 = require("../../schema-parser/spectral-rule-v2"); -exports.v2CoreRuleset = { - description: 'Core AsyncAPI 2.x.x ruleset.', - formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - rules: { - /** - * Server Object rules - */ - 'asyncapi2-server-security': { - description: 'Server have to reference a defined security schemes.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$.servers.*.security.*', - then: { - function: security_1.security, - functionOptions: { - objectType: 'Server', - }, - }, - }, - 'asyncapi2-server-variables': { - description: 'Server variables must be defined and there must be no redundant variables.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: ['$.servers.*', '$.components.servers.*'], - then: { - function: serverVariables_1.serverVariables, - }, - }, - 'asyncapi2-channel-no-query-nor-fragment': { - description: 'Channel address should not include query ("?") or fragment ("#") delimiter.', - severity: 'error', - recommended: true, - given: '$.channels', - then: { - field: '@key', - function: spectral_functions_1.pattern, - functionOptions: { - notMatch: '[\\?#]', - }, - }, - }, - /** - * Channel Object rules - */ - 'asyncapi2-channel-parameters': { - description: 'Channel parameters must be defined and there must be no redundant parameters.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$.channels.*', - then: { - function: channelParameters_1.channelParameters, - }, - }, - 'asyncapi2-channel-servers': { - description: 'Channel servers must be defined in the "servers" object.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$', - then: { - function: channelServers_1.channelServers, - }, - }, - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId-uniqueness': { - description: '"operationId" must be unique across all the operations.', - severity: 'error', - recommended: true, - given: '$', - then: { - function: operationIdUniqueness_1.operationIdUniqueness, - }, - }, - 'asyncapi2-operation-security': { - description: 'Operation have to reference a defined security schemes.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$.channels[*][publish,subscribe].security.*', - then: { - function: security_1.security, - functionOptions: { - objectType: 'Operation', - }, - }, - }, - /** - * Message Object rules - */ - 'asyncapi2-message-examples': { - description: 'Examples of message object should validate againt the "payload" and "headers" schemas.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // messages - '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', - '$.components.messages[?(!@null && @.schemaFormat === void 0)]', - // message traits - '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.messages.*.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.messageTraits[?(!@null && @.schemaFormat === void 0)]', - ], - then: { - function: messageExamples_1.messageExamples, - }, - }, - 'asyncapi2-message-messageId-uniqueness': { - description: '"messageId" must be unique across all the messages.', - severity: 'error', - recommended: true, - given: '$', - then: { - function: messageIdUniqueness_1.messageIdUniqueness, - }, - }, - /** - * Misc rules - */ - 'asyncapi2-tags-uniqueness': { - description: 'Each tag must have a unique name.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // root - '$.tags', - // operations - '$.channels.*.[publish,subscribe].tags', - '$.components.channels.*.[publish,subscribe].tags', - // operation traits - '$.channels.*.[publish,subscribe].traits.*.tags', - '$.components.channels.*.[publish,subscribe].traits.*.tags', - '$.components.operationTraits.*.tags', - // messages - '$.channels.*.[publish,subscribe].message.tags', - '$.channels.*.[publish,subscribe].message.oneOf.*.tags', - '$.components.channels.*.[publish,subscribe].message.tags', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.tags', - '$.components.messages.*.tags', - // message traits - '$.channels.*.[publish,subscribe].message.traits.*.tags', - '$.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', - '$.components.channels.*.[publish,subscribe].message.traits.*.tags', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', - '$.components.messages.*.traits.*.tags', - '$.components.messageTraits.*.tags', - ], - then: { - function: uniquenessTags_1.uniquenessTags, - }, - }, - }, -}; -const v2SchemasRuleset = (parser) => { - return { - description: 'Schemas AsyncAPI 2.x.x ruleset.', - rules: { - 'asyncapi2-schemas': (0, spectral_rule_v2_1.asyncApi2SchemaParserRule)(parser), - 'asyncapi2-schema-default': { - description: 'Default must be valid against its defined schema.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', - '$.channels.*.parameters.*.schema.default^', - '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', - '$.components.channels.*.parameters.*.schema.default^', - '$.components.schemas.*.default^', - '$.components.parameters.*.schema.default^', - '$.components.messages[?(@.schemaFormat === void 0)].payload.default^', - '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.default^', - ], - then: { - function: schemaValidation_1.schemaValidation, - functionOptions: { - type: 'default', - }, - }, - }, - 'asyncapi2-schema-examples': { - description: 'Examples must be valid against their defined schema.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', - '$.channels.*.parameters.*.schema.examples^', - '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', - '$.components.channels.*.parameters.*.schema.examples^', - '$.components.schemas.*.examples^', - '$.components.parameters.*.schema.examples^', - '$.components.messages[?(@.schemaFormat === void 0)].payload.examples^', - '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.examples^', - ], - then: { - function: schemaValidation_1.schemaValidation, - functionOptions: { - type: 'examples', - }, - }, - }, - 'asyncapi2-message-examples-custom-format': (0, messageExamples_spectral_rule_v2_1.asyncApi2MessageExamplesParserRule)(parser), - } - }; -}; -exports.v2SchemasRuleset = v2SchemasRuleset; -exports.v2RecommendedRuleset = { - description: 'Recommended AsyncAPI 2.x.x ruleset.', - formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - rules: { - /** - * Root Object rules - */ - 'asyncapi2-tags': { - description: 'AsyncAPI object should have non-empty "tags" array.', - recommended: true, - given: '$', - then: { - field: 'tags', - function: spectral_functions_1.truthy, - }, - }, - /** - * Server Object rules - */ - 'asyncapi2-server-no-empty-variable': { - description: 'Server URL should not have empty variable substitution pattern.', - recommended: true, - given: '$.servers[*].url', - then: { - function: spectral_functions_1.pattern, - functionOptions: { - notMatch: '{}', - }, - }, - }, - 'asyncapi2-server-no-trailing-slash': { - description: 'Server URL should not end with slash.', - recommended: true, - given: '$.servers[*].url', - then: { - function: spectral_functions_1.pattern, - functionOptions: { - notMatch: '/$', - }, - }, - }, - /** - * Channel Object rules - */ - 'asyncapi2-channel-no-empty-parameter': { - description: 'Channel address should not have empty parameter substitution pattern.', - recommended: true, - given: '$.channels', - then: { - field: '@key', - function: spectral_functions_1.pattern, - functionOptions: { - notMatch: '{}', - }, - }, - }, - 'asyncapi2-channel-no-trailing-slash': { - description: 'Channel address should not end with slash.', - recommended: true, - given: '$.channels', - then: { - field: '@key', - function: spectral_functions_1.pattern, - functionOptions: { - notMatch: '.+\\/$', - }, - }, - }, - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId': { - description: 'Operation should have an "operationId" field defined.', - recommended: true, - given: ['$.channels[*][publish,subscribe]', '$.components.channels[*][publish,subscribe]'], - then: { - function: checkId_1.checkId, - functionOptions: { - idField: 'operationId', - }, - }, - }, - /** - * Message Object rules - */ - 'asyncapi2-message-messageId': { - description: 'Message should have a "messageId" field defined.', - recommended: true, - formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['2']).excludeByVersions(['2.0.0', '2.1.0', '2.2.0', '2.3.0']).formats(), - given: [ - '$.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.messages.*', - ], - then: { - function: checkId_1.checkId, - functionOptions: { - idField: 'messageId', - }, - }, - }, - /** - * Component Object rules - */ - 'asyncapi2-unused-securityScheme': { - description: 'Potentially unused security scheme has been detected in AsyncAPI document.', - recommended: true, - resolved: false, - severity: 'info', - given: '$', - then: { - function: unusedSecuritySchemes_1.unusedSecuritySchemes, - }, - }, - }, -}; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts b/apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts deleted file mode 100644 index fd7f3fbd4..000000000 --- a/apps/parser/cjs/ruleset/v2/utils/getAllMessages.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { JsonPath } from '@stoplight/types'; -import type { v2 } from '../../../spec-types'; -export type GetAllMessageResult = { - path: JsonPath; - message: v2.MessageObject; -}; -export declare function getAllMessages(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllMessages.js b/apps/parser/cjs/ruleset/v2/utils/getAllMessages.js deleted file mode 100644 index 220b8ce19..000000000 --- a/apps/parser/cjs/ruleset/v2/utils/getAllMessages.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getAllMessages = void 0; -const utils_1 = require("../../../utils"); -const getAllOperations_1 = require("./getAllOperations"); -function* getAllMessages(asyncapi) { - for (const { path, operation } of (0, getAllOperations_1.getAllOperations)(asyncapi)) { - if (!(0, utils_1.isObject)(operation)) { - continue; - } - const maybeMessage = operation.message; - if (!(0, utils_1.isObject)(maybeMessage)) { - continue; - } - const oneOf = maybeMessage.oneOf; - if (Array.isArray(oneOf)) { - for (const [index, message] of oneOf.entries()) { - if ((0, utils_1.isObject)(message)) { - yield { - path: [...path, 'message', 'oneOf', index], - message, - }; - } - } - } - else { - yield { - path: [...path, 'message'], - message: maybeMessage, - }; - } - } -} -exports.getAllMessages = getAllMessages; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts b/apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts deleted file mode 100644 index b806e79b6..000000000 --- a/apps/parser/cjs/ruleset/v2/utils/getAllOperations.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { JsonPath } from '@stoplight/types'; -import type { v2 } from '../../../spec-types'; -export type GetAllOperationsResult = { - path: JsonPath; - kind: 'subscribe' | 'publish'; - operation: v2.OperationObject; -}; -export declare function getAllOperations(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/cjs/ruleset/v2/utils/getAllOperations.js b/apps/parser/cjs/ruleset/v2/utils/getAllOperations.js deleted file mode 100644 index cb7e2bd15..000000000 --- a/apps/parser/cjs/ruleset/v2/utils/getAllOperations.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getAllOperations = void 0; -const utils_1 = require("../../../utils"); -function* getAllOperations(asyncapi) { - const channels = asyncapi === null || asyncapi === void 0 ? void 0 : asyncapi.channels; - if (!(0, utils_1.isObject)(channels)) { - return {}; - } - for (const [channelAddress, channel] of Object.entries(channels)) { - if (!(0, utils_1.isObject)(channel)) { - continue; - } - if ((0, utils_1.isObject)(channel.subscribe)) { - yield { - path: ['channels', channelAddress, 'subscribe'], - kind: 'subscribe', - operation: channel.subscribe, - }; - } - if ((0, utils_1.isObject)(channel.publish)) { - yield { - path: ['channels', channelAddress, 'publish'], - kind: 'publish', - operation: channel.publish, - }; - } - } -} -exports.getAllOperations = getAllOperations; diff --git a/apps/parser/cjs/ruleset/v2/utils/index.d.ts b/apps/parser/cjs/ruleset/v2/utils/index.d.ts deleted file mode 100644 index 904290167..000000000 --- a/apps/parser/cjs/ruleset/v2/utils/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './getAllMessages'; -export * from './getAllOperations'; diff --git a/apps/parser/cjs/ruleset/v2/utils/index.js b/apps/parser/cjs/ruleset/v2/utils/index.js deleted file mode 100644 index f79ddd4e0..000000000 --- a/apps/parser/cjs/ruleset/v2/utils/index.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./getAllMessages"), exports); -__exportStar(require("./getAllOperations"), exports); diff --git a/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts b/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts deleted file mode 100644 index c712112a0..000000000 --- a/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export declare const operationMessagesUnambiguity: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - channel?: { - $ref: string; - } | undefined; - messages?: [{ - $ref: string; - }] | undefined; -}, null>; diff --git a/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js b/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js deleted file mode 100644 index eed0f1761..000000000 --- a/apps/parser/cjs/ruleset/v3/functions/operationMessagesUnambiguity.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.operationMessagesUnambiguity = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const referenceSchema = { - type: 'object', - properties: { - $ref: { - type: 'string', - format: 'uri-reference' - }, - }, -}; -exports.operationMessagesUnambiguity = (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - channel: referenceSchema, - messages: { - type: 'array', - items: referenceSchema, - }, - }, - }, - options: null, -}, (targetVal, _, ctx) => { - var _a, _b; - const results = []; - const channelPointer = (_a = targetVal.channel) === null || _a === void 0 ? void 0 : _a.$ref; // required - (_b = targetVal.messages) === null || _b === void 0 ? void 0 : _b.forEach((message, index) => { - if (!message.$ref.startsWith(`${channelPointer}/messages`)) { - results.push({ - message: 'Operation message does not belong to the specified channel.', - path: [...ctx.path, 'messages', index], - }); - } - }); - return results; -}); diff --git a/apps/parser/cjs/ruleset/v3/index.d.ts b/apps/parser/cjs/ruleset/v3/index.d.ts deleted file mode 100644 index 5acc4189e..000000000 --- a/apps/parser/cjs/ruleset/v3/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ruleset'; diff --git a/apps/parser/cjs/ruleset/v3/index.js b/apps/parser/cjs/ruleset/v3/index.js deleted file mode 100644 index 342c4148c..000000000 --- a/apps/parser/cjs/ruleset/v3/index.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./ruleset"), exports); diff --git a/apps/parser/cjs/ruleset/v3/ruleset.d.ts b/apps/parser/cjs/ruleset/v3/ruleset.d.ts deleted file mode 100644 index 475012574..000000000 --- a/apps/parser/cjs/ruleset/v3/ruleset.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -export declare const v3CoreRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Operation Object rules - */ - 'asyncapi3-operation-messages-from-referred-channel': { - description: string; - message: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - channel?: { - $ref: string; - } | undefined; - messages?: [{ - $ref: string; - }] | undefined; - }, null>; - }; - }; - 'asyncapi3-required-operation-channel-unambiguity': { - description: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - match: string; - }; - }; - }; - /** - * Channel Object rules - */ - 'asyncapi3-required-channel-servers-unambiguity': { - description: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - match: string; - }; - }; - }; - }; -}; diff --git a/apps/parser/cjs/ruleset/v3/ruleset.js b/apps/parser/cjs/ruleset/v3/ruleset.js deleted file mode 100644 index 2ea19cda3..000000000 --- a/apps/parser/cjs/ruleset/v3/ruleset.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -/* eslint-disable sonarjs/no-duplicate-string */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.v3CoreRuleset = void 0; -const formats_1 = require("../formats"); -const operationMessagesUnambiguity_1 = require("./functions/operationMessagesUnambiguity"); -const spectral_functions_1 = require("@stoplight/spectral-functions"); -exports.v3CoreRuleset = { - description: 'Core AsyncAPI 3.x.x ruleset.', - formats: formats_1.AsyncAPIFormats.filterByMajorVersions(['3']).formats(), - rules: { - /** - * Operation Object rules - */ - 'asyncapi3-operation-messages-from-referred-channel': { - description: 'Operation "messages" must be a subset of the messages defined in the channel referenced in this operation.', - message: '{{error}}', - severity: 'error', - recommended: true, - resolved: false, - given: [ - '$.operations.*', - '$.components.operations.*', - ], - then: { - function: operationMessagesUnambiguity_1.operationMessagesUnambiguity, - }, - }, - 'asyncapi3-required-operation-channel-unambiguity': { - description: 'The "channel" field of an operation under the root "operations" object must always reference a channel under the root "channels" object.', - severity: 'error', - recommended: true, - resolved: false, - given: '$.operations.*', - then: { - field: 'channel.$ref', - function: spectral_functions_1.pattern, - functionOptions: { - match: '#\\/channels\\/', // If doesn't match, rule fails. - }, - }, - }, - /** - * Channel Object rules - */ - 'asyncapi3-required-channel-servers-unambiguity': { - description: 'The "servers" field of a channel under the root "channels" object must always reference a subset of the servers under the root "servers" object.', - severity: 'error', - recommended: true, - resolved: false, - given: '$.channels.*', - then: { - field: '$.servers.*.$ref', - function: spectral_functions_1.pattern, - functionOptions: { - match: '#\\/servers\\/', // If doesn't match, rule fails. - }, - }, - } - }, -}; diff --git a/apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts b/apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts deleted file mode 100644 index 9f4f64000..000000000 --- a/apps/parser/cjs/schema-parser/asyncapi-schema-parser.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { SchemaParser } from '../schema-parser'; -export declare function AsyncAPISchemaParser(): SchemaParser; diff --git a/apps/parser/cjs/schema-parser/asyncapi-schema-parser.js b/apps/parser/cjs/schema-parser/asyncapi-schema-parser.js deleted file mode 100644 index c2acbb0ad..000000000 --- a/apps/parser/cjs/schema-parser/asyncapi-schema-parser.js +++ /dev/null @@ -1,109 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AsyncAPISchemaParser = void 0; -const ajv_1 = __importDefault(require("ajv")); -const ajv_formats_1 = __importDefault(require("ajv-formats")); -const ajv_errors_1 = __importDefault(require("ajv-errors")); -const specs_1 = __importDefault(require("@asyncapi/specs")); -const constants_1 = require("../constants"); -function AsyncAPISchemaParser() { - return { - validate, - parse, - getMimeTypes, - }; -} -exports.AsyncAPISchemaParser = AsyncAPISchemaParser; -function validate(input) { - return __awaiter(this, void 0, void 0, function* () { - const version = input.asyncapi.semver.version; - const validator = getSchemaValidator(version); - let result = []; - const valid = validator(input.data); - if (!valid && validator.errors) { - result = ajvToSpectralResult(input.path, [...validator.errors]); - } - return result; - }); -} -function parse(input) { - return __awaiter(this, void 0, void 0, function* () { - return input.data; - }); -} -function getMimeTypes() { - const mimeTypes = [ - 'application/schema;version=draft-07', - 'application/schema+json;version=draft-07', - 'application/schema+yaml;version=draft-07', - ]; - constants_1.specVersions.forEach((version) => { - mimeTypes.push(`application/vnd.aai.asyncapi;version=${version}`, `application/vnd.aai.asyncapi+json;version=${version}`, `application/vnd.aai.asyncapi+yaml;version=${version}`); - }); - return mimeTypes; -} -function ajvToSpectralResult(path, errors) { - return errors.map(error => { - return { - message: error.message, - path: [...path, ...error.instancePath.replace(/^\//, '').split('/')], - }; - }); -} -function getSchemaValidator(version) { - const ajv = getAjvInstance(); - let validator = ajv.getSchema(version); - if (!validator) { - const schema = preparePayloadSchema(specs_1.default.schemas[version], version); - ajv.addSchema(schema, version); - validator = ajv.getSchema(version); - } - return validator; -} -/** - * To validate the schema of the payload we just need a small portion of official AsyncAPI spec JSON Schema, the Schema Object in particular. The definition of Schema Object must be - * included in the returned JSON Schema. - */ -function preparePayloadSchema(asyncapiSchema, version) { - const payloadSchema = `http://asyncapi.com/definitions/${version}/schema.json`; - const definitions = asyncapiSchema.definitions; - if (definitions === undefined) { - throw new Error('AsyncAPI schema must contain definitions'); - } - // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. - delete definitions['http://json-schema.org/draft-07/schema']; - delete definitions['http://json-schema.org/draft-04/schema']; - return { - $ref: payloadSchema, - definitions - }; -} -let _ajv; -function getAjvInstance() { - if (_ajv) { - return _ajv; - } - _ajv = new ajv_1.default({ - allErrors: true, - meta: true, - messages: true, - strict: false, - allowUnionTypes: true, - unicodeRegExp: false, - }); - (0, ajv_formats_1.default)(_ajv); - (0, ajv_errors_1.default)(_ajv); - return _ajv; -} diff --git a/apps/parser/cjs/schema-parser/index.d.ts b/apps/parser/cjs/schema-parser/index.d.ts deleted file mode 100644 index fdbddef6c..000000000 --- a/apps/parser/cjs/schema-parser/index.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { Parser } from '../parser'; -import type { AsyncAPISchema, DetailedAsyncAPI, SchemaValidateResult } from '../types'; -export interface ValidateSchemaInput { - readonly asyncapi: DetailedAsyncAPI; - readonly data: D; - readonly meta: M; - readonly path: Array; - readonly schemaFormat: string; - readonly defaultSchemaFormat: string; -} -export interface ParseSchemaInput { - readonly asyncapi: DetailedAsyncAPI; - readonly data: D; - readonly meta: M; - readonly path: Array; - readonly schemaFormat: string; - readonly defaultSchemaFormat: string; -} -export interface SchemaParser { - validate: (input: ValidateSchemaInput) => void | SchemaValidateResult[] | Promise; - parse: (input: ParseSchemaInput) => AsyncAPISchema | Promise; - getMimeTypes: () => Array; -} -export declare function validateSchema(parser: Parser, input: ValidateSchemaInput): Promise; -export declare function parseSchema(parser: Parser, input: ParseSchemaInput): Promise; -export declare function registerSchemaParser(parser: Parser, schemaParser: SchemaParser): void; -export declare function getSchemaFormat(schematFormat: string | undefined, asyncapiVersion: string): string; -export declare function getDefaultSchemaFormat(asyncapiVersion: string): string; diff --git a/apps/parser/cjs/schema-parser/index.js b/apps/parser/cjs/schema-parser/index.js deleted file mode 100644 index 00098d270..000000000 --- a/apps/parser/cjs/schema-parser/index.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getDefaultSchemaFormat = exports.getSchemaFormat = exports.registerSchemaParser = exports.parseSchema = exports.validateSchema = void 0; -function validateSchema(parser, input) { - return __awaiter(this, void 0, void 0, function* () { - const schemaParser = parser.parserRegistry.get(input.schemaFormat); - if (schemaParser === undefined) { - const { path, schemaFormat } = input; - path.pop(); // remove 'payload' as last element of path - return [ - { - message: `Unknown schema format: "${schemaFormat}"`, - path: [...path, 'schemaFormat'], - }, - { - message: `Cannot validate and parse given schema due to unknown schema format: "${schemaFormat}"`, - path: [...path, 'payload'], - } - ]; - } - return schemaParser.validate(input); - }); -} -exports.validateSchema = validateSchema; -function parseSchema(parser, input) { - return __awaiter(this, void 0, void 0, function* () { - const schemaParser = parser.parserRegistry.get(input.schemaFormat); - if (schemaParser === undefined) { - throw new Error('Unknown schema format'); - } - return schemaParser.parse(input); - }); -} -exports.parseSchema = parseSchema; -function registerSchemaParser(parser, schemaParser) { - if (typeof schemaParser !== 'object' - || typeof schemaParser.validate !== 'function' - || typeof schemaParser.parse !== 'function' - || typeof schemaParser.getMimeTypes !== 'function') { - throw new Error('Custom parser must have "parse()", "validate()" and "getMimeTypes()" functions.'); - } - schemaParser.getMimeTypes().forEach(schemaFormat => { - parser.parserRegistry.set(schemaFormat, schemaParser); - }); -} -exports.registerSchemaParser = registerSchemaParser; -function getSchemaFormat(schematFormat, asyncapiVersion) { - if (typeof schematFormat === 'string') { - return schematFormat; - } - return getDefaultSchemaFormat(asyncapiVersion); -} -exports.getSchemaFormat = getSchemaFormat; -function getDefaultSchemaFormat(asyncapiVersion) { - return `application/vnd.aai.asyncapi;version=${asyncapiVersion}`; -} -exports.getDefaultSchemaFormat = getDefaultSchemaFormat; diff --git a/apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts b/apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts deleted file mode 100644 index d8b894057..000000000 --- a/apps/parser/cjs/schema-parser/spectral-rule-v2.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { RuleDefinition } from '@stoplight/spectral-core'; -import type { Parser } from '../parser'; -export declare function asyncApi2SchemaParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/cjs/schema-parser/spectral-rule-v2.js b/apps/parser/cjs/schema-parser/spectral-rule-v2.js deleted file mode 100644 index 5f4ed8016..000000000 --- a/apps/parser/cjs/schema-parser/spectral-rule-v2.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.asyncApi2SchemaParserRule = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const index_1 = require("./index"); -const utils_1 = require("../utils"); -function asyncApi2SchemaParserRule(parser) { - return { - description: 'Custom schema must be correctly formatted from the point of view of the used format.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // operations - '$.channels.*.[publish,subscribe].message', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe].message', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - // messages - '$.components.messages.*', - ], - then: { - function: rulesetFunction(parser), - }, - }; -} -exports.asyncApi2SchemaParserRule = asyncApi2SchemaParserRule; -function rulesetFunction(parser) { - return (0, spectral_core_1.createRulesetFunction)({ - input: { - type: 'object', - properties: { - schemaFormat: { - type: 'string', - }, - payload: true, // any value - } - }, - options: null - }, (targetVal = {}, _, ctx) => __awaiter(this, void 0, void 0, function* () { - if (!targetVal.payload) { - return []; - } - const path = [...ctx.path, 'payload']; - const document = ctx.document; - const parsedSpec = document.data; - const schemaFormat = (0, index_1.getSchemaFormat)(targetVal.schemaFormat, parsedSpec.asyncapi); - const defaultSchemaFormat = (0, index_1.getDefaultSchemaFormat)(parsedSpec.asyncapi); - const asyncapi = (0, utils_1.createDetailedAsyncAPI)(parsedSpec, document.__parserInput, document.source || undefined); - const input = { - asyncapi, - data: targetVal.payload, - meta: {}, - path, - schemaFormat, - defaultSchemaFormat, - }; - try { - return yield (0, index_1.validateSchema)(parser, input); - } - catch (err) { - return [ - { - message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, - path, - } - ]; - } - })); -} diff --git a/apps/parser/cjs/spec-types/index.d.ts b/apps/parser/cjs/spec-types/index.d.ts deleted file mode 100644 index 813b5f382..000000000 --- a/apps/parser/cjs/spec-types/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * as v2 from './v2'; -export * as v3 from './v3'; diff --git a/apps/parser/cjs/spec-types/index.js b/apps/parser/cjs/spec-types/index.js deleted file mode 100644 index 498785478..000000000 --- a/apps/parser/cjs/spec-types/index.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.v3 = exports.v2 = void 0; -exports.v2 = __importStar(require("./v2")); -exports.v3 = __importStar(require("./v3")); diff --git a/apps/parser/cjs/spec-types/v2.d.ts b/apps/parser/cjs/spec-types/v2.d.ts deleted file mode 100644 index 56bf4d798..000000000 --- a/apps/parser/cjs/spec-types/v2.d.ts +++ /dev/null @@ -1,363 +0,0 @@ -import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; -export type AsyncAPIVersion = string; -export type Identifier = string; -export type DefaultContentType = string; -export interface AsyncAPIObject extends SpecificationExtensions { - asyncapi: AsyncAPIVersion; - id?: Identifier; - info: InfoObject; - defaultContentType?: DefaultContentType; - servers?: ServersObject; - channels: ChannelsObject; - components?: ComponentsObject; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject; -} -export interface InfoObject extends SpecificationExtensions { - title: string; - version: string; - description?: string; - termsOfService?: string; - contact?: ContactObject; - license?: LicenseObject; -} -export interface ContactObject extends SpecificationExtensions { - name?: string; - url?: string; - email?: string; -} -export interface LicenseObject extends SpecificationExtensions { - name: string; - url?: string; -} -export type ServersObject = Record; -export interface ServerObject extends SpecificationExtensions { - url: string; - protocol: string; - protocolVersion?: string; - description?: string; - variables?: Record; - security?: Array; - bindings?: ServerBindingsObject | ReferenceObject; - tags?: TagsObject; -} -export interface ServerVariableObject extends SpecificationExtensions { - enum?: Array; - default?: string; - description?: string; - examples?: Array; -} -export interface ServerBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export type ChannelsObject = Record; -export interface ChannelObject extends SpecificationExtensions { - description?: string; - servers?: Array; - subscribe?: OperationObject; - publish?: OperationObject; - parameters?: ParametersObject; - bindings?: ChannelBindingsObject | ReferenceObject; -} -export interface ChannelBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export interface OperationObject extends OperationTraitObject, SpecificationExtensions { - message?: MessageObject | ReferenceObject | { - oneOf: Array; - }; - traits?: Array; -} -export interface OperationTraitObject extends SpecificationExtensions { - operationId?: string; - summary?: string; - description?: string; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject; - bindings?: OperationBindingsObject | ReferenceObject; -} -export interface OperationBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export type ParametersObject = Record; -export interface ParameterObject extends SpecificationExtensions { - description?: string; - schema?: SchemaObject; - location?: string; -} -export interface MessageObject extends MessageTraitObject, SpecificationExtensions { - payload?: any; - traits?: Array; -} -export interface MessageTraitObject extends SpecificationExtensions { - messageId?: string; - headers?: SchemaObject; - correlationId?: CorrelationIDObject | ReferenceObject; - schemaFormat?: string; - contentType?: string; - name?: string; - title?: string; - summary?: string; - description?: string; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject; - bindings?: MessageBindingsObject | ReferenceObject; - examples?: Array; -} -export interface MessageExampleObject extends SpecificationExtensions { - name?: string; - summary?: string; - headers?: Record; - payload?: any; -} -export interface MessageBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export type TagsObject = Array; -export interface TagObject extends SpecificationExtensions { - name: string; - description?: string; - externalDocs?: ExternalDocumentationObject; -} -export interface ExternalDocumentationObject extends SpecificationExtensions { - url: string; - description?: string; -} -export interface ComponentsObject extends SpecificationExtensions { - channels?: Record; - servers?: Record; - schemas?: Record; - messages?: Record; - securitySchemes?: Record; - parameters?: Record; - serverVariables?: Record; - correlationIds?: Record; - operationTraits?: Record; - messageTraits?: Record; - serverBindings?: Record; - channelBindings?: Record; - operationBindings?: Record; - messageBindings?: Record; -} -export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; -export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; -export interface AsyncAPISchemaDefinition extends SpecificationExtensions { - $id?: string; - $schema?: JSONSchema7Version; - $comment?: string; - type?: JSONSchema7TypeName | JSONSchema7TypeName[]; - enum?: JSONSchema7Type[]; - const?: JSONSchema7Type; - multipleOf?: number; - maximum?: number; - exclusiveMaximum?: number; - minimum?: number; - exclusiveMinimum?: number; - maxLength?: number; - minLength?: number; - pattern?: string; - items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; - additionalItems?: AsyncAPISchemaObject; - maxItems?: number; - minItems?: number; - uniqueItems?: boolean; - contains?: AsyncAPISchemaObject; - maxProperties?: number; - minProperties?: number; - required?: string[]; - properties?: { - [key: string]: AsyncAPISchemaObject; - }; - patternProperties?: { - [key: string]: AsyncAPISchemaObject; - }; - additionalProperties?: AsyncAPISchemaObject; - dependencies?: { - [key: string]: AsyncAPISchemaObject | string[]; - }; - propertyNames?: AsyncAPISchemaObject; - if?: AsyncAPISchemaObject; - then?: AsyncAPISchemaObject; - else?: AsyncAPISchemaObject; - allOf?: AsyncAPISchemaObject[]; - anyOf?: AsyncAPISchemaObject[]; - oneOf?: AsyncAPISchemaObject[]; - not?: AsyncAPISchemaObject; - format?: string; - contentMediaType?: string; - contentEncoding?: string; - definitions?: { - [key: string]: AsyncAPISchemaObject; - }; - title?: string; - description?: string; - default?: JSONSchema7Type; - readOnly?: boolean; - writeOnly?: boolean; - examples?: Array; - discriminator?: string; - externalDocs?: ExternalDocumentationObject; - deprecated?: boolean; - [keyword: string]: any; -} -export interface SecuritySchemeObject extends SpecificationExtensions { - type: SecuritySchemeType; - description?: string; - name?: string; - in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; - scheme?: string; - bearerFormat?: string; - flows?: OAuthFlowsObject; - openIdConnectUrl?: string; -} -export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; -export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'header' | 'cookie'; -export interface SecuritySchemeObjectBase extends SpecificationExtensions { - description?: string; -} -export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'userPassword'; -} -export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'apiKey'; - in: 'user' | 'password'; -} -export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'X509'; -} -export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'symmetricEncryption'; -} -export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'asymmetricEncryption'; -} -export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'httpApiKey'; - name: string; - in: 'query' | 'header' | 'cookie'; -} -export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'http'; - scheme: string; - bearerFormat?: string; -} -export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'oauth2'; - flows: OAuthFlowsObject; -} -export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'openIdConnect'; - openIdConnectUrl: string; -} -export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'plain'; -} -export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha256'; -} -export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha512'; -} -export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'gssapi'; -} -export interface OAuthFlowsObject extends SpecificationExtensions { - implicit?: OAuthFlowObjectImplicit; - password?: OAuthFlowObjectPassword; - clientCredentials?: OAuthFlowObjectClientCredentials; - authorizationCode?: OAuthFlowObjectAuthorizationCode; -} -export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; -export interface OAuthFlowObjectBase extends SpecificationExtensions { - refreshUrl?: string; - scopes: Record; -} -export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; -} -export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; - tokenUrl: string; -} -export type SecurityRequirementObject = Record>; -export interface CorrelationIDObject extends SpecificationExtensions { - location: string; - description?: string; -} -export interface Binding { - bindingVersion?: string; -} -export interface SpecificationExtensions { - [extension: `x-${string}`]: SpecificationExtension; -} -export type SpecificationExtension = T; -export interface ReferenceObject { - $ref: string; -} diff --git a/apps/parser/cjs/spec-types/v2.js b/apps/parser/cjs/spec-types/v2.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/spec-types/v2.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/spec-types/v3.d.ts b/apps/parser/cjs/spec-types/v3.d.ts deleted file mode 100644 index 88b95e69a..000000000 --- a/apps/parser/cjs/spec-types/v3.d.ts +++ /dev/null @@ -1,404 +0,0 @@ -import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; -export type AsyncAPIVersion = string; -export type Identifier = string; -export type DefaultContentType = string; -export interface AsyncAPIObject extends SpecificationExtensions { - asyncapi: AsyncAPIVersion; - id?: Identifier; - defaultContentType?: DefaultContentType; - info: InfoObject; - servers?: ServersObject; - channels?: ChannelsObject; - operations?: OperationsObject; - components?: ComponentsObject; -} -export interface InfoObject extends SpecificationExtensions { - title: string; - version: string; - description?: string; - termsOfService?: string; - contact?: ContactObject; - license?: LicenseObject; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; -} -export interface ContactObject extends SpecificationExtensions { - name?: string; - url?: string; - email?: string; -} -export interface LicenseObject extends SpecificationExtensions { - name: string; - url?: string; -} -export type ServersObject = Record; -export interface ServerObject extends SpecificationExtensions { - host: string; - protocol: string; - pathname?: string; - protocolVersion?: string; - description?: string; - variables?: Record; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: ServerBindingsObject | ReferenceObject; -} -export interface ServerVariableObject extends SpecificationExtensions { - enum?: Array; - default?: string; - description?: string; - examples?: Array; -} -export interface ServerBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type ChannelsObject = Record; -export interface ChannelObject extends SpecificationExtensions { - address?: string | null; - messages?: MessagesObject; - title?: string; - summary?: string; - description?: string; - servers?: Array; - parameters?: ParametersObject; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: ChannelBindingsObject | ReferenceObject; -} -export interface ChannelBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type OperationsObject = Record; -export interface OperationObject extends SpecificationExtensions { - action: 'send' | 'receive'; - channel: ChannelObject | ReferenceObject; - messages?: Array; - reply?: OperationReplyObject | ReferenceObject; - title?: string; - summary?: string; - description?: string; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: OperationBindingsObject | ReferenceObject; - traits?: Array; -} -export interface OperationTraitObject extends SpecificationExtensions { - title?: string; - summary?: string; - description?: string; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: OperationBindingsObject | ReferenceObject; -} -export interface OperationReplyObject extends SpecificationExtensions { - channel?: ChannelObject | ReferenceObject; - messages?: (MessageObject | ReferenceObject)[]; - address?: OperationReplyAddressObject | ReferenceObject; -} -export interface OperationReplyAddressObject extends SpecificationExtensions { - location: string; - description?: string; -} -export interface OperationBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type MessagesObject = Record; -export interface MessageObject extends MessageTraitObject, SpecificationExtensions { - payload?: any; - traits?: Array; -} -export interface MessageTraitObject extends SpecificationExtensions { - headers?: MultiFormatSchemaObject; - correlationId?: CorrelationIDObject | ReferenceObject; - contentType?: string; - name?: string; - title?: string; - summary?: string; - description?: string; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: MessageBindingsObject | ReferenceObject; - examples?: Array; -} -export interface MessageExampleObject extends SpecificationExtensions { - name?: string; - summary?: string; - headers?: Record; - payload?: any; -} -export interface MessageBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type ParametersObject = Record; -export interface ParameterObject extends SpecificationExtensions { - description?: string; - enum?: string[]; - default?: string; - examples?: string[]; - location?: string; -} -export type TagsObject = Array; -export interface TagObject extends SpecificationExtensions { - name: string; - description?: string; - externalDocs?: ExternalDocumentationObject | ReferenceObject; -} -export interface ExternalDocumentationObject extends SpecificationExtensions { - url: string; - description?: string; -} -export interface ComponentsObject extends SpecificationExtensions { - servers?: Record; - channels?: Record; - operations?: Record; - messages?: Record; - schemas?: Record; - securitySchemes?: Record; - serverVariables?: Record; - parameters?: Record; - replies?: Record; - replyAddresses?: Record; - correlationIds?: Record; - operationTraits?: Record; - messageTraits?: Record; - tags?: Record; - externalDocs?: Record; - serverBindings?: Record; - channelBindings?: Record; - operationBindings?: Record; - messageBindings?: Record; -} -export interface SecuritySchemeObject extends SpecificationExtensions { - type: SecuritySchemeType; - description?: string; - name?: string; - in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; - scheme?: string; - bearerFormat?: string; - flows?: OAuthFlowsObject; - openIdConnectUrl?: string; - scopes?: string[]; -} -export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; -export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'cookie'; -export interface SecuritySchemeObjectBase extends SpecificationExtensions { - description?: string; -} -export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'userPassword'; -} -export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'apiKey'; - in: 'user' | 'password'; -} -export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'X509'; -} -export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'symmetricEncryption'; -} -export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'asymmetricEncryption'; -} -export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'httpApiKey'; - name: string; - in: 'query' | 'header' | 'cookie'; -} -export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'http'; - scheme: string; - bearerFormat?: string; -} -export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'oauth2'; - flows: OAuthFlowsObject; - scopes: string[]; -} -export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'openIdConnect'; - openIdConnectUrl: string; -} -export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'plain'; -} -export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha256'; -} -export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha512'; -} -export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'gssapi'; -} -export interface OAuthFlowsObject extends SpecificationExtensions { - implicit?: OAuthFlowObjectImplicit; - password?: OAuthFlowObjectPassword; - clientCredentials?: OAuthFlowObjectClientCredentials; - authorizationCode?: OAuthFlowObjectAuthorizationCode; -} -export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; -export interface OAuthFlowObjectBase extends SpecificationExtensions { - refreshUrl?: string; - availableScopes: Record; -} -export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; -} -export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; - tokenUrl: string; -} -export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; -export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; -export type MultiFormatObject = { - schema: AsyncAPISchemaObject; - schemaFormat: string | undefined; -}; -export type MultiFormatSchemaObject = AsyncAPISchemaObject | MultiFormatObject; -export interface AsyncAPISchemaDefinition extends SpecificationExtensions { - $id?: string; - $schema?: JSONSchema7Version; - $comment?: string; - type?: JSONSchema7TypeName | JSONSchema7TypeName[]; - enum?: JSONSchema7Type[]; - const?: JSONSchema7Type; - multipleOf?: number; - maximum?: number; - exclusiveMaximum?: number; - minimum?: number; - exclusiveMinimum?: number; - maxLength?: number; - minLength?: number; - pattern?: string; - items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; - additionalItems?: AsyncAPISchemaObject; - maxItems?: number; - minItems?: number; - uniqueItems?: boolean; - contains?: AsyncAPISchemaObject; - maxProperties?: number; - minProperties?: number; - required?: string[]; - properties?: { - [key: string]: AsyncAPISchemaObject; - }; - patternProperties?: { - [key: string]: AsyncAPISchemaObject; - }; - additionalProperties?: AsyncAPISchemaObject; - dependencies?: { - [key: string]: AsyncAPISchemaObject | string[]; - }; - propertyNames?: AsyncAPISchemaObject; - if?: AsyncAPISchemaObject; - then?: AsyncAPISchemaObject; - else?: AsyncAPISchemaObject; - allOf?: AsyncAPISchemaObject[]; - anyOf?: AsyncAPISchemaObject[]; - oneOf?: AsyncAPISchemaObject[]; - not?: AsyncAPISchemaObject; - format?: string; - contentMediaType?: string; - contentEncoding?: string; - definitions?: { - [key: string]: AsyncAPISchemaObject; - }; - title?: string; - description?: string; - default?: JSONSchema7Type; - readOnly?: boolean; - writeOnly?: boolean; - examples?: Array; - discriminator?: string; - externalDocs?: ExternalDocumentationObject; - deprecated?: boolean; - [keyword: string]: any; -} -export interface Binding { - bindingVersion?: string; -} -export interface SpecificationExtensions { - [extension: `x-${string}`]: SpecificationExtension; -} -export type SpecificationExtension = T; -export interface ReferenceObject { - $ref: string; -} -export interface CorrelationIDObject extends SpecificationExtensions { - location: string; - description?: string; -} diff --git a/apps/parser/cjs/spec-types/v3.js b/apps/parser/cjs/spec-types/v3.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/spec-types/v3.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/spectral.d.ts b/apps/parser/cjs/spectral.d.ts deleted file mode 100644 index 8b7d9ec12..000000000 --- a/apps/parser/cjs/spectral.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Spectral } from '@stoplight/spectral-core'; -import type { Parser, ParserOptions } from './parser'; -export declare function createSpectral(parser: Parser, options?: ParserOptions): Spectral; diff --git a/apps/parser/cjs/spectral.js b/apps/parser/cjs/spectral.js deleted file mode 100644 index 22d5a5053..000000000 --- a/apps/parser/cjs/spectral.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createSpectral = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const ruleset_1 = require("./ruleset"); -const resolver_1 = require("./resolver"); -function createSpectral(parser, options = {}) { - var _a; - const resolverOptions = (_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver; - const spectral = new spectral_core_1.Spectral({ resolver: (0, resolver_1.createResolver)(resolverOptions) }); - const ruleset = (0, ruleset_1.createRuleset)(parser, options.ruleset); - spectral.setRuleset(ruleset); - return spectral; -} -exports.createSpectral = createSpectral; diff --git a/apps/parser/cjs/stringify.d.ts b/apps/parser/cjs/stringify.d.ts deleted file mode 100644 index 88e0df5c1..000000000 --- a/apps/parser/cjs/stringify.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AsyncAPIDocumentInterface } from './models'; -export interface StringifyOptions { - space?: string | number; -} -export declare function stringify(document: unknown, options?: StringifyOptions): string | undefined; -export declare function unstringify(document: unknown): AsyncAPIDocumentInterface | undefined; -export declare function copy(data: Record): any; -export declare function refReplacer(): (this: unknown, field: string, value: unknown) => unknown; -export declare function traverseStringifiedData(parent: any, field: string | undefined, root: any, objToPath: Map, pathToObj: Map): void; diff --git a/apps/parser/cjs/stringify.js b/apps/parser/cjs/stringify.js deleted file mode 100644 index 627156d55..000000000 --- a/apps/parser/cjs/stringify.js +++ /dev/null @@ -1,105 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.traverseStringifiedData = exports.refReplacer = exports.copy = exports.unstringify = exports.stringify = void 0; -const document_1 = require("./document"); -const utils_1 = require("./utils"); -const constants_1 = require("./constants"); -function stringify(document, options = {}) { - if ((0, document_1.isAsyncAPIDocument)(document)) { - document = document.json(); - } - else if ((0, document_1.isParsedDocument)(document)) { - if ((0, document_1.isStringifiedDocument)(document)) { - return JSON.stringify(document); - } - } - else { - return; - } - return JSON.stringify(Object.assign(Object.assign({}, document), { [String(constants_1.xParserSpecStringified)]: true }), refReplacer(), options.space || 2); -} -exports.stringify = stringify; -function unstringify(document) { - let parsed = document; - if (typeof document === 'string') { - try { - parsed = JSON.parse(document); - } - catch (_) { - return; - } - } - if (!(0, document_1.isStringifiedDocument)(parsed)) { - return; - } - // shall copy of whole JSON - parsed = Object.assign({}, parsed); - // remove `x-parser-spec-stringified` extension - delete parsed[String(constants_1.xParserSpecStringified)]; - traverseStringifiedData(document, undefined, document, new Map(), new Map()); - return (0, document_1.createAsyncAPIDocument)((0, utils_1.createDetailedAsyncAPI)(parsed, document)); -} -exports.unstringify = unstringify; -function copy(data) { - const stringifiedData = JSON.stringify(data, refReplacer()); - const unstringifiedData = JSON.parse(stringifiedData); - traverseStringifiedData(unstringifiedData, undefined, unstringifiedData, new Map(), new Map()); - return unstringifiedData; -} -exports.copy = copy; -function refReplacer() { - const modelPaths = new Map(); - const paths = new Map(); - let init = null; - return function (field, value) { - // `this` points to parent object of given value - some object or array - const pathPart = modelPaths.get(this) + (Array.isArray(this) ? `[${field}]` : `.${field}`); - // check if `objOrPath` has "reference" - const isComplex = value === Object(value); - if (isComplex) { - modelPaths.set(value, pathPart); - } - const savedPath = paths.get(value) || ''; - if (!savedPath && isComplex) { - const valuePath = pathPart.replace(/undefined\.\.?/, ''); - paths.set(value, valuePath); - } - const prefixPath = savedPath[0] === '[' ? '$' : '$.'; - let val = savedPath ? `$ref:${prefixPath}${savedPath}` : value; - if (init === null) { - init = value; - } - else if (val === init) { - val = '$ref:$'; - } - return val; - }; -} -exports.refReplacer = refReplacer; -const refRoot = '$ref:$'; -function traverseStringifiedData(parent, field, root, objToPath, pathToObj) { - let objOrPath = parent; - let path = refRoot; - if (field !== undefined) { - // here can be string with `$ref` prefix or normal value - objOrPath = parent[String(field)]; - const concatenatedPath = field ? `.${field}` : ''; - path = objToPath.get(parent) + (Array.isArray(parent) ? `[${field}]` : concatenatedPath); - } - objToPath.set(objOrPath, path); - pathToObj.set(path, objOrPath); - const ref = pathToObj.get(objOrPath); - if (ref) { - parent[String(field)] = ref; - } - if (objOrPath === refRoot || ref === refRoot) { - parent[String(field)] = root; - } - // traverse all keys, only if object is array/object - if (objOrPath === Object(objOrPath)) { - for (const f in objOrPath) { - traverseStringifiedData(objOrPath, f, root, objToPath, pathToObj); - } - } -} -exports.traverseStringifiedData = traverseStringifiedData; diff --git a/apps/parser/cjs/types.d.ts b/apps/parser/cjs/types.d.ts deleted file mode 100644 index b0d0d31ef..000000000 --- a/apps/parser/cjs/types.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { ISpectralDiagnostic, IFunctionResult } from '@stoplight/spectral-core'; -import type { AsyncAPIDocumentInterface } from './models'; -import type { v2, v3 } from './spec-types'; -export type MaybeAsyncAPI = { - asyncapi: string; -} & Record; -export interface AsyncAPISemver { - version: string; - major: number; - minor: number; - patch: number; - rc?: number; -} -export interface DetailedAsyncAPI { - source?: string; - input?: string | MaybeAsyncAPI | AsyncAPIObject; - parsed: AsyncAPIObject; - semver: AsyncAPISemver; -} -export type Input = string | MaybeAsyncAPI | AsyncAPIDocumentInterface; -export type Diagnostic = ISpectralDiagnostic; -export type SchemaValidateResult = IFunctionResult; -export type AsyncAPIObject = v2.AsyncAPIObject | v3.AsyncAPIObject; -export type AsyncAPISchema = v2.AsyncAPISchemaObject | v3.AsyncAPISchemaObject; diff --git a/apps/parser/cjs/types.js b/apps/parser/cjs/types.js deleted file mode 100644 index c8ad2e549..000000000 --- a/apps/parser/cjs/types.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/apps/parser/cjs/utils.d.ts b/apps/parser/cjs/utils.d.ts deleted file mode 100644 index 56234e81c..000000000 --- a/apps/parser/cjs/utils.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Document } from '@stoplight/spectral-core'; -import type { ISpectralDiagnostic } from '@stoplight/spectral-core'; -import type { BaseModel } from './models'; -import type { AsyncAPISemver, AsyncAPIObject, DetailedAsyncAPI, MaybeAsyncAPI, Diagnostic } from './types'; -export declare function createDetailedAsyncAPI(parsed: AsyncAPIObject, input?: string | MaybeAsyncAPI | AsyncAPIObject, source?: string): DetailedAsyncAPI; -export declare function getSemver(version: string): AsyncAPISemver; -export declare function normalizeInput(asyncapi: string | MaybeAsyncAPI): string; -export declare function hasErrorDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function hasWarningDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function hasInfoDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function hasHintDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function setExtension(id: string, value: unknown, model: BaseModel): void; -export declare function setExtensionOnJson(id: string, value: unknown, model: any): void; -export declare function mergePatch(origin: unknown, patch: unknown): T; -export declare function isObject(value: unknown): value is Record; -export declare function hasRef(value: unknown): value is { - $ref: string; -}; -export declare function toJSONPathArray(jsonPath: string): Array; -export declare function createUncaghtDiagnostic(err: unknown, message: string, document?: Document): Diagnostic[]; -export declare function tilde(str: string): string; -export declare function untilde(str: string): string; -export declare function findSubArrayIndex(arr: Array, subarr: Array, fromIndex?: number): number; -export declare function resolveServerUrl(url: string): { - host: string; - pathname: string | undefined; -}; -export declare function retrieveDeepData(value: Record, path: Array): Record | undefined; diff --git a/apps/parser/cjs/utils.js b/apps/parser/cjs/utils.js deleted file mode 100644 index 57ded568b..000000000 --- a/apps/parser/cjs/utils.js +++ /dev/null @@ -1,178 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.retrieveDeepData = exports.resolveServerUrl = exports.findSubArrayIndex = exports.untilde = exports.tilde = exports.createUncaghtDiagnostic = exports.toJSONPathArray = exports.hasRef = exports.isObject = exports.mergePatch = exports.setExtensionOnJson = exports.setExtension = exports.hasHintDiagnostic = exports.hasInfoDiagnostic = exports.hasWarningDiagnostic = exports.hasErrorDiagnostic = exports.normalizeInput = exports.getSemver = exports.createDetailedAsyncAPI = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const types_1 = require("@stoplight/types"); -function createDetailedAsyncAPI(parsed, input, source) { - return { - source, - input, - parsed, - semver: getSemver(parsed.asyncapi), - }; -} -exports.createDetailedAsyncAPI = createDetailedAsyncAPI; -function getSemver(version) { - const [major, minor, patchWithRc] = version.split('.'); - const [patch, rc] = patchWithRc.split('-rc'); - return { - version, - major: Number(major), - minor: Number(minor), - patch: Number(patch), - rc: rc && Number(rc), - }; -} -exports.getSemver = getSemver; -function normalizeInput(asyncapi) { - if (typeof asyncapi === 'string') { - return asyncapi; - } - return JSON.stringify(asyncapi, undefined, 2); -} -exports.normalizeInput = normalizeInput; -function hasErrorDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Error); -} -exports.hasErrorDiagnostic = hasErrorDiagnostic; -function hasWarningDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Warning); -} -exports.hasWarningDiagnostic = hasWarningDiagnostic; -function hasInfoDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Information); -} -exports.hasInfoDiagnostic = hasInfoDiagnostic; -function hasHintDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === types_1.DiagnosticSeverity.Hint); -} -exports.hasHintDiagnostic = hasHintDiagnostic; -function setExtension(id, value, model) { - const modelValue = model.json(); - setExtensionOnJson(id, value, modelValue); -} -exports.setExtension = setExtension; -function setExtensionOnJson(id, value, model) { - if (typeof model === 'object' && model) { - id = id.startsWith('x-') ? id : `x-${id}`; - model[String(id)] = value; - } -} -exports.setExtensionOnJson = setExtensionOnJson; -function mergePatch(origin, patch) { - // If the patch is not an object, it replaces the origin. - if (!isObject(patch)) { - return patch; - } - const result = !isObject(origin) - ? {} // Non objects are being replaced. - : Object.assign({}, origin); // Make sure we never modify the origin. - Object.keys(patch).forEach(key => { - const patchVal = patch[key]; - if (patchVal === null) { - delete result[key]; - } - else { - result[key] = mergePatch(result[key], patchVal); - } - }); - return result; -} -exports.mergePatch = mergePatch; -function isObject(value) { - return Boolean(value) && typeof value === 'object' && Array.isArray(value) === false; -} -exports.isObject = isObject; -function hasRef(value) { - return isObject(value) && '$ref' in value && typeof value.$ref === 'string'; -} -exports.hasRef = hasRef; -function toJSONPathArray(jsonPath) { - return splitPath(serializePath(jsonPath)); -} -exports.toJSONPathArray = toJSONPathArray; -function createUncaghtDiagnostic(err, message, document) { - if (!(err instanceof Error)) { - return []; - } - const range = document ? document.getRangeForJsonPath([]) : spectral_core_1.Document.DEFAULT_RANGE; - return [ - { - code: 'uncaught-error', - message: `${message}. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, - path: [], - severity: types_1.DiagnosticSeverity.Error, - range, - } - ]; -} -exports.createUncaghtDiagnostic = createUncaghtDiagnostic; -function tilde(str) { - return str.replace(/[~/]{1}/g, (sub) => { - switch (sub) { - case '/': return '~1'; - case '~': return '~0'; - } - return sub; - }); -} -exports.tilde = tilde; -function untilde(str) { - if (!str.includes('~')) - return str; - return str.replace(/~[01]/g, (sub) => { - switch (sub) { - case '~1': return '/'; - case '~0': return '~'; - } - return sub; - }); -} -exports.untilde = untilde; -function findSubArrayIndex(arr, subarr, fromIndex = 0) { - let i, found, j; - for (i = fromIndex; i < 1 + (arr.length - subarr.length); ++i) { - found = true; - for (j = 0; j < subarr.length; ++j) { - if (arr[i + j] !== subarr[j]) { - found = false; - break; - } - } - if (found) { - return i; - } - } - return -1; -} -exports.findSubArrayIndex = findSubArrayIndex; -function resolveServerUrl(url) { - // eslint-disable-next-line prefer-const - let [maybeProtocol, maybeHost] = url.split('://'); - if (!maybeHost) { - maybeHost = maybeProtocol; - } - const [host, ...pathnames] = maybeHost.split('/'); - if (pathnames.length) { - return { host, pathname: `/${pathnames.join('/')}` }; - } - return { host, pathname: undefined }; -} -exports.resolveServerUrl = resolveServerUrl; -function retrieveDeepData(value, path) { - let index = 0; - const length = path.length; - while (typeof value === 'object' && value && index < length) { - value = value[path[index++]]; - } - return index === length ? value : undefined; -} -exports.retrieveDeepData = retrieveDeepData; -function serializePath(path) { - if (path.startsWith('#')) - return path.substring(1); - return path; -} -function splitPath(path) { - return path.split('/').filter(Boolean).map(untilde); -} diff --git a/apps/parser/cjs/validate.d.ts b/apps/parser/cjs/validate.d.ts deleted file mode 100644 index efb050810..000000000 --- a/apps/parser/cjs/validate.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Document } from '@stoplight/spectral-core'; -import type { Spectral, IRunOpts } from '@stoplight/spectral-core'; -import type { Parser } from './parser'; -import type { ResolverOptions } from './resolver'; -import type { Input, Diagnostic } from './types'; -export interface ValidateOptions extends IRunOpts { - source?: string; - allowedSeverity?: { - error?: boolean; - warning?: boolean; - info?: boolean; - hint?: boolean; - }; - __unstable?: { - resolver?: Omit; - }; -} -export interface ValidateOutput { - validated: unknown; - diagnostics: Diagnostic[]; - extras: { - document: Document; - }; -} -export declare function validate(parser: Parser, parserSpectral: Spectral, asyncapi: Input, options?: ValidateOptions): Promise; diff --git a/apps/parser/cjs/validate.js b/apps/parser/cjs/validate.js deleted file mode 100644 index 5a79e3a25..000000000 --- a/apps/parser/cjs/validate.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validate = void 0; -const spectral_core_1 = require("@stoplight/spectral-core"); -const spectral_parsers_1 = require("@stoplight/spectral-parsers"); -const spectral_1 = require("./spectral"); -const utils_1 = require("./utils"); -const defaultOptions = { - allowedSeverity: { - error: false, - warning: true, - info: true, - hint: true, - }, - __unstable: {}, -}; -function validate(parser, parserSpectral, asyncapi, options = {}) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - let document; - try { - const { allowedSeverity } = (0, utils_1.mergePatch)(defaultOptions, options); - const stringifiedDocument = (0, utils_1.normalizeInput)(asyncapi); - document = new spectral_core_1.Document(stringifiedDocument, spectral_parsers_1.Yaml, options.source); - // add input data (asyncapi argument) to the document to reuse it in rules - document.__parserInput = asyncapi; - const spectral = ((_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver) ? (0, spectral_1.createSpectral)(parser, options) : parserSpectral; - // eslint-disable-next-line prefer-const - let { resolved: validated, results } = yield spectral.runWithResolved(document, {}); - if ((!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.error) && (0, utils_1.hasErrorDiagnostic)(results)) || - (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.warning) && (0, utils_1.hasWarningDiagnostic)(results)) || - (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.info) && (0, utils_1.hasInfoDiagnostic)(results)) || - (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.hint) && (0, utils_1.hasHintDiagnostic)(results))) { - validated = undefined; - } - return { validated, diagnostics: results, extras: { document: document } }; - } - catch (err) { - return { validated: undefined, diagnostics: (0, utils_1.createUncaghtDiagnostic)(err, 'Error thrown during AsyncAPI document validation', document), extras: { document: document } }; - } - }); -} -exports.validate = validate; diff --git a/apps/parser/esm/constants.d.ts b/apps/parser/esm/constants.d.ts deleted file mode 100644 index ed323fa96..000000000 --- a/apps/parser/esm/constants.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export declare const xParserSpecParsed = "x-parser-spec-parsed"; -export declare const xParserSpecStringified = "x-parser-spec-stringified"; -export declare const xParserApiVersion = "x-parser-api-version"; -export declare const xParserMessageName = "x-parser-message-name"; -export declare const xParserMessageParsed = "x-parser-message-parsed"; -export declare const xParserSchemaId = "x-parser-schema-id"; -export declare const xParserOriginalSchemaFormat = "x-parser-original-schema-format"; -export declare const xParserOriginalPayload = "x-parser-original-payload"; -export declare const xParserOriginalTraits = "x-parser-original-traits"; -export declare const xParserCircular = "x-parser-circular"; -export declare const xParserCircularProps = "x-parser-circular-props"; -export declare const xParserObjectUniqueId = "x-parser-unique-object-id"; -export declare const EXTENSION_REGEX: RegExp; -export declare const specVersions: string[]; -export declare const lastVersion: string; diff --git a/apps/parser/esm/constants.js b/apps/parser/esm/constants.js deleted file mode 100644 index f8d1b2bbd..000000000 --- a/apps/parser/esm/constants.js +++ /dev/null @@ -1,17 +0,0 @@ -import specs from '@asyncapi/specs'; -export const xParserSpecParsed = 'x-parser-spec-parsed'; -export const xParserSpecStringified = 'x-parser-spec-stringified'; -export const xParserApiVersion = 'x-parser-api-version'; -export const xParserMessageName = 'x-parser-message-name'; -export const xParserMessageParsed = 'x-parser-message-parsed'; -export const xParserSchemaId = 'x-parser-schema-id'; -export const xParserOriginalSchemaFormat = 'x-parser-original-schema-format'; -export const xParserOriginalPayload = 'x-parser-original-payload'; -export const xParserOriginalTraits = 'x-parser-original-traits'; -export const xParserCircular = 'x-parser-circular'; -export const xParserCircularProps = 'x-parser-circular-props'; -export const xParserObjectUniqueId = 'x-parser-unique-object-id'; -export const EXTENSION_REGEX = /^x-[\w\d.\-_]+$/; -// Only >=2.0.0 versions are supported -export const specVersions = Object.keys(specs.schemas); -export const lastVersion = specVersions[specVersions.length - 1]; diff --git a/apps/parser/esm/custom-operations/anonymous-naming.d.ts b/apps/parser/esm/custom-operations/anonymous-naming.d.ts deleted file mode 100644 index 25722cee7..000000000 --- a/apps/parser/esm/custom-operations/anonymous-naming.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { AsyncAPIDocumentInterface } from '../models'; -export declare function anonymousNaming(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/esm/custom-operations/anonymous-naming.js b/apps/parser/esm/custom-operations/anonymous-naming.js deleted file mode 100644 index 8f4bc18a9..000000000 --- a/apps/parser/esm/custom-operations/anonymous-naming.js +++ /dev/null @@ -1,62 +0,0 @@ -import { xParserMessageName, xParserSchemaId } from '../constants'; -import { traverseAsyncApiDocument } from '../iterator'; -import { setExtension, setExtensionOnJson } from '../utils'; -export function anonymousNaming(document) { - assignNameToComponentMessages(document); - assignNameToAnonymousMessages(document); - assignUidToComponentSchemas(document); - assignUidToComponentParameterSchemas(document); - assignUidToChannelParameterSchemas(document); - assignUidToAnonymousSchemas(document); -} -function assignNameToComponentMessages(document) { - document.components().messages().forEach(message => { - if (message.name() === undefined) { - setExtension(xParserMessageName, message.id(), message); - } - }); -} -function assignNameToAnonymousMessages(document) { - let anonymousMessageCounter = 0; - document.messages().forEach(message => { - var _a; - if (message.name() === undefined && ((_a = message.extensions().get(xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()) === undefined) { - setExtension(xParserMessageName, message.id() || ``, message); - } - }); -} -function assignUidToComponentParameterSchemas(document) { - document.components().channelParameters().forEach(parameter => { - const schema = parameter.schema(); - if (schema && !schema.id()) { - setExtension(xParserSchemaId, parameter.id(), schema); - } - }); -} -function assignUidToChannelParameterSchemas(document) { - document.channels().forEach(channel => { - channel.parameters().forEach(parameter => { - const schema = parameter.schema(); - if (schema && !schema.id()) { - setExtension(xParserSchemaId, parameter.id(), schema); - } - }); - }); -} -function assignUidToComponentSchemas(document) { - document.components().schemas().forEach(schema => { - setExtension(xParserSchemaId, schema.id(), schema); - }); -} -function assignUidToAnonymousSchemas(doc) { - let anonymousSchemaCounter = 0; - function callback(schema) { - const json = schema.json(); - const isMultiFormatSchema = json.schema !== undefined; - const underlyingSchema = isMultiFormatSchema ? json.schema : json; - if (!schema.id()) { - setExtensionOnJson(xParserSchemaId, ``, underlyingSchema); - } - } - traverseAsyncApiDocument(doc, callback); -} diff --git a/apps/parser/esm/custom-operations/apply-traits.d.ts b/apps/parser/esm/custom-operations/apply-traits.d.ts deleted file mode 100644 index 1a7ff5ebe..000000000 --- a/apps/parser/esm/custom-operations/apply-traits.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { v2, v3 } from '../spec-types'; -export declare function applyTraitsV2(asyncapi: v2.AsyncAPIObject): void; -export declare function applyTraitsV3(asyncapi: v3.AsyncAPIObject): void; diff --git a/apps/parser/esm/custom-operations/apply-traits.js b/apps/parser/esm/custom-operations/apply-traits.js deleted file mode 100644 index 6c313788f..000000000 --- a/apps/parser/esm/custom-operations/apply-traits.js +++ /dev/null @@ -1,95 +0,0 @@ -import { JSONPath } from 'jsonpath-plus'; -import { mergePatch } from '../utils'; -const v2TraitPaths = [ - // operations - '$.channels.*.[publish,subscribe]', - '$.components.channels.*.[publish,subscribe]', - // messages - '$.channels.*.[publish,subscribe].message', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe].message', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.messages.*', -]; -export function applyTraitsV2(asyncapi) { - applyAllTraitsV2(asyncapi, v2TraitPaths); -} -function applyAllTraitsV2(asyncapi, paths) { - const visited = new Set(); - paths.forEach(path => { - JSONPath({ - path, - json: asyncapi, - resultType: 'value', - callback(value) { - if (visited.has(value)) { - return; - } - visited.add(value); - applyTraitsToObjectV2(value); - }, - }); - }); -} -function applyTraitsToObjectV2(value) { - if (Array.isArray(value.traits)) { - for (const trait of value.traits) { - for (const key in trait) { - value[String(key)] = mergePatch(value[String(key)], trait[String(key)]); - } - } - } -} -const v3TraitPaths = [ - // operations - '$.operations.*', - '$.operations.*.channel.*', - '$.operations.*.channel.messages.*', - '$.operations.*.messages.*', - '$.components.operations.*', - '$.components.operations.*.channel.*', - '$.components.operations.*.channel.messages.*', - '$.components.operations.*.messages.*', - // Channels - '$.channels.*.messages.*', - '$.components.channels.*.messages.*', - // messages - '$.components.messages.*', -]; -export function applyTraitsV3(asyncapi) { - applyAllTraitsV3(asyncapi, v3TraitPaths); -} -function applyAllTraitsV3(asyncapi, paths) { - const visited = new Set(); - paths.forEach(path => { - JSONPath({ - path, - json: asyncapi, - resultType: 'value', - callback(value) { - if (visited.has(value)) { - return; - } - visited.add(value); - applyTraitsToObjectV3(value); - }, - }); - }); -} -function applyTraitsToObjectV3(value) { - if (!Array.isArray(value.traits)) { - return; - } - // shallow copy of object - const copy = Object.assign({}, value); - // reset the object but preserve the reference - for (const key in value) { - delete value[key]; - } - // merge root object at the end - for (const trait of [...copy.traits, copy]) { - for (const key in trait) { - value[String(key)] = mergePatch(value[String(key)], trait[String(key)]); - } - } -} diff --git a/apps/parser/esm/custom-operations/apply-unique-ids.d.ts b/apps/parser/esm/custom-operations/apply-unique-ids.d.ts deleted file mode 100644 index 954f25248..000000000 --- a/apps/parser/esm/custom-operations/apply-unique-ids.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. - * - * For v3; Apply unique ids to all channel's, operations, and message's. - */ -export declare function applyUniqueIds(structure: any): void; diff --git a/apps/parser/esm/custom-operations/apply-unique-ids.js b/apps/parser/esm/custom-operations/apply-unique-ids.js deleted file mode 100644 index f24294a48..000000000 --- a/apps/parser/esm/custom-operations/apply-unique-ids.js +++ /dev/null @@ -1,35 +0,0 @@ -import { xParserObjectUniqueId } from '../constants'; -/** - * This function applies unique ids for objects whose key's function as ids, ensuring that the key is part of the value. - * - * For v3; Apply unique ids to all channel's, operations, and message's. - */ -export function applyUniqueIds(structure) { - const asyncapiVersion = structure.asyncapi.charAt(0); - switch (asyncapiVersion) { - case '3': - applyUniqueIdToChannels(structure.channels); - applyUniqueIdToObjects(structure.operations); - if (structure.components) { - applyUniqueIdToObjects(structure.components.messages); - applyUniqueIdToObjects(structure.components.operations); - applyUniqueIdToChannels(structure.components.channels); - } - break; - } -} -function applyUniqueIdToChannels(channels) { - for (const [channelId, channel] of Object.entries((channels !== null && channels !== void 0 ? channels : {}))) { - if (!channel[xParserObjectUniqueId]) { - channel[xParserObjectUniqueId] = channelId; - } - applyUniqueIdToObjects(channel.messages); - } -} -function applyUniqueIdToObjects(objects) { - for (const [objectKey, object] of Object.entries((objects !== null && objects !== void 0 ? objects : {}))) { - if (!object[xParserObjectUniqueId]) { - object[xParserObjectUniqueId] = objectKey; - } - } -} diff --git a/apps/parser/esm/custom-operations/check-circular-refs.d.ts b/apps/parser/esm/custom-operations/check-circular-refs.d.ts deleted file mode 100644 index b1189cdac..000000000 --- a/apps/parser/esm/custom-operations/check-circular-refs.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { AsyncAPIDocumentInterface } from '../models'; -export declare function checkCircularRefs(document: AsyncAPIDocumentInterface): void; diff --git a/apps/parser/esm/custom-operations/check-circular-refs.js b/apps/parser/esm/custom-operations/check-circular-refs.js deleted file mode 100644 index 148a5f847..000000000 --- a/apps/parser/esm/custom-operations/check-circular-refs.js +++ /dev/null @@ -1,20 +0,0 @@ -import { setExtension } from '../utils'; -import { xParserCircular } from '../constants'; -export function checkCircularRefs(document) { - if (hasInlineRef(document.json())) { - setExtension(xParserCircular, true, document); - } -} -function hasInlineRef(data) { - if (data && typeof data === 'object' && !Array.isArray(data)) { - if (Object.prototype.hasOwnProperty.call(data, '$ref')) { - return true; - } - for (const p in data) { - if (hasInlineRef(data[p])) { - return true; - } - } - } - return false; -} diff --git a/apps/parser/esm/custom-operations/index.d.ts b/apps/parser/esm/custom-operations/index.d.ts deleted file mode 100644 index 6767e00ce..000000000 --- a/apps/parser/esm/custom-operations/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { RulesetFunctionContext } from '@stoplight/spectral-core'; -import type { Parser } from '../parser'; -import type { ParseOptions } from '../parse'; -import type { AsyncAPIDocumentInterface } from '../models'; -import type { DetailedAsyncAPI } from '../types'; -export { applyUniqueIds } from './apply-unique-ids'; -export declare function customOperations(parser: Parser, document: AsyncAPIDocumentInterface, detailed: DetailedAsyncAPI, inventory: RulesetFunctionContext['documentInventory'], options: ParseOptions): Promise; diff --git a/apps/parser/esm/custom-operations/index.js b/apps/parser/esm/custom-operations/index.js deleted file mode 100644 index 192bdd60b..000000000 --- a/apps/parser/esm/custom-operations/index.js +++ /dev/null @@ -1,55 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { applyTraitsV2, applyTraitsV3 } from './apply-traits'; -import { resolveCircularRefs } from './resolve-circular-refs'; -import { parseSchemasV2, parseSchemasV3 } from './parse-schema'; -import { anonymousNaming } from './anonymous-naming'; -import { checkCircularRefs } from './check-circular-refs'; -export { applyUniqueIds } from './apply-unique-ids'; -export function customOperations(parser, document, detailed, inventory, options) { - return __awaiter(this, void 0, void 0, function* () { - switch (detailed.semver.major) { - case 2: return operationsV2(parser, document, detailed, inventory, options); - case 3: return operationsV3(parser, document, detailed, inventory, options); - } - }); -} -function operationsV2(parser, document, detailed, inventory, options) { - return __awaiter(this, void 0, void 0, function* () { - checkCircularRefs(document); - if (options.applyTraits) { - applyTraitsV2(detailed.parsed); - } - if (options.parseSchemas) { - yield parseSchemasV2(parser, detailed); - } - // anonymous naming and resolving circular references should be done after custom schemas parsing - if (inventory) { - resolveCircularRefs(document, inventory); - } - anonymousNaming(document); - }); -} -function operationsV3(parser, document, detailed, inventory, options) { - return __awaiter(this, void 0, void 0, function* () { - checkCircularRefs(document); - if (options.applyTraits) { - applyTraitsV3(detailed.parsed); - } - if (options.parseSchemas) { - yield parseSchemasV3(parser, detailed); - } - // anonymous naming and resolving circular references should be done after custom schemas parsing - if (inventory) { - resolveCircularRefs(document, inventory); - } - anonymousNaming(document); - }); -} diff --git a/apps/parser/esm/custom-operations/parse-schema.d.ts b/apps/parser/esm/custom-operations/parse-schema.d.ts deleted file mode 100644 index 48c8eae6b..000000000 --- a/apps/parser/esm/custom-operations/parse-schema.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { Parser } from '../parser'; -import type { DetailedAsyncAPI } from '../types'; -export declare function parseSchemasV2(parser: Parser, detailed: DetailedAsyncAPI): Promise; -export declare function parseSchemasV3(parser: Parser, detailed: DetailedAsyncAPI): Promise; diff --git a/apps/parser/esm/custom-operations/parse-schema.js b/apps/parser/esm/custom-operations/parse-schema.js deleted file mode 100644 index a00ebab92..000000000 --- a/apps/parser/esm/custom-operations/parse-schema.js +++ /dev/null @@ -1,153 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { JSONPath } from 'jsonpath-plus'; -import { xParserOriginalPayload } from '../constants'; -import { parseSchema, getSchemaFormat, getDefaultSchemaFormat } from '../schema-parser'; -const customSchemasPathsV2 = [ - // operations - '$.channels.*.[publish,subscribe].message', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe].message', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - // messages - '$.components.messages.*', -]; -const customSchemasPathsV3 = [ - // channels - '$.channels.*.messages.*.payload', - '$.channels.*.messages.*.headers', - '$.components.channels.*.messages.*.payload', - '$.components.channels.*.messages.*.headers', - // operations - '$.operations.*.messages.*.payload', - '$.operations.*.messages.*.headers', - '$.components.operations.*.messages.*.payload', - '$.components.operations.*.messages.*.headers', - // messages - '$.components.messages.*.payload', - '$.components.messages.*.headers.*', - // schemas - '$.components.schemas.*', -]; -export function parseSchemasV2(parser, detailed) { - return __awaiter(this, void 0, void 0, function* () { - const defaultSchemaFormat = getDefaultSchemaFormat(detailed.semver.version); - const parseItems = []; - const visited = new Set(); - customSchemasPathsV2.forEach(path => { - JSONPath({ - path, - json: detailed.parsed, - resultType: 'all', - callback(result) { - const value = result.value; - if (visited.has(value)) { - return; - } - visited.add(value); - const payload = value.payload; - if (!payload) { - return; - } - const schemaFormat = getSchemaFormat(value.schemaFormat, detailed.semver.version); - parseItems.push({ - input: { - asyncapi: detailed, - data: payload, - meta: { - message: value, - }, - path: [...splitPath(result.path), 'payload'], - schemaFormat, - defaultSchemaFormat, - }, - value, - }); - }, - }); - }); - return Promise.all(parseItems.map(item => parseSchemaV2(parser, item))); - }); -} -export function parseSchemasV3(parser, detailed) { - return __awaiter(this, void 0, void 0, function* () { - const defaultSchemaFormat = getDefaultSchemaFormat(detailed.semver.version); - const parseItems = []; - const visited = new Set(); - customSchemasPathsV3.forEach(path => { - JSONPath({ - path, - json: detailed.parsed, - resultType: 'all', - callback(result) { - const value = result.value; - if (visited.has(value)) { - return; - } - visited.add(value); - const schema = value.schema; - if (!schema) { - return; - } - let schemaFormat = value.schemaFormat; - if (!schemaFormat) { - return; - } - schemaFormat = getSchemaFormat(value.schemaFormat, detailed.semver.version); - parseItems.push({ - input: { - asyncapi: detailed, - data: schema, - meta: { - message: value, - }, - path: [...splitPath(result.path), 'schema'], - schemaFormat, - defaultSchemaFormat, - }, - value, - }); - }, - }); - }); - return Promise.all(parseItems.map(item => parseSchemaV3(parser, item))); - }); -} -function parseSchemaV3(parser, item) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const originalData = item.input.data; - const parsedData = yield parseSchema(parser, item.input); - if (((_a = item.value) === null || _a === void 0 ? void 0 : _a.schema) !== undefined) { - item.value.schema = parsedData; - } - else { - item.value = parsedData; - } - // save original payload only when data is different (returned by custom parsers) - if (originalData !== parsedData) { - item.value[xParserOriginalPayload] = originalData; - } - }); -} -function parseSchemaV2(parser, item) { - return __awaiter(this, void 0, void 0, function* () { - const originalData = item.input.data; - const parsedData = item.value.payload = yield parseSchema(parser, item.input); - // save original payload only when data is different (returned by custom parsers) - if (originalData !== parsedData) { - item.value[xParserOriginalPayload] = originalData; - } - }); -} -function splitPath(path) { - // remove $[' from beginning and '] at the end and split by '][' - return path.slice(3).slice(0, -2).split('\'][\''); -} diff --git a/apps/parser/esm/custom-operations/resolve-circular-refs.d.ts b/apps/parser/esm/custom-operations/resolve-circular-refs.d.ts deleted file mode 100644 index f47f88291..000000000 --- a/apps/parser/esm/custom-operations/resolve-circular-refs.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { RulesetFunctionContext } from '@stoplight/spectral-core'; -import type { AsyncAPIDocumentInterface } from '../models'; -export declare function resolveCircularRefs(document: AsyncAPIDocumentInterface, inventory: RulesetFunctionContext['documentInventory']): void; diff --git a/apps/parser/esm/custom-operations/resolve-circular-refs.js b/apps/parser/esm/custom-operations/resolve-circular-refs.js deleted file mode 100644 index 04c58958d..000000000 --- a/apps/parser/esm/custom-operations/resolve-circular-refs.js +++ /dev/null @@ -1,52 +0,0 @@ -import { setExtension, toJSONPathArray, retrieveDeepData, findSubArrayIndex } from '../utils'; -import { xParserCircular } from '../constants'; -export function resolveCircularRefs(document, inventory) { - const documentJson = document.json(); - const ctx = { document: documentJson, hasCircular: false, inventory, visited: new Set() }; - traverse(documentJson, [], null, '', ctx); - if (ctx.hasCircular) { - setExtension(xParserCircular, true, document); - } -} -function traverse(data, path, parent, property, ctx) { - if (typeof data !== 'object' || !data || ctx.visited.has(data)) { - return; - } - ctx.visited.add(data); - if (Array.isArray(data)) { - data.forEach((item, idx) => traverse(item, [...path, idx], data, idx, ctx)); - } - if ('$ref' in data) { - ctx.hasCircular = true; - const resolvedRef = retrieveCircularRef(data, path, ctx); - if (resolvedRef) { - parent[property] = resolvedRef; - } - } - else { - for (const p in data) { - traverse(data[p], [...path, p], data, p, ctx); - } - } - ctx.visited.delete(data); -} -function retrieveCircularRef(data, path, ctx) { - const $refPath = toJSONPathArray(data.$ref); - const item = ctx.inventory.findAssociatedItemForPath(path, true); - // root document case - if (item === null) { - return retrieveDeepData(ctx.document, $refPath); - } - // referenced document case - if (item) { - const subArrayIndex = findSubArrayIndex(path, $refPath); - let dataPath; - if (subArrayIndex === -1) { // create subarray based on location of the assiociated document - use item.path - dataPath = [...path.slice(0, path.length - item.path.length), ...$refPath]; - } - else { // create subarray based on $refPath - dataPath = path.slice(0, subArrayIndex + $refPath.length); - } - return retrieveDeepData(ctx.document, dataPath); - } -} diff --git a/apps/parser/esm/document.d.ts b/apps/parser/esm/document.d.ts deleted file mode 100644 index 482b4477d..000000000 --- a/apps/parser/esm/document.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { AsyncAPIDocumentInterface } from './models'; -import type { OldAsyncAPIDocument } from './old-api'; -import type { DetailedAsyncAPI, AsyncAPIObject } from './types'; -export declare function createAsyncAPIDocument(asyncapi: DetailedAsyncAPI): AsyncAPIDocumentInterface; -export declare function toAsyncAPIDocument(maybeDoc: unknown): AsyncAPIDocumentInterface | undefined; -export declare function isAsyncAPIDocument(maybeDoc: unknown): maybeDoc is AsyncAPIDocumentInterface; -export declare function isOldAsyncAPIDocument(maybeDoc: unknown): maybeDoc is OldAsyncAPIDocument; -export declare function isParsedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; -export declare function isStringifiedDocument(maybeDoc: unknown): maybeDoc is AsyncAPIObject; diff --git a/apps/parser/esm/document.js b/apps/parser/esm/document.js deleted file mode 100644 index 9cc97d9dd..000000000 --- a/apps/parser/esm/document.js +++ /dev/null @@ -1,62 +0,0 @@ -import { AsyncAPIDocumentV2, AsyncAPIDocumentV3, ParserAPIVersion } from './models'; -import { unstringify } from './stringify'; -import { createDetailedAsyncAPI } from './utils'; -import { xParserSpecParsed, xParserSpecStringified, xParserApiVersion, } from './constants'; -export function createAsyncAPIDocument(asyncapi) { - switch (asyncapi.semver.major) { - case 2: - return new AsyncAPIDocumentV2(asyncapi.parsed, { asyncapi, pointer: '/' }); - case 3: - return new AsyncAPIDocumentV3(asyncapi.parsed, { asyncapi, pointer: '/' }); - default: - throw new Error(`Unsupported AsyncAPI version: ${asyncapi.semver.version}`); - } -} -export function toAsyncAPIDocument(maybeDoc) { - if (isAsyncAPIDocument(maybeDoc)) { - return maybeDoc; - } - if (!isParsedDocument(maybeDoc)) { - return unstringify(maybeDoc); - } - return createAsyncAPIDocument(createDetailedAsyncAPI(maybeDoc, maybeDoc)); -} -export function isAsyncAPIDocument(maybeDoc) { - if (!maybeDoc) { - return false; - } - if (maybeDoc instanceof AsyncAPIDocumentV2 || maybeDoc instanceof AsyncAPIDocumentV3) { - return true; - } - if (maybeDoc && typeof maybeDoc.json === 'function') { - const versionOfParserAPI = maybeDoc.json()[xParserApiVersion]; - return versionOfParserAPI === ParserAPIVersion; - } - return false; -} -export function isOldAsyncAPIDocument(maybeDoc) { - if (maybeDoc && typeof maybeDoc.json === 'function') { - const versionOfParserAPI = maybeDoc.json()[xParserApiVersion]; - return versionOfParserAPI === undefined || versionOfParserAPI === 0; - } - return false; -} -export function isParsedDocument(maybeDoc) { - if (typeof maybeDoc !== 'object' || maybeDoc === null) { - return false; - } - return Boolean(maybeDoc[xParserSpecParsed]); -} -export function isStringifiedDocument(maybeDoc) { - try { - maybeDoc = typeof maybeDoc === 'string' ? JSON.parse(maybeDoc) : maybeDoc; - if (typeof maybeDoc !== 'object' || maybeDoc === null) { - return false; - } - return (Boolean(maybeDoc[xParserSpecParsed]) && - Boolean(maybeDoc[xParserSpecStringified])); - } - catch (_) { - return false; - } -} diff --git a/apps/parser/esm/from.d.ts b/apps/parser/esm/from.d.ts deleted file mode 100644 index f7eb1b051..000000000 --- a/apps/parser/esm/from.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { readFile } from 'fs'; -import type { RequestInit } from 'node-fetch'; -import type { Parser } from './parser'; -import type { ParseOptions, ParseOutput } from './parse'; -import type { ValidateOptions } from './validate'; -import type { Diagnostic } from './types'; -interface FromResult { - parse: (options?: ParseOptions) => Promise; - validate: (options?: ValidateOptions) => Promise; -} -export declare function fromURL(parser: Parser, source: string, options?: RequestInit): FromResult; -export declare function fromFile(parser: Parser, source: string, options?: Parameters[1]): FromResult; -export {}; diff --git a/apps/parser/esm/from.js b/apps/parser/esm/from.js deleted file mode 100644 index 2543fed78..000000000 --- a/apps/parser/esm/from.js +++ /dev/null @@ -1,66 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { readFile } from 'fs'; -import { promisify } from 'util'; -export function fromURL(parser, source, options) { - function fetchUrl() { - return __awaiter(this, void 0, void 0, function* () { - const fetchFn = yield getFetch(); - return (yield fetchFn(source, options)).text(); - }); - } - return { - parse(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield fetchUrl(); - return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); - }); - }, - validate(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield fetchUrl(); - return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); - }); - } - }; -} -export function fromFile(parser, source, options) { - function readFileFn() { - return __awaiter(this, void 0, void 0, function* () { - return (yield promisify(readFile)(source, options)).toString(); - }); - } - return { - parse(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield readFileFn(); - return parser.parse(schema, Object.assign(Object.assign({}, options), { source })); - }); - }, - validate(options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const schema = yield readFileFn(); - return parser.validate(schema, Object.assign(Object.assign({}, options), { source })); - }); - } - }; -} -let __fetchFn; -function getFetch() { - return __awaiter(this, void 0, void 0, function* () { - if (__fetchFn) { - return __fetchFn; - } - if (typeof fetch === 'undefined') { - return __fetchFn = (yield import('node-fetch')).default; - } - return (__fetchFn = fetch); - }); -} diff --git a/apps/parser/esm/index.d.ts b/apps/parser/esm/index.d.ts deleted file mode 100644 index a53f0608a..000000000 --- a/apps/parser/esm/index.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { DiagnosticSeverity } from '@stoplight/types'; -import { Parser } from './parser'; -export * from './models'; -export { Parser }; -export { stringify, unstringify } from './stringify'; -export { fromURL, fromFile } from './from'; -export { createAsyncAPIDocument, toAsyncAPIDocument, isAsyncAPIDocument, isOldAsyncAPIDocument } from './document'; -export { DiagnosticSeverity }; -export * from './old-api'; -export type { AsyncAPISemver, Input, Diagnostic, SchemaValidateResult, AsyncAPISchema } from './types'; -export type { ValidateOptions, ValidateOutput } from './validate'; -export type { ParseOptions, ParseOutput } from './parse'; -export type { StringifyOptions } from './stringify'; -export type { ValidateSchemaInput, ParseSchemaInput, SchemaParser } from './schema-parser'; -export type { v2 as SpecTypesV2 } from './spec-types'; -export default Parser; diff --git a/apps/parser/esm/index.js b/apps/parser/esm/index.js deleted file mode 100644 index 4eecf3659..000000000 --- a/apps/parser/esm/index.js +++ /dev/null @@ -1,10 +0,0 @@ -import { DiagnosticSeverity } from '@stoplight/types'; -import { Parser } from './parser'; -export * from './models'; -export { Parser }; -export { stringify, unstringify } from './stringify'; -export { fromURL, fromFile } from './from'; -export { createAsyncAPIDocument, toAsyncAPIDocument, isAsyncAPIDocument, isOldAsyncAPIDocument } from './document'; -export { DiagnosticSeverity }; -export * from './old-api'; -export default Parser; diff --git a/apps/parser/esm/iterator.d.ts b/apps/parser/esm/iterator.d.ts deleted file mode 100644 index 1d2c98ddd..000000000 --- a/apps/parser/esm/iterator.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import type { AsyncAPIDocumentInterface } from './models/asyncapi'; -import type { SchemaInterface } from './models/schema'; -/** - * The different kind of stages when crawling a schema. - */ -export declare enum SchemaIteratorCallbackType { - NEW_SCHEMA = "NEW_SCHEMA", - END_SCHEMA = "END_SCHEMA" -} -/** - * The different types of schemas you can iterate - */ -export declare enum SchemaTypesToIterate { - Parameters = "parameters", - Payloads = "payloads", - Headers = "headers", - Components = "components", - Objects = "objects", - Arrays = "arrays", - OneOfs = "oneOfs", - AllOfs = "allOfs", - AnyOfs = "anyOfs", - Nots = "nots", - PropertyNames = "propertyNames", - PatternProperties = "patternProperties", - Contains = "contains", - Ifs = "ifs", - Thenes = "thenes", - Elses = "elses", - Dependencies = "dependencies", - Definitions = "definitions" -} -export type TraverseOptions = { - callback: TraverseCallback; - schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; - seenSchemas: Set; -}; -export type TraverseCallback = (schema: SchemaInterface, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -export declare function traverseAsyncApiDocument(doc: AsyncAPIDocumentInterface, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/esm/iterator.js b/apps/parser/esm/iterator.js deleted file mode 100644 index 97e19175d..000000000 --- a/apps/parser/esm/iterator.js +++ /dev/null @@ -1,224 +0,0 @@ -/** - * The different kind of stages when crawling a schema. - */ -export var SchemaIteratorCallbackType; -(function (SchemaIteratorCallbackType) { - SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; - SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; -})(SchemaIteratorCallbackType || (SchemaIteratorCallbackType = {})); -/** - * The different types of schemas you can iterate - */ -export var SchemaTypesToIterate; -(function (SchemaTypesToIterate) { - SchemaTypesToIterate["Parameters"] = "parameters"; - SchemaTypesToIterate["Payloads"] = "payloads"; - SchemaTypesToIterate["Headers"] = "headers"; - SchemaTypesToIterate["Components"] = "components"; - SchemaTypesToIterate["Objects"] = "objects"; - SchemaTypesToIterate["Arrays"] = "arrays"; - SchemaTypesToIterate["OneOfs"] = "oneOfs"; - SchemaTypesToIterate["AllOfs"] = "allOfs"; - SchemaTypesToIterate["AnyOfs"] = "anyOfs"; - SchemaTypesToIterate["Nots"] = "nots"; - SchemaTypesToIterate["PropertyNames"] = "propertyNames"; - SchemaTypesToIterate["PatternProperties"] = "patternProperties"; - SchemaTypesToIterate["Contains"] = "contains"; - SchemaTypesToIterate["Ifs"] = "ifs"; - SchemaTypesToIterate["Thenes"] = "thenes"; - SchemaTypesToIterate["Elses"] = "elses"; - SchemaTypesToIterate["Dependencies"] = "dependencies"; - SchemaTypesToIterate["Definitions"] = "definitions"; -})(SchemaTypesToIterate || (SchemaTypesToIterate = {})); -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -export function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { - if (schemaTypesToIterate.length === 0) { - schemaTypesToIterate = Object.values(SchemaTypesToIterate); - } - const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; - if (!doc.channels().isEmpty()) { - doc.channels().all().forEach(channel => { - traverseChannel(channel, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Components) && !doc.components().isEmpty()) { - const components = doc.components(); - Object.values(components.messages().all() || {}).forEach(message => { - traverseMessage(message, options); - }); - Object.values(components.schemas().all() || {}).forEach(schema => { - traverseSchema(schema, null, options); - }); - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { - Object.values(components.channelParameters().filterBy((param) => { return param.hasSchema(); })).forEach(parameter => { - traverseSchema(parameter.schema(), null, options); - }); - } - Object.values(components.messageTraits().all() || {}).forEach(messageTrait => { - traverseMessageTrait(messageTrait, options); - }); - } -} -/* eslint-disable sonarjs/cognitive-complexity */ -/** - * Traverse current schema and all nested schemas. - */ -function traverseSchema(schema, propOrIndex, options) { - if (!schema) - return; - const { schemaTypesToIterate, callback, seenSchemas } = options; - // handle circular references - const jsonSchema = schema.json(); - if (seenSchemas.has(jsonSchema)) - return; - seenSchemas.add(jsonSchema); - // `type` isn't required so save type as array in the fallback - let types = schema.type() || []; - // change primitive type to array of types for easier handling - if (!Array.isArray(types)) { - types = [types]; - } - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) - return; - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) - return; - // check callback `NEW_SCHEMA` case - if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) - return; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Objects) && types.includes('object')) { - recursiveSchemaObject(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Arrays) && types.includes('array')) { - recursiveSchemaArray(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.OneOfs)) { - (schema.oneOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.AnyOfs)) { - (schema.anyOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.AllOfs)) { - (schema.allOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Nots) && schema.not()) { - traverseSchema(schema.not(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Ifs) && schema.if()) { - traverseSchema(schema.if(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Thenes) && schema.then()) { - traverseSchema(schema.then(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Elses) && schema.else()) { - traverseSchema(schema.else(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Dependencies)) { - Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { - // do not iterate dependent required - if (dep && !Array.isArray(dep)) { - traverseSchema(dep, depName, options); - } - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Definitions)) { - Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { - traverseSchema(def, defName, options); - }); - } - callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); - seenSchemas.delete(jsonSchema); -} -/* eslint-enable sonarjs/cognitive-complexity */ -/** - * Recursively go through schema of object type and execute callback. - */ -function recursiveSchemaObject(schema, options) { - Object.entries(schema.properties() || {}).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - const additionalProperties = schema.additionalProperties(); - if (typeof additionalProperties === 'object') { - traverseSchema(additionalProperties, null, options); - } - const schemaTypesToIterate = options.schemaTypesToIterate; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.PropertyNames) && schema.propertyNames()) { - traverseSchema(schema.propertyNames(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.PatternProperties)) { - Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - } -} -/** - * Recursively go through schema of array type and execute callback. - */ -function recursiveSchemaArray(schema, options) { - const items = schema.items(); - if (items) { - if (Array.isArray(items)) { - items.forEach((item, idx) => { - traverseSchema(item, idx, options); - }); - } - else { - traverseSchema(items, null, options); - } - } - const additionalItems = schema.additionalItems(); - if (typeof additionalItems === 'object') { - traverseSchema(additionalItems, null, options); - } - if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { - traverseSchema(schema.contains(), null, options); - } -} -/** - * Go through each schema in channel - */ -function traverseChannel(channel, options) { - if (!channel) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Parameters)) { - Object.values(channel.parameters().filterBy((param) => { return param.hasSchema(); }) || {}).forEach(parameter => { - traverseSchema(parameter.schema(), null, options); - }); - } - channel.messages().all().forEach(message => { - traverseMessage(message, options); - }); -} -/** - * Go through each schema in a message - */ -function traverseMessage(message, options) { - if (!message) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && message.hasHeaders()) { - traverseSchema(message.headers(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Payloads) && message.hasPayload()) { - traverseSchema(message.payload(), null, options); - } -} -/** - * Go through each schema in a messageTrait - */ -function traverseMessageTrait(messageTrait, options) { - if (!messageTrait) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && messageTrait.hasHeaders()) { - traverseSchema(messageTrait.headers(), null, options); - } -} diff --git a/apps/parser/esm/models/asyncapi.d.ts b/apps/parser/esm/models/asyncapi.d.ts deleted file mode 100644 index e35f74e27..000000000 --- a/apps/parser/esm/models/asyncapi.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { BaseModel } from './base'; -import type { InfoInterface } from './info'; -import type { ChannelsInterface } from './channels'; -import type { ComponentsInterface } from './components'; -import type { MessagesInterface } from './messages'; -import type { ExtensionsMixinInterface } from './mixins'; -import type { OperationsInterface } from './operations'; -import type { SchemasInterface } from './schemas'; -import type { SecuritySchemesInterface } from './security-schemes'; -import type { ServersInterface } from './servers'; -import type { v2, v3 } from '../spec-types'; -export declare const ParserAPIVersion = 3; -export interface AsyncAPIDocumentInterface extends BaseModel, ExtensionsMixinInterface { - version(): string; - defaultContentType(): string | undefined; - hasDefaultContentType(): boolean; - info(): InfoInterface; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - securitySchemes(): SecuritySchemesInterface; - components(): ComponentsInterface; - allServers(): ServersInterface; - allChannels(): ChannelsInterface; - allOperations(): OperationsInterface; - allMessages(): MessagesInterface; - allSchemas(): SchemasInterface; -} diff --git a/apps/parser/esm/models/asyncapi.js b/apps/parser/esm/models/asyncapi.js deleted file mode 100644 index fa4addf6a..000000000 --- a/apps/parser/esm/models/asyncapi.js +++ /dev/null @@ -1,2 +0,0 @@ -// https://github.com/asyncapi/parser-api/releases/tag/v3.0.0 -export const ParserAPIVersion = 3; diff --git a/apps/parser/esm/models/base.d.ts b/apps/parser/esm/models/base.d.ts deleted file mode 100644 index 29aa35fa2..000000000 --- a/apps/parser/esm/models/base.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { Constructor, InferModelData, InferModelMetadata } from './utils'; -import type { DetailedAsyncAPI } from '../types'; -export interface ModelMetadata { - asyncapi: DetailedAsyncAPI; - pointer: string; -} -export declare abstract class BaseModel = {}> { - protected readonly _json: J; - protected readonly _meta: ModelMetadata & M; - constructor(_json: J, _meta?: ModelMetadata & M); - json(): T; - json(key: K): J[K]; - meta(): ModelMetadata & M; - meta(key: K): (ModelMetadata & M)[K]; - jsonPath(field?: string | undefined): string; - protected createModel(Model: Constructor, value: InferModelData, meta: Omit & InferModelMetadata): T; -} diff --git a/apps/parser/esm/models/base.js b/apps/parser/esm/models/base.js deleted file mode 100644 index 49f1d0dcd..000000000 --- a/apps/parser/esm/models/base.js +++ /dev/null @@ -1,29 +0,0 @@ -export class BaseModel { - constructor(_json, _meta = {}) { - this._json = _json; - this._meta = _meta; - } - json(key) { - if (key === undefined) - return this._json; - if (this._json === null || this._json === undefined) - return this._json; - return this._json[key]; - } - meta(key) { - if (key === undefined) - return this._meta; - if (!this._meta) - return; - return this._meta[key]; - } - jsonPath(field) { - if (typeof field !== 'string') { - return this._meta.pointer; - } - return `${this._meta.pointer}/${field}`; - } - createModel(Model, value, meta) { - return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: this._meta.asyncapi })); - } -} diff --git a/apps/parser/esm/models/binding.d.ts b/apps/parser/esm/models/binding.d.ts deleted file mode 100644 index d63cbb8d2..000000000 --- a/apps/parser/esm/models/binding.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface BindingInterface = Record> extends BaseModel, ExtensionsMixinInterface { - protocol(): string; - version(): string; - value(): V; -} diff --git a/apps/parser/esm/models/binding.js b/apps/parser/esm/models/binding.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/binding.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/bindings.d.ts b/apps/parser/esm/models/bindings.d.ts deleted file mode 100644 index a9e00490d..000000000 --- a/apps/parser/esm/models/bindings.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { Collection } from './collection'; -import type { BindingInterface } from './binding'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface BindingsInterface extends Collection, ExtensionsMixinInterface { -} diff --git a/apps/parser/esm/models/bindings.js b/apps/parser/esm/models/bindings.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/bindings.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/channel-parameter.d.ts b/apps/parser/esm/models/channel-parameter.d.ts deleted file mode 100644 index 3c787dbd1..000000000 --- a/apps/parser/esm/models/channel-parameter.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -import type { SchemaInterface } from './schema'; -export interface ChannelParameterInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - hasSchema(): boolean; - schema(): SchemaInterface | undefined; - hasLocation(): boolean; - location(): string | undefined; -} diff --git a/apps/parser/esm/models/channel-parameter.js b/apps/parser/esm/models/channel-parameter.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/channel-parameter.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/channel-parameters.d.ts b/apps/parser/esm/models/channel-parameters.d.ts deleted file mode 100644 index 516c547bf..000000000 --- a/apps/parser/esm/models/channel-parameters.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { ChannelParameterInterface } from './channel-parameter'; -export type ChannelParametersInterface = Collection; diff --git a/apps/parser/esm/models/channel-parameters.js b/apps/parser/esm/models/channel-parameters.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/channel-parameters.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/channel.d.ts b/apps/parser/esm/models/channel.d.ts deleted file mode 100644 index e4e434b88..000000000 --- a/apps/parser/esm/models/channel.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelParametersInterface } from './channel-parameters'; -import type { MessagesInterface } from './messages'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -import type { OperationsInterface } from './operations'; -import type { ServersInterface } from './servers'; -export interface ChannelInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - address(): string | null | undefined; - servers(): ServersInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - parameters(): ChannelParametersInterface; -} diff --git a/apps/parser/esm/models/channel.js b/apps/parser/esm/models/channel.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/channel.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/channels.d.ts b/apps/parser/esm/models/channels.d.ts deleted file mode 100644 index 028bd4a96..000000000 --- a/apps/parser/esm/models/channels.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { ChannelInterface } from './channel'; -export interface ChannelsInterface extends Collection { - filterBySend(): ChannelInterface[]; - filterByReceive(): ChannelInterface[]; -} diff --git a/apps/parser/esm/models/channels.js b/apps/parser/esm/models/channels.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/channels.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/collection.d.ts b/apps/parser/esm/models/collection.d.ts deleted file mode 100644 index 6c23e3b73..000000000 --- a/apps/parser/esm/models/collection.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { BaseModel } from './base'; -import type { DetailedAsyncAPI } from '../types'; -export interface CollectionMetadata { - originalData?: Record; - asyncapi?: DetailedAsyncAPI; - pointer?: string; -} -export declare abstract class Collection = {}> extends Array { - protected readonly collections: T[]; - protected readonly _meta: CollectionMetadata & M; - constructor(collections: T[], _meta?: CollectionMetadata & M); - abstract get(id: string): T | undefined; - has(id: string): boolean; - all(): T[]; - isEmpty(): boolean; - filterBy(filter: (item: T) => boolean): T[]; - meta(): CollectionMetadata & M; - meta & M)>(key: K): (CollectionMetadata & M)[K]; -} diff --git a/apps/parser/esm/models/collection.js b/apps/parser/esm/models/collection.js deleted file mode 100644 index 4ff40348f..000000000 --- a/apps/parser/esm/models/collection.js +++ /dev/null @@ -1,26 +0,0 @@ -export class Collection extends Array { - constructor(collections, _meta = {}) { - super(...collections); - this.collections = collections; - this._meta = _meta; - } - has(id) { - return typeof this.get(id) !== 'undefined'; - } - all() { - return this.collections; - } - isEmpty() { - return this.collections.length === 0; - } - filterBy(filter) { - return this.collections.filter(filter); - } - meta(key) { - if (key === undefined) - return this._meta; - if (!this._meta) - return; - return this._meta[String(key)]; - } -} diff --git a/apps/parser/esm/models/components.d.ts b/apps/parser/esm/models/components.d.ts deleted file mode 100644 index ce8c4f7e7..000000000 --- a/apps/parser/esm/models/components.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { BaseModel } from './base'; -import type { BindingsInterface } from './bindings'; -import type { ExtensionsMixinInterface } from './mixins'; -import type { ServersInterface } from './servers'; -import type { ChannelsInterface } from './channels'; -import type { MessagesInterface } from './messages'; -import type { SchemasInterface } from './schemas'; -import type { ChannelParametersInterface } from './channel-parameters'; -import type { ServerVariablesInterface } from './server-variables'; -import type { OperationTraitsInterface } from './operation-traits'; -import type { MessageTraitsInterface } from './message-traits'; -import type { SecuritySchemesInterface } from './security-schemes'; -import type { CorrelationIdsInterface } from './correlation-ids'; -import type { OperationsInterface } from './operations'; -export interface ComponentsInterface extends BaseModel, ExtensionsMixinInterface { - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - channelParameters(): ChannelParametersInterface; - serverVariables(): ServerVariablesInterface; - operations(): OperationsInterface; - operationTraits(): OperationTraitsInterface; - messageTraits(): MessageTraitsInterface; - correlationIds(): CorrelationIdsInterface; - securitySchemes(): SecuritySchemesInterface; - serverBindings(): Record; - channelBindings(): Record; - operationBindings(): Record; - messageBindings(): Record; - isEmpty(): boolean; -} diff --git a/apps/parser/esm/models/components.js b/apps/parser/esm/models/components.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/components.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/contact.d.ts b/apps/parser/esm/models/contact.d.ts deleted file mode 100644 index 79bf79984..000000000 --- a/apps/parser/esm/models/contact.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface ContactInterface extends BaseModel, ExtensionsMixinInterface { - hasName(): boolean; - name(): string | undefined; - hasUrl(): boolean; - url(): string | undefined; - hasEmail(): boolean; - email(): string | undefined; -} diff --git a/apps/parser/esm/models/contact.js b/apps/parser/esm/models/contact.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/contact.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/correlation-id.d.ts b/apps/parser/esm/models/correlation-id.d.ts deleted file mode 100644 index 526f641b6..000000000 --- a/apps/parser/esm/models/correlation-id.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface CorrelationIdInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - location(): string | undefined; -} diff --git a/apps/parser/esm/models/correlation-id.js b/apps/parser/esm/models/correlation-id.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/correlation-id.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/correlation-ids.d.ts b/apps/parser/esm/models/correlation-ids.d.ts deleted file mode 100644 index 47e02a09f..000000000 --- a/apps/parser/esm/models/correlation-ids.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { CorrelationIdInterface } from './correlation-id'; -export type CorrelationIdsInterface = Collection; diff --git a/apps/parser/esm/models/correlation-ids.js b/apps/parser/esm/models/correlation-ids.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/correlation-ids.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/extension.d.ts b/apps/parser/esm/models/extension.d.ts deleted file mode 100644 index a59abffb2..000000000 --- a/apps/parser/esm/models/extension.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -export interface ExtensionInterface extends BaseModel { - id(): string; - value(): V; -} diff --git a/apps/parser/esm/models/extension.js b/apps/parser/esm/models/extension.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/extension.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/extensions.d.ts b/apps/parser/esm/models/extensions.d.ts deleted file mode 100644 index abb62df18..000000000 --- a/apps/parser/esm/models/extensions.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { ExtensionInterface } from './extension'; -export type ExtensionsInterface = Collection; diff --git a/apps/parser/esm/models/extensions.js b/apps/parser/esm/models/extensions.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/extensions.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/external-docs.d.ts b/apps/parser/esm/models/external-docs.d.ts deleted file mode 100644 index bca1e1fef..000000000 --- a/apps/parser/esm/models/external-docs.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - url(): string; -} diff --git a/apps/parser/esm/models/external-docs.js b/apps/parser/esm/models/external-docs.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/external-docs.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/external-documentation.d.ts b/apps/parser/esm/models/external-documentation.d.ts deleted file mode 100644 index b48a51fde..000000000 --- a/apps/parser/esm/models/external-documentation.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface ExternalDocumentationInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string | undefined; - url(): string; -} diff --git a/apps/parser/esm/models/external-documentation.js b/apps/parser/esm/models/external-documentation.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/external-documentation.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/external-documentations.d.ts b/apps/parser/esm/models/external-documentations.d.ts deleted file mode 100644 index c6d0f9cf5..000000000 --- a/apps/parser/esm/models/external-documentations.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from './collection'; -import type { ExternalDocumentationInterface } from './external-docs'; -export type ExternalDocumentationsInterface = Collection; -export declare class ExternalDocumentations extends Collection implements ExternalDocumentationsInterface { - get(id: string): ExternalDocumentationInterface | undefined; -} diff --git a/apps/parser/esm/models/external-documentations.js b/apps/parser/esm/models/external-documentations.js deleted file mode 100644 index 6dee826f0..000000000 --- a/apps/parser/esm/models/external-documentations.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from './collection'; -export class ExternalDocumentations extends Collection { - get(id) { - return this.collections.find(externalDocs => externalDocs.meta('id') === id); - } -} diff --git a/apps/parser/esm/models/index.d.ts b/apps/parser/esm/models/index.d.ts deleted file mode 100644 index b07f3d24a..000000000 --- a/apps/parser/esm/models/index.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -export * from './v2'; -export * from './v3'; -export * from './asyncapi'; -export * from './base'; -export * from './binding'; -export * from './bindings'; -export * from './channel-parameter'; -export * from './channel-parameters'; -export * from './channel'; -export * from './channels'; -export * from './collection'; -export * from './components'; -export * from './contact'; -export * from './correlation-id'; -export * from './correlation-ids'; -export * from './extension'; -export * from './extensions'; -export * from './external-docs'; -export * from './info'; -export * from './license'; -export * from './message-example'; -export * from './message-examples'; -export * from './message-trait'; -export * from './message-traits'; -export * from './message'; -export * from './messages'; -export * from './oauth-flow'; -export * from './oauth-flows'; -export * from './operation-replies'; -export * from './operation-reply-address'; -export * from './operation-reply-addresses'; -export * from './operation-reply'; -export * from './operation-trait'; -export * from './operation-traits'; -export * from './operation'; -export * from './operations'; -export * from './schema'; -export * from './schemas'; -export * from './security-requirement'; -export * from './security-requirements'; -export * from './security-scheme'; -export * from './security-schemes'; -export * from './server-variable'; -export * from './server-variables'; -export * from './server'; -export * from './servers'; -export * from './tag'; -export * from './tags'; diff --git a/apps/parser/esm/models/index.js b/apps/parser/esm/models/index.js deleted file mode 100644 index b07f3d24a..000000000 --- a/apps/parser/esm/models/index.js +++ /dev/null @@ -1,48 +0,0 @@ -export * from './v2'; -export * from './v3'; -export * from './asyncapi'; -export * from './base'; -export * from './binding'; -export * from './bindings'; -export * from './channel-parameter'; -export * from './channel-parameters'; -export * from './channel'; -export * from './channels'; -export * from './collection'; -export * from './components'; -export * from './contact'; -export * from './correlation-id'; -export * from './correlation-ids'; -export * from './extension'; -export * from './extensions'; -export * from './external-docs'; -export * from './info'; -export * from './license'; -export * from './message-example'; -export * from './message-examples'; -export * from './message-trait'; -export * from './message-traits'; -export * from './message'; -export * from './messages'; -export * from './oauth-flow'; -export * from './oauth-flows'; -export * from './operation-replies'; -export * from './operation-reply-address'; -export * from './operation-reply-addresses'; -export * from './operation-reply'; -export * from './operation-trait'; -export * from './operation-traits'; -export * from './operation'; -export * from './operations'; -export * from './schema'; -export * from './schemas'; -export * from './security-requirement'; -export * from './security-requirements'; -export * from './security-scheme'; -export * from './security-schemes'; -export * from './server-variable'; -export * from './server-variables'; -export * from './server'; -export * from './servers'; -export * from './tag'; -export * from './tags'; diff --git a/apps/parser/esm/models/info.d.ts b/apps/parser/esm/models/info.d.ts deleted file mode 100644 index 33ce92d33..000000000 --- a/apps/parser/esm/models/info.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { ContactInterface } from './contact'; -import type { LicenseInterface } from './license'; -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; -export interface InfoInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { - title(): string; - version(): string; - hasId(): boolean; - id(): string | undefined; - hasTermsOfService(): boolean; - termsOfService(): string | undefined; - hasContact(): boolean; - contact(): ContactInterface | undefined; - hasLicense(): boolean; - license(): LicenseInterface | undefined; -} diff --git a/apps/parser/esm/models/info.js b/apps/parser/esm/models/info.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/info.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/license.d.ts b/apps/parser/esm/models/license.d.ts deleted file mode 100644 index 55d4949b0..000000000 --- a/apps/parser/esm/models/license.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface LicenseInterface extends BaseModel, ExtensionsMixinInterface { - name(): string; - hasUrl(): boolean; - url(): string | undefined; -} diff --git a/apps/parser/esm/models/license.js b/apps/parser/esm/models/license.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/license.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/message-example.d.ts b/apps/parser/esm/models/message-example.d.ts deleted file mode 100644 index f929d876f..000000000 --- a/apps/parser/esm/models/message-example.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface MessageExampleInterface extends BaseModel, ExtensionsMixinInterface { - hasName(): boolean; - name(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasHeaders(): boolean; - headers(): Record | undefined; - hasPayload(): boolean; - payload(): Record | undefined; -} diff --git a/apps/parser/esm/models/message-example.js b/apps/parser/esm/models/message-example.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/message-example.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/message-examples.d.ts b/apps/parser/esm/models/message-examples.d.ts deleted file mode 100644 index ff4359d25..000000000 --- a/apps/parser/esm/models/message-examples.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { MessageExampleInterface } from './message-example'; -export type MessageExamplesInterface = Collection; diff --git a/apps/parser/esm/models/message-examples.js b/apps/parser/esm/models/message-examples.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/message-examples.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/message-trait.d.ts b/apps/parser/esm/models/message-trait.d.ts deleted file mode 100644 index 05632cb4c..000000000 --- a/apps/parser/esm/models/message-trait.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { BaseModel } from './base'; -import type { CorrelationIdInterface } from './correlation-id'; -import type { MessageExamplesInterface } from './message-examples'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; -import type { SchemaInterface } from './schema'; -export interface MessageTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { - id(): string; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - hasMessageId(): boolean; - hasCorrelationId(): boolean; - correlationId(): CorrelationIdInterface | undefined; - hasContentType(): boolean; - contentType(): string | undefined; - hasHeaders(): boolean; - headers(): SchemaInterface | undefined; - hasName(): boolean; - name(): string | undefined; - hasTitle(): boolean; - title(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - examples(): MessageExamplesInterface; -} diff --git a/apps/parser/esm/models/message-trait.js b/apps/parser/esm/models/message-trait.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/message-trait.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/message-traits.d.ts b/apps/parser/esm/models/message-traits.d.ts deleted file mode 100644 index 78f21908e..000000000 --- a/apps/parser/esm/models/message-traits.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { MessageTraitInterface } from './message-trait'; -export type MessageTraitsInterface = Collection; diff --git a/apps/parser/esm/models/message-traits.js b/apps/parser/esm/models/message-traits.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/message-traits.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/message.d.ts b/apps/parser/esm/models/message.d.ts deleted file mode 100644 index c030c3912..000000000 --- a/apps/parser/esm/models/message.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelsInterface } from './channels'; -import type { MessageTraitsInterface } from './message-traits'; -import type { MessageTraitInterface } from './message-trait'; -import type { OperationsInterface } from './operations'; -import type { SchemaInterface } from './schema'; -import type { ServersInterface } from './servers'; -export interface MessageInterface extends BaseModel, MessageTraitInterface { - hasPayload(): boolean; - payload(): SchemaInterface | undefined; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - traits(): MessageTraitsInterface; -} diff --git a/apps/parser/esm/models/message.js b/apps/parser/esm/models/message.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/message.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/messages.d.ts b/apps/parser/esm/models/messages.d.ts deleted file mode 100644 index 614bbd142..000000000 --- a/apps/parser/esm/models/messages.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { MessageInterface } from './message'; -export interface MessagesInterface extends Collection { - filterBySend(): MessageInterface[]; - filterByReceive(): MessageInterface[]; -} diff --git a/apps/parser/esm/models/messages.js b/apps/parser/esm/models/messages.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/messages.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/mixins.d.ts b/apps/parser/esm/models/mixins.d.ts deleted file mode 100644 index 558a30c2a..000000000 --- a/apps/parser/esm/models/mixins.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { BindingsInterface } from './bindings'; -import type { ExtensionsInterface } from './extensions'; -import type { ExternalDocumentationInterface } from './external-docs'; -import type { TagsInterface } from './tags'; -export interface BindingsMixinInterface { - bindings(): BindingsInterface; -} -export interface CoreMixinInterface extends BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, SummaryMixinInterface, TagsMixinInterface, TitleMixinInterface { -} -export interface DescriptionMixinInterface { - hasDescription(): boolean; - description(): string | undefined; -} -export interface ExtensionsMixinInterface { - extensions(): ExtensionsInterface; -} -export interface ExternalDocumentationMixinInterface { - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; -} -export interface SummaryMixinInterface { - hasSummary(): boolean; - summary(): string | undefined; -} -export interface TagsMixinInterface { - tags(): TagsInterface; -} -export interface TitleMixinInterface { - hasTitle(): boolean; - title(): string | undefined; -} diff --git a/apps/parser/esm/models/mixins.js b/apps/parser/esm/models/mixins.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/mixins.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/oauth-flow.d.ts b/apps/parser/esm/models/oauth-flow.d.ts deleted file mode 100644 index 3151c3d76..000000000 --- a/apps/parser/esm/models/oauth-flow.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BaseModel } from './base'; -import { ExtensionsMixinInterface } from './mixins'; -export interface OAuthFlowInterface = Record> extends BaseModel, ExtensionsMixinInterface { - hasAuthorizationUrl(): boolean; - authorizationUrl(): string | undefined; - hasTokenUrl(): boolean; - tokenUrl(): string | undefined; - hasRefreshUrl(): boolean; - refreshUrl(): string | undefined; - scopes(): Record | undefined; -} diff --git a/apps/parser/esm/models/oauth-flow.js b/apps/parser/esm/models/oauth-flow.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/oauth-flow.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/oauth-flows.d.ts b/apps/parser/esm/models/oauth-flows.d.ts deleted file mode 100644 index 9d4a9c332..000000000 --- a/apps/parser/esm/models/oauth-flows.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { BaseModel } from './base'; -import type { OAuthFlowInterface } from './oauth-flow'; -import type { ExtensionsMixinInterface } from './mixins'; -export interface OAuthFlowsInterface extends BaseModel, ExtensionsMixinInterface { - hasAuthorizationCode(): boolean; - authorizationCode(): OAuthFlowInterface | undefined; - hasClientCredentials(): boolean; - clientCredentials(): OAuthFlowInterface | undefined; - hasImplicit(): boolean; - implicit(): OAuthFlowInterface | undefined; - hasPassword(): boolean; - password(): OAuthFlowInterface | undefined; -} diff --git a/apps/parser/esm/models/oauth-flows.js b/apps/parser/esm/models/oauth-flows.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/oauth-flows.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operation-replies.d.ts b/apps/parser/esm/models/operation-replies.d.ts deleted file mode 100644 index 2472878d5..000000000 --- a/apps/parser/esm/models/operation-replies.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Collection } from './collection'; -import type { OperationReplyInterface } from './operation-reply'; -export type OperationRepliesInterface = Collection; diff --git a/apps/parser/esm/models/operation-replies.js b/apps/parser/esm/models/operation-replies.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operation-replies.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operation-reply-address.d.ts b/apps/parser/esm/models/operation-reply-address.d.ts deleted file mode 100644 index b7ea5dd00..000000000 --- a/apps/parser/esm/models/operation-reply-address.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface OperationReplyAddressInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string | undefined; - location(): string; -} diff --git a/apps/parser/esm/models/operation-reply-address.js b/apps/parser/esm/models/operation-reply-address.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operation-reply-address.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operation-reply-addresses.d.ts b/apps/parser/esm/models/operation-reply-addresses.d.ts deleted file mode 100644 index 8497f33cc..000000000 --- a/apps/parser/esm/models/operation-reply-addresses.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Collection } from './collection'; -import type { OperationReplyAddressInterface } from './operation-reply-address'; -export type OperationReplyAddressesInterface = Collection; diff --git a/apps/parser/esm/models/operation-reply-addresses.js b/apps/parser/esm/models/operation-reply-addresses.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operation-reply-addresses.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operation-reply.d.ts b/apps/parser/esm/models/operation-reply.d.ts deleted file mode 100644 index c66403879..000000000 --- a/apps/parser/esm/models/operation-reply.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface } from './mixins'; -import type { ChannelInterface } from './channel'; -import type { MessagesInterface } from './messages'; -import type { OperationReplyAddressInterface } from './operation-reply-address'; -export interface OperationReplyInterface extends BaseModel, ExtensionsMixinInterface { - id(): string | undefined; - hasAddress(): boolean; - address(): OperationReplyAddressInterface | undefined; - hasChannel(): boolean; - channel(): ChannelInterface | undefined; - messages(): MessagesInterface; -} diff --git a/apps/parser/esm/models/operation-reply.js b/apps/parser/esm/models/operation-reply.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operation-reply.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operation-trait.d.ts b/apps/parser/esm/models/operation-trait.d.ts deleted file mode 100644 index 32f220ba0..000000000 --- a/apps/parser/esm/models/operation-trait.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { BaseModel } from './base'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface } from './mixins'; -import { SecurityRequirements } from './v2/security-requirements'; -export interface OperationTraitInterface extends BaseModel, BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface, TagsMixinInterface { - id(): string | undefined; - hasOperationId(): boolean; - operationId(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - security(): SecurityRequirements[]; -} diff --git a/apps/parser/esm/models/operation-trait.js b/apps/parser/esm/models/operation-trait.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operation-trait.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operation-traits.d.ts b/apps/parser/esm/models/operation-traits.d.ts deleted file mode 100644 index 30716170f..000000000 --- a/apps/parser/esm/models/operation-traits.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { OperationTraitInterface } from './operation-trait'; -export type OperationTraitsInterface = Collection; diff --git a/apps/parser/esm/models/operation-traits.js b/apps/parser/esm/models/operation-traits.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operation-traits.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operation.d.ts b/apps/parser/esm/models/operation.d.ts deleted file mode 100644 index 6cb9e3c97..000000000 --- a/apps/parser/esm/models/operation.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelsInterface } from './channels'; -import type { MessagesInterface } from './messages'; -import type { OperationReplyInterface } from './operation-reply'; -import type { OperationTraitsInterface } from './operation-traits'; -import type { OperationTraitInterface } from './operation-trait'; -import type { ServersInterface } from './servers'; -export type OperationAction = 'send' | 'receive' | 'publish' | 'subscribe'; -export interface OperationInterface extends BaseModel, OperationTraitInterface { - action(): OperationAction; - isSend(): boolean; - isReceive(): boolean; - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - reply(): OperationReplyInterface | undefined; - traits(): OperationTraitsInterface; -} diff --git a/apps/parser/esm/models/operation.js b/apps/parser/esm/models/operation.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operation.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/operations.d.ts b/apps/parser/esm/models/operations.d.ts deleted file mode 100644 index 378a78e84..000000000 --- a/apps/parser/esm/models/operations.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { OperationInterface } from './operation'; -export interface OperationsInterface extends Collection { - filterBySend(): OperationInterface[]; - filterByReceive(): OperationInterface[]; -} diff --git a/apps/parser/esm/models/operations.js b/apps/parser/esm/models/operations.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/operations.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/schema.d.ts b/apps/parser/esm/models/schema.d.ts deleted file mode 100644 index 3ff32aa99..000000000 --- a/apps/parser/esm/models/schema.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { BaseModel } from './base'; -import type { ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; -import type { v2 } from '../spec-types'; -export interface SchemaInterface extends BaseModel, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { - $comment(): string | undefined; - $id(): string | undefined; - $schema(): string; - additionalItems(): boolean | SchemaInterface; - additionalProperties(): boolean | SchemaInterface; - allOf(): Array | undefined; - anyOf(): Array | undefined; - const(): any; - contains(): SchemaInterface | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - default(): any; - definitions(): Record | undefined; - description(): string | undefined; - dependencies(): Record> | undefined; - deprecated(): boolean; - discriminator(): string | undefined; - else(): SchemaInterface | undefined; - enum(): Array | undefined; - examples(): Array | undefined; - exclusiveMaximum(): number | undefined; - exclusiveMinimum(): number | undefined; - format(): string | undefined; - id(): string; - isBooleanSchema(): boolean; - if(): SchemaInterface | undefined; - isCircular(): boolean; - items(): SchemaInterface | Array | undefined; - maximum(): number | undefined; - maxItems(): number | undefined; - maxLength(): number | undefined; - maxProperties(): number | undefined; - minimum(): number | undefined; - minItems(): number | undefined; - minLength(): number | undefined; - minProperties(): number | undefined; - multipleOf(): number | undefined; - not(): SchemaInterface | undefined; - oneOf(): Array | undefined; - pattern(): string | undefined; - patternProperties(): Record | undefined; - properties(): Record | undefined; - property(name: string): SchemaInterface | undefined; - propertyNames(): SchemaInterface | undefined; - readOnly(): boolean | undefined; - required(): Array | undefined; - schemaFormat(): string; - then(): SchemaInterface | undefined; - title(): string | undefined; - type(): string | Array | undefined; - uniqueItems(): boolean | undefined; - writeOnly(): boolean | undefined; -} diff --git a/apps/parser/esm/models/schema.js b/apps/parser/esm/models/schema.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/schema.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/schemas.d.ts b/apps/parser/esm/models/schemas.d.ts deleted file mode 100644 index c7ecb6460..000000000 --- a/apps/parser/esm/models/schemas.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { SchemaInterface } from './schema'; -export type SchemasInterface = Collection; diff --git a/apps/parser/esm/models/schemas.js b/apps/parser/esm/models/schemas.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/schemas.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/security-requirement.d.ts b/apps/parser/esm/models/security-requirement.d.ts deleted file mode 100644 index e56dbf50e..000000000 --- a/apps/parser/esm/models/security-requirement.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { BaseModel } from './base'; -import type { SecuritySchemeInterface } from './security-scheme'; -export interface SecurityRequirementInterface extends BaseModel { - scheme(): SecuritySchemeInterface; - scopes(): string[]; -} diff --git a/apps/parser/esm/models/security-requirement.js b/apps/parser/esm/models/security-requirement.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/security-requirement.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/security-requirements.d.ts b/apps/parser/esm/models/security-requirements.d.ts deleted file mode 100644 index 1c0516602..000000000 --- a/apps/parser/esm/models/security-requirements.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { SecurityRequirementInterface } from './security-requirement'; -export type SecurityRequirementsInterface = Collection; diff --git a/apps/parser/esm/models/security-requirements.js b/apps/parser/esm/models/security-requirements.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/security-requirements.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/security-scheme.d.ts b/apps/parser/esm/models/security-scheme.d.ts deleted file mode 100644 index 982b778ca..000000000 --- a/apps/parser/esm/models/security-scheme.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { BaseModel } from './base'; -import type { OAuthFlowsInterface } from './oauth-flows'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface SecuritySchemeInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - type(): string; - hasName(): boolean; - name(): string | undefined; - hasIn(): boolean; - in(): string | undefined; - hasScheme(): boolean; - scheme(): string | undefined; - hasBearerFormat(): boolean; - bearerFormat(): string | undefined; - hasFlows(): boolean; - flows(): OAuthFlowsInterface | undefined; - hasOpenIdConnectUrl(): boolean; - openIdConnectUrl(): string | undefined; -} diff --git a/apps/parser/esm/models/security-scheme.js b/apps/parser/esm/models/security-scheme.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/security-scheme.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/security-schemes.d.ts b/apps/parser/esm/models/security-schemes.d.ts deleted file mode 100644 index 49ecf7a6d..000000000 --- a/apps/parser/esm/models/security-schemes.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { SecuritySchemeInterface } from './security-scheme'; -export type SecuritySchemesInterface = Collection; diff --git a/apps/parser/esm/models/security-schemes.js b/apps/parser/esm/models/security-schemes.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/security-schemes.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/server-variable.d.ts b/apps/parser/esm/models/server-variable.d.ts deleted file mode 100644 index 85faa6989..000000000 --- a/apps/parser/esm/models/server-variable.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface } from './mixins'; -export interface ServerVariableInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface { - id(): string; - hasDefaultValue(): boolean; - defaultValue(): string | undefined; - hasAllowedValues(): boolean; - allowedValues(): Array; - examples(): Array; -} diff --git a/apps/parser/esm/models/server-variable.js b/apps/parser/esm/models/server-variable.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/server-variable.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/server-variables.d.ts b/apps/parser/esm/models/server-variables.d.ts deleted file mode 100644 index 24c0c40b9..000000000 --- a/apps/parser/esm/models/server-variables.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { ServerVariableInterface } from './server-variable'; -export type ServerVariablesInterface = Collection; diff --git a/apps/parser/esm/models/server-variables.js b/apps/parser/esm/models/server-variables.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/server-variables.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/server.d.ts b/apps/parser/esm/models/server.d.ts deleted file mode 100644 index e93560576..000000000 --- a/apps/parser/esm/models/server.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { BaseModel } from './base'; -import type { ChannelsInterface } from './channels'; -import type { MessagesInterface } from './messages'; -import type { BindingsMixinInterface, DescriptionMixinInterface, ExtensionsMixinInterface, TagsMixinInterface } from './mixins'; -import type { OperationsInterface } from './operations'; -import type { ServerVariablesInterface } from './server-variables'; -import type { SecurityRequirementsInterface } from './security-requirements'; -export interface ServerInterface extends BaseModel, DescriptionMixinInterface, BindingsMixinInterface, ExtensionsMixinInterface, TagsMixinInterface { - id(): string; - url(): string; - host(): string; - hasPathname(): boolean; - pathname(): string | undefined; - protocol(): string; - protocolVersion(): string | undefined; - hasProtocolVersion(): boolean; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - variables(): ServerVariablesInterface; - security(): SecurityRequirementsInterface[]; -} diff --git a/apps/parser/esm/models/server.js b/apps/parser/esm/models/server.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/server.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/servers.d.ts b/apps/parser/esm/models/servers.d.ts deleted file mode 100644 index 3108b996e..000000000 --- a/apps/parser/esm/models/servers.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Collection } from './collection'; -import type { ServerInterface } from './server'; -export interface ServersInterface extends Collection { - filterBySend(): ServerInterface[]; - filterByReceive(): ServerInterface[]; -} diff --git a/apps/parser/esm/models/servers.js b/apps/parser/esm/models/servers.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/servers.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/tag.d.ts b/apps/parser/esm/models/tag.d.ts deleted file mode 100644 index 019512db2..000000000 --- a/apps/parser/esm/models/tag.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { BaseModel } from './base'; -import type { DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface } from './mixins'; -export interface TagInterface extends BaseModel, DescriptionMixinInterface, ExtensionsMixinInterface, ExternalDocumentationMixinInterface { - name(): string; -} diff --git a/apps/parser/esm/models/tag.js b/apps/parser/esm/models/tag.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/tag.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/tags.d.ts b/apps/parser/esm/models/tags.d.ts deleted file mode 100644 index 09b764464..000000000 --- a/apps/parser/esm/models/tags.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Collection } from './collection'; -import type { TagInterface } from './tag'; -export type TagsInterface = Collection; diff --git a/apps/parser/esm/models/tags.js b/apps/parser/esm/models/tags.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/models/tags.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/models/utils.d.ts b/apps/parser/esm/models/utils.d.ts deleted file mode 100644 index 554b09178..000000000 --- a/apps/parser/esm/models/utils.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { BaseModel, ModelMetadata } from './base'; -import type { DetailedAsyncAPI } from '../types'; -import { AsyncAPIDocumentInterface } from './asyncapi'; -import { SchemasInterface } from '../models'; -export interface Constructor extends Function { - new (...any: any[]): T; -} -export type InferModelData = T extends BaseModel ? J : never; -export type InferModelMetadata = T extends BaseModel ? M : never; -export declare function createModel(Model: Constructor, value: InferModelData, meta: Omit & { - asyncapi?: DetailedAsyncAPI; -} & InferModelMetadata, parent?: BaseModel): T; -export declare function schemasFromDocument(document: AsyncAPIDocumentInterface, SchemasModel: Constructor, includeComponents: boolean): T; diff --git a/apps/parser/esm/models/utils.js b/apps/parser/esm/models/utils.js deleted file mode 100644 index f2f716133..000000000 --- a/apps/parser/esm/models/utils.js +++ /dev/null @@ -1,21 +0,0 @@ -import { SchemaTypesToIterate, traverseAsyncApiDocument } from '../iterator'; -export function createModel(Model, value, meta, parent) { - return new Model(value, Object.assign(Object.assign({}, meta), { asyncapi: meta.asyncapi || (parent === null || parent === void 0 ? void 0 : parent.meta().asyncapi) })); -} -export function schemasFromDocument(document, SchemasModel, includeComponents) { - const jsonInstances = new Set(); - const schemas = new Set(); - function callback(schema) { - // comparing the reference (and not just the value) to the .json() object - if (!jsonInstances.has(schema.json())) { - jsonInstances.add(schema.json()); - schemas.add(schema); // unique schemas - } - } - let toIterate = Object.values(SchemaTypesToIterate); - if (!includeComponents) { - toIterate = toIterate.filter(s => s !== SchemaTypesToIterate.Components); - } - traverseAsyncApiDocument(document, callback, toIterate); - return new SchemasModel(Array.from(schemas)); -} diff --git a/apps/parser/esm/models/v2/asyncapi.d.ts b/apps/parser/esm/models/v2/asyncapi.d.ts deleted file mode 100644 index b2073140a..000000000 --- a/apps/parser/esm/models/v2/asyncapi.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import type { AsyncAPIDocumentInterface } from '../asyncapi'; -import type { InfoInterface } from '../info'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { ComponentsInterface } from '../components'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { SchemasInterface } from '../schemas'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { - version(): string; - defaultContentType(): string | undefined; - hasDefaultContentType(): boolean; - info(): InfoInterface; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - securitySchemes(): SecuritySchemesInterface; - components(): ComponentsInterface; - allServers(): ServersInterface; - allChannels(): ChannelsInterface; - allOperations(): OperationsInterface; - allMessages(): MessagesInterface; - allSchemas(): SchemasInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/asyncapi.js b/apps/parser/esm/models/v2/asyncapi.js deleted file mode 100644 index 387dcbc92..000000000 --- a/apps/parser/esm/models/v2/asyncapi.js +++ /dev/null @@ -1,82 +0,0 @@ -import { BaseModel } from '../base'; -import { Info } from './info'; -import { Channels } from './channels'; -import { Channel } from './channel'; -import { Components } from './components'; -import { Messages } from './messages'; -import { Operations } from './operations'; -import { Servers } from './servers'; -import { Server } from './server'; -import { SecuritySchemes } from './security-schemes'; -import { SecurityScheme } from './security-scheme'; -import { Schemas } from './schemas'; -import { extensions } from './mixins'; -import { tilde } from '../../utils'; -import { schemasFromDocument } from '../utils'; -export class AsyncAPIDocument extends BaseModel { - version() { - return this._json.asyncapi; - } - defaultContentType() { - return this._json.defaultContentType; - } - hasDefaultContentType() { - return !!this._json.defaultContentType; - } - info() { - return this.createModel(Info, this._json.info, { pointer: '/info' }); - } - servers() { - return new Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(Server, server, { id: serverName, pointer: `/servers/${serverName}` }))); - } - channels() { - return new Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${tilde(channelAddress)}` }))); - } - operations() { - const operations = []; - this.channels().forEach(channel => operations.push(...channel.operations())); - return new Operations(operations); - } - messages() { - const messages = []; - this.operations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); - return new Messages(messages); - } - schemas() { - return schemasFromDocument(this, Schemas, false); - } - securitySchemes() { - var _a; - return new SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); - } - components() { - return this.createModel(Components, this._json.components || {}, { pointer: '/components' }); - } - allServers() { - const servers = this.servers().all(); - this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); - return new Servers(servers); - } - allChannels() { - const channels = this.channels().all(); - this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); - return new Channels(channels); - } - allOperations() { - const operations = []; - this.allChannels().forEach(channel => operations.push(...channel.operations())); - return new Operations(operations); - } - allMessages() { - const messages = []; - this.allOperations().forEach(operation => operation.messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message)))); - this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); - return new Messages(messages); - } - allSchemas() { - return schemasFromDocument(this, Schemas, true); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/binding.d.ts b/apps/parser/esm/models/v2/binding.d.ts deleted file mode 100644 index 6e13a3caf..000000000 --- a/apps/parser/esm/models/v2/binding.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class Binding = Record> extends BaseModel implements BindingInterface { - protocol(): string; - version(): string; - value(): V; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/binding.js b/apps/parser/esm/models/v2/binding.js deleted file mode 100644 index a205c21e8..000000000 --- a/apps/parser/esm/models/v2/binding.js +++ /dev/null @@ -1,18 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class Binding extends BaseModel { - protocol() { - return this._meta.protocol; - } - version() { - return this._json.bindingVersion || 'latest'; - } - value() { - const value = Object.assign({}, this._json); - delete value.bindingVersion; - return value; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/bindings.d.ts b/apps/parser/esm/models/v2/bindings.d.ts deleted file mode 100644 index 366f2d369..000000000 --- a/apps/parser/esm/models/v2/bindings.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { BindingsInterface } from '../bindings'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -export declare class Bindings extends Collection implements BindingsInterface { - get = Record>(name: string): BindingInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/bindings.js b/apps/parser/esm/models/v2/bindings.js deleted file mode 100644 index 19e2407a9..000000000 --- a/apps/parser/esm/models/v2/bindings.js +++ /dev/null @@ -1,19 +0,0 @@ -import { Collection } from '../collection'; -import { Extensions } from './extensions'; -import { Extension } from './extension'; -import { createModel } from '../utils'; -import { EXTENSION_REGEX } from '../../constants'; -export class Bindings extends Collection { - get(name) { - return this.collections.find(binding => binding.protocol() === name); - } - extensions() { - const extensions = []; - Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { - if (EXTENSION_REGEX.test(id)) { - extensions.push(createModel(Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); - } - }); - return new Extensions(extensions); - } -} diff --git a/apps/parser/esm/models/v2/channel-parameter.d.ts b/apps/parser/esm/models/v2/channel-parameter.d.ts deleted file mode 100644 index ba1abeedd..000000000 --- a/apps/parser/esm/models/v2/channel-parameter.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ChannelParameterInterface } from '../channel-parameter'; -import type { SchemaInterface } from '../schema'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { - id(): string; - hasSchema(): boolean; - schema(): SchemaInterface | undefined; - hasLocation(): boolean; - location(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/channel-parameter.js b/apps/parser/esm/models/v2/channel-parameter.js deleted file mode 100644 index 2db8d16f4..000000000 --- a/apps/parser/esm/models/v2/channel-parameter.js +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import { Schema } from './schema'; -import { hasDescription, description, extensions } from './mixins'; -export class ChannelParameter extends BaseModel { - id() { - return this._meta.id; - } - hasSchema() { - return !!this._json.schema; - } - schema() { - if (!this._json.schema) - return undefined; - return this.createModel(Schema, this._json.schema, { pointer: `${this._meta.pointer}/schema` }); - } - hasLocation() { - return !!this._json.location; - } - location() { - return this._json.location; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/channel-parameters.d.ts b/apps/parser/esm/models/v2/channel-parameters.d.ts deleted file mode 100644 index 93abd0a6e..000000000 --- a/apps/parser/esm/models/v2/channel-parameters.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ChannelParameterInterface } from '../channel-parameter'; -export declare class ChannelParameters extends Collection implements ChannelParametersInterface { - get(id: string): ChannelParameterInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/channel-parameters.js b/apps/parser/esm/models/v2/channel-parameters.js deleted file mode 100644 index 4f6403734..000000000 --- a/apps/parser/esm/models/v2/channel-parameters.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class ChannelParameters extends Collection { - get(id) { - return this.collections.find(parameter => parameter.id() === id); - } -} diff --git a/apps/parser/esm/models/v2/channel.d.ts b/apps/parser/esm/models/v2/channel.d.ts deleted file mode 100644 index 669ca948b..000000000 --- a/apps/parser/esm/models/v2/channel.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { ChannelInterface } from '../channel'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ExtensionsInterface } from '../extensions'; -import type { MessagesInterface } from '../messages'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { v2 } from '../../spec-types'; -export declare class Channel extends BaseModel implements ChannelInterface { - id(): string; - address(): string; - hasDescription(): boolean; - description(): string | undefined; - servers(): ServersInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - parameters(): ChannelParametersInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/channel.js b/apps/parser/esm/models/v2/channel.js deleted file mode 100644 index 1cc3f2e91..000000000 --- a/apps/parser/esm/models/v2/channel.js +++ /dev/null @@ -1,64 +0,0 @@ -import { BaseModel } from '../base'; -import { ChannelParameters } from './channel-parameters'; -import { ChannelParameter } from './channel-parameter'; -import { Messages } from './messages'; -import { Operations } from './operations'; -import { Operation } from './operation'; -import { Servers } from './servers'; -import { Server } from './server'; -import { bindings, hasDescription, description, extensions } from './mixins'; -export class Channel extends BaseModel { - id() { - return this._meta.id; - } - address() { - return this._meta.address; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - servers() { - var _a; - const servers = []; - const allowedServers = this._json.servers || []; - Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.servers) || {}).forEach(([serverName, server]) => { - if (allowedServers.length === 0 || allowedServers.includes(serverName)) { - servers.push(this.createModel(Server, server, { id: serverName, pointer: `/servers/${serverName}` })); - } - }); - return new Servers(servers); - } - operations() { - const operations = []; - ['publish', 'subscribe'].forEach(operationAction => { - const operation = this._json[operationAction]; - const id = (operation && operation.operationId) || operationAction; - if (operation) { - operations.push(this.createModel(Operation, operation, { id, action: operationAction, pointer: `${this._meta.pointer}/${operationAction}` })); - } - }); - return new Operations(operations); - } - messages() { - const messages = []; - this.operations().forEach(operation => messages.push(...operation.messages().all())); - return new Messages(messages); - } - parameters() { - return new ChannelParameters(Object.entries(this._json.parameters || {}).map(([channelParameterName, channelParameter]) => { - return this.createModel(ChannelParameter, channelParameter, { - id: channelParameterName, - pointer: `${this._meta.pointer}/parameters/${channelParameterName}` - }); - })); - } - bindings() { - return bindings(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/channels.d.ts b/apps/parser/esm/models/v2/channels.d.ts deleted file mode 100644 index 01b199506..000000000 --- a/apps/parser/esm/models/v2/channels.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelsInterface } from '../channels'; -import type { ChannelInterface } from '../channel'; -export declare class Channels extends Collection implements ChannelsInterface { - get(id: string): ChannelInterface | undefined; - filterBySend(): ChannelInterface[]; - filterByReceive(): ChannelInterface[]; -} diff --git a/apps/parser/esm/models/v2/channels.js b/apps/parser/esm/models/v2/channels.js deleted file mode 100644 index fa86c7cae..000000000 --- a/apps/parser/esm/models/v2/channels.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Channels extends Collection { - get(id) { - return this.collections.find(channel => channel.id() === id); - } - filterBySend() { - return this.filterBy(channel => channel.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(channel => channel.operations().filterByReceive().length > 0); - } -} diff --git a/apps/parser/esm/models/v2/components.d.ts b/apps/parser/esm/models/v2/components.d.ts deleted file mode 100644 index 1865e8b6f..000000000 --- a/apps/parser/esm/models/v2/components.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { BaseModel } from '../base'; -import { Collection } from '../collection'; -import type { BindingsInterface } from '../bindings'; -import type { ComponentsInterface } from '../components'; -import type { ExtensionsInterface } from '../extensions'; -import type { Constructor } from '../utils'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { SchemasInterface } from '../schemas'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationsInterface } from '../operations'; -import type { CorrelationIdsInterface } from '../correlation-ids'; -import type { v2 } from '../../spec-types'; -export declare class Components extends BaseModel implements ComponentsInterface { - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - channelParameters(): ChannelParametersInterface; - serverVariables(): ServerVariablesInterface; - operationTraits(): OperationTraitsInterface; - messageTraits(): MessageTraitsInterface; - correlationIds(): CorrelationIdsInterface; - securitySchemes(): SecuritySchemesInterface; - serverBindings(): Record; - channelBindings(): Record; - operationBindings(): Record; - messageBindings(): Record; - extensions(): ExtensionsInterface; - isEmpty(): boolean; - protected createCollection, T extends BaseModel>(itemsName: keyof v2.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; - protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; -} diff --git a/apps/parser/esm/models/v2/components.js b/apps/parser/esm/models/v2/components.js deleted file mode 100644 index 23d5871de..000000000 --- a/apps/parser/esm/models/v2/components.js +++ /dev/null @@ -1,95 +0,0 @@ -import { BaseModel } from '../base'; -import { Bindings } from './bindings'; -import { Binding } from './binding'; -import { Channel } from './channel'; -import { ChannelParameter } from './channel-parameter'; -import { CorrelationId } from './correlation-id'; -import { MessageTrait } from './message-trait'; -import { OperationTrait } from './operation-trait'; -import { Schema } from './schema'; -import { SecurityScheme } from './security-scheme'; -import { Server } from './server'; -import { ServerVariable } from './server-variable'; -import { extensions } from './mixins'; -import { Servers } from './servers'; -import { Channels } from './channels'; -import { Messages } from './messages'; -import { Schemas } from './schemas'; -import { ChannelParameters } from './channel-parameters'; -import { ServerVariables } from './server-variables'; -import { OperationTraits } from './operation-traits'; -import { MessageTraits } from './message-traits'; -import { SecuritySchemes } from './security-schemes'; -import { CorrelationIds } from './correlation-ids'; -import { Operations } from './operations'; -import { Message } from './message'; -import { tilde } from '../../utils'; -export class Components extends BaseModel { - servers() { - return this.createCollection('servers', Servers, Server); - } - channels() { - return new Channels(Object.entries(this._json.channels || {}).map(([channelAddress, channel]) => this.createModel(Channel, channel, { id: channelAddress, address: '', pointer: `/components/channels/${tilde(channelAddress)}` }))); - } - operations() { - return new Operations([]); - } - messages() { - return this.createCollection('messages', Messages, Message); - } - schemas() { - return this.createCollection('schemas', Schemas, Schema); - } - channelParameters() { - return this.createCollection('parameters', ChannelParameters, ChannelParameter); - } - serverVariables() { - return this.createCollection('serverVariables', ServerVariables, ServerVariable); - } - operationTraits() { - return this.createCollection('operationTraits', OperationTraits, OperationTrait); - } - messageTraits() { - return this.createCollection('messageTraits', MessageTraits, MessageTrait); - } - correlationIds() { - return this.createCollection('correlationIds', CorrelationIds, CorrelationId); - } - securitySchemes() { - return this.createCollection('securitySchemes', SecuritySchemes, SecurityScheme); - } - serverBindings() { - return this.createBindings('serverBindings'); - } - channelBindings() { - return this.createBindings('channelBindings'); - } - operationBindings() { - return this.createBindings('operationBindings'); - } - messageBindings() { - return this.createBindings('messageBindings'); - } - extensions() { - return extensions(this); - } - isEmpty() { - return Object.keys(this._json).length === 0; - } - createCollection(itemsName, collectionModel, itemModel) { - const collectionItems = []; - Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { - collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${id}` })); - }); - return new collectionModel(collectionItems); - } - createBindings(itemsName) { - return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { - const bindingsData = item || {}; - const asyncapi = this.meta('asyncapi'); - const pointer = `components/${itemsName}/${name}`; - bindings[name] = new Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); - return bindings; - }, {}); - } -} diff --git a/apps/parser/esm/models/v2/contact.d.ts b/apps/parser/esm/models/v2/contact.d.ts deleted file mode 100644 index cde7fe085..000000000 --- a/apps/parser/esm/models/v2/contact.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class Contact extends BaseModel implements ContactInterface { - hasName(): boolean; - name(): string | undefined; - hasUrl(): boolean; - url(): string | undefined; - hasEmail(): boolean; - email(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/contact.js b/apps/parser/esm/models/v2/contact.js deleted file mode 100644 index 5c92d0a87..000000000 --- a/apps/parser/esm/models/v2/contact.js +++ /dev/null @@ -1,25 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class Contact extends BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - hasEmail() { - return !!this._json.email; - } - email() { - return this._json.email; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/correlation-id.d.ts b/apps/parser/esm/models/v2/correlation-id.d.ts deleted file mode 100644 index 74959d265..000000000 --- a/apps/parser/esm/models/v2/correlation-id.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { - location(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/correlation-id.js b/apps/parser/esm/models/v2/correlation-id.js deleted file mode 100644 index 461d35c06..000000000 --- a/apps/parser/esm/models/v2/correlation-id.js +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -export class CorrelationId extends BaseModel { - location() { - return this._json.location; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/correlation-ids.d.ts b/apps/parser/esm/models/v2/correlation-ids.d.ts deleted file mode 100644 index 77f81c952..000000000 --- a/apps/parser/esm/models/v2/correlation-ids.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { CorrelationIdsInterface } from '../correlation-ids'; -import type { CorrelationIdInterface } from '../correlation-id'; -export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { - get(id: string): CorrelationIdInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/correlation-ids.js b/apps/parser/esm/models/v2/correlation-ids.js deleted file mode 100644 index 003666fc6..000000000 --- a/apps/parser/esm/models/v2/correlation-ids.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class CorrelationIds extends Collection { - get(id) { - return this.collections.find(correlationId => correlationId.meta('id') === id); - } -} diff --git a/apps/parser/esm/models/v2/extension.d.ts b/apps/parser/esm/models/v2/extension.d.ts deleted file mode 100644 index 9d45395be..000000000 --- a/apps/parser/esm/models/v2/extension.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionInterface } from '../extension'; -import type { v2 } from '../../spec-types'; -export declare class Extension extends BaseModel, { - id: string; -}> implements ExtensionInterface { - id(): string; - value(): V; -} diff --git a/apps/parser/esm/models/v2/extension.js b/apps/parser/esm/models/v2/extension.js deleted file mode 100644 index c1125bbb4..000000000 --- a/apps/parser/esm/models/v2/extension.js +++ /dev/null @@ -1,9 +0,0 @@ -import { BaseModel } from '../base'; -export class Extension extends BaseModel { - id() { - return this._meta.id; - } - value() { - return this._json; - } -} diff --git a/apps/parser/esm/models/v2/extensions.d.ts b/apps/parser/esm/models/v2/extensions.d.ts deleted file mode 100644 index 3033f8a44..000000000 --- a/apps/parser/esm/models/v2/extensions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExtensionInterface } from '../extension'; -export declare class Extensions extends Collection implements ExtensionsInterface { - get(id: string): ExtensionInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/extensions.js b/apps/parser/esm/models/v2/extensions.js deleted file mode 100644 index c08bbc30b..000000000 --- a/apps/parser/esm/models/v2/extensions.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Collection } from '../collection'; -export class Extensions extends Collection { - get(id) { - id = id.startsWith('x-') ? id : `x-${id}`; - return this.collections.find(ext => ext.id() === id); - } -} diff --git a/apps/parser/esm/models/v2/external-docs.d.ts b/apps/parser/esm/models/v2/external-docs.d.ts deleted file mode 100644 index 279640c89..000000000 --- a/apps/parser/esm/models/v2/external-docs.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { ExtensionsInterface } from '../extensions'; -import type { v2 } from '../../spec-types'; -export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { - url(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/external-docs.js b/apps/parser/esm/models/v2/external-docs.js deleted file mode 100644 index 4f179e56d..000000000 --- a/apps/parser/esm/models/v2/external-docs.js +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -export class ExternalDocumentation extends BaseModel { - url() { - return this._json.url; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/index.d.ts b/apps/parser/esm/models/v2/index.d.ts deleted file mode 100644 index 5ce2f2622..000000000 --- a/apps/parser/esm/models/v2/index.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export { AsyncAPIDocument as AsyncAPIDocumentV2 } from './asyncapi'; -export { Binding as BindingV2 } from './binding'; -export { Bindings as BindingsV2 } from './bindings'; -export { ChannelParameter as ChannelParameterV2 } from './channel-parameter'; -export { ChannelParameters as ChannelParametersV2 } from './channel-parameters'; -export { Channel as ChannelV2 } from './channel'; -export { Channels as ChannelsV2 } from './channels'; -export { Components as ComponentsV2 } from './components'; -export { Contact as ContactV2 } from './contact'; -export { CorrelationId as CorrelationIdV2 } from './correlation-id'; -export { Extension as ExtensionV2 } from './extension'; -export { Extensions as ExtensionsV2 } from './extensions'; -export { ExternalDocumentation as ExternalDocumentationV2 } from './external-docs'; -export { Info as InfoV2 } from './info'; -export { License as LicenseV2 } from './license'; -export { MessageExample as MessageExampleV2 } from './message-example'; -export { MessageExamples as MessageExamplesV2 } from './message-examples'; -export { MessageTrait as MessageTraitV2 } from './message-trait'; -export { MessageTraits as MessageTraitsV2 } from './message-traits'; -export { Message as MessageV2 } from './message'; -export { Messages as MessagesV2 } from './messages'; -export { OAuthFlow as OAuthFlowV2 } from './oauth-flow'; -export { OAuthFlows as OAuthFlowsV2 } from './oauth-flows'; -export { OperationTrait as OperationTraitV2 } from './operation-trait'; -export { OperationTraits as OperationTraitsV2 } from './operation-traits'; -export { Operation as OperationV2 } from './operation'; -export { Operations as OperationsV2 } from './operations'; -export { Schema as SchemaV2 } from './schema'; -export { Schemas as SchemasV2 } from './schemas'; -export { SecurityScheme as SecuritySchemeV2 } from './security-scheme'; -export { SecuritySchemes as SecuritySchemesV2 } from './security-schemes'; -export { ServerVariable as ServerVariableV2 } from './server-variable'; -export { ServerVariables as ServerVariablesV2 } from './server-variables'; -export { Server as ServerV2 } from './server'; -export { Servers as ServersV2 } from './servers'; -export { Tag as TagV2 } from './tag'; -export { Tags as TagsV2 } from './tags'; diff --git a/apps/parser/esm/models/v2/index.js b/apps/parser/esm/models/v2/index.js deleted file mode 100644 index 5ce2f2622..000000000 --- a/apps/parser/esm/models/v2/index.js +++ /dev/null @@ -1,37 +0,0 @@ -export { AsyncAPIDocument as AsyncAPIDocumentV2 } from './asyncapi'; -export { Binding as BindingV2 } from './binding'; -export { Bindings as BindingsV2 } from './bindings'; -export { ChannelParameter as ChannelParameterV2 } from './channel-parameter'; -export { ChannelParameters as ChannelParametersV2 } from './channel-parameters'; -export { Channel as ChannelV2 } from './channel'; -export { Channels as ChannelsV2 } from './channels'; -export { Components as ComponentsV2 } from './components'; -export { Contact as ContactV2 } from './contact'; -export { CorrelationId as CorrelationIdV2 } from './correlation-id'; -export { Extension as ExtensionV2 } from './extension'; -export { Extensions as ExtensionsV2 } from './extensions'; -export { ExternalDocumentation as ExternalDocumentationV2 } from './external-docs'; -export { Info as InfoV2 } from './info'; -export { License as LicenseV2 } from './license'; -export { MessageExample as MessageExampleV2 } from './message-example'; -export { MessageExamples as MessageExamplesV2 } from './message-examples'; -export { MessageTrait as MessageTraitV2 } from './message-trait'; -export { MessageTraits as MessageTraitsV2 } from './message-traits'; -export { Message as MessageV2 } from './message'; -export { Messages as MessagesV2 } from './messages'; -export { OAuthFlow as OAuthFlowV2 } from './oauth-flow'; -export { OAuthFlows as OAuthFlowsV2 } from './oauth-flows'; -export { OperationTrait as OperationTraitV2 } from './operation-trait'; -export { OperationTraits as OperationTraitsV2 } from './operation-traits'; -export { Operation as OperationV2 } from './operation'; -export { Operations as OperationsV2 } from './operations'; -export { Schema as SchemaV2 } from './schema'; -export { Schemas as SchemasV2 } from './schemas'; -export { SecurityScheme as SecuritySchemeV2 } from './security-scheme'; -export { SecuritySchemes as SecuritySchemesV2 } from './security-schemes'; -export { ServerVariable as ServerVariableV2 } from './server-variable'; -export { ServerVariables as ServerVariablesV2 } from './server-variables'; -export { Server as ServerV2 } from './server'; -export { Servers as ServersV2 } from './servers'; -export { Tag as TagV2 } from './tag'; -export { Tags as TagsV2 } from './tags'; diff --git a/apps/parser/esm/models/v2/info.d.ts b/apps/parser/esm/models/v2/info.d.ts deleted file mode 100644 index 6f87dbdd8..000000000 --- a/apps/parser/esm/models/v2/info.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { InfoInterface } from '../info'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { LicenseInterface } from '../license'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class Info extends BaseModel implements InfoInterface { - title(): string; - version(): string; - hasId(): boolean; - id(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasTermsOfService(): boolean; - termsOfService(): string | undefined; - hasContact(): boolean; - contact(): ContactInterface | undefined; - hasLicense(): boolean; - license(): LicenseInterface | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - tags(): TagsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/info.js b/apps/parser/esm/models/v2/info.js deleted file mode 100644 index e579f06cf..000000000 --- a/apps/parser/esm/models/v2/info.js +++ /dev/null @@ -1,65 +0,0 @@ -import { BaseModel } from '../base'; -import { Contact } from './contact'; -import { ExternalDocumentation } from './external-docs'; -import { License } from './license'; -import { Tags } from './tags'; -import { Tag } from './tag'; -import { hasDescription, description, extensions } from './mixins'; -export class Info extends BaseModel { - title() { - return this._json.title; - } - version() { - return this._json.version; - } - hasId() { - return !!this._meta.asyncapi.parsed.id; - } - id() { - return this._meta.asyncapi.parsed.id; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasTermsOfService() { - return !!this._json.termsOfService; - } - termsOfService() { - return this._json.termsOfService; - } - hasContact() { - return Object.keys(this._json.contact || {}).length > 0; - } - contact() { - const contact = this._json.contact; - return contact && this.createModel(Contact, contact, { pointer: '/info/contact' }); - } - hasLicense() { - return Object.keys(this._json.license || {}).length > 0; - } - license() { - const license = this._json.license; - return license && this.createModel(License, license, { pointer: '/info/license' }); - } - hasExternalDocs() { - const asyncapiV2 = this._meta.asyncapi.parsed; - return Object.keys(asyncapiV2.externalDocs || {}).length > 0; - } - externalDocs() { - if (this.hasExternalDocs()) { - const asyncapiV2 = this._meta.asyncapi.parsed; - return this.createModel(ExternalDocumentation, asyncapiV2.externalDocs, { pointer: '/externalDocs' }); - } - } - tags() { - const asyncapiV2 = this._meta.asyncapi.parsed; - const tags = asyncapiV2.tags || []; - return new Tags(tags.map((tag, idx) => this.createModel(Tag, tag, { pointer: `/tags/${idx}` }))); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/license.d.ts b/apps/parser/esm/models/v2/license.d.ts deleted file mode 100644 index 351865595..000000000 --- a/apps/parser/esm/models/v2/license.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { LicenseInterface } from '../license'; -import type { v2 } from '../../spec-types'; -export declare class License extends BaseModel implements LicenseInterface { - name(): string; - hasUrl(): boolean; - url(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/license.js b/apps/parser/esm/models/v2/license.js deleted file mode 100644 index 4b4471083..000000000 --- a/apps/parser/esm/models/v2/license.js +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class License extends BaseModel { - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/message-example.d.ts b/apps/parser/esm/models/v2/message-example.d.ts deleted file mode 100644 index e8a843b55..000000000 --- a/apps/parser/esm/models/v2/message-example.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { MessageExampleInterface } from '../message-example'; -import type { v2 } from '../../spec-types'; -export declare class MessageExample extends BaseModel implements MessageExampleInterface { - hasName(): boolean; - name(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasHeaders(): boolean; - headers(): Record | undefined; - hasPayload(): boolean; - payload(): Record | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/message-example.js b/apps/parser/esm/models/v2/message-example.js deleted file mode 100644 index 1ac519e15..000000000 --- a/apps/parser/esm/models/v2/message-example.js +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class MessageExample extends BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - return this._json.headers; - } - hasPayload() { - return !!this._json.payload; - } - payload() { - return this._json.payload; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/message-examples.d.ts b/apps/parser/esm/models/v2/message-examples.d.ts deleted file mode 100644 index 0784e9dc1..000000000 --- a/apps/parser/esm/models/v2/message-examples.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageExampleInterface } from '../message-example'; -export declare class MessageExamples extends Collection implements MessageExamplesInterface { - get(name: string): MessageExampleInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/message-examples.js b/apps/parser/esm/models/v2/message-examples.js deleted file mode 100644 index 2ba751d5b..000000000 --- a/apps/parser/esm/models/v2/message-examples.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class MessageExamples extends Collection { - get(name) { - return this.collections.find(example => example.name() === name); - } -} diff --git a/apps/parser/esm/models/v2/message-trait.d.ts b/apps/parser/esm/models/v2/message-trait.d.ts deleted file mode 100644 index ec31f7553..000000000 --- a/apps/parser/esm/models/v2/message-trait.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageTraitInterface } from '../message-trait'; -import type { SchemaInterface } from '../schema'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class MessageTrait extends BaseModel implements MessageTraitInterface { - id(): string; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - hasMessageId(): boolean; - hasCorrelationId(): boolean; - correlationId(): CorrelationIdInterface | undefined; - hasContentType(): boolean; - contentType(): string | undefined; - hasHeaders(): boolean; - headers(): SchemaInterface | undefined; - hasName(): boolean; - name(): string | undefined; - hasTitle(): boolean; - title(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - examples(): MessageExamplesInterface; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/message-trait.js b/apps/parser/esm/models/v2/message-trait.js deleted file mode 100644 index 5e4982f6e..000000000 --- a/apps/parser/esm/models/v2/message-trait.js +++ /dev/null @@ -1,89 +0,0 @@ -import { BaseModel } from '../base'; -import { CorrelationId } from './correlation-id'; -import { MessageExamples } from './message-examples'; -import { MessageExample } from './message-example'; -import { Schema } from './schema'; -import { xParserMessageName } from '../../constants'; -import { bindings, hasDescription, description, extensions, hasExternalDocs, externalDocs, tags } from './mixins'; -import { getDefaultSchemaFormat } from '../../schema-parser'; -export class MessageTrait extends BaseModel { - id() { - return this._json.messageId || this._meta.id || this.json(xParserMessageName); - } - hasSchemaFormat() { - return this.schemaFormat() !== undefined; - } - schemaFormat() { - return this._json.schemaFormat || getDefaultSchemaFormat(this._meta.asyncapi.semver.version); - } - hasMessageId() { - return !!this._json.messageId; - } - hasCorrelationId() { - return !!this._json.correlationId; - } - correlationId() { - if (!this._json.correlationId) - return undefined; - return this.createModel(CorrelationId, this._json.correlationId, { pointer: `${this._meta.pointer}/correlationId` }); - } - hasContentType() { - return !!this._json.contentType; - } - contentType() { - var _a; - return this._json.contentType || ((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.defaultContentType); - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - if (!this._json.headers) - return undefined; - return this.createModel(Schema, this._json.headers, { pointer: `${this._meta.pointer}/headers` }); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasTitle() { - return !!this._json.title; - } - title() { - return this._json.title; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } - examples() { - return new MessageExamples((this._json.examples || []).map((example, index) => { - return this.createModel(MessageExample, example, { pointer: `${this._meta.pointer}/examples/${index}` }); - })); - } - tags() { - return tags(this); - } - bindings() { - return bindings(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/message-traits.d.ts b/apps/parser/esm/models/v2/message-traits.d.ts deleted file mode 100644 index 8601210f2..000000000 --- a/apps/parser/esm/models/v2/message-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { MessageTraitInterface } from '../message-trait'; -export declare class MessageTraits extends Collection implements MessageTraitsInterface { - get(id: string): MessageTraitInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/message-traits.js b/apps/parser/esm/models/v2/message-traits.js deleted file mode 100644 index fc8828184..000000000 --- a/apps/parser/esm/models/v2/message-traits.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class MessageTraits extends Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} diff --git a/apps/parser/esm/models/v2/message.d.ts b/apps/parser/esm/models/v2/message.d.ts deleted file mode 100644 index 9d7ee229a..000000000 --- a/apps/parser/esm/models/v2/message.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { MessageTrait } from './message-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessageInterface } from '../message'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { SchemaInterface } from '../schema'; -import type { v2 } from '../../spec-types'; -export declare class Message extends MessageTrait implements MessageInterface { - hasPayload(): boolean; - payload(): SchemaInterface | undefined; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - traits(): MessageTraitsInterface; -} diff --git a/apps/parser/esm/models/v2/message.js b/apps/parser/esm/models/v2/message.js deleted file mode 100644 index 450eaa9f0..000000000 --- a/apps/parser/esm/models/v2/message.js +++ /dev/null @@ -1,63 +0,0 @@ -import { Channels } from './channels'; -import { Operations } from './operations'; -import { Operation } from './operation'; -import { MessageTraits } from './message-traits'; -import { MessageTrait } from './message-trait'; -import { Servers } from './servers'; -import { Schema } from './schema'; -import { tilde } from '../../utils'; -export class Message extends MessageTrait { - hasPayload() { - return !!this._json.payload; - } - payload() { - if (!this._json.payload) - return undefined; - return this.createModel(Schema, this._json.payload, { pointer: `${this._meta.pointer}/payload`, schemaFormat: this._json.schemaFormat }); - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - if (!serversData.includes(server.json())) { - serversData.push(server.json()); - servers.push(server); - } - }); - }); - return new Servers(servers); - } - channels() { - const channels = []; - const channelsData = []; - this.operations().all().forEach(operation => { - operation.channels().forEach(channel => { - if (!channelsData.includes(channel.json())) { - channelsData.push(channel.json()); - channels.push(channel); - } - }); - }); - return new Channels(channels); - } - operations() { - var _a; - const operations = []; - Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { - ['subscribe', 'publish'].forEach(operationAction => { - const operation = channel[operationAction]; - if (operation && (operation.message === this._json || - (operation.message.oneOf || []).includes(this._json))) { - operations.push(this.createModel(Operation, operation, { id: '', pointer: `/channels/${tilde(channelAddress)}/${operationAction}`, action: operationAction })); - } - }); - }); - return new Operations(operations); - } - traits() { - return new MessageTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(MessageTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}` }); - })); - } -} diff --git a/apps/parser/esm/models/v2/messages.d.ts b/apps/parser/esm/models/v2/messages.d.ts deleted file mode 100644 index d988f36fb..000000000 --- a/apps/parser/esm/models/v2/messages.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { MessagesInterface } from '../messages'; -import type { MessageInterface } from '../message'; -export declare class Messages extends Collection implements MessagesInterface { - get(name: string): MessageInterface | undefined; - filterBySend(): MessageInterface[]; - filterByReceive(): MessageInterface[]; -} diff --git a/apps/parser/esm/models/v2/messages.js b/apps/parser/esm/models/v2/messages.js deleted file mode 100644 index 5d2fb8d72..000000000 --- a/apps/parser/esm/models/v2/messages.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Messages extends Collection { - get(name) { - return this.collections.find(message => message.id() === name); - } - filterBySend() { - return this.filterBy(message => message.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(message => message.operations().filterByReceive().length > 0); - } -} diff --git a/apps/parser/esm/models/v2/mixins.d.ts b/apps/parser/esm/models/v2/mixins.d.ts deleted file mode 100644 index 08b4d9d43..000000000 --- a/apps/parser/esm/models/v2/mixins.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare function bindings(model: BaseModel<{ - bindings?: Record; -}>): BindingsInterface; -export declare function hasDescription(model: BaseModel<{ - description?: string; -}>): boolean; -export declare function description(model: BaseModel<{ - description?: string; -}>): string | undefined; -export declare function extensions(model: BaseModel): ExtensionsInterface; -export declare function hasExternalDocs(model: BaseModel<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): boolean; -export declare function externalDocs(model: BaseModel<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): ExternalDocumentationInterface | undefined; -export declare function tags(model: BaseModel<{ - tags?: v2.TagsObject; -}>): TagsInterface; diff --git a/apps/parser/esm/models/v2/mixins.js b/apps/parser/esm/models/v2/mixins.js deleted file mode 100644 index 16b4d40d0..000000000 --- a/apps/parser/esm/models/v2/mixins.js +++ /dev/null @@ -1,39 +0,0 @@ -import { Bindings } from './bindings'; -import { Binding } from './binding'; -import { Extensions } from './extensions'; -import { Extension } from './extension'; -import { ExternalDocumentation } from './external-docs'; -import { Tags } from './tags'; -import { Tag } from './tag'; -import { createModel } from '../utils'; -import { EXTENSION_REGEX } from '../../constants'; -export function bindings(model) { - const bindings = model.json('bindings') || {}; - return new Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => createModel(Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); -} -export function hasDescription(model) { - return Boolean(description(model)); -} -export function description(model) { - return model.json('description'); -} -export function extensions(model) { - const extensions = []; - Object.entries(model.json()).forEach(([id, value]) => { - if (EXTENSION_REGEX.test(id)) { - extensions.push(createModel(Extension, value, { id, pointer: model.jsonPath(id) }, model)); - } - }); - return new Extensions(extensions); -} -export function hasExternalDocs(model) { - return Object.keys(model.json('externalDocs') || {}).length > 0; -} -export function externalDocs(model) { - if (hasExternalDocs(model)) { - return new ExternalDocumentation(model.json('externalDocs')); - } -} -export function tags(model) { - return new Tags((model.json('tags') || []).map((tag, idx) => createModel(Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); -} diff --git a/apps/parser/esm/models/v2/oauth-flow.d.ts b/apps/parser/esm/models/v2/oauth-flow.d.ts deleted file mode 100644 index 32f8ec6ff..000000000 --- a/apps/parser/esm/models/v2/oauth-flow.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v2 } from '../../spec-types'; -export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { - hasAuthorizationUrl(): boolean; - authorizationUrl(): string | undefined; - hasTokenUrl(): boolean; - tokenUrl(): string | undefined; - hasRefreshUrl(): boolean; - refreshUrl(): string | undefined; - scopes(): Record | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/oauth-flow.js b/apps/parser/esm/models/v2/oauth-flow.js deleted file mode 100644 index 916f94d1b..000000000 --- a/apps/parser/esm/models/v2/oauth-flow.js +++ /dev/null @@ -1,28 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class OAuthFlow extends BaseModel { - hasAuthorizationUrl() { - return !!this.json().authorizationUrl; - } - authorizationUrl() { - return this.json().authorizationUrl; - } - hasTokenUrl() { - return !!this.json().tokenUrl; - } - tokenUrl() { - return this.json().tokenUrl; - } - hasRefreshUrl() { - return !!this._json.refreshUrl; - } - refreshUrl() { - return this._json.refreshUrl; - } - scopes() { - return this._json.scopes; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/oauth-flows.d.ts b/apps/parser/esm/models/v2/oauth-flows.d.ts deleted file mode 100644 index 9ff0b07ed..000000000 --- a/apps/parser/esm/models/v2/oauth-flows.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v2 } from '../../spec-types'; -export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { - hasAuthorizationCode(): boolean; - authorizationCode(): OAuthFlowInterface | undefined; - hasClientCredentials(): boolean; - clientCredentials(): OAuthFlowInterface | undefined; - hasImplicit(): boolean; - implicit(): OAuthFlowInterface | undefined; - hasPassword(): boolean; - password(): OAuthFlowInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/oauth-flows.js b/apps/parser/esm/models/v2/oauth-flows.js deleted file mode 100644 index ab5147e0e..000000000 --- a/apps/parser/esm/models/v2/oauth-flows.js +++ /dev/null @@ -1,40 +0,0 @@ -import { BaseModel } from '../base'; -import { OAuthFlow } from './oauth-flow'; -import { extensions } from './mixins'; -export class OAuthFlows extends BaseModel { - hasAuthorizationCode() { - return !!this._json.authorizationCode; - } - authorizationCode() { - if (!this._json.authorizationCode) - return undefined; - return new OAuthFlow(this._json.authorizationCode); - } - hasClientCredentials() { - return !!this._json.clientCredentials; - } - clientCredentials() { - if (!this._json.clientCredentials) - return undefined; - return new OAuthFlow(this._json.clientCredentials); - } - hasImplicit() { - return !!this._json.implicit; - } - implicit() { - if (!this._json.implicit) - return undefined; - return new OAuthFlow(this._json.implicit); - } - hasPassword() { - return !!this._json.password; - } - password() { - if (!this._json.password) - return undefined; - return new OAuthFlow(this._json.password); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/operation-trait.d.ts b/apps/parser/esm/models/v2/operation-trait.d.ts deleted file mode 100644 index 400020182..000000000 --- a/apps/parser/esm/models/v2/operation-trait.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { BaseModel } from '../base'; -import { SecurityRequirements } from './security-requirements'; -import type { BindingsInterface } from '../bindings'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { OperationAction } from '../operation'; -import type { OperationTraitInterface } from '../operation-trait'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class OperationTrait extends BaseModel implements OperationTraitInterface { - id(): string; - hasOperationId(): boolean; - operationId(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - security(): SecurityRequirements[]; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/operation-trait.js b/apps/parser/esm/models/v2/operation-trait.js deleted file mode 100644 index 2fd55689f..000000000 --- a/apps/parser/esm/models/v2/operation-trait.js +++ /dev/null @@ -1,55 +0,0 @@ -import { BaseModel } from '../base'; -import { SecurityScheme } from './security-scheme'; -import { SecurityRequirements } from './security-requirements'; -import { SecurityRequirement } from './security-requirement'; -import { bindings, hasDescription, description, extensions, hasExternalDocs, externalDocs, tags } from './mixins'; -export class OperationTrait extends BaseModel { - id() { - return this.operationId() || this._meta.id; - } - hasOperationId() { - return !!this._json.operationId; - } - operationId() { - return this._json.operationId; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } - security() { - var _a, _b, _c, _d; - const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); - return (this._json.security || []).map((requirement, index) => { - const requirements = []; - Object.entries(requirement).forEach(([security, scopes]) => { - const scheme = this.createModel(SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); - requirements.push(this.createModel(SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); - }); - return new SecurityRequirements(requirements); - }); - } - tags() { - return tags(this); - } - bindings() { - return bindings(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/operation-traits.d.ts b/apps/parser/esm/models/v2/operation-traits.d.ts deleted file mode 100644 index 0de03b0ff..000000000 --- a/apps/parser/esm/models/v2/operation-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { OperationTraitInterface } from '../operation-trait'; -export declare class OperationTraits extends Collection implements OperationTraitsInterface { - get(id: string): OperationTraitInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/operation-traits.js b/apps/parser/esm/models/v2/operation-traits.js deleted file mode 100644 index e663f6589..000000000 --- a/apps/parser/esm/models/v2/operation-traits.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class OperationTraits extends Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} diff --git a/apps/parser/esm/models/v2/operation.d.ts b/apps/parser/esm/models/v2/operation.d.ts deleted file mode 100644 index 5976f4a7b..000000000 --- a/apps/parser/esm/models/v2/operation.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { OperationTrait } from './operation-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { OperationInterface, OperationAction } from '../operation'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { ServersInterface } from '../servers'; -import type { v2 } from '../../spec-types'; -export declare class Operation extends OperationTrait implements OperationInterface { - action(): OperationAction; - isSend(): boolean; - isReceive(): boolean; - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - reply(): OperationReplyInterface | undefined; - traits(): OperationTraitsInterface; -} diff --git a/apps/parser/esm/models/v2/operation.js b/apps/parser/esm/models/v2/operation.js deleted file mode 100644 index 394905813..000000000 --- a/apps/parser/esm/models/v2/operation.js +++ /dev/null @@ -1,65 +0,0 @@ -import { Channels } from './channels'; -import { Channel } from './channel'; -import { Messages } from './messages'; -import { Message } from './message'; -import { OperationTraits } from './operation-traits'; -import { OperationTrait } from './operation-trait'; -import { Servers } from './servers'; -import { tilde } from '../../utils'; -export class Operation extends OperationTrait { - action() { - return this._meta.action; - } - isSend() { - return this.action() === 'subscribe'; - } - isReceive() { - return this.action() === 'publish'; - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - if (!serversData.includes(server.json())) { - serversData.push(server.json()); - servers.push(server); - } - }); - }); - return new Servers(servers); - } - channels() { - const channels = []; - Object.entries(this._meta.asyncapi.parsed.channels || {}).forEach(([channelAddress, channel]) => { - if (channel.subscribe === this._json || channel.publish === this._json) { - channels.push(this.createModel(Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${tilde(channelAddress)}` })); - } - }); - return new Channels(channels); - } - messages() { - let isOneOf = false; - let messages = []; - if (this._json.message) { - if (Array.isArray(this._json.message.oneOf)) { - messages = this._json.message.oneOf; - isOneOf = true; - } - else { - messages = [this._json.message]; - } - } - return new Messages(messages.map((message, index) => { - return this.createModel(Message, message, { id: '', pointer: `${this._meta.pointer}/message${isOneOf ? `/oneOf/${index}` : ''}` }); - })); - } - reply() { - return; - } - traits() { - return new OperationTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(OperationTrait, trait, { id: '', pointer: `${this._meta.pointer}/traits/${index}`, action: '' }); - })); - } -} diff --git a/apps/parser/esm/models/v2/operations.d.ts b/apps/parser/esm/models/v2/operations.d.ts deleted file mode 100644 index 161cb9b2e..000000000 --- a/apps/parser/esm/models/v2/operations.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationsInterface } from '../operations'; -import type { OperationInterface } from '../operation'; -export declare class Operations extends Collection implements OperationsInterface { - get(id: string): OperationInterface | undefined; - filterBySend(): OperationInterface[]; - filterByReceive(): OperationInterface[]; -} diff --git a/apps/parser/esm/models/v2/operations.js b/apps/parser/esm/models/v2/operations.js deleted file mode 100644 index 48e51ae25..000000000 --- a/apps/parser/esm/models/v2/operations.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Operations extends Collection { - get(id) { - return this.collections.find(operation => operation.id() === id); - } - filterBySend() { - return this.filterBy(operation => operation.isSend()); - } - filterByReceive() { - return this.filterBy(operation => operation.isReceive()); - } -} diff --git a/apps/parser/esm/models/v2/schema.d.ts b/apps/parser/esm/models/v2/schema.d.ts deleted file mode 100644 index ee799837c..000000000 --- a/apps/parser/esm/models/v2/schema.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { SchemaInterface } from '../schema'; -import type { v2 } from '../../spec-types'; -export declare class Schema extends BaseModel implements SchemaInterface { - id(): string; - $comment(): string | undefined; - $id(): string | undefined; - $schema(): string; - additionalItems(): boolean | SchemaInterface; - additionalProperties(): boolean | SchemaInterface; - allOf(): Array | undefined; - anyOf(): Array | undefined; - const(): any; - contains(): SchemaInterface | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - default(): any; - definitions(): Record | undefined; - description(): string | undefined; - dependencies(): Record> | undefined; - deprecated(): boolean; - discriminator(): string | undefined; - else(): SchemaInterface | undefined; - enum(): Array | undefined; - examples(): Array | undefined; - exclusiveMaximum(): number | undefined; - exclusiveMinimum(): number | undefined; - format(): string | undefined; - isBooleanSchema(): boolean; - if(): SchemaInterface | undefined; - isCircular(): boolean; - items(): SchemaInterface | Array | undefined; - maximum(): number | undefined; - maxItems(): number | undefined; - maxLength(): number | undefined; - maxProperties(): number | undefined; - minimum(): number | undefined; - minItems(): number | undefined; - minLength(): number | undefined; - minProperties(): number | undefined; - multipleOf(): number | undefined; - not(): SchemaInterface | undefined; - oneOf(): Array | undefined; - pattern(): string | undefined; - patternProperties(): Record | undefined; - properties(): Record | undefined; - property(name: string): SchemaInterface | undefined; - propertyNames(): SchemaInterface | undefined; - readOnly(): boolean | undefined; - required(): Array | undefined; - schemaFormat(): string; - then(): SchemaInterface | undefined; - title(): string | undefined; - type(): string | Array | undefined; - uniqueItems(): boolean | undefined; - writeOnly(): boolean | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/schema.js b/apps/parser/esm/models/v2/schema.js deleted file mode 100644 index 2773dc316..000000000 --- a/apps/parser/esm/models/v2/schema.js +++ /dev/null @@ -1,308 +0,0 @@ -import { BaseModel } from '../base'; -import { xParserSchemaId } from '../../constants'; -import { extensions, hasExternalDocs, externalDocs } from './mixins'; -import { getDefaultSchemaFormat } from '../../schema-parser'; -export class Schema extends BaseModel { - id() { - return this.$id() || this._meta.id || this.json(xParserSchemaId); - } - $comment() { - if (typeof this._json === 'boolean') - return; - return this._json.$comment; - } - $id() { - if (typeof this._json === 'boolean') - return; - return this._json.$id; - } - $schema() { - if (typeof this._json === 'boolean') - return 'http://json-schema.org/draft-07/schema#'; - return this._json.$schema || 'http://json-schema.org/draft-07/schema#'; - } - additionalItems() { - if (typeof this._json === 'boolean') - return this._json; - if (typeof this._json.additionalItems === 'boolean') - return this._json.additionalItems; - if (this._json.additionalItems === undefined) - return true; - if (this._json.additionalItems === null) - return false; - return this.createModel(Schema, this._json.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); - } - additionalProperties() { - if (typeof this._json === 'boolean') - return this._json; - if (typeof this._json.additionalProperties === 'boolean') - return this._json.additionalProperties; - if (this._json.additionalProperties === undefined) - return true; - if (this._json.additionalProperties === null) - return false; - return this.createModel(Schema, this._json.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); - } - allOf() { - if (typeof this._json === 'boolean') - return; - if (!Array.isArray(this._json.allOf)) - return undefined; - return this._json.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); - } - anyOf() { - if (typeof this._json === 'boolean') - return; - if (!Array.isArray(this._json.anyOf)) - return undefined; - return this._json.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); - } - const() { - if (typeof this._json === 'boolean') - return; - return this._json.const; - } - contains() { - if (typeof this._json === 'boolean' || typeof this._json.contains !== 'object') - return; - return this.createModel(Schema, this._json.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); - } - contentEncoding() { - if (typeof this._json === 'boolean') - return; - return this._json.contentEncoding; - } - contentMediaType() { - if (typeof this._json === 'boolean') - return; - return this._json.contentMediaType; - } - default() { - if (typeof this._json === 'boolean') - return; - return this._json.default; - } - definitions() { - if (typeof this._json === 'boolean' || typeof this._json.definitions !== 'object') - return; - return Object.entries(this._json.definitions).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); - return acc; - }, {}); - } - description() { - if (typeof this._json === 'boolean') - return; - return this._json.description; - } - dependencies() { - if (typeof this._json === 'boolean') - return; - if (typeof this._json.dependencies !== 'object') - return undefined; - return Object.entries(this._json.dependencies).reduce((acc, [key, s]) => { - acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); - return acc; - }, {}); - } - deprecated() { - if (typeof this._json === 'boolean') - return false; - return this._json.deprecated || false; - } - discriminator() { - if (typeof this._json === 'boolean') - return; - return this._json.discriminator; - } - else() { - if (typeof this._json === 'boolean' || typeof this._json.else !== 'object') - return; - return this.createModel(Schema, this._json.else, { pointer: `${this._meta.pointer}/else`, parent: this }); - } - enum() { - if (typeof this._json === 'boolean') - return; - return this._json.enum; - } - examples() { - if (typeof this._json === 'boolean') - return; - return this._json.examples; - } - exclusiveMaximum() { - if (typeof this._json === 'boolean') - return; - return this._json.exclusiveMaximum; - } - exclusiveMinimum() { - if (typeof this._json === 'boolean') - return; - return this._json.exclusiveMinimum; - } - format() { - if (typeof this._json === 'boolean') - return; - return this._json.format; - } - isBooleanSchema() { - return typeof this._json === 'boolean'; - } - if() { - if (typeof this._json === 'boolean' || typeof this._json.if !== 'object') - return; - return this.createModel(Schema, this._json.if, { pointer: `${this._meta.pointer}/if`, parent: this }); - } - isCircular() { - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._json) - return true; - parent = parent._meta.parent; - } - return false; - } - items() { - if (typeof this._json === 'boolean' || typeof this._json.items !== 'object') - return; - if (Array.isArray(this._json.items)) { - return this._json.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); - } - return this.createModel(Schema, this._json.items, { pointer: `${this._meta.pointer}/items`, parent: this }); - } - maximum() { - if (typeof this._json === 'boolean') - return; - return this._json.maximum; - } - maxItems() { - if (typeof this._json === 'boolean') - return; - return this._json.maxItems; - } - maxLength() { - if (typeof this._json === 'boolean') - return; - return this._json.maxLength; - } - maxProperties() { - if (typeof this._json === 'boolean') - return; - return this._json.maxProperties; - } - minimum() { - if (typeof this._json === 'boolean') - return; - return this._json.minimum; - } - minItems() { - if (typeof this._json === 'boolean') - return; - return this._json.minItems; - } - minLength() { - if (typeof this._json === 'boolean') - return; - return this._json.minLength; - } - minProperties() { - if (typeof this._json === 'boolean') - return; - return this._json.minProperties; - } - multipleOf() { - if (typeof this._json === 'boolean') - return; - return this._json.multipleOf; - } - not() { - if (typeof this._json === 'boolean' || typeof this._json.not !== 'object') - return; - return this.createModel(Schema, this._json.not, { pointer: `${this._meta.pointer}/not`, parent: this }); - } - oneOf() { - if (typeof this._json === 'boolean') - return; - if (!Array.isArray(this._json.oneOf)) - return undefined; - return this._json.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); - } - pattern() { - if (typeof this._json === 'boolean') - return; - return this._json.pattern; - } - patternProperties() { - if (typeof this._json === 'boolean' || typeof this._json.patternProperties !== 'object') - return; - return Object.entries(this._json.patternProperties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); - return acc; - }, {}); - } - properties() { - if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object') - return; - return Object.entries(this._json.properties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); - return acc; - }, {}); - } - property(name) { - if (typeof this._json === 'boolean' || typeof this._json.properties !== 'object' || typeof this._json.properties[name] !== 'object') - return; - return this.createModel(Schema, this._json.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); - } - propertyNames() { - if (typeof this._json === 'boolean' || typeof this._json.propertyNames !== 'object') - return; - return this.createModel(Schema, this._json.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); - } - readOnly() { - if (typeof this._json === 'boolean') - return false; - return this._json.readOnly || false; - } - required() { - if (typeof this._json === 'boolean') - return; - return this._json.required; - } - schemaFormat() { - return this._meta.schemaFormat || getDefaultSchemaFormat(this._meta.asyncapi.semver.version); - } - then() { - if (typeof this._json === 'boolean' || typeof this._json.then !== 'object') - return; - return this.createModel(Schema, this._json.then, { pointer: `${this._meta.pointer}/then`, parent: this }); - } - title() { - if (typeof this._json === 'boolean') - return; - return this._json.title; - } - type() { - if (typeof this._json === 'boolean') - return; - return this._json.type; - } - uniqueItems() { - if (typeof this._json === 'boolean') - return false; - return this._json.uniqueItems || false; - } - writeOnly() { - if (typeof this._json === 'boolean') - return false; - return this._json.writeOnly || false; - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/schemas.d.ts b/apps/parser/esm/models/v2/schemas.d.ts deleted file mode 100644 index 15c1d17bc..000000000 --- a/apps/parser/esm/models/v2/schemas.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SchemasInterface } from '../schemas'; -import type { SchemaInterface } from '../schema'; -export declare class Schemas extends Collection implements SchemasInterface { - get(id: string): SchemaInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/schemas.js b/apps/parser/esm/models/v2/schemas.js deleted file mode 100644 index 6cb574e32..000000000 --- a/apps/parser/esm/models/v2/schemas.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class Schemas extends Collection { - get(id) { - return this.collections.find(schema => schema.id() === id); - } -} diff --git a/apps/parser/esm/models/v2/security-requirement.d.ts b/apps/parser/esm/models/v2/security-requirement.d.ts deleted file mode 100644 index 88cb3a757..000000000 --- a/apps/parser/esm/models/v2/security-requirement.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirement extends BaseModel<{ - scopes?: string[]; - scheme: SecuritySchemeInterface; -}, { - id?: string; -}> implements SecurityRequirementInterface { - scheme(): SecuritySchemeInterface; - scopes(): string[]; -} diff --git a/apps/parser/esm/models/v2/security-requirement.js b/apps/parser/esm/models/v2/security-requirement.js deleted file mode 100644 index 2ce62cdfa..000000000 --- a/apps/parser/esm/models/v2/security-requirement.js +++ /dev/null @@ -1,9 +0,0 @@ -import { BaseModel } from '../base'; -export class SecurityRequirement extends BaseModel { - scheme() { - return this._json.scheme; - } - scopes() { - return this._json.scopes || []; - } -} diff --git a/apps/parser/esm/models/v2/security-requirements.d.ts b/apps/parser/esm/models/v2/security-requirements.d.ts deleted file mode 100644 index 882dd7bbc..000000000 --- a/apps/parser/esm/models/v2/security-requirements.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecurityRequirementsInterface } from '../security-requirements'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { - get(id: string): SecurityRequirementInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/security-requirements.js b/apps/parser/esm/models/v2/security-requirements.js deleted file mode 100644 index f8c1cbc47..000000000 --- a/apps/parser/esm/models/v2/security-requirements.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class SecurityRequirements extends Collection { - get(id) { - return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); - } -} diff --git a/apps/parser/esm/models/v2/security-scheme.d.ts b/apps/parser/esm/models/v2/security-scheme.d.ts deleted file mode 100644 index 5a5cc6c7e..000000000 --- a/apps/parser/esm/models/v2/security-scheme.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { v2 } from '../../spec-types'; -export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { - id(): string; - type(): v2.SecuritySchemeType; - hasDescription(): boolean; - description(): string | undefined; - hasName(): boolean; - name(): string | undefined; - hasIn(): boolean; - in(): v2.SecuritySchemaLocation | undefined; - hasScheme(): boolean; - scheme(): string | undefined; - hasBearerFormat(): boolean; - bearerFormat(): string | undefined; - hasFlows(): boolean; - flows(): OAuthFlowsInterface | undefined; - hasOpenIdConnectUrl(): boolean; - openIdConnectUrl(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/security-scheme.js b/apps/parser/esm/models/v2/security-scheme.js deleted file mode 100644 index e82e9bd38..000000000 --- a/apps/parser/esm/models/v2/security-scheme.js +++ /dev/null @@ -1,58 +0,0 @@ -import { BaseModel } from '../base'; -import { OAuthFlows } from './oauth-flows'; -import { hasDescription, description, extensions } from './mixins'; -export class SecurityScheme extends BaseModel { - id() { - return this._meta.id; - } - type() { - return this._json.type; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasIn() { - return !!this._json.in; - } - in() { - return this._json.in; - } - hasScheme() { - return !!this._json.scheme; - } - scheme() { - return this._json.scheme; - } - hasBearerFormat() { - return !!this._json.bearerFormat; - } - bearerFormat() { - return this._json.bearerFormat; - } - hasFlows() { - return !!this._json.flows; - } - flows() { - if (!this._json.flows) - return undefined; - return new OAuthFlows(this._json.flows); - } - hasOpenIdConnectUrl() { - return !!this._json.openIdConnectUrl; - } - openIdConnectUrl() { - return this._json.openIdConnectUrl; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/security-schemes.d.ts b/apps/parser/esm/models/v2/security-schemes.d.ts deleted file mode 100644 index e9d23e914..000000000 --- a/apps/parser/esm/models/v2/security-schemes.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { SecuritySchemeInterface } from '../security-scheme'; -export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { - get(id: string): SecuritySchemeInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/security-schemes.js b/apps/parser/esm/models/v2/security-schemes.js deleted file mode 100644 index fea91c4b7..000000000 --- a/apps/parser/esm/models/v2/security-schemes.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class SecuritySchemes extends Collection { - get(id) { - return this.collections.find(securityScheme => securityScheme.id() === id); - } -} diff --git a/apps/parser/esm/models/v2/server-variable.d.ts b/apps/parser/esm/models/v2/server-variable.d.ts deleted file mode 100644 index 973203637..000000000 --- a/apps/parser/esm/models/v2/server-variable.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ServerVariableInterface } from '../server-variable'; -import type { v2 } from '../../spec-types'; -export declare class ServerVariable extends BaseModel implements ServerVariableInterface { - id(): string; - hasDescription(): boolean; - description(): string | undefined; - hasDefaultValue(): boolean; - defaultValue(): string | undefined; - hasAllowedValues(): boolean; - allowedValues(): Array; - examples(): Array; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/server-variable.js b/apps/parser/esm/models/v2/server-variable.js deleted file mode 100644 index df9caa08d..000000000 --- a/apps/parser/esm/models/v2/server-variable.js +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -export class ServerVariable extends BaseModel { - id() { - return this._meta.id; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasDefaultValue() { - return !!this._json.default; - } - defaultValue() { - return this._json.default; - } - hasAllowedValues() { - return !!this._json.enum; - } - allowedValues() { - return this._json.enum || []; - } - examples() { - return this._json.examples || []; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/server-variables.d.ts b/apps/parser/esm/models/v2/server-variables.d.ts deleted file mode 100644 index 7e3ebe7f4..000000000 --- a/apps/parser/esm/models/v2/server-variables.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { ServerVariableInterface } from '../server-variable'; -export declare class ServerVariables extends Collection implements ServerVariablesInterface { - get(id: string): ServerVariableInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/server-variables.js b/apps/parser/esm/models/v2/server-variables.js deleted file mode 100644 index 3ae580ded..000000000 --- a/apps/parser/esm/models/v2/server-variables.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class ServerVariables extends Collection { - get(id) { - return this.collections.find(variable => variable.id() === id); - } -} diff --git a/apps/parser/esm/models/v2/server.d.ts b/apps/parser/esm/models/v2/server.d.ts deleted file mode 100644 index 326ae4172..000000000 --- a/apps/parser/esm/models/v2/server.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { BaseModel } from '../base'; -import { SecurityRequirements } from './security-requirements'; -import type { ChannelsInterface } from '../channels'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { ServerInterface } from '../server'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { ExtensionsInterface } from '../extensions'; -import type { BindingsInterface } from '../bindings'; -import type { TagsInterface } from '../tags'; -import type { v2 } from '../../spec-types'; -export declare class Server extends BaseModel implements ServerInterface { - id(): string; - url(): string; - host(): string; - hasPathname(): boolean; - pathname(): string | undefined; - protocol(): string; - hasProtocolVersion(): boolean; - protocolVersion(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - variables(): ServerVariablesInterface; - security(): SecurityRequirements[]; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v2/server.js b/apps/parser/esm/models/v2/server.js deleted file mode 100644 index b53052279..000000000 --- a/apps/parser/esm/models/v2/server.js +++ /dev/null @@ -1,98 +0,0 @@ -import { BaseModel } from '../base'; -import { Channels } from './channels'; -import { Channel } from './channel'; -import { Messages } from './messages'; -import { Operations } from './operations'; -import { SecurityScheme } from './security-scheme'; -import { ServerVariables } from './server-variables'; -import { ServerVariable } from './server-variable'; -import { SecurityRequirements } from './security-requirements'; -import { SecurityRequirement } from './security-requirement'; -import { bindings, hasDescription, description, extensions, tags } from './mixins'; -import { tilde } from '../../utils'; -export class Server extends BaseModel { - id() { - return this._meta.id; - } - url() { - return this._json.url; - } - host() { - const url = new URL(this.url()); - return url.host; - } - hasPathname() { - return !!this.pathname(); - } - pathname() { - const url = new URL(this.url()); - return url.pathname; - } - protocol() { - return this._json.protocol; - } - hasProtocolVersion() { - return !!this._json.protocolVersion; - } - protocolVersion() { - return this._json.protocolVersion; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - channels() { - var _a; - const channels = []; - Object.entries(((_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed.channels) || {}).forEach(([channelAddress, channel]) => { - const allowedServers = channel.servers || []; - if (allowedServers.length === 0 || allowedServers.includes(this._meta.id)) { - channels.push(this.createModel(Channel, channel, { id: channelAddress, address: channelAddress, pointer: `/channels/${tilde(channelAddress)}` })); - } - }); - return new Channels(channels); - } - operations() { - const operations = []; - this.channels().forEach(channel => { - operations.push(...channel.operations().all()); - }); - return new Operations(operations); - } - messages() { - const messages = []; - this.operations().forEach(operation => messages.push(...operation.messages().all())); - return new Messages(messages); - } - variables() { - return new ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { - return this.createModel(ServerVariable, serverVariable, { - id: serverVariableName, - pointer: `${this._meta.pointer}/variables/${serverVariableName}` - }); - })); - } - security() { - var _a, _b, _c, _d; - const securitySchemes = (((_d = (_c = (_b = (_a = this._meta) === null || _a === void 0 ? void 0 : _a.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed) === null || _c === void 0 ? void 0 : _c.components) === null || _d === void 0 ? void 0 : _d.securitySchemes) || {}); - return (this._json.security || []).map((requirement, index) => { - const requirements = []; - Object.entries(requirement).forEach(([security, scopes]) => { - const scheme = this.createModel(SecurityScheme, securitySchemes[security], { id: security, pointer: `/components/securitySchemes/${security}` }); - requirements.push(this.createModel(SecurityRequirement, { scheme, scopes }, { id: security, pointer: `${this.meta().pointer}/security/${index}/${security}` })); - }); - return new SecurityRequirements(requirements); - }); - } - tags() { - return tags(this); - } - bindings() { - return bindings(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v2/servers.d.ts b/apps/parser/esm/models/v2/servers.d.ts deleted file mode 100644 index 101c8aa9e..000000000 --- a/apps/parser/esm/models/v2/servers.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import { ServerInterface } from '../server'; -import { ServersInterface } from '../servers'; -export declare class Servers extends Collection implements ServersInterface { - get(id: string): ServerInterface | undefined; - filterBySend(): ServerInterface[]; - filterByReceive(): ServerInterface[]; -} diff --git a/apps/parser/esm/models/v2/servers.js b/apps/parser/esm/models/v2/servers.js deleted file mode 100644 index 39df4d44f..000000000 --- a/apps/parser/esm/models/v2/servers.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Servers extends Collection { - get(id) { - return this.collections.find(server => server.id() === id); - } - filterBySend() { - return this.filterBy(server => server.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(server => server.operations().filterByReceive().length > 0); - } -} diff --git a/apps/parser/esm/models/v2/tag.d.ts b/apps/parser/esm/models/v2/tag.d.ts deleted file mode 100644 index a7eaf141f..000000000 --- a/apps/parser/esm/models/v2/tag.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagInterface } from '../tag'; -import type { v2 } from '../../spec-types'; -export declare class Tag extends BaseModel implements TagInterface { - name(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/tag.js b/apps/parser/esm/models/v2/tag.js deleted file mode 100644 index ea429df83..000000000 --- a/apps/parser/esm/models/v2/tag.js +++ /dev/null @@ -1,22 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions, hasExternalDocs, externalDocs } from './mixins'; -export class Tag extends BaseModel { - name() { - return this._json.name; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } -} diff --git a/apps/parser/esm/models/v2/tags.d.ts b/apps/parser/esm/models/v2/tags.d.ts deleted file mode 100644 index 371794b27..000000000 --- a/apps/parser/esm/models/v2/tags.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { TagsInterface } from '../tags'; -import type { TagInterface } from '../tag'; -export declare class Tags extends Collection implements TagsInterface { - get(name: string): TagInterface | undefined; -} diff --git a/apps/parser/esm/models/v2/tags.js b/apps/parser/esm/models/v2/tags.js deleted file mode 100644 index 13229669b..000000000 --- a/apps/parser/esm/models/v2/tags.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class Tags extends Collection { - get(name) { - return this.collections.find(tag => tag.name() === name); - } -} diff --git a/apps/parser/esm/models/v3/asyncapi.d.ts b/apps/parser/esm/models/v3/asyncapi.d.ts deleted file mode 100644 index a8c9d8c3b..000000000 --- a/apps/parser/esm/models/v3/asyncapi.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import type { AsyncAPIDocumentInterface } from '../asyncapi'; -import type { InfoInterface } from '../info'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { ComponentsInterface } from '../components'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { ExtensionsInterface } from '../extensions'; -import type { SchemasInterface } from '../schemas'; -import type { v3 } from '../../spec-types'; -export declare class AsyncAPIDocument extends BaseModel implements AsyncAPIDocumentInterface { - version(): string; - defaultContentType(): string | undefined; - hasDefaultContentType(): boolean; - info(): InfoInterface; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - securitySchemes(): SecuritySchemesInterface; - components(): ComponentsInterface; - allServers(): ServersInterface; - allChannels(): ChannelsInterface; - allOperations(): OperationsInterface; - allMessages(): MessagesInterface; - allSchemas(): SchemasInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/asyncapi.js b/apps/parser/esm/models/v3/asyncapi.js deleted file mode 100644 index e14a692b4..000000000 --- a/apps/parser/esm/models/v3/asyncapi.js +++ /dev/null @@ -1,89 +0,0 @@ -import { BaseModel } from '../base'; -import { Info } from './info'; -import { Servers } from './servers'; -import { Server } from './server'; -import { Channels } from './channels'; -import { Channel } from './channel'; -import { Operations } from './operations'; -import { Operation } from './operation'; -import { Messages } from './messages'; -import { SecuritySchemes } from './security-schemes'; -import { SecurityScheme } from './security-scheme'; -import { Components } from './components'; -import { Schemas } from './schemas'; -import { extensions } from './mixins'; -import { tilde } from '../../utils'; -import { schemasFromDocument } from '../utils'; -export class AsyncAPIDocument extends BaseModel { - version() { - return this._json.asyncapi; - } - defaultContentType() { - return this._json.defaultContentType; - } - hasDefaultContentType() { - return !!this._json.defaultContentType; - } - info() { - return this.createModel(Info, this._json.info, { pointer: '/info' }); - } - servers() { - return new Servers(Object.entries(this._json.servers || {}).map(([serverName, server]) => this.createModel(Server, server, { id: serverName, pointer: `/servers/${tilde(serverName)}` }))); - } - channels() { - return new Channels(Object.entries(this._json.channels || {}).map(([channelId, channel]) => this.createModel(Channel, channel, { id: channelId, pointer: `/channels/${tilde(channelId)}` }))); - } - operations() { - return new Operations(Object.entries(this._json.operations || {}).map(([operationId, operation]) => this.createModel(Operation, operation, { id: operationId, pointer: `/operations/${tilde(operationId)}` }))); - } - messages() { - const messages = []; - const messagesData = []; - this.channels().forEach(channel => { - channel.messages().forEach(message => { - const messageData = message.json(); - if (!messagesData.includes(messageData)) { - messagesData.push(messageData); - messages.push(message); - } - }); - }); - return new Messages(messages); - } - schemas() { - return schemasFromDocument(this, Schemas, false); - } - securitySchemes() { - var _a; - return new SecuritySchemes(Object.entries(((_a = this._json.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}).map(([securitySchemeName, securityScheme]) => this.createModel(SecurityScheme, securityScheme, { id: securitySchemeName, pointer: `/components/securitySchemes/${securitySchemeName}` }))); - } - components() { - return this.createModel(Components, this._json.components || {}, { pointer: '/components' }); - } - allServers() { - const servers = this.servers().all(); - this.components().servers().forEach(server => !servers.some(s => s.json() === server.json()) && servers.push(server)); - return new Servers(servers); - } - allChannels() { - const channels = this.channels().all(); - this.components().channels().forEach(channel => !channels.some(c => c.json() === channel.json()) && channels.push(channel)); - return new Channels(channels); - } - allOperations() { - const operations = this.operations().all(); - this.components().operations().forEach(operation => !operations.some(o => o.json() === operation.json()) && operations.push(operation)); - return new Operations(operations); - } - allMessages() { - const messages = this.messages().all(); - this.components().messages().forEach(message => (!messages.some(m => m.json() === message.json()) && messages.push(message))); - return new Messages(messages); - } - allSchemas() { - return schemasFromDocument(this, Schemas, true); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/binding.d.ts b/apps/parser/esm/models/v3/binding.d.ts deleted file mode 100644 index 45be32fe8..000000000 --- a/apps/parser/esm/models/v3/binding.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class Binding = Record> extends BaseModel implements BindingInterface { - protocol(): string; - version(): string; - value(): V; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/binding.js b/apps/parser/esm/models/v3/binding.js deleted file mode 100644 index a205c21e8..000000000 --- a/apps/parser/esm/models/v3/binding.js +++ /dev/null @@ -1,18 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class Binding extends BaseModel { - protocol() { - return this._meta.protocol; - } - version() { - return this._json.bindingVersion || 'latest'; - } - value() { - const value = Object.assign({}, this._json); - delete value.bindingVersion; - return value; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/bindings.d.ts b/apps/parser/esm/models/v3/bindings.d.ts deleted file mode 100644 index 366f2d369..000000000 --- a/apps/parser/esm/models/v3/bindings.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { BindingsInterface } from '../bindings'; -import type { BindingInterface } from '../binding'; -import type { ExtensionsInterface } from '../extensions'; -export declare class Bindings extends Collection implements BindingsInterface { - get = Record>(name: string): BindingInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/bindings.js b/apps/parser/esm/models/v3/bindings.js deleted file mode 100644 index 19e2407a9..000000000 --- a/apps/parser/esm/models/v3/bindings.js +++ /dev/null @@ -1,19 +0,0 @@ -import { Collection } from '../collection'; -import { Extensions } from './extensions'; -import { Extension } from './extension'; -import { createModel } from '../utils'; -import { EXTENSION_REGEX } from '../../constants'; -export class Bindings extends Collection { - get(name) { - return this.collections.find(binding => binding.protocol() === name); - } - extensions() { - const extensions = []; - Object.entries(this._meta.originalData || {}).forEach(([id, value]) => { - if (EXTENSION_REGEX.test(id)) { - extensions.push(createModel(Extension, value, { id, pointer: `${this._meta.pointer}/${id}`, asyncapi: this._meta.asyncapi })); - } - }); - return new Extensions(extensions); - } -} diff --git a/apps/parser/esm/models/v3/channel-parameter.d.ts b/apps/parser/esm/models/v3/channel-parameter.d.ts deleted file mode 100644 index 35ca76669..000000000 --- a/apps/parser/esm/models/v3/channel-parameter.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ChannelParameterInterface } from '../channel-parameter'; -import type { SchemaInterface } from '../schema'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class ChannelParameter extends BaseModel implements ChannelParameterInterface { - id(): string; - hasSchema(): boolean; - schema(): SchemaInterface | undefined; - hasLocation(): boolean; - location(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/channel-parameter.js b/apps/parser/esm/models/v3/channel-parameter.js deleted file mode 100644 index 83b2da8e1..000000000 --- a/apps/parser/esm/models/v3/channel-parameter.js +++ /dev/null @@ -1,35 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -import { Schema } from './schema'; -export class ChannelParameter extends BaseModel { - id() { - return this._meta.id; - } - hasSchema() { - return true; - } - schema() { - return this.createModel(Schema, { - type: 'string', - description: this._json.description, - enum: this._json.enum, - default: this._json.default, - examples: this._json.examples - }, { pointer: `${this._meta.pointer}` }); - } - hasLocation() { - return !!this._json.location; - } - location() { - return this._json.location; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/channel-parameters.d.ts b/apps/parser/esm/models/v3/channel-parameters.d.ts deleted file mode 100644 index 93abd0a6e..000000000 --- a/apps/parser/esm/models/v3/channel-parameters.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ChannelParameterInterface } from '../channel-parameter'; -export declare class ChannelParameters extends Collection implements ChannelParametersInterface { - get(id: string): ChannelParameterInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/channel-parameters.js b/apps/parser/esm/models/v3/channel-parameters.js deleted file mode 100644 index 4f6403734..000000000 --- a/apps/parser/esm/models/v3/channel-parameters.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class ChannelParameters extends Collection { - get(id) { - return this.collections.find(parameter => parameter.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/channel.d.ts b/apps/parser/esm/models/v3/channel.d.ts deleted file mode 100644 index 36b080f51..000000000 --- a/apps/parser/esm/models/v3/channel.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { CoreModel } from './mixins'; -import type { ChannelInterface } from '../channel'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { MessagesInterface } from '../messages'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { v3 } from '../../spec-types'; -export declare class Channel extends CoreModel implements ChannelInterface { - id(): string; - address(): string | null | undefined; - servers(): ServersInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - parameters(): ChannelParametersInterface; -} diff --git a/apps/parser/esm/models/v3/channel.js b/apps/parser/esm/models/v3/channel.js deleted file mode 100644 index 0089d6411..000000000 --- a/apps/parser/esm/models/v3/channel.js +++ /dev/null @@ -1,56 +0,0 @@ -import { ChannelParameters } from './channel-parameters'; -import { ChannelParameter } from './channel-parameter'; -import { Messages } from './messages'; -import { Message } from './message'; -import { Operations } from './operations'; -import { Operation } from './operation'; -import { Servers } from './servers'; -import { Server } from './server'; -import { xParserObjectUniqueId } from '../../constants'; -import { CoreModel } from './mixins'; -export class Channel extends CoreModel { - id() { - return this._meta.id; - } - address() { - return this._json.address; - } - servers() { - var _a, _b, _c; - const servers = []; - const allowedServers = (_a = this._json.servers) !== null && _a !== void 0 ? _a : []; - Object.entries((_c = (_b = this._meta.asyncapi) === null || _b === void 0 ? void 0 : _b.parsed.servers) !== null && _c !== void 0 ? _c : {}).forEach(([serverName, server]) => { - if (allowedServers.length === 0 || allowedServers.includes(server)) { - servers.push(this.createModel(Server, server, { id: serverName, pointer: `/servers/${serverName}` })); - } - }); - return new Servers(servers); - } - operations() { - var _a, _b, _c; - const operations = []; - Object.entries(((_c = (_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) !== null && _c !== void 0 ? _c : {})).forEach(([operationId, operation]) => { - const operationChannelId = operation.channel[xParserObjectUniqueId]; - const channelId = this._json[xParserObjectUniqueId]; - if (operationChannelId === channelId) { - operations.push(this.createModel(Operation, operation, { id: operationId, pointer: `/operations/${operationId}` })); - } - }); - return new Operations(operations); - } - messages() { - var _a; - return new Messages(Object.entries((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map(([messageName, message]) => { - return this.createModel(Message, message, { id: messageName, pointer: this.jsonPath(`messages/${messageName}`) }); - })); - } - parameters() { - var _a; - return new ChannelParameters(Object.entries((_a = this._json.parameters) !== null && _a !== void 0 ? _a : {}).map(([channelParameterName, channelParameter]) => { - return this.createModel(ChannelParameter, channelParameter, { - id: channelParameterName, - pointer: this.jsonPath(`parameters/${channelParameterName}`), - }); - })); - } -} diff --git a/apps/parser/esm/models/v3/channels.d.ts b/apps/parser/esm/models/v3/channels.d.ts deleted file mode 100644 index 01b199506..000000000 --- a/apps/parser/esm/models/v3/channels.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { ChannelsInterface } from '../channels'; -import type { ChannelInterface } from '../channel'; -export declare class Channels extends Collection implements ChannelsInterface { - get(id: string): ChannelInterface | undefined; - filterBySend(): ChannelInterface[]; - filterByReceive(): ChannelInterface[]; -} diff --git a/apps/parser/esm/models/v3/channels.js b/apps/parser/esm/models/v3/channels.js deleted file mode 100644 index fa86c7cae..000000000 --- a/apps/parser/esm/models/v3/channels.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Channels extends Collection { - get(id) { - return this.collections.find(channel => channel.id() === id); - } - filterBySend() { - return this.filterBy(channel => channel.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(channel => channel.operations().filterByReceive().length > 0); - } -} diff --git a/apps/parser/esm/models/v3/components.d.ts b/apps/parser/esm/models/v3/components.d.ts deleted file mode 100644 index aea020b94..000000000 --- a/apps/parser/esm/models/v3/components.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { BaseModel } from '../base'; -import { Collection } from '../collection'; -import { CorrelationIds } from './correlation-ids'; -import type { BindingsInterface } from '../bindings'; -import type { ComponentsInterface } from '../components'; -import type { ExtensionsInterface } from '../extensions'; -import type { Constructor } from '../utils'; -import type { ServersInterface } from '../servers'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { SchemasInterface } from '../schemas'; -import type { ChannelParametersInterface } from '../channel-parameters'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationRepliesInterface } from '../operation-replies'; -import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; -import type { OperationsInterface } from '../operations'; -import type { ExternalDocumentationsInterface } from '../external-documentations'; -import type { TagsInterface } from '../tags'; -import type { v3 } from '../../spec-types'; -export declare class Components extends BaseModel implements ComponentsInterface { - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - schemas(): SchemasInterface; - channelParameters(): ChannelParametersInterface; - serverVariables(): ServerVariablesInterface; - operationTraits(): OperationTraitsInterface; - messageTraits(): MessageTraitsInterface; - replies(): OperationRepliesInterface; - replyAddresses(): OperationReplyAddressesInterface; - correlationIds(): CorrelationIds; - securitySchemes(): SecuritySchemesInterface; - tags(): TagsInterface; - externalDocs(): ExternalDocumentationsInterface; - serverBindings(): Record; - channelBindings(): Record; - operationBindings(): Record; - messageBindings(): Record; - extensions(): ExtensionsInterface; - isEmpty(): boolean; - protected createCollection, T extends BaseModel>(itemsName: keyof v3.ComponentsObject, collectionModel: Constructor, itemModel: Constructor): M; - protected createBindings(itemsName: 'serverBindings' | 'channelBindings' | 'operationBindings' | 'messageBindings'): Record; -} diff --git a/apps/parser/esm/models/v3/components.js b/apps/parser/esm/models/v3/components.js deleted file mode 100644 index 8a7f079aa..000000000 --- a/apps/parser/esm/models/v3/components.js +++ /dev/null @@ -1,116 +0,0 @@ -import { BaseModel } from '../base'; -import { Bindings } from './bindings'; -import { Binding } from './binding'; -import { Channel } from './channel'; -import { ChannelParameter } from './channel-parameter'; -import { CorrelationId } from './correlation-id'; -import { MessageTrait } from './message-trait'; -import { OperationTrait } from './operation-trait'; -import { OperationReply } from './operation-reply'; -import { OperationReplyAddress } from './operation-reply-address'; -import { Schema } from './schema'; -import { SecurityScheme } from './security-scheme'; -import { Server } from './server'; -import { ServerVariable } from './server-variable'; -import { extensions } from './mixins'; -import { Servers } from './servers'; -import { Channels } from './channels'; -import { Messages } from './messages'; -import { Schemas } from './schemas'; -import { ChannelParameters } from './channel-parameters'; -import { ServerVariables } from './server-variables'; -import { OperationTraits } from './operation-traits'; -import { MessageTraits } from './message-traits'; -import { OperationReplies } from './operation-replies'; -import { OperationReplyAddresses } from './operation-reply-addresses'; -import { SecuritySchemes } from './security-schemes'; -import { CorrelationIds } from './correlation-ids'; -import { Operations } from './operations'; -import { Operation } from './operation'; -import { Message } from './message'; -import { ExternalDocumentations } from '../external-documentations'; -import { ExternalDocumentation } from './external-docs'; -import { Tags } from './tags'; -import { Tag } from './tag'; -import { tilde } from '../../utils'; -export class Components extends BaseModel { - servers() { - return this.createCollection('servers', Servers, Server); - } - channels() { - return this.createCollection('channels', Channels, Channel); - } - operations() { - return this.createCollection('operations', Operations, Operation); - } - messages() { - return this.createCollection('messages', Messages, Message); - } - schemas() { - return this.createCollection('schemas', Schemas, Schema); - } - channelParameters() { - return this.createCollection('parameters', ChannelParameters, ChannelParameter); - } - serverVariables() { - return this.createCollection('serverVariables', ServerVariables, ServerVariable); - } - operationTraits() { - return this.createCollection('operationTraits', OperationTraits, OperationTrait); - } - messageTraits() { - return this.createCollection('messageTraits', MessageTraits, MessageTrait); - } - replies() { - return this.createCollection('replies', OperationReplies, OperationReply); - } - replyAddresses() { - return this.createCollection('replyAddresses', OperationReplyAddresses, OperationReplyAddress); - } - correlationIds() { - return this.createCollection('correlationIds', CorrelationIds, CorrelationId); - } - securitySchemes() { - return this.createCollection('securitySchemes', SecuritySchemes, SecurityScheme); - } - tags() { - return this.createCollection('tags', Tags, Tag); - } - externalDocs() { - return this.createCollection('externalDocs', ExternalDocumentations, ExternalDocumentation); - } - serverBindings() { - return this.createBindings('serverBindings'); - } - channelBindings() { - return this.createBindings('channelBindings'); - } - operationBindings() { - return this.createBindings('operationBindings'); - } - messageBindings() { - return this.createBindings('messageBindings'); - } - extensions() { - return extensions(this); - } - isEmpty() { - return Object.keys(this._json).length === 0; - } - createCollection(itemsName, collectionModel, itemModel) { - const collectionItems = []; - Object.entries(this._json[itemsName] || {}).forEach(([id, item]) => { - collectionItems.push(this.createModel(itemModel, item, { id, pointer: `/components/${itemsName}/${tilde(id)}` })); - }); - return new collectionModel(collectionItems); - } - createBindings(itemsName) { - return Object.entries(this._json[itemsName] || {}).reduce((bindings, [name, item]) => { - const bindingsData = item || {}; - const asyncapi = this.meta('asyncapi'); - const pointer = `components/${itemsName}/${name}`; - bindings[name] = new Bindings(Object.entries(bindingsData).map(([protocol, binding]) => this.createModel(Binding, binding, { protocol, pointer: `${pointer}/${protocol}` })), { originalData: bindingsData, asyncapi, pointer }); - return bindings; - }, {}); - } -} diff --git a/apps/parser/esm/models/v3/contact.d.ts b/apps/parser/esm/models/v3/contact.d.ts deleted file mode 100644 index 06946eaf9..000000000 --- a/apps/parser/esm/models/v3/contact.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class Contact extends BaseModel implements ContactInterface { - hasName(): boolean; - name(): string | undefined; - hasUrl(): boolean; - url(): string | undefined; - hasEmail(): boolean; - email(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/contact.js b/apps/parser/esm/models/v3/contact.js deleted file mode 100644 index 5c92d0a87..000000000 --- a/apps/parser/esm/models/v3/contact.js +++ /dev/null @@ -1,25 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class Contact extends BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - hasEmail() { - return !!this._json.email; - } - email() { - return this._json.email; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/correlation-id.d.ts b/apps/parser/esm/models/v3/correlation-id.d.ts deleted file mode 100644 index bebcdb660..000000000 --- a/apps/parser/esm/models/v3/correlation-id.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BaseModel } from '../base'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class CorrelationId extends BaseModel implements CorrelationIdInterface { - hasDescription(): boolean; - description(): string | undefined; - hasLocation(): boolean; - location(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/correlation-id.js b/apps/parser/esm/models/v3/correlation-id.js deleted file mode 100644 index 2c5f42ecb..000000000 --- a/apps/parser/esm/models/v3/correlation-id.js +++ /dev/null @@ -1,19 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -export class CorrelationId extends BaseModel { - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasLocation() { - return !!this._json.location; - } - location() { - return this._json.location; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/correlation-ids.d.ts b/apps/parser/esm/models/v3/correlation-ids.d.ts deleted file mode 100644 index 77f81c952..000000000 --- a/apps/parser/esm/models/v3/correlation-ids.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { CorrelationIdsInterface } from '../correlation-ids'; -import type { CorrelationIdInterface } from '../correlation-id'; -export declare class CorrelationIds extends Collection implements CorrelationIdsInterface { - get(id: string): CorrelationIdInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/correlation-ids.js b/apps/parser/esm/models/v3/correlation-ids.js deleted file mode 100644 index 003666fc6..000000000 --- a/apps/parser/esm/models/v3/correlation-ids.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class CorrelationIds extends Collection { - get(id) { - return this.collections.find(correlationId => correlationId.meta('id') === id); - } -} diff --git a/apps/parser/esm/models/v3/extension.d.ts b/apps/parser/esm/models/v3/extension.d.ts deleted file mode 100644 index 9e5075c77..000000000 --- a/apps/parser/esm/models/v3/extension.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionInterface } from '../extension'; -import type { v3 } from '../../spec-types'; -export declare class Extension extends BaseModel, { - id: string; -}> implements ExtensionInterface { - id(): string; - version(): string; - value(): V; -} diff --git a/apps/parser/esm/models/v3/extension.js b/apps/parser/esm/models/v3/extension.js deleted file mode 100644 index 013f5caa1..000000000 --- a/apps/parser/esm/models/v3/extension.js +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -export class Extension extends BaseModel { - id() { - return this._meta.id; - } - version() { - return 'to implement'; - } - value() { - return this._json; - } -} diff --git a/apps/parser/esm/models/v3/extensions.d.ts b/apps/parser/esm/models/v3/extensions.d.ts deleted file mode 100644 index 3033f8a44..000000000 --- a/apps/parser/esm/models/v3/extensions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExtensionInterface } from '../extension'; -export declare class Extensions extends Collection implements ExtensionsInterface { - get(id: string): ExtensionInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/extensions.js b/apps/parser/esm/models/v3/extensions.js deleted file mode 100644 index c08bbc30b..000000000 --- a/apps/parser/esm/models/v3/extensions.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Collection } from '../collection'; -export class Extensions extends Collection { - get(id) { - id = id.startsWith('x-') ? id : `x-${id}`; - return this.collections.find(ext => ext.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/external-docs.d.ts b/apps/parser/esm/models/v3/external-docs.d.ts deleted file mode 100644 index 6e0544e76..000000000 --- a/apps/parser/esm/models/v3/external-docs.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { ExtensionsInterface } from '../extensions'; -import type { v3 } from '../../spec-types'; -export declare class ExternalDocumentation extends BaseModel implements ExternalDocumentationInterface { - id(): string | undefined; - url(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/external-docs.js b/apps/parser/esm/models/v3/external-docs.js deleted file mode 100644 index 24c3a8fe6..000000000 --- a/apps/parser/esm/models/v3/external-docs.js +++ /dev/null @@ -1,19 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -export class ExternalDocumentation extends BaseModel { - id() { - return this._meta.id; - } - url() { - return this._json.url; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/index.d.ts b/apps/parser/esm/models/v3/index.d.ts deleted file mode 100644 index fb3848508..000000000 --- a/apps/parser/esm/models/v3/index.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -export { AsyncAPIDocument as AsyncAPIDocumentV3 } from './asyncapi'; -export { Binding as BindingV3 } from './binding'; -export { Bindings as BindingsV3 } from './bindings'; -export { ChannelParameter as ChannelParameterV3 } from './channel-parameter'; -export { ChannelParameters as ChannelParametersV3 } from './channel-parameters'; -export { Channel as ChannelV3 } from './channel'; -export { Channels as ChannelsV3 } from './channels'; -export { Components as ComponentsV3 } from './components'; -export { Contact as ContactV3 } from './contact'; -export { CorrelationId as CorrelationIdV3 } from './correlation-id'; -export { Extension as ExtensionV3 } from './extension'; -export { Extensions as ExtensionsV3 } from './extensions'; -export { ExternalDocumentation as ExternalDocumentationV3 } from './external-docs'; -export { Info as InfoV3 } from './info'; -export { License as LicenseV3 } from './license'; -export { MessageExample as MessageExampleV3 } from './message-example'; -export { MessageExamples as MessageExamplesV3 } from './message-examples'; -export { MessageTrait as MessageTraitV3 } from './message-trait'; -export { MessageTraits as MessageTraitsV3 } from './message-traits'; -export { Message as MessageV3 } from './message'; -export { Messages as MessagesV3 } from './messages'; -export { OAuthFlow as OAuthFlowV3 } from './oauth-flow'; -export { OAuthFlows as OAuthFlowsV3 } from './oauth-flows'; -export { OperationTrait as OperationTraitV3 } from './operation-trait'; -export { OperationTraits as OperationTraitsV3 } from './operation-traits'; -export { OperationReplies as OperationRepliesV3 } from './operation-replies'; -export { OperationReplyAddress as OperationReplyAddressV3 } from './operation-reply-address'; -export { OperationReplyAddresses as OperationReplyAddressesV3 } from './operation-reply-addresses'; -export { OperationReply as OperationReplyV3 } from './operation-reply'; -export { Operation as OperationV3 } from './operation'; -export { Operations as OperationsV3 } from './operations'; -export { Schema as SchemaV3 } from './schema'; -export { Schemas as SchemasV3 } from './schemas'; -export { SecurityScheme as SecuritySchemeV3 } from './security-scheme'; -export { SecuritySchemes as SecuritySchemesV3 } from './security-schemes'; -export { ServerVariable as ServerVariableV3 } from './server-variable'; -export { ServerVariables as ServerVariablesV3 } from './server-variables'; -export { Server as ServerV3 } from './server'; -export { Servers as ServersV3 } from './servers'; -export { Tag as TagV3 } from './tag'; -export { Tags as TagsV3 } from './tags'; diff --git a/apps/parser/esm/models/v3/index.js b/apps/parser/esm/models/v3/index.js deleted file mode 100644 index fb3848508..000000000 --- a/apps/parser/esm/models/v3/index.js +++ /dev/null @@ -1,41 +0,0 @@ -export { AsyncAPIDocument as AsyncAPIDocumentV3 } from './asyncapi'; -export { Binding as BindingV3 } from './binding'; -export { Bindings as BindingsV3 } from './bindings'; -export { ChannelParameter as ChannelParameterV3 } from './channel-parameter'; -export { ChannelParameters as ChannelParametersV3 } from './channel-parameters'; -export { Channel as ChannelV3 } from './channel'; -export { Channels as ChannelsV3 } from './channels'; -export { Components as ComponentsV3 } from './components'; -export { Contact as ContactV3 } from './contact'; -export { CorrelationId as CorrelationIdV3 } from './correlation-id'; -export { Extension as ExtensionV3 } from './extension'; -export { Extensions as ExtensionsV3 } from './extensions'; -export { ExternalDocumentation as ExternalDocumentationV3 } from './external-docs'; -export { Info as InfoV3 } from './info'; -export { License as LicenseV3 } from './license'; -export { MessageExample as MessageExampleV3 } from './message-example'; -export { MessageExamples as MessageExamplesV3 } from './message-examples'; -export { MessageTrait as MessageTraitV3 } from './message-trait'; -export { MessageTraits as MessageTraitsV3 } from './message-traits'; -export { Message as MessageV3 } from './message'; -export { Messages as MessagesV3 } from './messages'; -export { OAuthFlow as OAuthFlowV3 } from './oauth-flow'; -export { OAuthFlows as OAuthFlowsV3 } from './oauth-flows'; -export { OperationTrait as OperationTraitV3 } from './operation-trait'; -export { OperationTraits as OperationTraitsV3 } from './operation-traits'; -export { OperationReplies as OperationRepliesV3 } from './operation-replies'; -export { OperationReplyAddress as OperationReplyAddressV3 } from './operation-reply-address'; -export { OperationReplyAddresses as OperationReplyAddressesV3 } from './operation-reply-addresses'; -export { OperationReply as OperationReplyV3 } from './operation-reply'; -export { Operation as OperationV3 } from './operation'; -export { Operations as OperationsV3 } from './operations'; -export { Schema as SchemaV3 } from './schema'; -export { Schemas as SchemasV3 } from './schemas'; -export { SecurityScheme as SecuritySchemeV3 } from './security-scheme'; -export { SecuritySchemes as SecuritySchemesV3 } from './security-schemes'; -export { ServerVariable as ServerVariableV3 } from './server-variable'; -export { ServerVariables as ServerVariablesV3 } from './server-variables'; -export { Server as ServerV3 } from './server'; -export { Servers as ServersV3 } from './servers'; -export { Tag as TagV3 } from './tag'; -export { Tags as TagsV3 } from './tags'; diff --git a/apps/parser/esm/models/v3/info.d.ts b/apps/parser/esm/models/v3/info.d.ts deleted file mode 100644 index 241aea7f7..000000000 --- a/apps/parser/esm/models/v3/info.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ContactInterface } from '../contact'; -import type { InfoInterface } from '../info'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { LicenseInterface } from '../license'; -import type { TagsInterface } from '../tags'; -import type { v3 } from '../../spec-types'; -export declare class Info extends BaseModel implements InfoInterface { - title(): string; - version(): string; - hasId(): boolean; - id(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasTermsOfService(): boolean; - termsOfService(): string | undefined; - hasContact(): boolean; - contact(): ContactInterface | undefined; - hasLicense(): boolean; - license(): LicenseInterface | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - tags(): TagsInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/info.js b/apps/parser/esm/models/v3/info.js deleted file mode 100644 index 9e9c2cb0f..000000000 --- a/apps/parser/esm/models/v3/info.js +++ /dev/null @@ -1,56 +0,0 @@ -import { BaseModel } from '../base'; -import { Contact } from './contact'; -import { License } from './license'; -import { hasDescription, description, extensions, hasExternalDocs, externalDocs, tags } from './mixins'; -export class Info extends BaseModel { - title() { - return this._json.title; - } - version() { - return this._json.version; - } - hasId() { - return !!this._meta.asyncapi.parsed.id; - } - id() { - return this._meta.asyncapi.parsed.id; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasTermsOfService() { - return !!this._json.termsOfService; - } - termsOfService() { - return this._json.termsOfService; - } - hasContact() { - return Object.keys(this._json.contact || {}).length > 0; - } - contact() { - const contact = this._json.contact; - return contact && this.createModel(Contact, contact, { pointer: this.jsonPath('contact') }); - } - hasLicense() { - return Object.keys(this._json.license || {}).length > 0; - } - license() { - const license = this._json.license; - return license && this.createModel(License, license, { pointer: this.jsonPath('license') }); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } - tags() { - return tags(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/license.d.ts b/apps/parser/esm/models/v3/license.d.ts deleted file mode 100644 index aa8c7b619..000000000 --- a/apps/parser/esm/models/v3/license.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { LicenseInterface } from '../license'; -import type { v3 } from '../../spec-types'; -export declare class License extends BaseModel implements LicenseInterface { - name(): string; - hasUrl(): boolean; - url(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/license.js b/apps/parser/esm/models/v3/license.js deleted file mode 100644 index 4b4471083..000000000 --- a/apps/parser/esm/models/v3/license.js +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class License extends BaseModel { - name() { - return this._json.name; - } - hasUrl() { - return !!this._json.url; - } - url() { - return this._json.url; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/message-example.d.ts b/apps/parser/esm/models/v3/message-example.d.ts deleted file mode 100644 index 5b41dcdea..000000000 --- a/apps/parser/esm/models/v3/message-example.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { MessageExampleInterface } from '../message-example'; -import type { v3 } from '../../spec-types'; -export declare class MessageExample extends BaseModel implements MessageExampleInterface { - hasName(): boolean; - name(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasHeaders(): boolean; - headers(): Record | undefined; - hasPayload(): boolean; - payload(): Record | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/message-example.js b/apps/parser/esm/models/v3/message-example.js deleted file mode 100644 index 1ac519e15..000000000 --- a/apps/parser/esm/models/v3/message-example.js +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class MessageExample extends BaseModel { - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - return this._json.headers; - } - hasPayload() { - return !!this._json.payload; - } - payload() { - return this._json.payload; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/message-examples.d.ts b/apps/parser/esm/models/v3/message-examples.d.ts deleted file mode 100644 index 0784e9dc1..000000000 --- a/apps/parser/esm/models/v3/message-examples.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageExampleInterface } from '../message-example'; -export declare class MessageExamples extends Collection implements MessageExamplesInterface { - get(name: string): MessageExampleInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/message-examples.js b/apps/parser/esm/models/v3/message-examples.js deleted file mode 100644 index 2ba751d5b..000000000 --- a/apps/parser/esm/models/v3/message-examples.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class MessageExamples extends Collection { - get(name) { - return this.collections.find(example => example.name() === name); - } -} diff --git a/apps/parser/esm/models/v3/message-trait.d.ts b/apps/parser/esm/models/v3/message-trait.d.ts deleted file mode 100644 index 12ddcd2d1..000000000 --- a/apps/parser/esm/models/v3/message-trait.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { CoreModel } from './mixins'; -import type { CorrelationIdInterface } from '../correlation-id'; -import type { MessageExamplesInterface } from '../message-examples'; -import type { MessageTraitInterface } from '../message-trait'; -import type { SchemaInterface } from '../schema'; -import type { v3 } from '../../spec-types'; -export declare class MessageTrait extends CoreModel implements MessageTraitInterface { - id(): string; - hasMessageId(): boolean; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - hasCorrelationId(): boolean; - correlationId(): CorrelationIdInterface | undefined; - hasContentType(): boolean; - contentType(): string | undefined; - hasHeaders(): boolean; - headers(): SchemaInterface | undefined; - hasName(): boolean; - name(): string | undefined; - examples(): MessageExamplesInterface; -} diff --git a/apps/parser/esm/models/v3/message-trait.js b/apps/parser/esm/models/v3/message-trait.js deleted file mode 100644 index 530c1062f..000000000 --- a/apps/parser/esm/models/v3/message-trait.js +++ /dev/null @@ -1,55 +0,0 @@ -import { CorrelationId } from './correlation-id'; -import { MessageExamples } from './message-examples'; -import { MessageExample } from './message-example'; -import { Schema } from './schema'; -import { xParserMessageName } from '../../constants'; -import { CoreModel } from './mixins'; -export class MessageTrait extends CoreModel { - id() { - var _a; - return this._meta.id || ((_a = this.extensions().get(xParserMessageName)) === null || _a === void 0 ? void 0 : _a.value()); - } - hasMessageId() { - return false; - } - hasSchemaFormat() { - return false; - } - schemaFormat() { - return undefined; - } - hasCorrelationId() { - return !!this._json.correlationId; - } - correlationId() { - if (!this._json.correlationId) - return undefined; - return this.createModel(CorrelationId, this._json.correlationId, { pointer: this.jsonPath('correlationId') }); - } - hasContentType() { - return !!this._json.contentType; - } - contentType() { - var _a, _b; - return this._json.contentType || ((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.defaultContentType); - } - hasHeaders() { - return !!this._json.headers; - } - headers() { - if (!this._json.headers) - return undefined; - return this.createModel(Schema, this._json.headers, { pointer: this.jsonPath('headers') }); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - examples() { - return new MessageExamples((this._json.examples || []).map((example, index) => { - return this.createModel(MessageExample, example, { pointer: this.jsonPath(`examples/${index}`) }); - })); - } -} diff --git a/apps/parser/esm/models/v3/message-traits.d.ts b/apps/parser/esm/models/v3/message-traits.d.ts deleted file mode 100644 index 8601210f2..000000000 --- a/apps/parser/esm/models/v3/message-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { MessageTraitInterface } from '../message-trait'; -export declare class MessageTraits extends Collection implements MessageTraitsInterface { - get(id: string): MessageTraitInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/message-traits.js b/apps/parser/esm/models/v3/message-traits.js deleted file mode 100644 index fc8828184..000000000 --- a/apps/parser/esm/models/v3/message-traits.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class MessageTraits extends Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/message.d.ts b/apps/parser/esm/models/v3/message.d.ts deleted file mode 100644 index 0a1f9a820..000000000 --- a/apps/parser/esm/models/v3/message.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { MessageTrait } from './message-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessageInterface } from '../message'; -import type { MessageTraitsInterface } from '../message-traits'; -import type { OperationsInterface } from '../operations'; -import type { ServersInterface } from '../servers'; -import type { SchemaInterface } from '../schema'; -import type { v3 } from '../../spec-types'; -export declare class Message extends MessageTrait implements MessageInterface { - hasPayload(): boolean; - payload(): SchemaInterface | undefined; - hasSchemaFormat(): boolean; - schemaFormat(): string | undefined; - servers(): ServersInterface; - channels(): ChannelsInterface; - operations(): OperationsInterface; - traits(): MessageTraitsInterface; -} diff --git a/apps/parser/esm/models/v3/message.js b/apps/parser/esm/models/v3/message.js deleted file mode 100644 index a1dc3a000..000000000 --- a/apps/parser/esm/models/v3/message.js +++ /dev/null @@ -1,92 +0,0 @@ -import { Channel } from './channel'; -import { Channels } from './channels'; -import { Operations } from './operations'; -import { Operation } from './operation'; -import { MessageTraits } from './message-traits'; -import { MessageTrait } from './message-trait'; -import { Servers } from './servers'; -import { Schema } from './schema'; -import { xParserObjectUniqueId } from '../../constants'; -export class Message extends MessageTrait { - hasPayload() { - return !!this._json.payload; - } - payload() { - if (!this._json.payload) - return undefined; - return this.createModel(Schema, this._json.payload, { pointer: this.jsonPath('payload') }); - } - hasSchemaFormat() { - // If it has a payload, schema format is expected (at least the default) - return this.hasPayload(); - } - schemaFormat() { - var _a; - if (this.hasSchemaFormat()) { - return (_a = this.payload()) === null || _a === void 0 ? void 0 : _a.schemaFormat(); - } - return undefined; - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - const serverData = server.json(); - if (!serversData.includes(serverData)) { - serversData.push(serverData); - servers.push(server); - } - }); - }); - return new Servers(servers); - } - channels() { - var _a, _b; - const thisMessageId = (this._json)[xParserObjectUniqueId]; - const channels = []; - const channelsData = []; - this.operations().forEach(operation => { - operation.channels().forEach(channel => { - const channelData = channel.json(); - // Comparing with the data (JSON) because same channel could exist but it will include the ID based on where it is declared. For example, asyncapi.channels contain ID field. - if (!channelsData.includes(channelData)) { - channelsData.push(channelData); - channels.push(channel); - } - }); - }); - Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelId, channelData]) => { - const channelModel = this.createModel(Channel, channelData, { id: channelId, pointer: `/channels/${channelId}` }); - if (!channelsData.includes(channelData) && channelModel.messages().some(m => { - const messageId = m[xParserObjectUniqueId]; - return messageId === thisMessageId; - })) { - channelsData.push(channelData); - channels.push(channelModel); - } - }); - return new Channels(channels); - } - operations() { - var _a, _b; - const thisMessageId = (this._json)[xParserObjectUniqueId]; - const operations = []; - Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.operations) || {}).forEach(([operationId, operation]) => { - const operationModel = this.createModel(Operation, operation, { id: operationId, pointer: `/operations/${operationId}` }); - const operationHasMessage = operationModel.messages().some(m => { - const messageId = m[xParserObjectUniqueId]; - return messageId === thisMessageId; - }); - if (operationHasMessage) { - operations.push(operationModel); - } - }); - return new Operations(operations); - } - traits() { - return new MessageTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(MessageTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); - })); - } -} diff --git a/apps/parser/esm/models/v3/messages.d.ts b/apps/parser/esm/models/v3/messages.d.ts deleted file mode 100644 index d988f36fb..000000000 --- a/apps/parser/esm/models/v3/messages.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { MessagesInterface } from '../messages'; -import type { MessageInterface } from '../message'; -export declare class Messages extends Collection implements MessagesInterface { - get(name: string): MessageInterface | undefined; - filterBySend(): MessageInterface[]; - filterByReceive(): MessageInterface[]; -} diff --git a/apps/parser/esm/models/v3/messages.js b/apps/parser/esm/models/v3/messages.js deleted file mode 100644 index 5d2fb8d72..000000000 --- a/apps/parser/esm/models/v3/messages.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Messages extends Collection { - get(name) { - return this.collections.find(message => message.id() === name); - } - filterBySend() { - return this.filterBy(message => message.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(message => message.operations().filterByReceive().length > 0); - } -} diff --git a/apps/parser/esm/models/v3/mixins.d.ts b/apps/parser/esm/models/v3/mixins.d.ts deleted file mode 100644 index a4fdfa8ea..000000000 --- a/apps/parser/esm/models/v3/mixins.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { BaseModel } from '../base'; -import type { BindingsInterface } from '../bindings'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagsInterface } from '../tags'; -import type { v3 } from '../../spec-types'; -type BindingsObject = v3.ServerBindingsObject | v3.ChannelBindingsObject | v3.OperationBindingsObject | v3.MessageBindingsObject | v3.ReferenceObject; -export interface CoreObject extends v3.SpecificationExtensions { - title?: string; - summary?: string; - description?: string; - externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; - tags?: v3.TagsObject; - bindings?: BindingsObject; -} -export declare abstract class CoreModel = {}> extends BaseModel { - hasTitle(): boolean; - title(): string | undefined; - hasSummary(): boolean; - summary(): string | undefined; - hasDescription(): boolean; - description(): string | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - tags(): TagsInterface; - bindings(): BindingsInterface; - extensions(): ExtensionsInterface; -} -export declare function bindings(model: BaseModel<{ - bindings?: BindingsObject; -}>): BindingsInterface; -export declare function hasDescription(model: BaseModel<{ - description?: string; -}>): boolean; -export declare function description(model: BaseModel<{ - description?: string; -}>): string | undefined; -export declare function extensions(model: BaseModel): ExtensionsInterface; -export declare function hasExternalDocs(model: BaseModel<{ - externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; -}>): boolean; -export declare function externalDocs(model: BaseModel<{ - externalDocs?: v3.ExternalDocumentationObject | v3.ReferenceObject; -}>): ExternalDocumentationInterface | undefined; -export declare function tags(model: BaseModel<{ - tags?: v3.TagsObject; -}>): TagsInterface; -export {}; diff --git a/apps/parser/esm/models/v3/mixins.js b/apps/parser/esm/models/v3/mixins.js deleted file mode 100644 index 74f2bbada..000000000 --- a/apps/parser/esm/models/v3/mixins.js +++ /dev/null @@ -1,75 +0,0 @@ -import { BaseModel } from '../base'; -import { Bindings } from './bindings'; -import { Binding } from './binding'; -import { Extensions } from './extensions'; -import { Extension } from './extension'; -import { ExternalDocumentation } from './external-docs'; -import { Tags } from './tags'; -import { Tag } from './tag'; -import { createModel } from '../utils'; -import { EXTENSION_REGEX } from '../../constants'; -export class CoreModel extends BaseModel { - hasTitle() { - return !!this._json.title; - } - title() { - return this._json.title; - } - hasSummary() { - return !!this._json.summary; - } - summary() { - return this._json.summary; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } - tags() { - return tags(this); - } - bindings() { - return bindings(this); - } - extensions() { - return extensions(this); - } -} -export function bindings(model) { - const bindings = model.json('bindings') || {}; - return new Bindings(Object.entries(bindings || {}).map(([protocol, binding]) => createModel(Binding, binding, { protocol, pointer: model.jsonPath(`bindings/${protocol}`) }, model)), { originalData: bindings, asyncapi: model.meta('asyncapi'), pointer: model.jsonPath('bindings') }); -} -export function hasDescription(model) { - return Boolean(description(model)); -} -export function description(model) { - return model.json('description'); -} -export function extensions(model) { - const extensions = []; - Object.entries(model.json()).forEach(([id, value]) => { - if (EXTENSION_REGEX.test(id)) { - extensions.push(createModel(Extension, value, { id, pointer: model.jsonPath(id) }, model)); - } - }); - return new Extensions(extensions); -} -export function hasExternalDocs(model) { - return Object.keys(model.json('externalDocs') || {}).length > 0; -} -export function externalDocs(model) { - if (hasExternalDocs(model)) { - return new ExternalDocumentation(model.json('externalDocs')); - } -} -export function tags(model) { - return new Tags((model.json('tags') || []).map((tag, idx) => createModel(Tag, tag, { pointer: model.jsonPath(`tags/${idx}`) }, model))); -} diff --git a/apps/parser/esm/models/v3/oauth-flow.d.ts b/apps/parser/esm/models/v3/oauth-flow.d.ts deleted file mode 100644 index feaa5cdd3..000000000 --- a/apps/parser/esm/models/v3/oauth-flow.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v3 } from '../../spec-types'; -export declare class OAuthFlow extends BaseModel implements OAuthFlowInterface { - hasAuthorizationUrl(): boolean; - authorizationUrl(): string | undefined; - hasRefreshUrl(): boolean; - refreshUrl(): string | undefined; - scopes(): Record | undefined; - hasTokenUrl(): boolean; - tokenUrl(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/oauth-flow.js b/apps/parser/esm/models/v3/oauth-flow.js deleted file mode 100644 index 86bf6237c..000000000 --- a/apps/parser/esm/models/v3/oauth-flow.js +++ /dev/null @@ -1,28 +0,0 @@ -import { BaseModel } from '../base'; -import { extensions } from './mixins'; -export class OAuthFlow extends BaseModel { - hasAuthorizationUrl() { - return !!this.json().authorizationUrl; - } - authorizationUrl() { - return this.json().authorizationUrl; - } - hasRefreshUrl() { - return !!this._json.refreshUrl; - } - refreshUrl() { - return this._json.refreshUrl; - } - scopes() { - return this._json.availableScopes; - } - hasTokenUrl() { - return !!this.json().tokenUrl; - } - tokenUrl() { - return this.json().tokenUrl; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/oauth-flows.d.ts b/apps/parser/esm/models/v3/oauth-flows.d.ts deleted file mode 100644 index 776ab8f9c..000000000 --- a/apps/parser/esm/models/v3/oauth-flows.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { OAuthFlowInterface } from '../oauth-flow'; -import type { v3 } from '../../spec-types'; -export declare class OAuthFlows extends BaseModel implements OAuthFlowsInterface { - hasAuthorizationCode(): boolean; - authorizationCode(): OAuthFlowInterface | undefined; - hasClientCredentials(): boolean; - clientCredentials(): OAuthFlowInterface | undefined; - hasImplicit(): boolean; - implicit(): OAuthFlowInterface | undefined; - hasPassword(): boolean; - password(): OAuthFlowInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/oauth-flows.js b/apps/parser/esm/models/v3/oauth-flows.js deleted file mode 100644 index ab5147e0e..000000000 --- a/apps/parser/esm/models/v3/oauth-flows.js +++ /dev/null @@ -1,40 +0,0 @@ -import { BaseModel } from '../base'; -import { OAuthFlow } from './oauth-flow'; -import { extensions } from './mixins'; -export class OAuthFlows extends BaseModel { - hasAuthorizationCode() { - return !!this._json.authorizationCode; - } - authorizationCode() { - if (!this._json.authorizationCode) - return undefined; - return new OAuthFlow(this._json.authorizationCode); - } - hasClientCredentials() { - return !!this._json.clientCredentials; - } - clientCredentials() { - if (!this._json.clientCredentials) - return undefined; - return new OAuthFlow(this._json.clientCredentials); - } - hasImplicit() { - return !!this._json.implicit; - } - implicit() { - if (!this._json.implicit) - return undefined; - return new OAuthFlow(this._json.implicit); - } - hasPassword() { - return !!this._json.password; - } - password() { - if (!this._json.password) - return undefined; - return new OAuthFlow(this._json.password); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/operation-replies.d.ts b/apps/parser/esm/models/v3/operation-replies.d.ts deleted file mode 100644 index 591354641..000000000 --- a/apps/parser/esm/models/v3/operation-replies.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationRepliesInterface } from '../operation-replies'; -export declare class OperationReplies extends Collection implements OperationRepliesInterface { - get(id: string): OperationReplyInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/operation-replies.js b/apps/parser/esm/models/v3/operation-replies.js deleted file mode 100644 index 91c5ac253..000000000 --- a/apps/parser/esm/models/v3/operation-replies.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class OperationReplies extends Collection { - get(id) { - return this.collections.find(reply => reply.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/operation-reply-address.d.ts b/apps/parser/esm/models/v3/operation-reply-address.d.ts deleted file mode 100644 index 267391330..000000000 --- a/apps/parser/esm/models/v3/operation-reply-address.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { OperationReplyAddressInterface } from '../operation-reply-address'; -import type { v3 } from '../../spec-types'; -export declare class OperationReplyAddress extends BaseModel implements OperationReplyAddressInterface { - id(): string | undefined; - location(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/operation-reply-address.js b/apps/parser/esm/models/v3/operation-reply-address.js deleted file mode 100644 index 740be1d2e..000000000 --- a/apps/parser/esm/models/v3/operation-reply-address.js +++ /dev/null @@ -1,19 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -export class OperationReplyAddress extends BaseModel { - id() { - return this._meta.id; - } - location() { - return this._json.location; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/operation-reply-addresses.d.ts b/apps/parser/esm/models/v3/operation-reply-addresses.d.ts deleted file mode 100644 index c652ba48d..000000000 --- a/apps/parser/esm/models/v3/operation-reply-addresses.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationReplyAddressInterface } from '../operation-reply-address'; -import type { OperationReplyAddressesInterface } from '../operation-reply-addresses'; -export declare class OperationReplyAddresses extends Collection implements OperationReplyAddressesInterface { - get(id: string): OperationReplyAddressInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/operation-reply-addresses.js b/apps/parser/esm/models/v3/operation-reply-addresses.js deleted file mode 100644 index 562775320..000000000 --- a/apps/parser/esm/models/v3/operation-reply-addresses.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class OperationReplyAddresses extends Collection { - get(id) { - return this.collections.find(reply => reply.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/operation-reply.d.ts b/apps/parser/esm/models/v3/operation-reply.d.ts deleted file mode 100644 index f4ab7dc30..000000000 --- a/apps/parser/esm/models/v3/operation-reply.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { BaseModel } from '../base'; -import { MessagesInterface } from '../messages'; -import type { ExtensionsInterface } from '../extensions'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationReplyAddressInterface } from '../operation-reply-address'; -import type { ChannelInterface } from '../channel'; -import type { v3 } from '../../spec-types'; -export declare class OperationReply extends BaseModel implements OperationReplyInterface { - id(): string | undefined; - hasAddress(): boolean; - address(): OperationReplyAddressInterface | undefined; - hasChannel(): boolean; - channel(): ChannelInterface | undefined; - messages(): MessagesInterface; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/operation-reply.js b/apps/parser/esm/models/v3/operation-reply.js deleted file mode 100644 index 9bf820a19..000000000 --- a/apps/parser/esm/models/v3/operation-reply.js +++ /dev/null @@ -1,40 +0,0 @@ -import { BaseModel } from '../base'; -import { Channel } from './channel'; -import { Message } from './message'; -import { Messages } from './messages'; -import { OperationReplyAddress } from './operation-reply-address'; -import { extensions } from './mixins'; -import { xParserObjectUniqueId } from '../../constants'; -export class OperationReply extends BaseModel { - id() { - return this._meta.id; - } - hasAddress() { - return !!this._json.address; - } - address() { - if (this._json.address) { - return this.createModel(OperationReplyAddress, this._json.address, { pointer: this.jsonPath('address') }); - } - } - hasChannel() { - return !!this._json.channel; - } - channel() { - if (this._json.channel) { - const channelId = this._json.channel[xParserObjectUniqueId]; - return this.createModel(Channel, this._json.channel, { id: channelId, pointer: this.jsonPath('channel') }); - } - return this._json.channel; - } - messages() { - var _a; - return new Messages(Object.values((_a = this._json.messages) !== null && _a !== void 0 ? _a : {}).map((message) => { - const messageId = message[xParserObjectUniqueId]; - return this.createModel(Message, message, { id: messageId, pointer: this.jsonPath(`messages/${messageId}`) }); - })); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/operation-trait.d.ts b/apps/parser/esm/models/v3/operation-trait.d.ts deleted file mode 100644 index 3ba2432ad..000000000 --- a/apps/parser/esm/models/v3/operation-trait.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { SecurityRequirements } from './security-requirements'; -import { CoreModel } from './mixins'; -import type { OperationTraitInterface } from '../operation-trait'; -import type { v3 } from '../../spec-types'; -export declare class OperationTrait extends CoreModel implements OperationTraitInterface { - id(): string | undefined; - hasOperationId(): boolean; - operationId(): string | undefined; - security(): SecurityRequirements[]; -} diff --git a/apps/parser/esm/models/v3/operation-trait.js b/apps/parser/esm/models/v3/operation-trait.js deleted file mode 100644 index ffe653dce..000000000 --- a/apps/parser/esm/models/v3/operation-trait.js +++ /dev/null @@ -1,22 +0,0 @@ -import { SecurityScheme } from './security-scheme'; -import { SecurityRequirements } from './security-requirements'; -import { SecurityRequirement } from './security-requirement'; -import { CoreModel } from './mixins'; -export class OperationTrait extends CoreModel { - id() { - return this.operationId() || this._meta.id; - } - hasOperationId() { - return !!this._meta.id; - } - operationId() { - return this._meta.id; - } - security() { - return (this._json.security || []).map((security, index) => { - const scheme = this.createModel(SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); - const requirement = this.createModel(SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); - return new SecurityRequirements([requirement]); - }); - } -} diff --git a/apps/parser/esm/models/v3/operation-traits.d.ts b/apps/parser/esm/models/v3/operation-traits.d.ts deleted file mode 100644 index 0de03b0ff..000000000 --- a/apps/parser/esm/models/v3/operation-traits.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { OperationTraitInterface } from '../operation-trait'; -export declare class OperationTraits extends Collection implements OperationTraitsInterface { - get(id: string): OperationTraitInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/operation-traits.js b/apps/parser/esm/models/v3/operation-traits.js deleted file mode 100644 index e663f6589..000000000 --- a/apps/parser/esm/models/v3/operation-traits.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class OperationTraits extends Collection { - get(id) { - return this.collections.find(trait => trait.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/operation.d.ts b/apps/parser/esm/models/v3/operation.d.ts deleted file mode 100644 index 39181b612..000000000 --- a/apps/parser/esm/models/v3/operation.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { OperationTrait } from './operation-trait'; -import type { ChannelsInterface } from '../channels'; -import type { MessagesInterface } from '../messages'; -import type { OperationInterface, OperationAction } from '../operation'; -import type { OperationReplyInterface } from '../operation-reply'; -import type { OperationTraitsInterface } from '../operation-traits'; -import type { ServersInterface } from '../servers'; -import type { v3 } from '../../spec-types'; -export declare class Operation extends OperationTrait implements OperationInterface { - action(): OperationAction; - isSend(): boolean; - isReceive(): boolean; - servers(): ServersInterface; - channels(): ChannelsInterface; - messages(): MessagesInterface; - hasReply(): boolean; - reply(): OperationReplyInterface | undefined; - traits(): OperationTraitsInterface; -} diff --git a/apps/parser/esm/models/v3/operation.js b/apps/parser/esm/models/v3/operation.js deleted file mode 100644 index 541e02b00..000000000 --- a/apps/parser/esm/models/v3/operation.js +++ /dev/null @@ -1,70 +0,0 @@ -import { Messages } from './messages'; -import { Message } from './message'; -import { Channels } from './channels'; -import { Channel } from './channel'; -import { OperationTraits } from './operation-traits'; -import { OperationTrait } from './operation-trait'; -import { OperationReply } from './operation-reply'; -import { Servers } from './servers'; -import { xParserObjectUniqueId } from '../../constants'; -export class Operation extends OperationTrait { - action() { - return this._json.action; - } - isSend() { - return this.action() === 'send'; - } - isReceive() { - return this.action() === 'receive'; - } - servers() { - const servers = []; - const serversData = []; - this.channels().forEach(channel => { - channel.servers().forEach(server => { - const serverData = server.json(); - if (!serversData.includes(serverData)) { - serversData.push(serverData); - servers.push(server); - } - }); - }); - return new Servers(servers); - } - channels() { - if (this._json.channel) { - const operationChannelId = this._json.channel[xParserObjectUniqueId]; - return new Channels([ - this.createModel(Channel, this._json.channel, { id: operationChannelId, pointer: `/channels/${operationChannelId}` }) - ]); - } - return new Channels([]); - } - messages() { - const messages = []; - if (Array.isArray(this._json.messages)) { - this._json.messages.forEach((message, index) => { - const messageId = message[xParserObjectUniqueId]; - messages.push(this.createModel(Message, message, { id: messageId, pointer: this.jsonPath(`messages/${index}`) })); - }); - return new Messages(messages); - } - this.channels().forEach(channel => { - messages.push(...channel.messages()); - }); - return new Messages(messages); - } - hasReply() { - return !!this._json.reply; - } - reply() { - if (this._json.reply) { - return this.createModel(OperationReply, this._json.reply, { pointer: this.jsonPath('reply') }); - } - } - traits() { - return new OperationTraits((this._json.traits || []).map((trait, index) => { - return this.createModel(OperationTrait, trait, { id: '', pointer: this.jsonPath(`traits/${index}`) }); - })); - } -} diff --git a/apps/parser/esm/models/v3/operations.d.ts b/apps/parser/esm/models/v3/operations.d.ts deleted file mode 100644 index 161cb9b2e..000000000 --- a/apps/parser/esm/models/v3/operations.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import type { OperationsInterface } from '../operations'; -import type { OperationInterface } from '../operation'; -export declare class Operations extends Collection implements OperationsInterface { - get(id: string): OperationInterface | undefined; - filterBySend(): OperationInterface[]; - filterByReceive(): OperationInterface[]; -} diff --git a/apps/parser/esm/models/v3/operations.js b/apps/parser/esm/models/v3/operations.js deleted file mode 100644 index 48e51ae25..000000000 --- a/apps/parser/esm/models/v3/operations.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Operations extends Collection { - get(id) { - return this.collections.find(operation => operation.id() === id); - } - filterBySend() { - return this.filterBy(operation => operation.isSend()); - } - filterByReceive() { - return this.filterBy(operation => operation.isReceive()); - } -} diff --git a/apps/parser/esm/models/v3/schema.d.ts b/apps/parser/esm/models/v3/schema.d.ts deleted file mode 100644 index be8d1ac43..000000000 --- a/apps/parser/esm/models/v3/schema.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { BaseModel, ModelMetadata } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { SchemaInterface } from '../schema'; -import type { v3 } from '../../spec-types'; -export declare class Schema extends BaseModel implements SchemaInterface { - protected readonly _json: v3.MultiFormatSchemaObject; - protected readonly _meta: ModelMetadata & { - id?: string; - parent?: Schema; - }; - private _schemaFormat; - private _schemaObject; - constructor(_json: v3.MultiFormatSchemaObject, _meta?: ModelMetadata & { - id?: string; - parent?: Schema; - }); - id(): string; - $comment(): string | undefined; - $id(): string | undefined; - $schema(): string; - additionalItems(): boolean | SchemaInterface; - additionalProperties(): boolean | SchemaInterface; - allOf(): Array | undefined; - anyOf(): Array | undefined; - const(): any; - contains(): SchemaInterface | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - default(): any; - definitions(): Record | undefined; - description(): string | undefined; - dependencies(): Record> | undefined; - deprecated(): boolean; - discriminator(): string | undefined; - else(): SchemaInterface | undefined; - enum(): Array | undefined; - examples(): Array | undefined; - exclusiveMaximum(): number | undefined; - exclusiveMinimum(): number | undefined; - format(): string | undefined; - isBooleanSchema(): boolean; - if(): SchemaInterface | undefined; - isCircular(): boolean; - items(): SchemaInterface | Array | undefined; - maximum(): number | undefined; - maxItems(): number | undefined; - maxLength(): number | undefined; - maxProperties(): number | undefined; - minimum(): number | undefined; - minItems(): number | undefined; - minLength(): number | undefined; - minProperties(): number | undefined; - multipleOf(): number | undefined; - not(): SchemaInterface | undefined; - oneOf(): Array | undefined; - pattern(): string | undefined; - patternProperties(): Record | undefined; - properties(): Record | undefined; - property(name: string): SchemaInterface | undefined; - propertyNames(): SchemaInterface | undefined; - readOnly(): boolean | undefined; - required(): Array | undefined; - schemaFormat(): string; - then(): SchemaInterface | undefined; - title(): string | undefined; - type(): string | Array | undefined; - uniqueItems(): boolean | undefined; - writeOnly(): boolean | undefined; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/schema.js b/apps/parser/esm/models/v3/schema.js deleted file mode 100644 index 41f6ade4e..000000000 --- a/apps/parser/esm/models/v3/schema.js +++ /dev/null @@ -1,321 +0,0 @@ -import { BaseModel } from '../base'; -import { xParserSchemaId } from '../../constants'; -import { extensions, hasExternalDocs, externalDocs } from './mixins'; -import { getDefaultSchemaFormat } from '../../schema-parser'; -export class Schema extends BaseModel { - // The following constructor is needed because, starting from AsyncAPI v3, schemas can be multi-format as well. - constructor(_json, _meta = {}) { - var _a, _b; - super(_json, _meta); - this._json = _json; - this._meta = _meta; - // Based on the shape of the JSON, we grab the data for the Schema from the root (Schema) or rather from `schema` field (MultiFormatSchema). - if (typeof _json === 'object' && typeof _json.schema === 'object') { - this._schemaObject = _json.schema; - this._schemaFormat = _json.schemaFormat; - } - else { - this._schemaObject = _json; - this._schemaFormat = getDefaultSchemaFormat((_b = (_a = _meta.asyncapi) === null || _a === void 0 ? void 0 : _a.semver) === null || _b === void 0 ? void 0 : _b.version); - } - } - id() { - return this.$id() || this._meta.id || this._schemaObject[xParserSchemaId]; - } - $comment() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.$comment; - } - $id() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.$id; - } - $schema() { - var _a; - if (typeof this._schemaObject === 'boolean') - return 'http://json-schema.org/draft-07/schema#'; - return (_a = this._schemaObject.$schema) !== null && _a !== void 0 ? _a : 'http://json-schema.org/draft-07/schema#'; - } - additionalItems() { - if (typeof this._schemaObject === 'boolean') - return this._schemaObject; - if (this._schemaObject.additionalItems === undefined) - return true; - if (typeof this._schemaObject.additionalItems === 'boolean') - return this._schemaObject.additionalItems; - return this.createModel(Schema, this._schemaObject.additionalItems, { pointer: `${this._meta.pointer}/additionalItems`, parent: this }); - } - additionalProperties() { - if (typeof this._schemaObject === 'boolean') - return this._schemaObject; - if (this._schemaObject.additionalProperties === undefined) - return true; - if (typeof this._schemaObject.additionalProperties === 'boolean') - return this._schemaObject.additionalProperties; - return this.createModel(Schema, this._schemaObject.additionalProperties, { pointer: `${this._meta.pointer}/additionalProperties`, parent: this }); - } - allOf() { - if (typeof this._schemaObject === 'boolean') - return; - if (!Array.isArray(this._schemaObject.allOf)) - return undefined; - return this._schemaObject.allOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/allOf/${index}`, parent: this })); - } - anyOf() { - if (typeof this._schemaObject === 'boolean') - return; - if (!Array.isArray(this._schemaObject.anyOf)) - return undefined; - return this._schemaObject.anyOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/anyOf/${index}`, parent: this })); - } - const() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.const; - } - contains() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.contains !== 'object') - return; - return this.createModel(Schema, this._schemaObject.contains, { pointer: `${this._meta.pointer}/contains`, parent: this }); - } - contentEncoding() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.contentEncoding; - } - contentMediaType() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.contentMediaType; - } - default() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.default; - } - definitions() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.definitions !== 'object') - return; - return Object.entries(this._schemaObject.definitions).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/definitions/${key}`, parent: this }); - return acc; - }, {}); - } - description() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.description; - } - dependencies() { - if (typeof this._schemaObject === 'boolean') - return; - if (typeof this._schemaObject.dependencies !== 'object') - return undefined; - return Object.entries(this._schemaObject.dependencies).reduce((acc, [key, s]) => { - acc[key] = Array.isArray(s) ? s : this.createModel(Schema, s, { pointer: `${this._meta.pointer}/dependencies/${key}`, parent: this }); - return acc; - }, {}); - } - deprecated() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.deprecated || false; - } - discriminator() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.discriminator; - } - else() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.else !== 'object') - return; - return this.createModel(Schema, this._schemaObject.else, { pointer: `${this._meta.pointer}/else`, parent: this }); - } - enum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.enum; - } - examples() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.examples; - } - exclusiveMaximum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.exclusiveMaximum; - } - exclusiveMinimum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.exclusiveMinimum; - } - format() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.format; - } - isBooleanSchema() { - return typeof this._schemaObject === 'boolean'; - } - if() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.if !== 'object') - return; - return this.createModel(Schema, this._schemaObject.if, { pointer: `${this._meta.pointer}/if`, parent: this }); - } - isCircular() { - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._schemaObject) - return true; - parent = parent._meta.parent; - } - return false; - } - items() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.items !== 'object') - return; - if (Array.isArray(this._schemaObject.items)) { - return this._schemaObject.items.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/items/${index}`, parent: this })); - } - return this.createModel(Schema, this._schemaObject.items, { pointer: `${this._meta.pointer}/items`, parent: this }); - } - maximum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maximum; - } - maxItems() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maxItems; - } - maxLength() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maxLength; - } - maxProperties() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.maxProperties; - } - minimum() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minimum; - } - minItems() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minItems; - } - minLength() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minLength; - } - minProperties() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.minProperties; - } - multipleOf() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.multipleOf; - } - not() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.not !== 'object') - return; - return this.createModel(Schema, this._schemaObject.not, { pointer: `${this._meta.pointer}/not`, parent: this }); - } - oneOf() { - if (typeof this._schemaObject === 'boolean') - return; - if (!Array.isArray(this._schemaObject.oneOf)) - return undefined; - return this._schemaObject.oneOf.map((s, index) => this.createModel(Schema, s, { pointer: `${this._meta.pointer}/oneOf/${index}`, parent: this })); - } - pattern() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.pattern; - } - patternProperties() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.patternProperties !== 'object') - return; - return Object.entries(this._schemaObject.patternProperties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/patternProperties/${key}`, parent: this }); - return acc; - }, {}); - } - properties() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object') - return; - return Object.entries(this._schemaObject.properties).reduce((acc, [key, s]) => { - acc[key] = this.createModel(Schema, s, { pointer: `${this._meta.pointer}/properties/${key}`, parent: this }); - return acc; - }, {}); - } - property(name) { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.properties !== 'object' || typeof this._schemaObject.properties[name] !== 'object') - return; - return this.createModel(Schema, this._schemaObject.properties[name], { pointer: `${this._meta.pointer}/properties/${name}`, parent: this }); - } - propertyNames() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.propertyNames !== 'object') - return; - return this.createModel(Schema, this._schemaObject.propertyNames, { pointer: `${this._meta.pointer}/propertyNames`, parent: this }); - } - readOnly() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.readOnly || false; - } - required() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.required; - } - schemaFormat() { - return this._schemaFormat; - } - then() { - if (typeof this._schemaObject === 'boolean' || typeof this._schemaObject.then !== 'object') - return; - return this.createModel(Schema, this._schemaObject.then, { pointer: `${this._meta.pointer}/then`, parent: this }); - } - title() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.title; - } - type() { - if (typeof this._schemaObject === 'boolean') - return; - return this._schemaObject.type; - } - uniqueItems() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.uniqueItems || false; - } - writeOnly() { - if (typeof this._schemaObject === 'boolean') - return false; - return this._schemaObject.writeOnly || false; - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/schemas.d.ts b/apps/parser/esm/models/v3/schemas.d.ts deleted file mode 100644 index 15c1d17bc..000000000 --- a/apps/parser/esm/models/v3/schemas.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SchemasInterface } from '../schemas'; -import type { SchemaInterface } from '../schema'; -export declare class Schemas extends Collection implements SchemasInterface { - get(id: string): SchemaInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/schemas.js b/apps/parser/esm/models/v3/schemas.js deleted file mode 100644 index 6cb574e32..000000000 --- a/apps/parser/esm/models/v3/schemas.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class Schemas extends Collection { - get(id) { - return this.collections.find(schema => schema.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/security-requirement.d.ts b/apps/parser/esm/models/v3/security-requirement.d.ts deleted file mode 100644 index 88cb3a757..000000000 --- a/apps/parser/esm/models/v3/security-requirement.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseModel } from '../base'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirement extends BaseModel<{ - scopes?: string[]; - scheme: SecuritySchemeInterface; -}, { - id?: string; -}> implements SecurityRequirementInterface { - scheme(): SecuritySchemeInterface; - scopes(): string[]; -} diff --git a/apps/parser/esm/models/v3/security-requirement.js b/apps/parser/esm/models/v3/security-requirement.js deleted file mode 100644 index 2ce62cdfa..000000000 --- a/apps/parser/esm/models/v3/security-requirement.js +++ /dev/null @@ -1,9 +0,0 @@ -import { BaseModel } from '../base'; -export class SecurityRequirement extends BaseModel { - scheme() { - return this._json.scheme; - } - scopes() { - return this._json.scopes || []; - } -} diff --git a/apps/parser/esm/models/v3/security-requirements.d.ts b/apps/parser/esm/models/v3/security-requirements.d.ts deleted file mode 100644 index 882dd7bbc..000000000 --- a/apps/parser/esm/models/v3/security-requirements.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecurityRequirementsInterface } from '../security-requirements'; -import type { SecurityRequirementInterface } from '../security-requirement'; -export declare class SecurityRequirements extends Collection implements SecurityRequirementsInterface { - get(id: string): SecurityRequirementInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/security-requirements.js b/apps/parser/esm/models/v3/security-requirements.js deleted file mode 100644 index f8c1cbc47..000000000 --- a/apps/parser/esm/models/v3/security-requirements.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class SecurityRequirements extends Collection { - get(id) { - return this.collections.find(securityRequirement => securityRequirement.meta('id') === id); - } -} diff --git a/apps/parser/esm/models/v3/security-scheme.d.ts b/apps/parser/esm/models/v3/security-scheme.d.ts deleted file mode 100644 index 4bbef1f2e..000000000 --- a/apps/parser/esm/models/v3/security-scheme.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { SecuritySchemeInterface } from '../security-scheme'; -import type { OAuthFlowsInterface } from '../oauth-flows'; -import type { v3 } from '../../spec-types'; -export declare class SecurityScheme extends BaseModel implements SecuritySchemeInterface { - id(): string; - type(): v3.SecuritySchemeType; - hasDescription(): boolean; - description(): string | undefined; - hasName(): boolean; - name(): string | undefined; - hasIn(): boolean; - in(): v3.SecuritySchemaLocation | undefined; - hasScheme(): boolean; - scheme(): string | undefined; - hasBearerFormat(): boolean; - bearerFormat(): string | undefined; - hasFlows(): boolean; - flows(): OAuthFlowsInterface | undefined; - hasOpenIdConnectUrl(): boolean; - openIdConnectUrl(): string | undefined; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/security-scheme.js b/apps/parser/esm/models/v3/security-scheme.js deleted file mode 100644 index e82e9bd38..000000000 --- a/apps/parser/esm/models/v3/security-scheme.js +++ /dev/null @@ -1,58 +0,0 @@ -import { BaseModel } from '../base'; -import { OAuthFlows } from './oauth-flows'; -import { hasDescription, description, extensions } from './mixins'; -export class SecurityScheme extends BaseModel { - id() { - return this._meta.id; - } - type() { - return this._json.type; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasName() { - return !!this._json.name; - } - name() { - return this._json.name; - } - hasIn() { - return !!this._json.in; - } - in() { - return this._json.in; - } - hasScheme() { - return !!this._json.scheme; - } - scheme() { - return this._json.scheme; - } - hasBearerFormat() { - return !!this._json.bearerFormat; - } - bearerFormat() { - return this._json.bearerFormat; - } - hasFlows() { - return !!this._json.flows; - } - flows() { - if (!this._json.flows) - return undefined; - return new OAuthFlows(this._json.flows); - } - hasOpenIdConnectUrl() { - return !!this._json.openIdConnectUrl; - } - openIdConnectUrl() { - return this._json.openIdConnectUrl; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/security-schemes.d.ts b/apps/parser/esm/models/v3/security-schemes.d.ts deleted file mode 100644 index e9d23e914..000000000 --- a/apps/parser/esm/models/v3/security-schemes.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { SecuritySchemesInterface } from '../security-schemes'; -import type { SecuritySchemeInterface } from '../security-scheme'; -export declare class SecuritySchemes extends Collection implements SecuritySchemesInterface { - get(id: string): SecuritySchemeInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/security-schemes.js b/apps/parser/esm/models/v3/security-schemes.js deleted file mode 100644 index fea91c4b7..000000000 --- a/apps/parser/esm/models/v3/security-schemes.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class SecuritySchemes extends Collection { - get(id) { - return this.collections.find(securityScheme => securityScheme.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/server-variable.d.ts b/apps/parser/esm/models/v3/server-variable.d.ts deleted file mode 100644 index 63b954f0e..000000000 --- a/apps/parser/esm/models/v3/server-variable.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ServerVariableInterface } from '../server-variable'; -import type { v3 } from '../../spec-types'; -export declare class ServerVariable extends BaseModel implements ServerVariableInterface { - id(): string; - hasDescription(): boolean; - description(): string | undefined; - hasDefaultValue(): boolean; - defaultValue(): string | undefined; - hasAllowedValues(): boolean; - allowedValues(): Array; - examples(): Array; - extensions(): ExtensionsInterface; -} diff --git a/apps/parser/esm/models/v3/server-variable.js b/apps/parser/esm/models/v3/server-variable.js deleted file mode 100644 index df9caa08d..000000000 --- a/apps/parser/esm/models/v3/server-variable.js +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions } from './mixins'; -export class ServerVariable extends BaseModel { - id() { - return this._meta.id; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasDefaultValue() { - return !!this._json.default; - } - defaultValue() { - return this._json.default; - } - hasAllowedValues() { - return !!this._json.enum; - } - allowedValues() { - return this._json.enum || []; - } - examples() { - return this._json.examples || []; - } - extensions() { - return extensions(this); - } -} diff --git a/apps/parser/esm/models/v3/server-variables.d.ts b/apps/parser/esm/models/v3/server-variables.d.ts deleted file mode 100644 index 7e3ebe7f4..000000000 --- a/apps/parser/esm/models/v3/server-variables.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { ServerVariableInterface } from '../server-variable'; -export declare class ServerVariables extends Collection implements ServerVariablesInterface { - get(id: string): ServerVariableInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/server-variables.js b/apps/parser/esm/models/v3/server-variables.js deleted file mode 100644 index 3ae580ded..000000000 --- a/apps/parser/esm/models/v3/server-variables.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class ServerVariables extends Collection { - get(id) { - return this.collections.find(variable => variable.id() === id); - } -} diff --git a/apps/parser/esm/models/v3/server.d.ts b/apps/parser/esm/models/v3/server.d.ts deleted file mode 100644 index 6ca2e8906..000000000 --- a/apps/parser/esm/models/v3/server.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { SecurityRequirements } from './security-requirements'; -import { CoreModel } from './mixins'; -import type { ChannelsInterface } from '../channels'; -import type { OperationsInterface } from '../operations'; -import type { MessagesInterface } from '../messages'; -import type { ServerInterface } from '../server'; -import type { ServerVariablesInterface } from '../server-variables'; -import type { v3 } from '../../spec-types'; -export declare class Server extends CoreModel implements ServerInterface { - id(): string; - url(): string; - host(): string; - protocol(): string; - hasPathname(): boolean; - pathname(): string | undefined; - hasProtocolVersion(): boolean; - protocolVersion(): string | undefined; - channels(): ChannelsInterface; - operations(): OperationsInterface; - messages(): MessagesInterface; - variables(): ServerVariablesInterface; - security(): SecurityRequirements[]; -} diff --git a/apps/parser/esm/models/v3/server.js b/apps/parser/esm/models/v3/server.js deleted file mode 100644 index 75d870c8d..000000000 --- a/apps/parser/esm/models/v3/server.js +++ /dev/null @@ -1,99 +0,0 @@ -import { Channels } from './channels'; -import { Channel } from './channel'; -import { Messages } from './messages'; -import { Operations } from './operations'; -import { SecurityScheme } from './security-scheme'; -import { ServerVariables } from './server-variables'; -import { ServerVariable } from './server-variable'; -import { SecurityRequirements } from './security-requirements'; -import { SecurityRequirement } from './security-requirement'; -import { CoreModel } from './mixins'; -import { tilde } from '../../utils'; -export class Server extends CoreModel { - id() { - return this._meta.id; - } - url() { - let host = this.host(); - if (!host.endsWith('/')) { - host = `${host}/`; - } - let pathname = this.pathname() || ''; - if (pathname.startsWith('/')) { - pathname = pathname.substring(1); - } - return `${this.protocol()}://${host}${pathname}`; - } - host() { - return this._json.host; - } - protocol() { - return this._json.protocol; - } - hasPathname() { - return !!this._json.pathname; - } - pathname() { - return this._json.pathname; - } - hasProtocolVersion() { - return !!this._json.protocolVersion; - } - protocolVersion() { - return this._json.protocolVersion; - } - channels() { - var _a, _b; - const channels = []; - Object.entries(((_b = (_a = this._meta.asyncapi) === null || _a === void 0 ? void 0 : _a.parsed) === null || _b === void 0 ? void 0 : _b.channels) || {}).forEach(([channelName, channel]) => { - const allowedServers = channel.servers || []; - if (allowedServers.length === 0 || allowedServers.includes(this._json)) { - channels.push(this.createModel(Channel, channel, { id: channelName, pointer: `/channels/${tilde(channelName)}` })); - } - }); - return new Channels(channels); - } - operations() { - const operations = []; - const operationsData = []; - this.channels().forEach(channel => { - channel.operations().forEach(operation => { - const operationData = operation.json(); - if (!operationsData.includes(operationData)) { - operations.push(operation); - operationsData.push(operationData); - } - }); - }); - return new Operations(operations); - } - messages() { - const messages = []; - const messagedData = []; - this.channels().forEach(channel => { - channel.messages().forEach(message => { - const messageData = message.json(); - if (!messagedData.includes(messageData)) { - messages.push(message); - messagedData.push(messageData); - } - }); - }); - return new Messages(messages); - } - variables() { - return new ServerVariables(Object.entries(this._json.variables || {}).map(([serverVariableName, serverVariable]) => { - return this.createModel(ServerVariable, serverVariable, { - id: serverVariableName, - pointer: this.jsonPath(`variables/${serverVariableName}`), - }); - })); - } - security() { - return (this._json.security || []).map((security, index) => { - const scheme = this.createModel(SecurityScheme, security, { id: '', pointer: this.jsonPath(`security/${index}`) }); - const requirement = this.createModel(SecurityRequirement, { scheme, scopes: security.scopes }, { id: '', pointer: this.jsonPath(`security/${index}`) }); - return new SecurityRequirements([requirement]); - }); - } -} diff --git a/apps/parser/esm/models/v3/servers.d.ts b/apps/parser/esm/models/v3/servers.d.ts deleted file mode 100644 index 101c8aa9e..000000000 --- a/apps/parser/esm/models/v3/servers.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Collection } from '../collection'; -import { ServerInterface } from '../server'; -import { ServersInterface } from '../servers'; -export declare class Servers extends Collection implements ServersInterface { - get(id: string): ServerInterface | undefined; - filterBySend(): ServerInterface[]; - filterByReceive(): ServerInterface[]; -} diff --git a/apps/parser/esm/models/v3/servers.js b/apps/parser/esm/models/v3/servers.js deleted file mode 100644 index 39df4d44f..000000000 --- a/apps/parser/esm/models/v3/servers.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Collection } from '../collection'; -export class Servers extends Collection { - get(id) { - return this.collections.find(server => server.id() === id); - } - filterBySend() { - return this.filterBy(server => server.operations().filterBySend().length > 0); - } - filterByReceive() { - return this.filterBy(server => server.operations().filterByReceive().length > 0); - } -} diff --git a/apps/parser/esm/models/v3/tag.d.ts b/apps/parser/esm/models/v3/tag.d.ts deleted file mode 100644 index 007d9e008..000000000 --- a/apps/parser/esm/models/v3/tag.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseModel } from '../base'; -import type { ExtensionsInterface } from '../extensions'; -import type { ExternalDocumentationInterface } from '../external-docs'; -import type { TagInterface } from '../tag'; -import type { v3 } from '../../spec-types'; -export declare class Tag extends BaseModel implements TagInterface { - id(): string | undefined; - name(): string; - hasDescription(): boolean; - description(): string | undefined; - extensions(): ExtensionsInterface; - hasExternalDocs(): boolean; - externalDocs(): ExternalDocumentationInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/tag.js b/apps/parser/esm/models/v3/tag.js deleted file mode 100644 index 6b2645041..000000000 --- a/apps/parser/esm/models/v3/tag.js +++ /dev/null @@ -1,25 +0,0 @@ -import { BaseModel } from '../base'; -import { hasDescription, description, extensions, hasExternalDocs, externalDocs } from './mixins'; -export class Tag extends BaseModel { - id() { - return this._meta.id; - } - name() { - return this._json.name; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - extensions() { - return extensions(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - externalDocs() { - return externalDocs(this); - } -} diff --git a/apps/parser/esm/models/v3/tags.d.ts b/apps/parser/esm/models/v3/tags.d.ts deleted file mode 100644 index 371794b27..000000000 --- a/apps/parser/esm/models/v3/tags.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -import type { TagsInterface } from '../tags'; -import type { TagInterface } from '../tag'; -export declare class Tags extends Collection implements TagsInterface { - get(name: string): TagInterface | undefined; -} diff --git a/apps/parser/esm/models/v3/tags.js b/apps/parser/esm/models/v3/tags.js deleted file mode 100644 index 13229669b..000000000 --- a/apps/parser/esm/models/v3/tags.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Collection } from '../collection'; -export class Tags extends Collection { - get(name) { - return this.collections.find(tag => tag.name() === name); - } -} diff --git a/apps/parser/esm/old-api/asyncapi.d.ts b/apps/parser/esm/old-api/asyncapi.d.ts deleted file mode 100644 index a441ac55a..000000000 --- a/apps/parser/esm/old-api/asyncapi.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { Info } from './info'; -import { Server } from './server'; -import { Channel } from './channel'; -import { Components } from './components'; -import { Message } from './message'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -import type { SchemaTypesToIterate, TraverseCallback } from './iterator'; -export declare class AsyncAPIDocument extends SpecificationExtensionsModel { - version(): string; - info(): Info; - id(): string | undefined; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; - hasServers(): boolean; - servers(): Record; - serverNames(): string[]; - server(name: string): Server | null; - hasDefaultContentType(): boolean; - defaultContentType(): string | null; - hasChannels(): boolean; - channels(): Record; - channelNames(): string[]; - channel(name: string): Channel | null; - hasComponents(): boolean; - components(): Components | null; - hasMessages(): boolean; - allMessages(): Map; - allSchemas(): Map; - hasCircular(): boolean; - traverseSchemas(callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; - static stringify(doc: AsyncAPIDocument, space?: number): string | undefined; - static parse(doc: string | Record): AsyncAPIDocument | undefined; -} diff --git a/apps/parser/esm/old-api/asyncapi.js b/apps/parser/esm/old-api/asyncapi.js deleted file mode 100644 index d9e941715..000000000 --- a/apps/parser/esm/old-api/asyncapi.js +++ /dev/null @@ -1,157 +0,0 @@ -import { SpecificationExtensionsModel, hasExternalDocs, externalDocs, tagsMixins, createMapOfType, getMapValue } from './mixins'; -import { Info } from './info'; -import { Server } from './server'; -import { Channel } from './channel'; -import { Components } from './components'; -import { traverseAsyncApiDocument } from './iterator'; -import { xParserCircular, xParserSpecStringified, xParserSpecParsed } from '../constants'; -import { refReplacer, traverseStringifiedData } from '../stringify'; -export class AsyncAPIDocument extends SpecificationExtensionsModel { - version() { - return this._json.asyncapi; - } - info() { - return new Info(this._json.info); - } - id() { - return this._json.id; - } - externalDocs() { - return externalDocs(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - hasTags() { - return tagsMixins.hasTags(this); - } - tags() { - return tagsMixins.tags(this); - } - tagNames() { - return tagsMixins.tagNames(this); - } - hasTag(name) { - return tagsMixins.hasTag(this, name); - } - tag(name) { - return tagsMixins.tag(this, name); - } - hasServers() { - return !!this._json.servers; - } - servers() { - return createMapOfType(this._json.servers, Server); - } - serverNames() { - if (!this._json.servers) - return []; - return Object.keys(this._json.servers); - } - server(name) { - return getMapValue(this._json.servers, name, Server); - } - hasDefaultContentType() { - return !!this._json.defaultContentType; - } - defaultContentType() { - return this._json.defaultContentType || null; - } - hasChannels() { - return !!this._json.channels; - } - channels() { - return createMapOfType(this._json.channels, Channel); - } - channelNames() { - if (!this._json.channels) - return []; - return Object.keys(this._json.channels); - } - channel(name) { - return getMapValue(this._json.channels, name, Channel); - } - hasComponents() { - return !!this._json.components; - } - components() { - if (!this._json.components) - return null; - return new Components(this._json.components); - } - hasMessages() { - return !!this.allMessages().size; - } - allMessages() { - const messages = new Map(); - if (this.hasChannels()) { - this.channelNames().forEach(channelName => { - const channel = this.channel(channelName); - if (channel) { - if (channel.hasPublish()) { - channel.publish().messages().forEach(m => { - messages.set(m.uid(), m); - }); - } - if (channel.hasSubscribe()) { - channel.subscribe().messages().forEach(m => { - messages.set(m.uid(), m); - }); - } - } - }); - } - if (this.hasComponents()) { - Object.values(this.components().messages()).forEach(m => { - messages.set(m.uid(), m); - }); - } - return messages; - } - allSchemas() { - const schemas = new Map(); - function allSchemasCallback(schema) { - if (schema.uid()) { - schemas.set(schema.uid(), schema); - } - } - traverseAsyncApiDocument(this, allSchemasCallback); - return schemas; - } - hasCircular() { - return !!this._json[xParserCircular]; - } - traverseSchemas(callback, schemaTypesToIterate = []) { - traverseAsyncApiDocument(this, callback, schemaTypesToIterate); - } - static stringify(doc, space) { - const rawDoc = doc.json(); - const copiedDoc = Object.assign({}, rawDoc); - copiedDoc[xParserSpecStringified] = true; - return JSON.stringify(copiedDoc, refReplacer(), space); - } - static parse(doc) { - let parsedJSON = doc; - if (typeof doc === 'string') { - parsedJSON = JSON.parse(doc); - } - else if (typeof doc === 'object') { - // shall copy - parsedJSON = Object.assign({}, parsedJSON); - } - // the `doc` must be an AsyncAPI parsed document - if (typeof parsedJSON !== 'object' || !parsedJSON[xParserSpecParsed]) { - throw new Error('Cannot parse invalid AsyncAPI document'); - } - // if the `doc` is not stringified via the `stringify` static method then immediately return a model. - if (!parsedJSON[xParserSpecStringified]) { - return new AsyncAPIDocument(parsedJSON); - } - // remove `x-parser-spec-stringified` extension - delete parsedJSON[String(xParserSpecStringified)]; - const objToPath = new Map(); - const pathToObj = new Map(); - traverseStringifiedData(parsedJSON, undefined, parsedJSON, objToPath, pathToObj); - return new AsyncAPIDocument(parsedJSON); - } -} diff --git a/apps/parser/esm/old-api/base.d.ts b/apps/parser/esm/old-api/base.d.ts deleted file mode 100644 index 286a470ef..000000000 --- a/apps/parser/esm/old-api/base.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare abstract class Base = Record> { - protected readonly _json: J; - protected readonly _meta: M; - constructor(_json: J, _meta?: M); - json(): T; - json(key: K): J[K]; -} diff --git a/apps/parser/esm/old-api/base.js b/apps/parser/esm/old-api/base.js deleted file mode 100644 index 110fdc10f..000000000 --- a/apps/parser/esm/old-api/base.js +++ /dev/null @@ -1,16 +0,0 @@ -export class Base { - constructor(_json, _meta = {}) { - this._json = _json; - this._meta = _meta; - if (_json === undefined || _json === null) { - throw new Error('Invalid JSON to instantiate the Base object.'); - } - } - json(key) { - if (key === undefined || typeof this._json !== 'object') - return this._json; - if (!this._json) - return; - return this._json[key]; - } -} diff --git a/apps/parser/esm/old-api/channel-parameter.d.ts b/apps/parser/esm/old-api/channel-parameter.d.ts deleted file mode 100644 index 3265c56d0..000000000 --- a/apps/parser/esm/old-api/channel-parameter.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -export declare class ChannelParameter extends SpecificationExtensionsModel { - description(): string | null; - hasDescription(): boolean; - schema(): Schema | null; - location(): string | undefined; -} diff --git a/apps/parser/esm/old-api/channel-parameter.js b/apps/parser/esm/old-api/channel-parameter.js deleted file mode 100644 index 8d952addc..000000000 --- a/apps/parser/esm/old-api/channel-parameter.js +++ /dev/null @@ -1,18 +0,0 @@ -import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; -import { Schema } from './schema'; -export class ChannelParameter extends SpecificationExtensionsModel { - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - schema() { - if (!this._json.schema) - return null; - return new Schema(this._json.schema); - } - location() { - return this._json.location; - } -} diff --git a/apps/parser/esm/old-api/channel.d.ts b/apps/parser/esm/old-api/channel.d.ts deleted file mode 100644 index 8214311fc..000000000 --- a/apps/parser/esm/old-api/channel.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { ChannelParameter } from './channel-parameter'; -import { Operation } from './operation'; -import type { v2 } from '../spec-types'; -export declare class Channel extends SpecificationExtensionsModel { - description(): string | null; - hasDescription(): boolean; - hasParameters(): boolean; - parameters(): Record; - parameter(name: string): ChannelParameter | null; - hasServers(): boolean; - servers(): string[]; - server(index: number | string): string | null; - publish(): Operation | null; - subscribe(): Operation | null; - hasPublish(): boolean; - hasSubscribe(): boolean; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; -} diff --git a/apps/parser/esm/old-api/channel.js b/apps/parser/esm/old-api/channel.js deleted file mode 100644 index 2ff5b1b61..000000000 --- a/apps/parser/esm/old-api/channel.js +++ /dev/null @@ -1,68 +0,0 @@ -import { SpecificationExtensionsModel, hasDescription, description, createMapOfType, bindingsMixins, getMapValue } from './mixins'; -import { ChannelParameter } from './channel-parameter'; -import { Operation } from './operation'; -export class Channel extends SpecificationExtensionsModel { - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - hasParameters() { - return !!this._json.parameters; - } - parameters() { - return createMapOfType(this._json.parameters, ChannelParameter); - } - parameter(name) { - return getMapValue(this._json.parameters, name, ChannelParameter); - } - hasServers() { - return !!this._json.servers; - } - servers() { - if (!this._json.servers) - return []; - return this._json.servers; - } - server(index) { - if (!this._json.servers) - return null; - if (typeof index !== 'number') - return null; - if (index > this._json.servers.length - 1) - return null; - return this._json.servers[+index]; - } - publish() { - if (!this._json.publish) - return null; - return new Operation(this._json.publish, { kind: 'publish' }); - } - subscribe() { - if (!this._json.subscribe) - return null; - return new Operation(this._json.subscribe, { kind: 'subscribe' }); - } - hasPublish() { - return !!this._json.publish; - } - hasSubscribe() { - return !!this._json.subscribe; - } - hasBindings() { - return bindingsMixins.hasBindings(this); - } - bindings() { - return bindingsMixins.bindings(this); - } - bindingProtocols() { - return bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return bindingsMixins.hasBinding(this, name); - } - binding(name) { - return bindingsMixins.binding(this, name); - } -} diff --git a/apps/parser/esm/old-api/components.d.ts b/apps/parser/esm/old-api/components.d.ts deleted file mode 100644 index 7a409a019..000000000 --- a/apps/parser/esm/old-api/components.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { Channel } from './channel'; -import { Message } from './message'; -import { Schema } from './schema'; -import { SecurityScheme } from './security-scheme'; -import { Server } from './server'; -import { ChannelParameter } from './channel-parameter'; -import { CorrelationId } from './correlation-id'; -import { OperationTrait } from './operation-trait'; -import { MessageTrait } from './message-trait'; -import { ServerVariable } from './server-variable'; -import type { v2 } from '../spec-types'; -export declare class Components extends SpecificationExtensionsModel { - hasChannels(): boolean; - channels(): Record; - channel(name: string): Channel | null; - hasMessages(): boolean; - messages(): Record; - message(name: string): Message | null; - hasSchemas(): boolean; - schemas(): Record; - schema(name: string): Schema | null; - hasSecuritySchemes(): boolean; - securitySchemes(): Record; - securityScheme(name: string): SecurityScheme | null; - hasServers(): boolean; - servers(): Record; - server(name: string): Server | null; - hasParameters(): boolean; - parameters(): Record; - parameter(name: string): ChannelParameter | null; - hasCorrelationIds(): boolean; - correlationIds(): Record; - correlationId(name: string): CorrelationId | null; - hasOperationTraits(): boolean; - operationTraits(): Record>; - operationTrait(name: string): OperationTrait | null; - hasMessageTraits(): boolean; - messageTraits(): Record>; - messageTrait(name: string): MessageTrait; - hasServerVariables(): boolean; - serverVariables(): Record; - serverVariable(name: string): ServerVariable | null; -} diff --git a/apps/parser/esm/old-api/components.js b/apps/parser/esm/old-api/components.js deleted file mode 100644 index 26fe3ffd6..000000000 --- a/apps/parser/esm/old-api/components.js +++ /dev/null @@ -1,103 +0,0 @@ -import { SpecificationExtensionsModel, createMapOfType, getMapValue } from './mixins'; -import { Channel } from './channel'; -import { Message } from './message'; -import { Schema } from './schema'; -import { SecurityScheme } from './security-scheme'; -import { Server } from './server'; -import { ChannelParameter } from './channel-parameter'; -import { CorrelationId } from './correlation-id'; -import { OperationTrait } from './operation-trait'; -import { MessageTrait } from './message-trait'; -import { ServerVariable } from './server-variable'; -export class Components extends SpecificationExtensionsModel { - hasChannels() { - return !!this._json.channels; - } - channels() { - return createMapOfType(this._json.channels, Channel); - } - channel(name) { - return getMapValue(this._json.channels, name, Channel); - } - hasMessages() { - return !!this._json.messages; - } - messages() { - return createMapOfType(this._json.messages, Message); - } - message(name) { - return getMapValue(this._json.messages, name, Message); - } - hasSchemas() { - return !!this._json.schemas; - } - schemas() { - return createMapOfType(this._json.schemas, Schema); - } - schema(name) { - return getMapValue(this._json.schemas, name, Schema); - } - hasSecuritySchemes() { - return !!this._json.securitySchemes; - } - securitySchemes() { - return createMapOfType(this._json.securitySchemes, SecurityScheme); - } - securityScheme(name) { - return getMapValue(this._json.securitySchemes, name, SecurityScheme); - } - hasServers() { - return !!this._json.servers; - } - servers() { - return createMapOfType(this._json.servers, Server); - } - server(name) { - return getMapValue(this._json.servers, name, Server); - } - hasParameters() { - return !!this._json.parameters; - } - parameters() { - return createMapOfType(this._json.parameters, ChannelParameter); - } - parameter(name) { - return getMapValue(this._json.parameters, name, ChannelParameter); - } - hasCorrelationIds() { - return !!this._json.correlationIds; - } - correlationIds() { - return createMapOfType(this._json.correlationIds, CorrelationId); - } - correlationId(name) { - return getMapValue(this._json.correlationIds, name, CorrelationId); - } - hasOperationTraits() { - return !!this._json.operationTraits; - } - operationTraits() { - return createMapOfType(this._json.operationTraits, OperationTrait); - } - operationTrait(name) { - return getMapValue(this._json.operationTraits, name, OperationTrait); - } - hasMessageTraits() { - return !!this._json.messageTraits; - } - messageTraits() { - return createMapOfType(this._json.messageTraits, MessageTrait); - } - messageTrait(name) { - return getMapValue(this._json.messageTraits, name, MessageTrait); - } - hasServerVariables() { - return !!this._json.serverVariables; - } - serverVariables() { - return createMapOfType(this._json.serverVariables, ServerVariable); - } - serverVariable(name) { - return getMapValue(this._json.serverVariables, name, ServerVariable); - } -} diff --git a/apps/parser/esm/old-api/contact.d.ts b/apps/parser/esm/old-api/contact.d.ts deleted file mode 100644 index dd119cb51..000000000 --- a/apps/parser/esm/old-api/contact.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class Contact extends SpecificationExtensionsModel { - name(): string | undefined; - url(): string | undefined; - email(): string | undefined; -} diff --git a/apps/parser/esm/old-api/contact.js b/apps/parser/esm/old-api/contact.js deleted file mode 100644 index 578be5990..000000000 --- a/apps/parser/esm/old-api/contact.js +++ /dev/null @@ -1,12 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -export class Contact extends SpecificationExtensionsModel { - name() { - return this._json.name; - } - url() { - return this._json.url; - } - email() { - return this._json.email; - } -} diff --git a/apps/parser/esm/old-api/converter.d.ts b/apps/parser/esm/old-api/converter.d.ts deleted file mode 100644 index f405c4a03..000000000 --- a/apps/parser/esm/old-api/converter.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { AsyncAPIDocument } from './asyncapi'; -import type { AsyncAPIDocumentInterface } from '../models/asyncapi'; -export declare function convertToOldAPI(newDocument: AsyncAPIDocumentInterface): AsyncAPIDocument; -export declare function convertToNewAPI(oldDocument: AsyncAPIDocument): AsyncAPIDocumentInterface; diff --git a/apps/parser/esm/old-api/converter.js b/apps/parser/esm/old-api/converter.js deleted file mode 100644 index f0b4bc185..000000000 --- a/apps/parser/esm/old-api/converter.js +++ /dev/null @@ -1,53 +0,0 @@ -import { AsyncAPIDocument } from './asyncapi'; -import { xParserApiVersion, xParserOriginalPayload, xParserOriginalSchemaFormat, xParserOriginalTraits, xParserMessageParsed } from '../constants'; -import { createAsyncAPIDocument } from '../document'; -import { copy } from '../stringify'; -import { getDefaultSchemaFormat } from '../schema-parser'; -import { createDetailedAsyncAPI, setExtension } from '../utils'; -export function convertToOldAPI(newDocument) { - const data = copy(newDocument.json()); - const document = new AsyncAPIDocument(data); - handleMessages(document); - handleOperations(document); - setExtension(xParserApiVersion, 0, document); - return document; -} -export function convertToNewAPI(oldDocument) { - const data = copy(oldDocument.json()); - const detailed = createDetailedAsyncAPI(data); - return createAsyncAPIDocument(detailed); -} -function handleMessages(document) { - const defaultSchemaFormat = getDefaultSchemaFormat(document.version()); - for (const message of document.allMessages().values()) { - const json = message.json(); - if (json.traits) { - json[xParserOriginalTraits] = json.traits; - delete json.traits; - } - json[xParserOriginalSchemaFormat] = json.schemaFormat || defaultSchemaFormat; - json.schemaFormat = defaultSchemaFormat; - json[xParserOriginalPayload] = json[xParserOriginalPayload] || json.payload; - json[xParserMessageParsed] = true; - } -} -function handleOperations(document) { - Object.values(document.channels()).forEach(channel => { - const publish = channel.publish(); - const subscribe = channel.subscribe(); - if (publish) { - const json = publish.json(); - if (json.traits) { - json[xParserOriginalTraits] = json.traits; - delete json.traits; - } - } - if (subscribe) { - const json = subscribe.json(); - if (json.traits) { - json[xParserOriginalTraits] = json.traits; - delete json.traits; - } - } - }); -} diff --git a/apps/parser/esm/old-api/correlation-id.d.ts b/apps/parser/esm/old-api/correlation-id.d.ts deleted file mode 100644 index 02fe34b0d..000000000 --- a/apps/parser/esm/old-api/correlation-id.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class CorrelationId extends SpecificationExtensionsModel { - description(): string | null; - hasDescription(): boolean; - location(): string; -} diff --git a/apps/parser/esm/old-api/correlation-id.js b/apps/parser/esm/old-api/correlation-id.js deleted file mode 100644 index 778e4607b..000000000 --- a/apps/parser/esm/old-api/correlation-id.js +++ /dev/null @@ -1,12 +0,0 @@ -import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; -export class CorrelationId extends SpecificationExtensionsModel { - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - location() { - return this._json.location; - } -} diff --git a/apps/parser/esm/old-api/external-docs.d.ts b/apps/parser/esm/old-api/external-docs.d.ts deleted file mode 100644 index 67df99a8b..000000000 --- a/apps/parser/esm/old-api/external-docs.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Base } from './base'; -import type { v2 } from '../spec-types'; -export declare class ExternalDocs extends Base { - url(): string; - hasDescription(): boolean; - description(): string | null; - hasExtensions(): boolean; - extensions(): v2.SpecificationExtensions; - extensionKeys(): string[]; - extKeys(): string[]; - hasExtension(extension: string): boolean; - extension(extension: string): v2.SpecificationExtension; - hasExt(extension: string): boolean; - ext(extension: string): any; -} diff --git a/apps/parser/esm/old-api/external-docs.js b/apps/parser/esm/old-api/external-docs.js deleted file mode 100644 index b74b4a7f9..000000000 --- a/apps/parser/esm/old-api/external-docs.js +++ /dev/null @@ -1,37 +0,0 @@ -import { Base } from './base'; -import { description, hasDescription, extensionsMixins } from './mixins'; -export class ExternalDocs extends Base { - url() { - return this._json.url; - } - hasDescription() { - return hasDescription(this); - } - description() { - return description(this); - } - hasExtensions() { - return extensionsMixins.hasExtensions(this); - } - extensions() { - return extensionsMixins.extensions(this); - } - extensionKeys() { - return extensionsMixins.extensionKeys(this); - } - extKeys() { - return extensionsMixins.extKeys(this); - } - hasExtension(extension) { - return extensionsMixins.hasExtension(this, extension); - } - extension(extension) { - return extensionsMixins.extension(this, extension); - } - hasExt(extension) { - return extensionsMixins.hasExt(this, extension); - } - ext(extension) { - return extensionsMixins.ext(this, extension); - } -} diff --git a/apps/parser/esm/old-api/index.d.ts b/apps/parser/esm/old-api/index.d.ts deleted file mode 100644 index 3ad086673..000000000 --- a/apps/parser/esm/old-api/index.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -export { convertToOldAPI, convertToNewAPI } from './converter'; -export { AsyncAPIDocument as OldAsyncAPIDocument } from './asyncapi'; -export { Base as OldBase } from './base'; -export { ChannelParameter as OldChannelParameter } from './channel-parameter'; -export { Channel as OldChannel } from './channel'; -export { Components as OldComponents } from './components'; -export { Contact as OldContact } from './contact'; -export { CorrelationId as OldCorrelationId } from './correlation-id'; -export { ExternalDocs as OldExternalDocs } from './external-docs'; -export { License as OldLicense } from './license'; -export { MessageTrait as OldMessageTrait } from './message-trait'; -export { Message as OldMessage } from './message'; -export { OAuthFlow as OldOAuthFlow } from './oauth-flow'; -export { OperationTrait as OldOperationTrait } from './operation-trait'; -export { Operation as OldOperation } from './operation'; -export { Schema as OldSchema } from './schema'; -export { SecurityRequirement as OldSecurityRequirement } from './security-requirement'; -export { SecurityScheme as OldSecurityScheme } from './security-scheme'; -export { ServerVariable as OldServerVariable } from './server-variable'; -export { Server as OldServer } from './server'; -export { Tag as OldTag } from './tag'; diff --git a/apps/parser/esm/old-api/index.js b/apps/parser/esm/old-api/index.js deleted file mode 100644 index 3ad086673..000000000 --- a/apps/parser/esm/old-api/index.js +++ /dev/null @@ -1,21 +0,0 @@ -export { convertToOldAPI, convertToNewAPI } from './converter'; -export { AsyncAPIDocument as OldAsyncAPIDocument } from './asyncapi'; -export { Base as OldBase } from './base'; -export { ChannelParameter as OldChannelParameter } from './channel-parameter'; -export { Channel as OldChannel } from './channel'; -export { Components as OldComponents } from './components'; -export { Contact as OldContact } from './contact'; -export { CorrelationId as OldCorrelationId } from './correlation-id'; -export { ExternalDocs as OldExternalDocs } from './external-docs'; -export { License as OldLicense } from './license'; -export { MessageTrait as OldMessageTrait } from './message-trait'; -export { Message as OldMessage } from './message'; -export { OAuthFlow as OldOAuthFlow } from './oauth-flow'; -export { OperationTrait as OldOperationTrait } from './operation-trait'; -export { Operation as OldOperation } from './operation'; -export { Schema as OldSchema } from './schema'; -export { SecurityRequirement as OldSecurityRequirement } from './security-requirement'; -export { SecurityScheme as OldSecurityScheme } from './security-scheme'; -export { ServerVariable as OldServerVariable } from './server-variable'; -export { Server as OldServer } from './server'; -export { Tag as OldTag } from './tag'; diff --git a/apps/parser/esm/old-api/info.d.ts b/apps/parser/esm/old-api/info.d.ts deleted file mode 100644 index 94d613d55..000000000 --- a/apps/parser/esm/old-api/info.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Contact } from './contact'; -import { License } from './license'; -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class Info extends SpecificationExtensionsModel { - title(): string; - version(): string; - description(): string | null; - hasDescription(): boolean; - termsOfService(): string | undefined; - license(): License | null; - contact(): Contact | null; -} diff --git a/apps/parser/esm/old-api/info.js b/apps/parser/esm/old-api/info.js deleted file mode 100644 index f7fb84b93..000000000 --- a/apps/parser/esm/old-api/info.js +++ /dev/null @@ -1,30 +0,0 @@ -import { Contact } from './contact'; -import { License } from './license'; -import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; -export class Info extends SpecificationExtensionsModel { - title() { - return this._json.title; - } - version() { - return this._json.version; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - termsOfService() { - return this._json.termsOfService; - } - license() { - if (!this._json.license) - return null; - return new License(this._json.license); - } - contact() { - if (!this._json.contact) - return null; - return new Contact(this._json.contact); - } -} diff --git a/apps/parser/esm/old-api/iterator.d.ts b/apps/parser/esm/old-api/iterator.d.ts deleted file mode 100644 index 419fc9546..000000000 --- a/apps/parser/esm/old-api/iterator.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import type { AsyncAPIDocument } from './asyncapi'; -import type { Schema } from './schema'; -/** - * The different kind of stages when crawling a schema. - */ -export declare enum SchemaIteratorCallbackType { - NEW_SCHEMA = "NEW_SCHEMA", - END_SCHEMA = "END_SCHEMA" -} -/** - * The different types of schemas you can iterate - */ -export declare enum SchemaTypesToIterate { - parameters = "parameters", - payloads = "payloads", - headers = "headers", - components = "components", - objects = "objects", - arrays = "arrays", - oneOfs = "oneOfs", - allOfs = "allOfs", - anyOfs = "anyOfs", - nots = "nots", - propertyNames = "propertyNames", - patternProperties = "patternProperties", - contains = "contains", - ifs = "ifs", - thenes = "thenes", - elses = "elses", - dependencies = "dependencies", - definitions = "definitions" -} -export type TraverseOptions = { - callback: TraverseCallback; - schemaTypesToIterate: Array<`${SchemaTypesToIterate}`>; - seenSchemas: Set; -}; -export type TraverseCallback = (schema: Schema, propOrIndex: string | number | null, callbackType: SchemaIteratorCallbackType) => boolean | void; -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -export declare function traverseAsyncApiDocument(doc: AsyncAPIDocument, callback: TraverseCallback, schemaTypesToIterate?: Array<`${SchemaTypesToIterate}`>): void; diff --git a/apps/parser/esm/old-api/iterator.js b/apps/parser/esm/old-api/iterator.js deleted file mode 100644 index 873ba60e7..000000000 --- a/apps/parser/esm/old-api/iterator.js +++ /dev/null @@ -1,246 +0,0 @@ -/** - * The different kind of stages when crawling a schema. - */ -export var SchemaIteratorCallbackType; -(function (SchemaIteratorCallbackType) { - SchemaIteratorCallbackType["NEW_SCHEMA"] = "NEW_SCHEMA"; - SchemaIteratorCallbackType["END_SCHEMA"] = "END_SCHEMA"; -})(SchemaIteratorCallbackType || (SchemaIteratorCallbackType = {})); -/** - * The different types of schemas you can iterate - */ -export var SchemaTypesToIterate; -(function (SchemaTypesToIterate) { - SchemaTypesToIterate["parameters"] = "parameters"; - SchemaTypesToIterate["payloads"] = "payloads"; - SchemaTypesToIterate["headers"] = "headers"; - SchemaTypesToIterate["components"] = "components"; - SchemaTypesToIterate["objects"] = "objects"; - SchemaTypesToIterate["arrays"] = "arrays"; - SchemaTypesToIterate["oneOfs"] = "oneOfs"; - SchemaTypesToIterate["allOfs"] = "allOfs"; - SchemaTypesToIterate["anyOfs"] = "anyOfs"; - SchemaTypesToIterate["nots"] = "nots"; - SchemaTypesToIterate["propertyNames"] = "propertyNames"; - SchemaTypesToIterate["patternProperties"] = "patternProperties"; - SchemaTypesToIterate["contains"] = "contains"; - SchemaTypesToIterate["ifs"] = "ifs"; - SchemaTypesToIterate["thenes"] = "thenes"; - SchemaTypesToIterate["elses"] = "elses"; - SchemaTypesToIterate["dependencies"] = "dependencies"; - SchemaTypesToIterate["definitions"] = "definitions"; -})(SchemaTypesToIterate || (SchemaTypesToIterate = {})); -/** - * Go through each channel and for each parameter, and message payload and headers recursively call the callback for each schema. - */ -export function traverseAsyncApiDocument(doc, callback, schemaTypesToIterate = []) { - if (schemaTypesToIterate.length === 0) { - schemaTypesToIterate = Object.values(SchemaTypesToIterate); - } - const options = { callback, schemaTypesToIterate, seenSchemas: new Set() }; - Object.values(doc.channels()).forEach(channel => { - traverseChannel(channel, options); - }); - const components = doc.components(); - if (schemaTypesToIterate.includes(SchemaTypesToIterate.components) && components) { - Object.values(components.messages()).forEach(message => { - traverseMessage(message, options); - }); - Object.values(components.schemas()).forEach(schema => { - traverseSchema(schema, null, options); - }); - if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { - Object.values(components.parameters()).forEach(parameter => { - const schema = parameter.schema(); - if (schema) { - traverseSchema(schema, null, options); - } - }); - } - Object.values(components.messageTraits()).forEach(messageTrait => { - traverseMessageTrait(messageTrait, options); - }); - } -} -/* eslint-disable sonarjs/cognitive-complexity */ -/** - * Traverse current schema and all nested schemas. - */ -function traverseSchema(schema, propOrIndex, options) { - if (!schema) - return; - const { schemaTypesToIterate, callback, seenSchemas } = options; - // handle circular references - const jsonSchema = schema.json(); - if (seenSchemas.has(jsonSchema)) - return; - seenSchemas.add(jsonSchema); - // `type` isn't required so save type as array in the fallback - let types = schema.type() || []; - // change primitive type to array of types for easier handling - if (!Array.isArray(types)) { - types = [types]; - } - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) - return; - if (!schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) - return; - // check callback `NEW_SCHEMA` case - if (callback(schema, propOrIndex, SchemaIteratorCallbackType.NEW_SCHEMA) === false) - return; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.objects) && types.includes('object')) { - recursiveSchemaObject(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.arrays) && types.includes('array')) { - recursiveSchemaArray(schema, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.oneOfs)) { - (schema.oneOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.anyOfs)) { - (schema.anyOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.allOfs)) { - (schema.allOf() || []).forEach((combineSchema, idx) => { - traverseSchema(combineSchema, idx, options); - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.nots) && schema.not()) { - traverseSchema(schema.not(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.ifs) && schema.if()) { - traverseSchema(schema.if(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.thenes) && schema.then()) { - traverseSchema(schema.then(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.elses) && schema.else()) { - traverseSchema(schema.else(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.dependencies)) { - Object.entries(schema.dependencies() || {}).forEach(([depName, dep]) => { - // do not iterate dependent required - if (dep && !Array.isArray(dep)) { - traverseSchema(dep, depName, options); - } - }); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.definitions)) { - Object.entries(schema.definitions() || {}).forEach(([defName, def]) => { - traverseSchema(def, defName, options); - }); - } - callback(schema, propOrIndex, SchemaIteratorCallbackType.END_SCHEMA); - seenSchemas.delete(jsonSchema); -} -/* eslint-enable sonarjs/cognitive-complexity */ -/** - * Recursively go through schema of object type and execute callback. - */ -function recursiveSchemaObject(schema, options) { - Object.entries(schema.properties()).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - const additionalProperties = schema.additionalProperties(); - if (typeof additionalProperties === 'object') { - traverseSchema(additionalProperties, null, options); - } - const schemaTypesToIterate = options.schemaTypesToIterate; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.propertyNames) && schema.propertyNames()) { - traverseSchema(schema.propertyNames(), null, options); - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.patternProperties)) { - Object.entries(schema.patternProperties() || {}).forEach(([propertyName, property]) => { - traverseSchema(property, propertyName, options); - }); - } -} -/** - * Recursively go through schema of array type and execute callback. - */ -function recursiveSchemaArray(schema, options) { - const items = schema.items(); - if (items) { - if (Array.isArray(items)) { - items.forEach((item, idx) => { - traverseSchema(item, idx, options); - }); - } - else { - traverseSchema(items, null, options); - } - } - const additionalItems = schema.additionalItems(); - if (typeof additionalItems === 'object') { - traverseSchema(additionalItems, null, options); - } - if (options.schemaTypesToIterate.includes('contains') && schema.contains()) { - traverseSchema(schema.contains(), null, options); - } -} -/** - * Go through each schema in channel - */ -function traverseChannel(channel, options) { - if (!channel) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)) { - Object.values(channel.parameters() || {}).forEach(parameter => { - const schema = parameter.schema(); - if (schema) { - traverseSchema(schema, null, options); - } - }); - } - const publish = channel.publish(); - if (publish) { - publish.messages().forEach(message => { - traverseMessage(message, options); - }); - } - const subscribe = channel.subscribe(); - if (subscribe) { - subscribe.messages().forEach(message => { - traverseMessage(message, options); - }); - } -} -/** - * Go through each schema in a message - */ -function traverseMessage(message, options) { - if (!message) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { - const headers = message.headers(); - if (headers) { - traverseSchema(headers, null, options); - } - } - if (schemaTypesToIterate.includes(SchemaTypesToIterate.payloads)) { - const payload = message.payload(); - if (payload) { - traverseSchema(payload, null, options); - } - } -} -/** - * Go through each schema in a messageTrait - */ -function traverseMessageTrait(messageTrait, options) { - if (!messageTrait) - return; - const { schemaTypesToIterate } = options; - if (schemaTypesToIterate.includes(SchemaTypesToIterate.headers)) { - const headers = messageTrait.headers(); - if (headers) { - traverseSchema(headers, null, options); - } - } -} diff --git a/apps/parser/esm/old-api/license.d.ts b/apps/parser/esm/old-api/license.d.ts deleted file mode 100644 index 2e926b988..000000000 --- a/apps/parser/esm/old-api/license.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class License extends SpecificationExtensionsModel { - name(): string; - url(): string | undefined; -} diff --git a/apps/parser/esm/old-api/license.js b/apps/parser/esm/old-api/license.js deleted file mode 100644 index 7393ebc00..000000000 --- a/apps/parser/esm/old-api/license.js +++ /dev/null @@ -1,9 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -export class License extends SpecificationExtensionsModel { - name() { - return this._json.name; - } - url() { - return this._json.url; - } -} diff --git a/apps/parser/esm/old-api/message-trait.d.ts b/apps/parser/esm/old-api/message-trait.d.ts deleted file mode 100644 index e4a7f5825..000000000 --- a/apps/parser/esm/old-api/message-trait.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { CorrelationId } from './correlation-id'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -export declare class MessageTrait extends SpecificationExtensionsModel { - id(): string | undefined; - headers(): Schema | null; - header(name: string): Schema | null; - correlationId(): CorrelationId | null; - schemaFormat(): string; - contentType(): string | undefined; - name(): string | undefined; - title(): string | undefined; - summary(): string | undefined; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; - examples(): v2.MessageExampleObject[] | undefined; -} diff --git a/apps/parser/esm/old-api/message-trait.js b/apps/parser/esm/old-api/message-trait.js deleted file mode 100644 index f8de18056..000000000 --- a/apps/parser/esm/old-api/message-trait.js +++ /dev/null @@ -1,83 +0,0 @@ -import { SpecificationExtensionsModel, description, hasDescription, hasExternalDocs, externalDocs, tagsMixins, bindingsMixins, getMapValue } from './mixins'; -import { CorrelationId } from './correlation-id'; -import { Schema } from './schema'; -export class MessageTrait extends SpecificationExtensionsModel { - id() { - return this._json.messageId; - } - headers() { - if (!this._json.headers) - return null; - return new Schema(this._json.headers); - } - header(name) { - if (!this._json.headers) - return null; - return getMapValue(this._json.headers.properties || {}, name, Schema); - } - correlationId() { - if (!this._json.correlationId) - return null; - return new CorrelationId(this._json.correlationId); - } - schemaFormat() { - return this._json.schemaFormat; // Old API points always to the default schema format for given AsyncAPI version, so we need to force returned type as string. - } - contentType() { - return this._json.contentType; - } - name() { - return this._json.name; - } - title() { - return this._json.title; - } - summary() { - return this._json.summary; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - externalDocs() { - return externalDocs(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - hasTags() { - return tagsMixins.hasTags(this); - } - tags() { - return tagsMixins.tags(this); - } - tagNames() { - return tagsMixins.tagNames(this); - } - hasTag(name) { - return tagsMixins.hasTag(this, name); - } - tag(name) { - return tagsMixins.tag(this, name); - } - hasBindings() { - return bindingsMixins.hasBindings(this); - } - bindings() { - return bindingsMixins.bindings(this); - } - bindingProtocols() { - return bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return bindingsMixins.hasBinding(this, name); - } - binding(name) { - return bindingsMixins.binding(this, name); - } - examples() { - return this._json.examples; - } -} diff --git a/apps/parser/esm/old-api/message.d.ts b/apps/parser/esm/old-api/message.d.ts deleted file mode 100644 index 08e26b8f3..000000000 --- a/apps/parser/esm/old-api/message.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { MessageTrait } from './message-trait'; -import { Schema } from './schema'; -import type { v2 } from '../spec-types'; -export declare class Message extends MessageTrait { - uid(): string; - payload(): Schema | null; - traits(): MessageTrait[]; - hasTraits(): boolean; - originalPayload(): any; - originalSchemaFormat(): string; -} diff --git a/apps/parser/esm/old-api/message.js b/apps/parser/esm/old-api/message.js deleted file mode 100644 index 76d709351..000000000 --- a/apps/parser/esm/old-api/message.js +++ /dev/null @@ -1,28 +0,0 @@ -import { MessageTrait } from './message-trait'; -import { Schema } from './schema'; -import { xParserMessageName, xParserOriginalTraits, xParserOriginalPayload, xParserOriginalSchemaFormat } from '../constants'; -export class Message extends MessageTrait { - uid() { - return this.id() || this.name() || this.ext(xParserMessageName); - } - payload() { - if (!this._json.payload) - return null; - return new Schema(this._json.payload); - } - traits() { - const traits = this.ext(xParserOriginalTraits) || this._json.traits; - if (!traits) - return []; - return traits.map(t => new MessageTrait(t)); - } - hasTraits() { - return !!this.ext(xParserOriginalTraits) || !!this._json.traits; - } - originalPayload() { - return this.ext(xParserOriginalPayload) || this.payload(); - } - originalSchemaFormat() { - return this.ext(xParserOriginalSchemaFormat) || this.schemaFormat(); - } -} diff --git a/apps/parser/esm/old-api/mixins.d.ts b/apps/parser/esm/old-api/mixins.d.ts deleted file mode 100644 index 4985944d7..000000000 --- a/apps/parser/esm/old-api/mixins.d.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Base } from './base'; -import { ExternalDocs } from './external-docs'; -import { Tag } from './tag'; -import type { v2 } from '../spec-types'; -export declare abstract class SpecificationExtensionsModel = Record> extends Base { - hasExtensions(): boolean; - extensions(): v2.SpecificationExtensions; - extensionKeys(): string[]; - extKeys(): string[]; - hasExtension(extension: string): boolean; - extension(extension: string): v2.SpecificationExtension; - hasExt(extension: string): boolean; - ext(extension: string): any; -} -export declare function hasDescription(model: Base<{ - description?: string; -}>): boolean; -export declare function description(model: Base<{ - description?: string; -}>): string | null; -export declare function hasExternalDocs(model: Base<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): boolean; -export declare function externalDocs(model: Base<{ - externalDocs?: v2.ExternalDocumentationObject; -}>): ExternalDocs | null; -export declare const extensionsMixins: { - hasExtensions(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): boolean; - extensions(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): v2.SpecificationExtensions; - extensionKeys(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): string[]; - extKeys(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>): string[]; - hasExtension(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): boolean; - extension(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): v2.SpecificationExtension | null; - hasExt(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): boolean; - ext(model: Base<{ - [extension: `x-${string}`]: any; - }, Record>, extension: string): any; -}; -export declare const bindingsMixins: { - hasBindings(model: Base<{ - bindings?: Record; - }>): boolean; - bindings(model: Base<{ - bindings?: Record; - }>): Record; - bindingProtocols(model: Base<{ - bindings?: Record; - }>): string[]; - hasBinding(model: Base<{ - bindings?: Record; - }>, name: string): boolean; - binding(model: Base<{ - bindings?: Record; - }>, name: string): v2.Binding | null; -}; -export declare const tagsMixins: { - hasTags(model: Base<{ - tags?: Array; - }>): boolean; - tags(model: Base<{ - tags?: Array; - }>): Array; - tagNames(model: Base<{ - tags?: Array; - }>): string[]; - hasTag(model: Base<{ - tags?: Array; - }>, name: string): boolean; - tag(model: Base<{ - tags?: Array; - }>, name: string): Tag | null; -}; -interface Constructor extends Function { - new (...any: any[]): T; -} -type InferModelData = T extends Base ? J : never; -type InferModelMetadata = T extends Base ? M : never; -export declare function getMapValue, K extends keyof T>(obj: T | undefined, key: K): T[K] | null; -export declare function getMapValue(obj: Record> | undefined, key: string, Type: Constructor, meta?: InferModelMetadata): T | null; -export declare function createMapOfType(obj: Record> | undefined, Type: Constructor, meta?: InferModelMetadata): Record; -export {}; diff --git a/apps/parser/esm/old-api/mixins.js b/apps/parser/esm/old-api/mixins.js deleted file mode 100644 index 8c24d0b52..000000000 --- a/apps/parser/esm/old-api/mixins.js +++ /dev/null @@ -1,138 +0,0 @@ -import { Base } from './base'; -import { ExternalDocs } from './external-docs'; -import { Tag } from './tag'; -import { EXTENSION_REGEX } from '../constants'; -export class SpecificationExtensionsModel extends Base { - hasExtensions() { - return extensionsMixins.hasExtensions(this); - } - extensions() { - return extensionsMixins.extensions(this); - } - extensionKeys() { - return extensionsMixins.extensionKeys(this); - } - extKeys() { - return extensionsMixins.extKeys(this); - } - hasExtension(extension) { - return extensionsMixins.hasExtension(this, extension); - } - extension(extension) { - return extensionsMixins.extension(this, extension); - } - hasExt(extension) { - return extensionsMixins.hasExt(this, extension); - } - ext(extension) { - return extensionsMixins.ext(this, extension); - } -} -export function hasDescription(model) { - return Boolean(model.json('description')); -} -export function description(model) { - const description = model.json('description'); - return typeof description === 'string' ? description : null; -} -export function hasExternalDocs(model) { - return Object.keys(model.json('externalDocs') || {}).length > 0; -} -export function externalDocs(model) { - if (typeof model.json('externalDocs') === 'object') { - return new ExternalDocs(model.json('externalDocs')); - } - return null; -} -export const extensionsMixins = { - hasExtensions(model) { - return !!extensionsMixins.extensionKeys(model).length; - }, - extensions(model) { - const result = {}; - Object.entries(model.json()).forEach(([key, value]) => { - if (EXTENSION_REGEX.test(key)) { - result[key] = value; - } - }); - return result; - }, - extensionKeys(model) { - return Object.keys(extensionsMixins.extensions(model)); - }, - extKeys(model) { - return extensionsMixins.extensionKeys(model); - }, - hasExtension(model, extension) { - if (!extension.startsWith('x-')) { - return false; - } - return !!model.json()[extension]; - }, - extension(model, extension) { - if (!extension.startsWith('x-')) { - return null; - } - return model.json()[extension]; - }, - hasExt(model, extension) { - return extensionsMixins.hasExtension(model, extension); - }, - ext(model, extension) { - return extensionsMixins.extension(model, extension); - }, -}; -export const bindingsMixins = { - hasBindings(model) { - return !!Object.keys(bindingsMixins.bindings(model)).length; - }, - bindings(model) { - return model.json('bindings') || {}; - }, - bindingProtocols(model) { - return Object.keys(bindingsMixins.bindings(model)); - }, - hasBinding(model, name) { - return !!bindingsMixins.binding(model, name); - }, - binding(model, name) { - return getMapValue(model.json('bindings'), name); - }, -}; -export const tagsMixins = { - hasTags(model) { - return !!tagsMixins.tags(model).length; - }, - tags(model) { - const tags = model.json('tags'); - return tags ? tags.map(t => new Tag(t)) : []; - }, - tagNames(model) { - const tags = model.json('tags'); - return tags ? tags.map(t => t.name) : []; - }, - hasTag(model, name) { - return !!tagsMixins.tag(model, name); - }, - tag(model, name) { - const tg = (model.json('tags') || []).find(t => t.name === name); - return tg ? new Tag(tg) : null; - }, -}; -export function getMapValue(obj, key, Type, meta) { - if (typeof key !== 'string' || !obj) - return null; - const v = obj[String(key)]; - if (v === undefined) - return null; - return Type ? new Type(v, meta) : v; -} -export function createMapOfType(obj, Type, meta) { - const result = {}; - if (!obj) - return result; - Object.entries(obj).forEach(([key, value]) => { - result[key] = new Type(value, meta); - }); - return result; -} diff --git a/apps/parser/esm/old-api/oauth-flow.d.ts b/apps/parser/esm/old-api/oauth-flow.d.ts deleted file mode 100644 index 0621e5b7e..000000000 --- a/apps/parser/esm/old-api/oauth-flow.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class OAuthFlow extends SpecificationExtensionsModel { - authorizationUrl(): string; - tokenUrl(): string; - refreshUrl(): string | undefined; - scopes(): Record; -} diff --git a/apps/parser/esm/old-api/oauth-flow.js b/apps/parser/esm/old-api/oauth-flow.js deleted file mode 100644 index 334c5ab3c..000000000 --- a/apps/parser/esm/old-api/oauth-flow.js +++ /dev/null @@ -1,15 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -export class OAuthFlow extends SpecificationExtensionsModel { - authorizationUrl() { - return this._json.authorizationUrl; - } - tokenUrl() { - return this._json.tokenUrl; - } - refreshUrl() { - return this._json.refreshUrl; - } - scopes() { - return this._json.scopes; - } -} diff --git a/apps/parser/esm/old-api/operation-trait.d.ts b/apps/parser/esm/old-api/operation-trait.d.ts deleted file mode 100644 index 9e48932d7..000000000 --- a/apps/parser/esm/old-api/operation-trait.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { SecurityRequirement } from './security-requirement'; -import type { v2 } from '../spec-types'; -export declare class OperationTrait extends SpecificationExtensionsModel { - isPublish(): boolean; - isSubscribe(): boolean; - kind(): "subscribe" | "publish"; - id(): string | undefined; - summary(): string | undefined; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; - security(): SecurityRequirement[] | null; -} diff --git a/apps/parser/esm/old-api/operation-trait.js b/apps/parser/esm/old-api/operation-trait.js deleted file mode 100644 index b15cdd31e..000000000 --- a/apps/parser/esm/old-api/operation-trait.js +++ /dev/null @@ -1,66 +0,0 @@ -import { SpecificationExtensionsModel, description, hasDescription, hasExternalDocs, externalDocs, tagsMixins, bindingsMixins } from './mixins'; -import { SecurityRequirement } from './security-requirement'; -export class OperationTrait extends SpecificationExtensionsModel { - isPublish() { - return this._meta.kind === 'publish'; - } - isSubscribe() { - return this._meta.kind === 'subscribe'; - } - kind() { - return this._meta.kind; - } - id() { - return this._json.operationId; - } - summary() { - return this._json.summary; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - externalDocs() { - return externalDocs(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - hasTags() { - return tagsMixins.hasTags(this); - } - tags() { - return tagsMixins.tags(this); - } - tagNames() { - return tagsMixins.tagNames(this); - } - hasTag(name) { - return tagsMixins.hasTag(this, name); - } - tag(name) { - return tagsMixins.tag(this, name); - } - hasBindings() { - return bindingsMixins.hasBindings(this); - } - bindings() { - return bindingsMixins.bindings(this); - } - bindingProtocols() { - return bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return bindingsMixins.hasBinding(this, name); - } - binding(name) { - return bindingsMixins.binding(this, name); - } - security() { - if (!this._json.security) - return null; - return this._json.security.map(sec => new SecurityRequirement(sec)); - } -} diff --git a/apps/parser/esm/old-api/operation.d.ts b/apps/parser/esm/old-api/operation.d.ts deleted file mode 100644 index 057caa8e8..000000000 --- a/apps/parser/esm/old-api/operation.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { OperationTrait } from './operation-trait'; -import { Message } from './message'; -import type { v2 } from '../spec-types'; -export declare class Operation extends OperationTrait { - traits(): OperationTrait[]; - hasTraits(): boolean; - hasMultipleMessages(): boolean; - messages(): Message[]; - message(index?: number | string): Message | null; -} diff --git a/apps/parser/esm/old-api/operation.js b/apps/parser/esm/old-api/operation.js deleted file mode 100644 index 32101c899..000000000 --- a/apps/parser/esm/old-api/operation.js +++ /dev/null @@ -1,42 +0,0 @@ -import { OperationTrait } from './operation-trait'; -import { Message } from './message'; -export class Operation extends OperationTrait { - traits() { - const traits = this._json['x-parser-original-traits'] || this._json.traits; - if (!traits) - return []; - return traits.map(t => new OperationTrait(t)); - } - hasTraits() { - return !!this._json['x-parser-original-traits'] || !!this._json.traits; - } - hasMultipleMessages() { - const message = this._json.message; - // eslint-disable-next-line sonarjs/prefer-single-boolean-return - if (message && message.oneOf && message.oneOf.length > 1) - return true; - return false; - } - messages() { - const message = this._json.message; - if (!message) - return []; - if (message.oneOf) - return message.oneOf.map(m => new Message(m)); - return [new Message(message)]; - } - message(index) { - const message = this._json.message; - if (!message) - return null; - if (message.oneOf && message.oneOf.length === 1) - return new Message(message.oneOf[0]); - if (!message.oneOf) - return new Message(message); - if (typeof index !== 'number') - return null; - if (index > message.oneOf.length - 1) - return null; - return new Message(message.oneOf[+index]); - } -} diff --git a/apps/parser/esm/old-api/schema.d.ts b/apps/parser/esm/old-api/schema.d.ts deleted file mode 100644 index d4a2bb039..000000000 --- a/apps/parser/esm/old-api/schema.d.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class Schema extends SpecificationExtensionsModel { - uid(): any; - $id(): string | undefined; - multipleOf(): number | undefined; - maximum(): number | undefined; - exclusiveMaximum(): number | undefined; - minimum(): number | undefined; - exclusiveMinimum(): number | undefined; - maxLength(): number | undefined; - minLength(): number | undefined; - pattern(): string | undefined; - maxItems(): number | undefined; - minItems(): number | undefined; - uniqueItems(): boolean | undefined; - maxProperties(): number | undefined; - minProperties(): number | undefined; - required(): string[] | undefined; - enum(): import("json-schema").JSONSchema7Type[] | undefined; - type(): import("json-schema").JSONSchema7TypeName | import("json-schema").JSONSchema7TypeName[] | undefined; - allOf(): Schema[] | null; - oneOf(): Schema[] | null; - anyOf(): Schema[] | null; - not(): Schema | null; - items(): Schema | Schema[] | null; - properties(): Record; - property(name: string): Schema | null; - additionalProperties(): boolean | Schema | undefined; - additionalItems(): Schema | undefined; - patternProperties(): Record; - const(): import("json-schema").JSONSchema7Type | undefined; - contains(): Schema | null; - dependencies(): Record | null; - propertyNames(): Schema | null; - if(): Schema | null; - then(): Schema | null; - else(): Schema | null; - format(): string | undefined; - contentEncoding(): string | undefined; - contentMediaType(): string | undefined; - definitions(): Record; - title(): string | undefined; - default(): import("json-schema").JSONSchema7Type | undefined; - deprecated(): boolean | undefined; - discriminator(): string | undefined; - readOnly(): boolean | undefined; - writeOnly(): boolean | undefined; - examples(): import("json-schema").JSONSchema7Type[] | undefined; - isBooleanSchema(): boolean; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - isCircular(): boolean; - circularSchema(): Schema | undefined; - hasCircularProps(): boolean; - circularProps(): any; - protected __get(key: K): v2.AsyncAPISchemaDefinition[K] | undefined; - protected __createChild(s: v2.AsyncAPISchemaObject): Schema; -} diff --git a/apps/parser/esm/old-api/schema.js b/apps/parser/esm/old-api/schema.js deleted file mode 100644 index 6841524a6..000000000 --- a/apps/parser/esm/old-api/schema.js +++ /dev/null @@ -1,238 +0,0 @@ -import { SpecificationExtensionsModel, createMapOfType, getMapValue, description, hasDescription, hasExternalDocs, externalDocs } from './mixins'; -import { xParserCircular, xParserCircularProps } from '../constants'; -export class Schema extends SpecificationExtensionsModel { - uid() { - return this.$id() || this.ext('x-parser-schema-id'); - } - $id() { - return this.__get('$id'); - } - multipleOf() { - return this.__get('multipleOf'); - } - maximum() { - return this.__get('maximum'); - } - exclusiveMaximum() { - return this.__get('exclusiveMaximum'); - } - minimum() { - return this.__get('minimum'); - } - exclusiveMinimum() { - return this.__get('exclusiveMinimum'); - } - maxLength() { - return this.__get('maxLength'); - } - minLength() { - return this.__get('minLength'); - } - pattern() { - return this.__get('pattern'); - } - maxItems() { - return this.__get('maxItems'); - } - minItems() { - return this.__get('minItems'); - } - uniqueItems() { - return this.__get('uniqueItems'); - } - maxProperties() { - return this.__get('maxProperties'); - } - minProperties() { - return this.__get('minProperties'); - } - required() { - return this.__get('required'); - } - enum() { - return this.__get('enum'); - } - type() { - return this.__get('type'); - } - allOf() { - const allOf = this.__get('allOf'); - return !allOf ? null : allOf.map(this.__createChild); - } - oneOf() { - const oneOf = this.__get('oneOf'); - return !oneOf ? null : oneOf.map(this.__createChild); - } - anyOf() { - const anyOf = this.__get('anyOf'); - return !anyOf ? null : anyOf.map(this.__createChild); - } - not() { - const not = this.__get('not'); - return !not ? null : this.__createChild(not); - } - items() { - const items = this.__get('items'); - if (!items) - return null; - if (Array.isArray(items)) { - return items.map(this.__createChild); - } - return this.__createChild(items); - } - properties() { - return createMapOfType(this.__get('properties'), Schema, { parent: this }); - } - property(name) { - return getMapValue(this.__get('properties'), name, Schema, { parent: this }); - } - additionalProperties() { - const additionalProperties = this.__get('additionalProperties'); - if (typeof additionalProperties === 'boolean') - return additionalProperties; - if (additionalProperties === undefined || additionalProperties === null) - return; - return this.__createChild(additionalProperties); - } - additionalItems() { - const additionalItems = this.__get('additionalItems'); - if (additionalItems === undefined || additionalItems === null) - return; - return this.__createChild(additionalItems); - } - patternProperties() { - return createMapOfType(this.__get('patternProperties'), Schema, { parent: this }); - } - const() { - return this.__get('const'); - } - contains() { - const contains = this.__get('contains'); - return typeof contains === 'undefined' ? null : this.__createChild(contains); - } - dependencies() { - const dependencies = this.__get('dependencies'); - if (!dependencies) - return null; - const result = {}; - Object.entries(dependencies).forEach(([key, value]) => { - result[key] = !Array.isArray(value) ? this.__createChild(value) : value; - }); - return result; - } - propertyNames() { - const propertyNames = this.__get('propertyNames'); - return typeof propertyNames === 'undefined' ? null : this.__createChild(propertyNames); - } - if() { - const _if = this.__get('if'); - return typeof _if === 'undefined' ? null : this.__createChild(_if); - } - then() { - const _then = this.__get('then'); - return typeof _then === 'undefined' ? null : this.__createChild(_then); - } - else() { - const _else = this.__get('else'); - return typeof _else === 'undefined' ? null : this.__createChild(_else); - } - format() { - return this.__get('format'); - } - contentEncoding() { - return this.__get('contentEncoding'); - } - contentMediaType() { - return this.__get('contentMediaType'); - } - definitions() { - return createMapOfType(this.__get('definitions'), Schema, { parent: this }); - } - title() { - return this.__get('title'); - } - default() { - return this.__get('default'); - } - deprecated() { - return this.__get('deprecated'); - } - discriminator() { - return this.__get('discriminator'); - } - readOnly() { - return this.__get('readOnly'); - } - writeOnly() { - return this.__get('writeOnly'); - } - examples() { - return this.__get('examples'); - } - isBooleanSchema() { - return typeof this._json === 'boolean'; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - externalDocs() { - return externalDocs(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - isCircular() { - if (this.ext(xParserCircular)) { - return true; - } - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._json) - return true; - parent = parent._meta && parent._meta.parent; - } - return false; - } - circularSchema() { - let parent = this._meta.parent; - while (parent) { - if (parent._json === this._json) - return parent; - parent = parent._meta && parent._meta.parent; - } - } - hasCircularProps() { - if (Array.isArray(this.ext(xParserCircularProps))) { - return this.ext(xParserCircularProps).length > 0; - } - return Object.entries(this.properties() || {}) - .map(([propertyName, property]) => { - if (property.isCircular()) - return propertyName; - }) - .filter(Boolean) - .length > 0; - } - circularProps() { - if (Array.isArray(this.ext(xParserCircularProps))) { - return this.ext(xParserCircularProps); - } - return Object.entries(this.properties() || {}) - .map(([propertyName, property]) => { - if (property.isCircular()) - return propertyName; - }) - .filter(Boolean); - } - __get(key) { - if (typeof this._json === 'boolean') - return; - return this._json[key]; - } - __createChild(s) { - return new Schema(s, { parent: this }); - } -} diff --git a/apps/parser/esm/old-api/security-requirement.d.ts b/apps/parser/esm/old-api/security-requirement.d.ts deleted file mode 100644 index 034e0c317..000000000 --- a/apps/parser/esm/old-api/security-requirement.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Base } from './base'; -import type { v2 } from '../spec-types'; -export declare class SecurityRequirement extends Base { -} diff --git a/apps/parser/esm/old-api/security-requirement.js b/apps/parser/esm/old-api/security-requirement.js deleted file mode 100644 index c37b25dbf..000000000 --- a/apps/parser/esm/old-api/security-requirement.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Base } from './base'; -export class SecurityRequirement extends Base { -} diff --git a/apps/parser/esm/old-api/security-scheme.d.ts b/apps/parser/esm/old-api/security-scheme.d.ts deleted file mode 100644 index bde080425..000000000 --- a/apps/parser/esm/old-api/security-scheme.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { OAuthFlow } from './oauth-flow'; -import type { v2 } from '../spec-types'; -export declare class SecurityScheme extends SpecificationExtensionsModel { - type(): v2.SecuritySchemeType; - description(): string | null; - hasDescription(): boolean; - name(): string | undefined; - in(): "user" | "password" | "query" | "header" | "cookie" | undefined; - scheme(): string | undefined; - bearerFormat(): string | undefined; - openIdConnectUrl(): string | undefined; - flows(): Record; -} diff --git a/apps/parser/esm/old-api/security-scheme.js b/apps/parser/esm/old-api/security-scheme.js deleted file mode 100644 index bc06878ca..000000000 --- a/apps/parser/esm/old-api/security-scheme.js +++ /dev/null @@ -1,31 +0,0 @@ -import { SpecificationExtensionsModel, description, hasDescription, createMapOfType } from './mixins'; -import { OAuthFlow } from './oauth-flow'; -export class SecurityScheme extends SpecificationExtensionsModel { - type() { - return this._json.type; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - name() { - return this._json.name; - } - in() { - return this._json.in; - } - scheme() { - return this._json.scheme; - } - bearerFormat() { - return this._json.bearerFormat; - } - openIdConnectUrl() { - return this._json.openIdConnectUrl; - } - flows() { - return createMapOfType(this._json.flows, OAuthFlow); - } -} diff --git a/apps/parser/esm/old-api/server-variable.d.ts b/apps/parser/esm/old-api/server-variable.d.ts deleted file mode 100644 index ed17f1d6f..000000000 --- a/apps/parser/esm/old-api/server-variable.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import type { v2 } from '../spec-types'; -export declare class ServerVariable extends SpecificationExtensionsModel { - allowedValues(): string[] | undefined; - allows(name: string): boolean; - hasAllowedValues(): boolean; - description(): string | null; - hasDescription(): boolean; - defaultValue(): string | undefined; - hasDefaultValue(): boolean; - examples(): string[] | undefined; -} diff --git a/apps/parser/esm/old-api/server-variable.js b/apps/parser/esm/old-api/server-variable.js deleted file mode 100644 index 4c557c989..000000000 --- a/apps/parser/esm/old-api/server-variable.js +++ /dev/null @@ -1,29 +0,0 @@ -import { SpecificationExtensionsModel, description, hasDescription } from './mixins'; -export class ServerVariable extends SpecificationExtensionsModel { - allowedValues() { - return this._json.enum; - } - allows(name) { - if (this._json.enum === undefined) - return true; - return this._json.enum.includes(name); - } - hasAllowedValues() { - return this._json.enum !== undefined; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - defaultValue() { - return this._json.default; - } - hasDefaultValue() { - return this._json.default !== undefined; - } - examples() { - return this._json.examples; - } -} diff --git a/apps/parser/esm/old-api/server.d.ts b/apps/parser/esm/old-api/server.d.ts deleted file mode 100644 index e4a46cd23..000000000 --- a/apps/parser/esm/old-api/server.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { SpecificationExtensionsModel } from './mixins'; -import { ServerVariable } from './server-variable'; -import { SecurityRequirement } from './security-requirement'; -import type { v2 } from '../spec-types'; -export declare class Server extends SpecificationExtensionsModel { - url(): string; - protocol(): string; - protocolVersion(): string | undefined; - description(): string | null; - hasDescription(): boolean; - variables(): Record; - variable(name: string): ServerVariable | null; - hasVariables(): boolean; - security(): SecurityRequirement[] | null; - hasBindings(): boolean; - bindings(): Record; - bindingProtocols(): string[]; - hasBinding(name: string): boolean; - binding(name: string): v2.Binding | null; - hasTags(): boolean; - tags(): import("./tag").Tag[]; - tagNames(): string[]; - hasTag(name: string): boolean; - tag(name: string): import("./tag").Tag | null; -} diff --git a/apps/parser/esm/old-api/server.js b/apps/parser/esm/old-api/server.js deleted file mode 100644 index 1cae958ee..000000000 --- a/apps/parser/esm/old-api/server.js +++ /dev/null @@ -1,64 +0,0 @@ -import { SpecificationExtensionsModel, description, hasDescription, createMapOfType, bindingsMixins, tagsMixins, getMapValue } from './mixins'; -import { ServerVariable } from './server-variable'; -import { SecurityRequirement } from './security-requirement'; -export class Server extends SpecificationExtensionsModel { - url() { - return this._json.url; - } - protocol() { - return this._json.protocol; - } - protocolVersion() { - return this._json.protocolVersion; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - variables() { - return createMapOfType(this._json.variables, ServerVariable); - } - variable(name) { - return getMapValue(this._json.variables, name, ServerVariable); - } - hasVariables() { - return !!this._json.variables; - } - security() { - if (!this._json.security) - return null; - return this._json.security.map(sec => new SecurityRequirement(sec)); - } - hasBindings() { - return bindingsMixins.hasBindings(this); - } - bindings() { - return bindingsMixins.bindings(this); - } - bindingProtocols() { - return bindingsMixins.bindingProtocols(this); - } - hasBinding(name) { - return bindingsMixins.hasBinding(this, name); - } - binding(name) { - return bindingsMixins.binding(this, name); - } - hasTags() { - return tagsMixins.hasTags(this); - } - tags() { - return tagsMixins.tags(this); - } - tagNames() { - return tagsMixins.tagNames(this); - } - hasTag(name) { - return tagsMixins.hasTag(this, name); - } - tag(name) { - return tagsMixins.tag(this, name); - } -} diff --git a/apps/parser/esm/old-api/tag.d.ts b/apps/parser/esm/old-api/tag.d.ts deleted file mode 100644 index f895f29e7..000000000 --- a/apps/parser/esm/old-api/tag.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Base } from './base'; -import type { v2 } from '../spec-types'; -export declare class Tag extends Base { - name(): string; - description(): string | null; - hasDescription(): boolean; - externalDocs(): import("./external-docs").ExternalDocs | null; - hasExternalDocs(): boolean; - hasExtensions(): boolean; - extensions(): v2.SpecificationExtensions; - extensionKeys(): string[]; - extKeys(): string[]; - hasExtension(extension: string): boolean; - extension(extension: string): v2.SpecificationExtension; - hasExt(extension: string): boolean; - ext(extension: string): any; -} diff --git a/apps/parser/esm/old-api/tag.js b/apps/parser/esm/old-api/tag.js deleted file mode 100644 index 27d82558b..000000000 --- a/apps/parser/esm/old-api/tag.js +++ /dev/null @@ -1,43 +0,0 @@ -import { Base } from './base'; -import { hasDescription, description, hasExternalDocs, externalDocs, extensionsMixins } from './mixins'; -export class Tag extends Base { - name() { - return this._json.name; - } - description() { - return description(this); - } - hasDescription() { - return hasDescription(this); - } - externalDocs() { - return externalDocs(this); - } - hasExternalDocs() { - return hasExternalDocs(this); - } - hasExtensions() { - return extensionsMixins.hasExtensions(this); - } - extensions() { - return extensionsMixins.extensions(this); - } - extensionKeys() { - return extensionsMixins.extensionKeys(this); - } - extKeys() { - return extensionsMixins.extKeys(this); - } - hasExtension(extension) { - return extensionsMixins.hasExtension(this, extension); - } - extension(extension) { - return extensionsMixins.extension(this, extension); - } - hasExt(extension) { - return extensionsMixins.hasExt(this, extension); - } - ext(extension) { - return extensionsMixins.ext(this, extension); - } -} diff --git a/apps/parser/esm/parse.d.ts b/apps/parser/esm/parse.d.ts deleted file mode 100644 index 53a8e0501..000000000 --- a/apps/parser/esm/parse.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { AsyncAPIDocumentInterface } from './models'; -import type { Spectral, Document } from '@stoplight/spectral-core'; -import type { Parser } from './parser'; -import type { ResolverOptions } from './resolver'; -import type { ValidateOptions } from './validate'; -import type { Input, Diagnostic } from './types'; -export interface ParseOutput { - document: AsyncAPIDocumentInterface | undefined; - diagnostics: Diagnostic[]; - extras?: { - document: Document; - }; -} -export interface ParseOptions { - source?: string; - applyTraits?: boolean; - parseSchemas?: boolean; - validateOptions?: Omit; - __unstable?: { - resolver?: Omit; - }; -} -export declare function parse(parser: Parser, spectral: Spectral, asyncapi: Input, options?: ParseOptions): Promise; diff --git a/apps/parser/esm/parse.js b/apps/parser/esm/parse.js deleted file mode 100644 index 78a15c92e..000000000 --- a/apps/parser/esm/parse.js +++ /dev/null @@ -1,71 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { ParserAPIVersion } from './models'; -import { applyUniqueIds, customOperations } from './custom-operations'; -import { validate } from './validate'; -import { copy } from './stringify'; -import { createAsyncAPIDocument } from './document'; -import { createDetailedAsyncAPI, mergePatch, setExtension, createUncaghtDiagnostic } from './utils'; -import { xParserSpecParsed, xParserApiVersion } from './constants'; -const defaultOptions = { - applyTraits: true, - parseSchemas: true, - validateOptions: {}, - __unstable: {}, -}; -import yaml from 'js-yaml'; -export function parse(parser, spectral, asyncapi, options = {}) { - return __awaiter(this, void 0, void 0, function* () { - let spectralDocument; - try { - options = mergePatch(defaultOptions, options); - // Normalize input to always be JSON - let loadedObj; - if (typeof asyncapi === 'string') { - try { - loadedObj = yaml.load(asyncapi); - } - catch (e) { - loadedObj = JSON.parse(asyncapi); - } - } - else { - loadedObj = asyncapi; - } - const { validated, diagnostics, extras } = yield validate(parser, spectral, loadedObj, Object.assign(Object.assign({}, options.validateOptions), { source: options.source, __unstable: options.__unstable })); - if (validated === undefined) { - return { - document: undefined, - diagnostics, - extras - }; - } - spectralDocument = extras.document; - const inventory = spectralDocument.__documentInventory; - // unfreeze the object - Spectral makes resolved document "freezed" - const validatedDoc = copy(validated); - // Apply unique ids which are used as part of iterating between channels <-> operations <-> messages - applyUniqueIds(validatedDoc); - const detailed = createDetailedAsyncAPI(validatedDoc, loadedObj, options.source); - const document = createAsyncAPIDocument(detailed); - setExtension(xParserSpecParsed, true, document); - setExtension(xParserApiVersion, ParserAPIVersion, document); - yield customOperations(parser, document, detailed, inventory, options); - return { - document, - diagnostics, - extras, - }; - } - catch (err) { - return { document: undefined, diagnostics: createUncaghtDiagnostic(err, 'Error thrown during AsyncAPI document parsing', spectralDocument), extras: undefined }; - } - }); -} diff --git a/apps/parser/esm/parser.d.ts b/apps/parser/esm/parser.d.ts deleted file mode 100644 index a7ad7019d..000000000 --- a/apps/parser/esm/parser.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { Spectral } from '@stoplight/spectral-core'; -import type { ParseOptions, ParseOutput } from './parse'; -import type { ValidateOptions } from './validate'; -import type { ResolverOptions } from './resolver'; -import type { RulesetOptions } from './ruleset'; -import type { SchemaParser } from './schema-parser'; -import type { Diagnostic, Input } from './types'; -export interface ParserOptions { - ruleset?: RulesetOptions; - schemaParsers?: Array; - __unstable?: { - resolver?: ResolverOptions; - }; -} -export declare class Parser { - private readonly options; - readonly parserRegistry: Map>; - protected readonly spectral: Spectral; - constructor(options?: ParserOptions); - parse(asyncapi: Input, options?: ParseOptions): Promise; - validate(asyncapi: Input, options?: ValidateOptions): Promise; - registerSchemaParser(parser: SchemaParser): void; -} diff --git a/apps/parser/esm/parser.js b/apps/parser/esm/parser.js deleted file mode 100644 index aba802003..000000000 --- a/apps/parser/esm/parser.js +++ /dev/null @@ -1,49 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { toAsyncAPIDocument } from './document'; -import { parse } from './parse'; -import { validate } from './validate'; -import { registerSchemaParser } from './schema-parser'; -import { AsyncAPISchemaParser } from './schema-parser/asyncapi-schema-parser'; -import { createSpectral } from './spectral'; -export class Parser { - constructor(options = {}) { - var _a; - this.options = options; - this.parserRegistry = new Map(); - this.spectral = createSpectral(this, options); - this.registerSchemaParser(AsyncAPISchemaParser()); - (_a = this.options.schemaParsers) === null || _a === void 0 ? void 0 : _a.forEach(parser => this.registerSchemaParser(parser)); - } - parse(asyncapi, options) { - return __awaiter(this, void 0, void 0, function* () { - const maybeDocument = toAsyncAPIDocument(asyncapi); - if (maybeDocument) { - return { - document: maybeDocument, - diagnostics: [], - }; - } - return parse(this, this.spectral, asyncapi, options); - }); - } - validate(asyncapi, options) { - return __awaiter(this, void 0, void 0, function* () { - const maybeDocument = toAsyncAPIDocument(asyncapi); - if (maybeDocument) { - return []; - } - return (yield validate(this, this.spectral, asyncapi, options)).diagnostics; - }); - } - registerSchemaParser(parser) { - return registerSchemaParser(this, parser); - } -} diff --git a/apps/parser/esm/resolver.d.ts b/apps/parser/esm/resolver.d.ts deleted file mode 100644 index 90d4232bc..000000000 --- a/apps/parser/esm/resolver.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Resolver as SpectralResolver } from '@stoplight/spectral-ref-resolver'; -import type Uri from 'urijs'; -export interface Resolver { - schema: 'file' | 'http' | 'https' | string; - order?: number; - canRead?: boolean | ((uri: Uri, ctx?: any) => boolean); - read: (uri: Uri, ctx?: any) => string | undefined | Promise; -} -export interface ResolverOptions { - cache?: boolean; - resolvers?: Array; -} -export declare function createResolver(options?: ResolverOptions): SpectralResolver; diff --git a/apps/parser/esm/resolver.js b/apps/parser/esm/resolver.js deleted file mode 100644 index 3d7db6944..000000000 --- a/apps/parser/esm/resolver.js +++ /dev/null @@ -1,73 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { Resolver as SpectralResolver } from '@stoplight/spectral-ref-resolver'; -import { Cache } from '@stoplight/json-ref-resolver/cache'; -import { resolveFile, resolveHttp } from '@stoplight/json-ref-readers'; -export function createResolver(options = {}) { - const availableResolvers = [ - ...createDefaultResolvers(), - ...(options.resolvers || []) - ].map(r => (Object.assign(Object.assign({}, r), { order: r.order || Number.MAX_SAFE_INTEGER, canRead: typeof r.canRead === 'undefined' ? true : r.canRead }))); - const availableSchemas = [...new Set(availableResolvers.map(r => r.schema))]; - const resolvers = availableSchemas.reduce((acc, schema) => { - acc[schema] = { resolve: createSchemaResolver(schema, availableResolvers) }; - return acc; - }, {}); - // if cache is enabled, use default Cache instance in SpectralResolver, otherwise use custom one with ttl set to 1ms - const cache = options.cache !== false; - return new SpectralResolver({ - uriCache: cache ? undefined : new Cache({ stdTTL: 1 }), - resolvers: resolvers, - }); -} -function createDefaultResolvers() { - return [ - { - schema: 'file', - read: resolveFile, - }, - { - schema: 'https', - read: resolveHttp, - }, - { - schema: 'http', - read: resolveHttp, - }, - ]; -} -function createSchemaResolver(schema, allResolvers) { - const resolvers = allResolvers.filter(r => r.schema === schema).sort((a, b) => { return a.order - b.order; }); - return (uri, ctx) => __awaiter(this, void 0, void 0, function* () { - let result = undefined; - let lastError; - for (const resolver of resolvers) { - try { - if (!canRead(resolver, uri, ctx)) - continue; - result = yield resolver.read(uri, ctx); - if (typeof result === 'string') { - break; - } - } - catch (e) { - lastError = e; - continue; - } - } - if (typeof result !== 'string') { - throw lastError || new Error(`None of the available resolvers for "${schema}" can resolve the given reference.`); - } - return result; - }); -} -function canRead(resolver, uri, ctx) { - return typeof resolver.canRead === 'function' ? resolver.canRead(uri, ctx) : resolver.canRead; -} diff --git a/apps/parser/esm/ruleset/formats.d.ts b/apps/parser/esm/ruleset/formats.d.ts deleted file mode 100644 index 2160cffb7..000000000 --- a/apps/parser/esm/ruleset/formats.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Format } from '@stoplight/spectral-core'; -export declare class Formats extends Map { - filterByMajorVersions(majorsToInclude: string[]): Formats; - excludeByVersions(versionsToExclude: string[]): Formats; - find(version: string): Format | undefined; - formats(): Format[]; -} -export declare const AsyncAPIFormats: Formats; diff --git a/apps/parser/esm/ruleset/formats.js b/apps/parser/esm/ruleset/formats.js deleted file mode 100644 index 12f99afdc..000000000 --- a/apps/parser/esm/ruleset/formats.js +++ /dev/null @@ -1,41 +0,0 @@ -import { getSemver, isObject } from '../utils'; -import { schemas } from '@asyncapi/specs'; -export class Formats extends Map { - filterByMajorVersions(majorsToInclude) { - return new Formats([...this.entries()].filter(element => { return majorsToInclude.includes(element[0].split('.')[0]); })); - } - excludeByVersions(versionsToExclude) { - return new Formats([...this.entries()].filter(element => { return !versionsToExclude.includes(element[0]); })); - } - find(version) { - return this.get(formatVersion(version)); - } - formats() { - return [...this.values()]; - } -} -export const AsyncAPIFormats = new Formats(Object.entries(schemas).reverse().map(([version]) => [version, createFormat(version)])); // reverse is used for giving newer versions a higher priority when matching -function isAsyncAPIVersion(versionToMatch, document) { - const asyncAPIDoc = document; - if (!asyncAPIDoc) - return false; - const documentVersion = String(asyncAPIDoc.asyncapi); - return isObject(document) && 'asyncapi' in document - && assertValidAsyncAPIVersion(documentVersion) - && versionToMatch === formatVersion(documentVersion); -} -function assertValidAsyncAPIVersion(documentVersion) { - const semver = getSemver(documentVersion); - const regexp = new RegExp(`^(${semver.major})\\.(${semver.minor})\\.(0|[1-9][0-9]*)$`); // eslint-disable-line security/detect-non-literal-regexp - return regexp.test(documentVersion); -} -function createFormat(version) { - const format = (document) => isAsyncAPIVersion(version, document); - const semver = getSemver(version); - format.displayName = `AsyncAPI ${semver.major}.${semver.minor}.x`; - return format; -} -const formatVersion = function (version) { - const versionSemver = getSemver(version); - return `${versionSemver.major}.${versionSemver.minor}.0`; -}; diff --git a/apps/parser/esm/ruleset/functions/documentStructure.d.ts b/apps/parser/esm/ruleset/functions/documentStructure.d.ts deleted file mode 100644 index 95f97ca19..000000000 --- a/apps/parser/esm/ruleset/functions/documentStructure.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { Format } from '@stoplight/spectral-core'; -export declare function getSchema(docFormats: Set, resolved: boolean): Record | void; -export declare const documentStructure: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/functions/documentStructure.js b/apps/parser/esm/ruleset/functions/documentStructure.js deleted file mode 100644 index feaf08c85..000000000 --- a/apps/parser/esm/ruleset/functions/documentStructure.js +++ /dev/null @@ -1,126 +0,0 @@ -/* eslint-disable sonarjs/no-duplicate-string */ -import specs from '@asyncapi/specs'; -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { schema as schemaFn } from '@stoplight/spectral-functions'; -import { AsyncAPIFormats } from '../formats'; -import { getSemver } from '../../utils'; -function shouldIgnoreError(error) { - return ( - // oneOf is a fairly error as we have 2 options to choose from for most of the time. - error.keyword === 'oneOf' || - // the required $ref is entirely useless, since aas-schema rules operate on resolved content, so there won't be any $refs in the document - (error.keyword === 'required' && error.params.missingProperty === '$ref')); -} -// ajv throws a lot of errors that have no understandable context, e.g. errors related to the fact that a value doesn't meet the conditions of some sub-schema in `oneOf`, `anyOf` etc. -// for this reason, we filter these unnecessary errors and leave only the most important ones (usually the first occurring in the list of errors). -function prepareResults(errors) { - // Update additionalProperties errors to make them more precise and prevent them from being treated as duplicates - for (let i = 0; i < errors.length; i++) { - const error = errors[i]; - if (error.keyword === 'additionalProperties') { - error.instancePath = `${error.instancePath}/${String(error.params['additionalProperty'])}`; - } - else if (error.keyword === 'required' && error.params.missingProperty === '$ref') { - errors.splice(i, 1); - i--; - } - } - for (let i = 0; i < errors.length; i++) { - const error = errors[i]; - if (i + 1 < errors.length && errors[i + 1].instancePath === error.instancePath) { - errors.splice(i + 1, 1); - i--; - } - else if (i > 0 && shouldIgnoreError(error) && errors[i - 1].instancePath.startsWith(error.instancePath)) { - errors.splice(i, 1); - i--; - } - } -} -// this is needed because some v3 object fields are expected to be only `$ref` to other objects. -// In order to validate resolved references, we modify those schemas and instead allow the definition of the object -function prepareV3ResolvedSchema(copied) { - // channel object - const channelObject = copied.definitions['http://asyncapi.com/definitions/3.0.0/channel.json']; - channelObject.properties.servers.items.$ref = 'http://asyncapi.com/definitions/3.0.0/server.json'; - // operation object - const operationSchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operation.json']; - operationSchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; - operationSchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; - // operation reply object - const operationReplySchema = copied.definitions['http://asyncapi.com/definitions/3.0.0/operationReply.json']; - operationReplySchema.properties.channel.$ref = 'http://asyncapi.com/definitions/3.0.0/channel.json'; - operationReplySchema.properties.messages.items.$ref = 'http://asyncapi.com/definitions/3.0.0/messageObject.json'; - return copied; -} -function getCopyOfSchema(version) { - return JSON.parse(JSON.stringify(specs.schemas[version])); -} -const serializedSchemas = new Map(); -function getSerializedSchema(version, resolved) { - const serializedSchemaKey = resolved ? `${version}-resolved` : `${version}-unresolved`; - const schema = serializedSchemas.get(serializedSchemaKey); - if (schema) { - return schema; - } - // Copy to not operate on the original json schema - between imports (in different modules) we operate on this same schema. - let copied = getCopyOfSchema(version); - // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. - delete copied.definitions['http://json-schema.org/draft-07/schema']; - delete copied.definitions['http://json-schema.org/draft-04/schema']; - // Spectral caches the schemas using '$id' property - copied['$id'] = copied['$id'].replace('asyncapi.json', `asyncapi-${resolved ? 'resolved' : 'unresolved'}.json`); - const { major } = getSemver(version); - if (resolved && major === 3) { - copied = prepareV3ResolvedSchema(copied); - } - serializedSchemas.set(serializedSchemaKey, copied); - return copied; -} -const refErrorMessage = 'Property "$ref" is not expected to be here'; -function filterRefErrors(errors, resolved) { - if (resolved) { - return errors.filter(err => err.message !== refErrorMessage); - } - return errors - .filter(err => err.message === refErrorMessage) - .map(err => { - err.message = 'Referencing in this place is not allowed'; - return err; - }); -} -export function getSchema(docFormats, resolved) { - for (const [version, format] of AsyncAPIFormats) { - if (docFormats.has(format)) { - return getSerializedSchema(version, resolved); - } - } -} -export const documentStructure = createRulesetFunction({ - input: null, - options: { - type: 'object', - properties: { - resolved: { - type: 'boolean', - }, - }, - required: ['resolved'], - }, -}, (targetVal, options, context) => { - var _a; - const formats = (_a = context.document) === null || _a === void 0 ? void 0 : _a.formats; - if (!formats) { - return; - } - const resolved = options.resolved; - const schema = getSchema(formats, resolved); - if (!schema) { - return; - } - const errors = schemaFn(targetVal, { allErrors: true, schema, prepareResults: resolved ? prepareResults : undefined }, context); - if (!Array.isArray(errors)) { - return; - } - return filterRefErrors(errors, resolved); -}); diff --git a/apps/parser/esm/ruleset/functions/internal.d.ts b/apps/parser/esm/ruleset/functions/internal.d.ts deleted file mode 100644 index 63f1be3d8..000000000 --- a/apps/parser/esm/ruleset/functions/internal.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const internal: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/functions/internal.js b/apps/parser/esm/ruleset/functions/internal.js deleted file mode 100644 index 3836a7dde..000000000 --- a/apps/parser/esm/ruleset/functions/internal.js +++ /dev/null @@ -1,8 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -export const internal = createRulesetFunction({ - input: null, - options: null, -}, (_, __, { document, documentInventory }) => { - // adding document inventory in document - we need it in custom operations to resolve all circular refs - document.__documentInventory = documentInventory; -}); diff --git a/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts b/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts deleted file mode 100644 index df5362db6..000000000 --- a/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { MaybeAsyncAPI } from '../../types'; -export declare const isAsyncAPIDocument: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js b/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js deleted file mode 100644 index 7a1a92208..000000000 --- a/apps/parser/esm/ruleset/functions/isAsyncAPIDocument.js +++ /dev/null @@ -1,24 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { specVersions, lastVersion } from '../../constants'; -import { isObject } from '../../utils'; -export const isAsyncAPIDocument = createRulesetFunction({ - input: null, - options: null, -}, (targetVal) => { - if (!isObject(targetVal) || typeof targetVal.asyncapi !== 'string') { - return [ - { - message: 'This is not an AsyncAPI document. The "asyncapi" field as string is missing.', - path: [], - } - ]; - } - if (!specVersions.includes(targetVal.asyncapi)) { - return [ - { - message: `Version "${targetVal.asyncapi}" is not supported. Please use "${lastVersion}" (latest) version of the specification.`, - path: [], - } - ]; - } -}); diff --git a/apps/parser/esm/ruleset/functions/uniquenessTags.d.ts b/apps/parser/esm/ruleset/functions/uniquenessTags.d.ts deleted file mode 100644 index 0996c4c1c..000000000 --- a/apps/parser/esm/ruleset/functions/uniquenessTags.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -type Tags = Array<{ - name: string; -}>; -export declare const uniquenessTags: import("@stoplight/spectral-core").RulesetFunctionWithValidator; -export {}; diff --git a/apps/parser/esm/ruleset/functions/uniquenessTags.js b/apps/parser/esm/ruleset/functions/uniquenessTags.js deleted file mode 100644 index 4657c7000..000000000 --- a/apps/parser/esm/ruleset/functions/uniquenessTags.js +++ /dev/null @@ -1,40 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -function getDuplicateTagsIndexes(tags) { - return tags - .map(item => item.name) - .reduce((acc, item, i, arr) => { - if (arr.indexOf(item) !== i) { - acc.push(i); - } - return acc; - }, []); -} -export const uniquenessTags = createRulesetFunction({ - input: { - type: 'array', - items: { - type: 'object', - properties: { - name: { - type: 'string', - }, - }, - required: ['name'], - }, - }, - options: null, -}, (targetVal, _, ctx) => { - const duplicatedTags = getDuplicateTagsIndexes(targetVal); - if (duplicatedTags.length === 0) { - return []; - } - const results = []; - for (const duplicatedIndex of duplicatedTags) { - const duplicatedTag = targetVal[duplicatedIndex].name; - results.push({ - message: `"tags" object contains duplicate tag name "${duplicatedTag}".`, - path: [...ctx.path, duplicatedIndex, 'name'], - }); - } - return results; -}); diff --git a/apps/parser/esm/ruleset/functions/unusedComponent.d.ts b/apps/parser/esm/ruleset/functions/unusedComponent.d.ts deleted file mode 100644 index bad14d8a9..000000000 --- a/apps/parser/esm/ruleset/functions/unusedComponent.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const unusedComponent: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - components: Record; -}, null>; diff --git a/apps/parser/esm/ruleset/functions/unusedComponent.js b/apps/parser/esm/ruleset/functions/unusedComponent.js deleted file mode 100644 index 2eda28e9a..000000000 --- a/apps/parser/esm/ruleset/functions/unusedComponent.js +++ /dev/null @@ -1,34 +0,0 @@ -import { unreferencedReusableObject } from '@stoplight/spectral-functions'; -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { isObject } from '../../utils'; -export const unusedComponent = createRulesetFunction({ - input: { - type: 'object', - properties: { - components: { - type: 'object', - }, - }, - required: ['components'], - }, - options: null, -}, (targetVal, _, context) => { - const components = targetVal.components; - const results = []; - Object.keys(components).forEach(componentType => { - // if component type is `securitySchemes` we skip the validation - // security schemes in >=2.x.x are referenced by keys, not by object ref - for this case we have a separate `asyncapi2-unused-securityScheme` rule - if (componentType === 'securitySchemes') { - return; - } - const value = components[componentType]; - if (!isObject(value)) { - return; - } - const resultsForType = unreferencedReusableObject(value, { reusableObjectsLocation: `#/components/${componentType}` }, context); - if (resultsForType && Array.isArray(resultsForType)) { - results.push(...resultsForType); - } - }); - return results; -}); diff --git a/apps/parser/esm/ruleset/index.d.ts b/apps/parser/esm/ruleset/index.d.ts deleted file mode 100644 index 2897d6f86..000000000 --- a/apps/parser/esm/ruleset/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Parser } from '../parser'; -import type { RulesetDefinition } from '@stoplight/spectral-core'; -export type RulesetOptions = RulesetDefinition & { - core?: boolean; - recommended?: boolean; -} | RulesetDefinition | { - core?: boolean; - recommended?: boolean; -}; -export declare function createRuleset(parser: Parser, options?: RulesetOptions): RulesetDefinition; diff --git a/apps/parser/esm/ruleset/index.js b/apps/parser/esm/ruleset/index.js deleted file mode 100644 index 5a62efb69..000000000 --- a/apps/parser/esm/ruleset/index.js +++ /dev/null @@ -1,28 +0,0 @@ -var __rest = (this && this.__rest) || function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -}; -import { coreRuleset, recommendedRuleset } from './ruleset'; -import { v2CoreRuleset, v2SchemasRuleset, v2RecommendedRuleset } from './v2'; -import { v3CoreRuleset } from './v3'; -export function createRuleset(parser, options) { - var _a; - const _b = (options || {}), { core: useCore = true, recommended: useRecommended = true } = _b, rest = __rest(_b, ["core", "recommended"]); - const extendedRuleset = [ - useCore && coreRuleset, - useRecommended && recommendedRuleset, - useCore && v2CoreRuleset, - useCore && v2SchemasRuleset(parser), - useRecommended && v2RecommendedRuleset, - useCore && v3CoreRuleset, - ...((_a = (options || {})) === null || _a === void 0 ? void 0 : _a.extends) || [], - ].filter(Boolean); - return Object.assign(Object.assign({}, rest || {}), { extends: extendedRuleset }); -} diff --git a/apps/parser/esm/ruleset/ruleset.d.ts b/apps/parser/esm/ruleset/ruleset.d.ts deleted file mode 100644 index 3e7c5cf63..000000000 --- a/apps/parser/esm/ruleset/ruleset.d.ts +++ /dev/null @@ -1,184 +0,0 @@ -export declare const coreRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Root Object rules - */ - 'asyncapi-is-asyncapi': { - description: string; - formats: (() => boolean)[]; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-latest-version': { - description: string; - message: string; - recommended: boolean; - severity: string; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - schema: { - const: string; - }; - }; - }; - }; - 'asyncapi-document-resolved': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - resolved: boolean; - }; - }; - }; - 'asyncapi-document-unresolved': { - description: string; - message: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - resolved: boolean; - }; - }; - }; - 'asyncapi-internal': { - description: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - }; -}; -export declare const recommendedRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Root Object rules - */ - 'asyncapi-id': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-defaultContentType': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Info Object rules - */ - 'asyncapi-info-description': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-info-contact': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-info-contact-properties': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }[]; - }; - 'asyncapi-info-license': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi-info-license-url': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Server Object rules - */ - 'asyncapi-servers': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - schema: { - type: string; - minProperties: number; - }; - allErrors: boolean; - }; - }; - }; - /** - * Component Object rules - */ - 'asyncapi-unused-component': { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - recommended: boolean; - resolved: boolean; - severity: string; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - components: Record; - }, null>; - }; - }; - }; -}; diff --git a/apps/parser/esm/ruleset/ruleset.js b/apps/parser/esm/ruleset/ruleset.js deleted file mode 100644 index 909c141e5..000000000 --- a/apps/parser/esm/ruleset/ruleset.js +++ /dev/null @@ -1,195 +0,0 @@ -import { truthy, schema } from '@stoplight/spectral-functions'; -import { documentStructure } from './functions/documentStructure'; -import { internal } from './functions/internal'; -import { isAsyncAPIDocument } from './functions/isAsyncAPIDocument'; -import { unusedComponent } from './functions/unusedComponent'; -import { AsyncAPIFormats } from './formats'; -import { lastVersion } from '../constants'; -export const coreRuleset = { - description: 'Core AsyncAPI x.x.x ruleset.', - formats: AsyncAPIFormats.formats(), - rules: { - /** - * Root Object rules - */ - 'asyncapi-is-asyncapi': { - description: 'The input must be a document with a supported version of AsyncAPI.', - formats: [() => true], - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$', - then: { - function: isAsyncAPIDocument, - }, - }, - 'asyncapi-latest-version': { - description: 'Checking if the AsyncAPI document is using the latest version.', - message: `The latest version of AsyncAPi is not used. It is recommended update to the "${lastVersion}" version.`, - recommended: true, - severity: 'info', - given: '$.asyncapi', - then: { - function: schema, - functionOptions: { - schema: { - const: lastVersion, - }, - }, - }, - }, - 'asyncapi-document-resolved': { - description: 'Checking if the AsyncAPI document has valid resolved structure.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$', - then: { - function: documentStructure, - functionOptions: { - resolved: true, - }, - }, - }, - 'asyncapi-document-unresolved': { - description: 'Checking if the AsyncAPI document has valid unresolved structure.', - message: '{{error}}', - severity: 'error', - recommended: true, - resolved: false, - given: '$', - then: { - function: documentStructure, - functionOptions: { - resolved: false, - }, - }, - }, - 'asyncapi-internal': { - description: 'That rule is internal to extend Spectral functionality for Parser purposes.', - recommended: true, - given: '$', - then: { - function: internal, - }, - }, - }, -}; -export const recommendedRuleset = { - description: 'Recommended AsyncAPI x.x.x ruleset.', - formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - rules: { - /** - * Root Object rules - */ - 'asyncapi-id': { - description: 'AsyncAPI document should have "id" field.', - recommended: true, - given: '$', - then: { - field: 'id', - function: truthy, - }, - }, - 'asyncapi-defaultContentType': { - description: 'AsyncAPI document should have "defaultContentType" field.', - recommended: true, - given: '$', - then: { - field: 'defaultContentType', - function: truthy, - }, - }, - /** - * Info Object rules - */ - 'asyncapi-info-description': { - description: 'Info "description" should be present and non-empty string.', - recommended: true, - given: '$', - then: { - field: 'info.description', - function: truthy, - }, - }, - 'asyncapi-info-contact': { - description: 'Info object should have "contact" object.', - recommended: true, - given: '$', - then: { - field: 'info.contact', - function: truthy, - }, - }, - 'asyncapi-info-contact-properties': { - description: 'Contact object should have "name", "url" and "email" fields.', - recommended: true, - given: '$.info.contact', - then: [ - { - field: 'name', - function: truthy, - }, - { - field: 'url', - function: truthy, - }, - { - field: 'email', - function: truthy, - }, - ], - }, - 'asyncapi-info-license': { - description: 'Info object should have "license" object.', - recommended: true, - given: '$', - then: { - field: 'info.license', - function: truthy, - }, - }, - 'asyncapi-info-license-url': { - description: 'License object should have "url" field.', - recommended: false, - given: '$', - then: { - field: 'info.license.url', - function: truthy, - }, - }, - /** - * Server Object rules - */ - 'asyncapi-servers': { - description: 'AsyncAPI document should have non-empty "servers" object.', - recommended: true, - given: '$', - then: { - field: 'servers', - function: schema, - functionOptions: { - schema: { - type: 'object', - minProperties: 1, - }, - allErrors: true, - }, - }, - }, - /** - * Component Object rules - */ - 'asyncapi-unused-component': { - description: 'Potentially unused component has been detected in AsyncAPI document.', - formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - recommended: true, - resolved: false, - severity: 'info', - given: '$', - then: { - function: unusedComponent, - }, - }, - }, -}; diff --git a/apps/parser/esm/ruleset/utils/getMissingProps.d.ts b/apps/parser/esm/ruleset/utils/getMissingProps.d.ts deleted file mode 100644 index 8c9eff169..000000000 --- a/apps/parser/esm/ruleset/utils/getMissingProps.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function getMissingProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/esm/ruleset/utils/getMissingProps.js b/apps/parser/esm/ruleset/utils/getMissingProps.js deleted file mode 100644 index c1506e3e0..000000000 --- a/apps/parser/esm/ruleset/utils/getMissingProps.js +++ /dev/null @@ -1,7 +0,0 @@ -export function getMissingProps(arr = [], obj = {}) { - if (!Object.keys(obj).length) - return arr; - return arr.filter(val => { - return !Object.prototype.hasOwnProperty.call(obj, val); - }); -} diff --git a/apps/parser/esm/ruleset/utils/getRedundantProps.d.ts b/apps/parser/esm/ruleset/utils/getRedundantProps.d.ts deleted file mode 100644 index 82efd65f0..000000000 --- a/apps/parser/esm/ruleset/utils/getRedundantProps.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function getRedundantProps(arr?: string[], obj?: Record): string[]; diff --git a/apps/parser/esm/ruleset/utils/getRedundantProps.js b/apps/parser/esm/ruleset/utils/getRedundantProps.js deleted file mode 100644 index 5bb36cb01..000000000 --- a/apps/parser/esm/ruleset/utils/getRedundantProps.js +++ /dev/null @@ -1,7 +0,0 @@ -export function getRedundantProps(arr = [], obj = {}) { - if (!arr.length) - return Object.keys(obj); - return Object.keys(obj).filter(val => { - return !arr.includes(val); - }); -} diff --git a/apps/parser/esm/ruleset/utils/index.d.ts b/apps/parser/esm/ruleset/utils/index.d.ts deleted file mode 100644 index 75834cb11..000000000 --- a/apps/parser/esm/ruleset/utils/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './getMissingProps'; -export * from './getRedundantProps'; -export * from './mergeTraits'; -export * from './parseUrlVariables'; diff --git a/apps/parser/esm/ruleset/utils/index.js b/apps/parser/esm/ruleset/utils/index.js deleted file mode 100644 index 75834cb11..000000000 --- a/apps/parser/esm/ruleset/utils/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export * from './getMissingProps'; -export * from './getRedundantProps'; -export * from './mergeTraits'; -export * from './parseUrlVariables'; diff --git a/apps/parser/esm/ruleset/utils/mergeTraits.d.ts b/apps/parser/esm/ruleset/utils/mergeTraits.d.ts deleted file mode 100644 index b36a26c0a..000000000 --- a/apps/parser/esm/ruleset/utils/mergeTraits.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type MaybeHaveTraits = { - traits?: any[]; -} & Record; -export declare function mergeTraits(data: T): T; diff --git a/apps/parser/esm/ruleset/utils/mergeTraits.js b/apps/parser/esm/ruleset/utils/mergeTraits.js deleted file mode 100644 index 77cf7f50b..000000000 --- a/apps/parser/esm/ruleset/utils/mergeTraits.js +++ /dev/null @@ -1,31 +0,0 @@ -import { isPlainObject } from '@stoplight/json'; -export function mergeTraits(data) { - if (Array.isArray(data.traits)) { - data = Object.assign({}, data); // shallow copy - for (const trait of data.traits) { - for (const key in trait) { - data[key] = merge(data[key], trait[key]); - } - } - } - return data; -} -function merge(origin, patch) { - // If the patch is not an object, it replaces the origin. - if (!isPlainObject(patch)) { - return patch; - } - const result = !isPlainObject(origin) - ? {} // Non objects are being replaced. - : Object.assign({}, origin); // Make sure we never modify the origin. - Object.keys(patch).forEach(key => { - const patchVal = patch[key]; - if (patchVal === null) { - delete result[key]; - } - else { - result[key] = merge(result[key], patchVal); - } - }); - return result; -} diff --git a/apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts b/apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts deleted file mode 100644 index f3533d8a6..000000000 --- a/apps/parser/esm/ruleset/utils/parseUrlVariables.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function parseUrlVariables(str: string): string[]; diff --git a/apps/parser/esm/ruleset/utils/parseUrlVariables.js b/apps/parser/esm/ruleset/utils/parseUrlVariables.js deleted file mode 100644 index 8ddfe952a..000000000 --- a/apps/parser/esm/ruleset/utils/parseUrlVariables.js +++ /dev/null @@ -1,8 +0,0 @@ -export function parseUrlVariables(str) { - if (typeof str !== 'string') - return []; - const variables = str.match(/{(.+?)}/g); - if (!variables || variables.length === 0) - return []; - return variables.map(v => v.slice(1, -1)); -} diff --git a/apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts b/apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts deleted file mode 100644 index 3154fd33e..000000000 --- a/apps/parser/esm/ruleset/v2/functions/channelParameters.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const channelParameters: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - parameters: Record; -}, null>; diff --git a/apps/parser/esm/ruleset/v2/functions/channelParameters.js b/apps/parser/esm/ruleset/v2/functions/channelParameters.js deleted file mode 100644 index 7b544b241..000000000 --- a/apps/parser/esm/ruleset/v2/functions/channelParameters.js +++ /dev/null @@ -1,37 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { getMissingProps, getRedundantProps, parseUrlVariables } from '../../utils'; -export const channelParameters = createRulesetFunction({ - input: { - type: 'object', - properties: { - parameters: { - type: 'object', - }, - }, - required: ['parameters'], - }, - options: null, -}, (targetVal, _, ctx) => { - const path = ctx.path[ctx.path.length - 1]; - const results = []; - const parameters = parseUrlVariables(path); - if (parameters.length === 0) - return; - const missingParameters = getMissingProps(parameters, targetVal.parameters); - if (missingParameters.length) { - results.push({ - message: `Not all channel's parameters are described with "parameters" object. Missed: ${missingParameters.join(', ')}.`, - path: [...ctx.path, 'parameters'], - }); - } - const redundantParameters = getRedundantProps(parameters, targetVal.parameters); - if (redundantParameters.length) { - redundantParameters.forEach(param => { - results.push({ - message: `Channel's "parameters" object has redundant defined "${param}" parameter.`, - path: [...ctx.path, 'parameters', param], - }); - }); - } - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/channelServers.d.ts b/apps/parser/esm/ruleset/v2/functions/channelServers.d.ts deleted file mode 100644 index ecdc32a79..000000000 --- a/apps/parser/esm/ruleset/v2/functions/channelServers.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const channelServers: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - servers?: Record | undefined; - channels?: Record | undefined; -}, null>; diff --git a/apps/parser/esm/ruleset/v2/functions/channelServers.js b/apps/parser/esm/ruleset/v2/functions/channelServers.js deleted file mode 100644 index 4311eb215..000000000 --- a/apps/parser/esm/ruleset/v2/functions/channelServers.js +++ /dev/null @@ -1,45 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -export const channelServers = createRulesetFunction({ - input: { - type: 'object', - properties: { - servers: { - type: 'object', - }, - channels: { - type: 'object', - additionalProperties: { - type: 'object', - properties: { - servers: { - type: 'array', - items: { - type: 'string', - }, - }, - }, - }, - }, - }, - }, - options: null, -}, (targetVal) => { - var _a, _b; - const results = []; - if (!targetVal.channels) - return results; - const serverNames = Object.keys((_a = targetVal.servers) !== null && _a !== void 0 ? _a : {}); - Object.entries((_b = targetVal.channels) !== null && _b !== void 0 ? _b : {}).forEach(([channelAddress, channel]) => { - if (!channel.servers) - return; - channel.servers.forEach((serverName, index) => { - if (!serverNames.includes(serverName)) { - results.push({ - message: 'Channel contains server that are not defined on the "servers" object.', - path: ['channels', channelAddress, 'servers', index], - }); - } - }); - }); - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/checkId.d.ts b/apps/parser/esm/ruleset/v2/functions/checkId.d.ts deleted file mode 100644 index 5314c47e4..000000000 --- a/apps/parser/esm/ruleset/v2/functions/checkId.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { MaybeHaveTraits } from '../../utils'; -export declare const checkId: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/checkId.js b/apps/parser/esm/ruleset/v2/functions/checkId.js deleted file mode 100644 index 7268a51fe..000000000 --- a/apps/parser/esm/ruleset/v2/functions/checkId.js +++ /dev/null @@ -1,28 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { truthy } from '@stoplight/spectral-functions'; -import { mergeTraits } from '../../utils'; -export const checkId = createRulesetFunction({ - input: { - type: 'object', - properties: { - traits: { - type: 'array', - items: { - type: 'object', - }, - }, - }, - }, - options: { - type: 'object', - properties: { - idField: { - type: 'string', - enum: ['operationId', 'messageId'], - }, - }, - }, -}, (targetVal, options, ctx) => { - const mergedValue = mergeTraits(targetVal); - return truthy(mergedValue[options.idField], null, ctx); -}); diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts b/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts deleted file mode 100644 index 6a27833ff..000000000 --- a/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { RuleDefinition } from '@stoplight/spectral-core'; -import type { Parser } from 'parser'; -export declare function asyncApi2MessageExamplesParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js b/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js deleted file mode 100644 index f909341ca..000000000 --- a/apps/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js +++ /dev/null @@ -1,113 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { getDefaultSchemaFormat, getSchemaFormat, parseSchema } from '../../../schema-parser'; -import { createDetailedAsyncAPI } from '../../../utils'; -import { getMessageExamples, validate } from './messageExamples'; -export function asyncApi2MessageExamplesParserRule(parser) { - return { - description: 'Examples of message object should validate against a payload with an explicit schemaFormat.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // messages - '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat !== void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message[?(@property === \'message\' && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat !== void 0)]', - '$.components.messages[?(!@null && @.schemaFormat !== void 0)]', - // message traits - '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.messages.*.traits[?(!@null && @.schemaFormat !== void 0)]', - '$.components.messageTraits[?(!@null && @.schemaFormat !== void 0)]', - ], - then: { - function: rulesetFunction(parser), - }, - }; -} -function rulesetFunction(parser) { - return createRulesetFunction({ - input: { - type: 'object', - properties: { - name: { - type: 'string', - }, - summary: { - type: 'string', - }, - }, - }, - options: null, - }, (targetVal, _, ctx) => __awaiter(this, void 0, void 0, function* () { - if (!targetVal.examples) - return; - if (!targetVal.payload) - return; - const document = ctx.document; - const parsedSpec = document.data; - const schemaFormat = getSchemaFormat(targetVal.schemaFormat, parsedSpec.asyncapi); - const defaultSchemaFormat = getDefaultSchemaFormat(parsedSpec.asyncapi); - const asyncapi = createDetailedAsyncAPI(parsedSpec, document.__parserInput, document.source || undefined); - const input = { - asyncapi, - rootPath: ctx.path, - schemaFormat, - defaultSchemaFormat - }; - const results = []; - const payloadSchemaResults = yield parseExampleSchema(parser, targetVal.payload, input); - const payloadSchema = payloadSchemaResults.schema; - results.push(...payloadSchemaResults.errors); - for (const example of getMessageExamples(targetVal)) { - const { path, value } = example; - // validate payload - if (value.payload !== undefined && payloadSchema !== undefined) { - const errors = validate(value.payload, path, 'payload', payloadSchema, ctx); - if (Array.isArray(errors)) { - results.push(...errors); - } - } - } - return results; - })); -} -function parseExampleSchema(parser, schema, input) { - return __awaiter(this, void 0, void 0, function* () { - const path = [...input.rootPath, 'payload']; - if (schema === undefined) { - return { path, schema: undefined, errors: [] }; - } - try { - const parseSchemaInput = { - asyncapi: input.asyncapi, - data: schema, - meta: {}, - path, - schemaFormat: input.schemaFormat, - defaultSchemaFormat: input.defaultSchemaFormat, - }; - const parsedSchema = yield parseSchema(parser, parseSchemaInput); - return { path, schema: parsedSchema, errors: [] }; - } - catch (err) { - const error = { - message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, - path - }; - return { path, schema: undefined, errors: [error] }; - } - }); -} diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts b/apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts deleted file mode 100644 index 540a910cf..000000000 --- a/apps/parser/esm/ruleset/v2/functions/messageExamples.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { schema as schemaFn } from '@stoplight/spectral-functions'; -import type { JsonPath } from '@stoplight/types'; -import type { RulesetFunctionContext } from '@stoplight/spectral-core'; -import type { v2 } from 'spec-types'; -export declare function getMessageExamples(message: v2.MessageObject): Array<{ - path: JsonPath; - value: v2.MessageExampleObject; -}>; -export declare function validate(value: unknown, path: JsonPath, type: 'payload' | 'headers', schema: unknown, ctx: RulesetFunctionContext): ReturnType; -export declare const messageExamples: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/messageExamples.js b/apps/parser/esm/ruleset/v2/functions/messageExamples.js deleted file mode 100644 index 0dee823fa..000000000 --- a/apps/parser/esm/ruleset/v2/functions/messageExamples.js +++ /dev/null @@ -1,77 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { schema as schemaFn } from '@stoplight/spectral-functions'; -function serializeSchema(schema, type) { - if (!schema && typeof schema !== 'boolean') { // if schema is falsy then - if (type === 'headers') { // object for headers - schema = { type: 'object' }; - } - else { // anything for payload - schema = {}; - } - } - else if (typeof schema === 'boolean') { // spectral cannot handle boolean schemas - if (schema === true) { - schema = {}; // everything - } - else { - schema = { not: {} }; // nothing - } - } - return schema; -} -export function getMessageExamples(message) { - var _a; - if (!Array.isArray(message.examples)) { - return []; - } - return ((_a = message.examples.map((example, index) => { - return { - path: ['examples', index], - value: example, - }; - })) !== null && _a !== void 0 ? _a : []); -} -export function validate(value, path, type, schema, ctx) { - return schemaFn(value, { - allErrors: true, - schema: schema, - }, Object.assign(Object.assign({}, ctx), { path: [...ctx.path, ...path, type] })); -} -export const messageExamples = createRulesetFunction({ - input: { - type: 'object', - properties: { - name: { - type: 'string', - }, - summary: { - type: 'string', - }, - }, - }, - options: null, -}, (targetVal, _, ctx) => { - if (!targetVal.examples) - return; - const results = []; - const payloadSchema = serializeSchema(targetVal.payload, 'payload'); - const headersSchema = serializeSchema(targetVal.headers, 'headers'); - for (const example of getMessageExamples(targetVal)) { - const { path, value } = example; - // validate payload - if (value.payload !== undefined) { - const errors = validate(value.payload, path, 'payload', payloadSchema, ctx); - if (Array.isArray(errors)) { - results.push(...errors); - } - } - // validate headers - if (value.headers !== undefined) { - const errors = validate(value.headers, path, 'headers', headersSchema, ctx); - if (Array.isArray(errors)) { - results.push(...errors); - } - } - } - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts b/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts deleted file mode 100644 index 052420947..000000000 --- a/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { v2 } from '../../../spec-types'; -export declare const messageIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js b/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js deleted file mode 100644 index 5988e88f7..000000000 --- a/apps/parser/esm/ruleset/v2/functions/messageIdUniqueness.js +++ /dev/null @@ -1,92 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { getAllMessages } from '../utils'; -import { isObject } from '../../../utils'; -function retrieveMessageId(message) { - if (Array.isArray(message.traits)) { - for (let i = message.traits.length - 1; i >= 0; i--) { - const trait = message.traits[i]; - if (isObject(trait) && typeof trait.messageId === 'string') { - return { - messageId: trait.messageId, - path: ['traits', i, 'messageId'], - }; - } - } - } - if (typeof message.messageId === 'string') { - return { - messageId: message.messageId, - path: ['messageId'], - }; - } - return undefined; -} -export const messageIdUniqueness = createRulesetFunction({ - input: { - type: 'object', - properties: { - channels: { - type: 'object', - properties: { - subscribe: { - type: 'object', - properties: { - message: { - oneOf: [ - { type: 'object' }, - { - type: 'object', - properties: { - oneOf: { - type: 'array', - }, - }, - }, - ], - }, - }, - }, - publish: { - type: 'object', - properties: { - message: { - oneOf: [ - { type: 'object' }, - { - type: 'object', - properties: { - oneOf: { - type: 'array', - }, - }, - }, - ], - }, - }, - }, - }, - }, - }, - }, - options: null, -}, (targetVal) => { - const results = []; - const messages = getAllMessages(targetVal); - const seenIds = []; - for (const { path, message } of messages) { - const maybeMessageId = retrieveMessageId(message); - if (maybeMessageId === undefined) { - continue; - } - if (seenIds.includes(maybeMessageId.messageId)) { - results.push({ - message: '"messageId" must be unique across all the messages.', - path: [...path, ...maybeMessageId.path], - }); - } - else { - seenIds.push(maybeMessageId.messageId); - } - } - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts b/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts deleted file mode 100644 index bfe23e90f..000000000 --- a/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { v2 } from '../../../spec-types'; -export declare const operationIdUniqueness: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js b/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js deleted file mode 100644 index 03fd02685..000000000 --- a/apps/parser/esm/ruleset/v2/functions/operationIdUniqueness.js +++ /dev/null @@ -1,62 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { getAllOperations } from '../utils'; -import { isObject } from '../../../utils'; -function retrieveOperationId(operation) { - if (Array.isArray(operation.traits)) { - for (let i = operation.traits.length - 1; i >= 0; i--) { - const trait = operation.traits[i]; - if (isObject(trait) && typeof trait.operationId === 'string') { - return { - operationId: trait.operationId, - path: ['traits', i, 'operationId'], - }; - } - } - } - if (typeof operation.operationId === 'string') { - return { - operationId: operation.operationId, - path: ['operationId'], - }; - } - return undefined; -} -export const operationIdUniqueness = createRulesetFunction({ - input: { - type: 'object', - properties: { - channels: { - type: 'object', - properties: { - subscribe: { - type: 'object', - }, - publish: { - type: 'object', - }, - }, - }, - }, - }, - options: null, -}, (targetVal) => { - const results = []; - const operations = getAllOperations(targetVal); - const seenIds = []; - for (const { path, operation } of operations) { - const maybeOperationId = retrieveOperationId(operation); - if (maybeOperationId === undefined) { - continue; - } - if (seenIds.includes(maybeOperationId.operationId)) { - results.push({ - message: '"operationId" must be unique across all the operations.', - path: [...path, ...maybeOperationId.path], - }); - } - else { - seenIds.push(maybeOperationId.operationId); - } - } - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts b/apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts deleted file mode 100644 index 09111d4be..000000000 --- a/apps/parser/esm/ruleset/v2/functions/schemaValidation.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -type SchemaFragment = { - default?: unknown; - examples?: unknown[]; -}; -export declare const schemaValidation: import("@stoplight/spectral-core").RulesetFunctionWithValidator; -export {}; diff --git a/apps/parser/esm/ruleset/v2/functions/schemaValidation.js b/apps/parser/esm/ruleset/v2/functions/schemaValidation.js deleted file mode 100644 index 77240a735..000000000 --- a/apps/parser/esm/ruleset/v2/functions/schemaValidation.js +++ /dev/null @@ -1,50 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { schema as schemaFn } from '@stoplight/spectral-functions'; -function getRelevantItems(target, type) { - if (type === 'default') { - return [{ path: ['default'], value: target.default }]; - } - if (!Array.isArray(target.examples)) { - return []; - } - return Array.from(target.examples.entries()).map(([key, value]) => ({ - path: ['examples', key], - value, - })); -} -export const schemaValidation = createRulesetFunction({ - input: { - type: 'object', - properties: { - default: {}, - examples: { - type: 'array', - }, - }, - errorMessage: '#{{print("property")}must be an object containing "default" or an "examples" array', - }, - errorOnInvalidInput: true, - options: { - type: 'object', - properties: { - type: { - enum: ['default', 'examples'], - }, - }, - additionalProperties: false, - required: ['type'], - }, -}, (targetVal, opts, context) => { - const schemaObject = targetVal; - const results = []; - for (const relevantItem of getRelevantItems(targetVal, opts.type)) { - const result = schemaFn(relevantItem.value, { - schema: schemaObject, - allErrors: true, - }, Object.assign(Object.assign({}, context), { path: [...context.path, ...relevantItem.path] })); - if (Array.isArray(result)) { - results.push(...result); - } - } - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/security.d.ts b/apps/parser/esm/ruleset/v2/functions/security.d.ts deleted file mode 100644 index 7eccc4120..000000000 --- a/apps/parser/esm/ruleset/v2/functions/security.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const security: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { - objectType: 'Server' | 'Operation'; -}>; diff --git a/apps/parser/esm/ruleset/v2/functions/security.js b/apps/parser/esm/ruleset/v2/functions/security.js deleted file mode 100644 index 7752b52be..000000000 --- a/apps/parser/esm/ruleset/v2/functions/security.js +++ /dev/null @@ -1,61 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { isObject } from '../../../utils'; -const oAuth2Keys = ['implicit', 'password', 'clientCredentials', 'authorizationCode']; -function getAllScopes(oauth2) { - const scopes = []; - oAuth2Keys.forEach(key => { - const flow = oauth2[key]; - if (isObject(flow)) { - scopes.push(...Object.keys(flow.scopes)); - } - }); - return Array.from(new Set(scopes)); -} -export const security = createRulesetFunction({ - input: { - type: 'object', - additionalProperties: { - type: 'array', - items: { - type: 'string', - }, - }, - }, - options: { - type: 'object', - properties: { - objectType: { - type: 'string', - enum: ['Server', 'Operation'], - }, - }, - }, -}, (targetVal = {}, { objectType }, ctx) => { - var _a, _b; - const results = []; - const spec = ctx.document.data; - const securitySchemes = (_b = (_a = spec === null || spec === void 0 ? void 0 : spec.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) !== null && _b !== void 0 ? _b : {}; - const securitySchemesKeys = Object.keys(securitySchemes); - Object.keys(targetVal).forEach(securityKey => { - var _a; - if (!securitySchemesKeys.includes(securityKey)) { - results.push({ - message: `${objectType} must not reference an undefined security scheme.`, - path: [...ctx.path, securityKey], - }); - } - const securityScheme = securitySchemes[securityKey]; - if ((securityScheme === null || securityScheme === void 0 ? void 0 : securityScheme.type) === 'oauth2') { - const availableScopes = getAllScopes((_a = securityScheme.flows) !== null && _a !== void 0 ? _a : {}); - targetVal[securityKey].forEach((securityScope, index) => { - if (!availableScopes.includes(securityScope)) { - results.push({ - message: `Non-existing security scope for the specified security scheme. Available: [${availableScopes.join(', ')}]`, - path: [...ctx.path, securityKey, index], - }); - } - }); - } - }); - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts b/apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts deleted file mode 100644 index 1f3e71612..000000000 --- a/apps/parser/esm/ruleset/v2/functions/serverVariables.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const serverVariables: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - url: string; - variables: Record; -}, null>; diff --git a/apps/parser/esm/ruleset/v2/functions/serverVariables.js b/apps/parser/esm/ruleset/v2/functions/serverVariables.js deleted file mode 100644 index 9ae66ab5a..000000000 --- a/apps/parser/esm/ruleset/v2/functions/serverVariables.js +++ /dev/null @@ -1,39 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { getMissingProps, getRedundantProps, parseUrlVariables } from '../../utils'; -export const serverVariables = createRulesetFunction({ - input: { - type: 'object', - properties: { - url: { - type: 'string', - }, - variables: { - type: 'object', - }, - }, - required: ['url', 'variables'], - }, - options: null, -}, (targetVal, _, ctx) => { - const results = []; - const variables = parseUrlVariables(targetVal.url); - if (variables.length === 0) - return results; - const missingVariables = getMissingProps(variables, targetVal.variables); - if (missingVariables.length) { - results.push({ - message: `Not all server's variables are described with "variables" object. Missed: ${missingVariables.join(', ')}.`, - path: [...ctx.path, 'variables'], - }); - } - const redundantVariables = getRedundantProps(variables, targetVal.variables); - if (redundantVariables.length) { - redundantVariables.forEach(variable => { - results.push({ - message: `Server's "variables" object has redundant defined "${variable}" url variable.`, - path: [...ctx.path, 'variables', variable], - }); - }); - } - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts b/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts deleted file mode 100644 index 93af76773..000000000 --- a/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { v2 } from '../../../spec-types'; -export declare const unusedSecuritySchemes: import("@stoplight/spectral-core").RulesetFunctionWithValidator; diff --git a/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js b/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js deleted file mode 100644 index 35087d292..000000000 --- a/apps/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js +++ /dev/null @@ -1,53 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { getAllOperations } from '../utils'; -import { isObject } from '../../../utils'; -export const unusedSecuritySchemes = createRulesetFunction({ - input: { - type: 'object', - properties: { - components: { - type: 'object', - }, - }, - required: ['components'], - }, - options: null, -}, (targetVal) => { - var _a; - const securitySchemes = (_a = targetVal.components) === null || _a === void 0 ? void 0 : _a.securitySchemes; - if (!isObject(securitySchemes)) { - return; - } - const usedSecuritySchemes = []; - // collect all security requirements from servers - if (isObject(targetVal.servers)) { - Object.values(targetVal.servers).forEach(server => { - if (Array.isArray(server.security)) { - server.security.forEach(requirements => { - usedSecuritySchemes.push(...Object.keys(requirements)); - }); - } - }); - } - // collect all security requirements from operations - const operations = getAllOperations(targetVal); - for (const { operation } of operations) { - if (Array.isArray(operation.security)) { - operation.security.forEach(requirements => { - usedSecuritySchemes.push(...Object.keys(requirements)); - }); - } - } - const usedSecuritySchemesSet = new Set(usedSecuritySchemes); - const securitySchemesKinds = Object.keys(securitySchemes); - const results = []; - securitySchemesKinds.forEach(securitySchemeKind => { - if (!usedSecuritySchemesSet.has(securitySchemeKind)) { - results.push({ - message: 'Potentially unused security scheme has been detected in AsyncAPI document.', - path: ['components', 'securitySchemes', securitySchemeKind], - }); - } - }); - return results; -}); diff --git a/apps/parser/esm/ruleset/v2/index.d.ts b/apps/parser/esm/ruleset/v2/index.d.ts deleted file mode 100644 index 5acc4189e..000000000 --- a/apps/parser/esm/ruleset/v2/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v2/index.js b/apps/parser/esm/ruleset/v2/index.js deleted file mode 100644 index 5acc4189e..000000000 --- a/apps/parser/esm/ruleset/v2/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v2/ruleset.d.ts b/apps/parser/esm/ruleset/v2/ruleset.d.ts deleted file mode 100644 index 0715d2bc1..000000000 --- a/apps/parser/esm/ruleset/v2/ruleset.d.ts +++ /dev/null @@ -1,304 +0,0 @@ -import type { Parser } from '../../parser'; -export declare const v2CoreRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Server Object rules - */ - 'asyncapi2-server-security': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { - objectType: "Server" | "Operation"; - }>; - functionOptions: { - objectType: string; - }; - }; - }; - 'asyncapi2-server-variables': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - url: string; - variables: Record; - }, null>; - }; - }; - 'asyncapi2-channel-no-query-nor-fragment': { - description: string; - severity: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - /** - * Channel Object rules - */ - 'asyncapi2-channel-parameters': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - parameters: Record; - }, null>; - }; - }; - 'asyncapi2-channel-servers': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - servers?: Record | undefined; - channels?: Record | undefined; - }, null>; - }; - }; - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId-uniqueness': { - description: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi2-operation-security': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator, { - objectType: "Server" | "Operation"; - }>; - functionOptions: { - objectType: string; - }; - }; - }; - /** - * Message Object rules - */ - 'asyncapi2-message-examples': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - 'asyncapi2-message-messageId-uniqueness': { - description: string; - severity: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Misc rules - */ - 'asyncapi2-tags-uniqueness': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - name: string; - }[], null>; - }; - }; - }; -}; -export declare const v2SchemasRuleset: (parser: Parser) => { - description: string; - rules: { - 'asyncapi2-schemas': import("@stoplight/spectral-core").RuleDefinition; - 'asyncapi2-schema-default': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - default?: unknown; - examples?: unknown[] | undefined; - }, { - type: "default" | "examples"; - }>; - functionOptions: { - type: string; - }; - }; - }; - 'asyncapi2-schema-examples': { - description: string; - message: string; - severity: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - default?: unknown; - examples?: unknown[] | undefined; - }, { - type: "default" | "examples"; - }>; - functionOptions: { - type: string; - }; - }; - }; - 'asyncapi2-message-examples-custom-format': import("@stoplight/spectral-core").RuleDefinition; - }; -}; -export declare const v2RecommendedRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Root Object rules - */ - 'asyncapi2-tags': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - /** - * Server Object rules - */ - 'asyncapi2-server-no-empty-variable': { - description: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - 'asyncapi2-server-no-trailing-slash': { - description: string; - recommended: boolean; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - /** - * Channel Object rules - */ - 'asyncapi2-channel-no-empty-parameter': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - 'asyncapi2-channel-no-trailing-slash': { - description: string; - recommended: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - notMatch: string; - }; - }; - }; - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId': { - description: string; - recommended: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - idField: string; - }; - }; - }; - /** - * Message Object rules - */ - 'asyncapi2-message-messageId': { - description: string; - recommended: boolean; - formats: import("@stoplight/spectral-core").Format[]; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - idField: string; - }; - }; - }; - /** - * Component Object rules - */ - 'asyncapi2-unused-securityScheme': { - description: string; - recommended: boolean; - resolved: boolean; - severity: string; - given: string; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - }; - }; - }; -}; diff --git a/apps/parser/esm/ruleset/v2/ruleset.js b/apps/parser/esm/ruleset/v2/ruleset.js deleted file mode 100644 index d8083a485..000000000 --- a/apps/parser/esm/ruleset/v2/ruleset.js +++ /dev/null @@ -1,352 +0,0 @@ -/* eslint-disable sonarjs/no-duplicate-string */ -import { AsyncAPIFormats } from '../formats'; -import { truthy, pattern } from '@stoplight/spectral-functions'; -import { channelParameters } from './functions/channelParameters'; -import { channelServers } from './functions/channelServers'; -import { checkId } from './functions/checkId'; -import { messageExamples } from './functions/messageExamples'; -import { asyncApi2MessageExamplesParserRule } from './functions/messageExamples-spectral-rule-v2'; -import { messageIdUniqueness } from './functions/messageIdUniqueness'; -import { operationIdUniqueness } from './functions/operationIdUniqueness'; -import { schemaValidation } from './functions/schemaValidation'; -import { security } from './functions/security'; -import { serverVariables } from './functions/serverVariables'; -import { unusedSecuritySchemes } from './functions/unusedSecuritySchemes'; -import { uniquenessTags } from '../functions/uniquenessTags'; -import { asyncApi2SchemaParserRule } from '../../schema-parser/spectral-rule-v2'; -export const v2CoreRuleset = { - description: 'Core AsyncAPI 2.x.x ruleset.', - formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - rules: { - /** - * Server Object rules - */ - 'asyncapi2-server-security': { - description: 'Server have to reference a defined security schemes.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$.servers.*.security.*', - then: { - function: security, - functionOptions: { - objectType: 'Server', - }, - }, - }, - 'asyncapi2-server-variables': { - description: 'Server variables must be defined and there must be no redundant variables.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: ['$.servers.*', '$.components.servers.*'], - then: { - function: serverVariables, - }, - }, - 'asyncapi2-channel-no-query-nor-fragment': { - description: 'Channel address should not include query ("?") or fragment ("#") delimiter.', - severity: 'error', - recommended: true, - given: '$.channels', - then: { - field: '@key', - function: pattern, - functionOptions: { - notMatch: '[\\?#]', - }, - }, - }, - /** - * Channel Object rules - */ - 'asyncapi2-channel-parameters': { - description: 'Channel parameters must be defined and there must be no redundant parameters.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$.channels.*', - then: { - function: channelParameters, - }, - }, - 'asyncapi2-channel-servers': { - description: 'Channel servers must be defined in the "servers" object.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$', - then: { - function: channelServers, - }, - }, - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId-uniqueness': { - description: '"operationId" must be unique across all the operations.', - severity: 'error', - recommended: true, - given: '$', - then: { - function: operationIdUniqueness, - }, - }, - 'asyncapi2-operation-security': { - description: 'Operation have to reference a defined security schemes.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: '$.channels[*][publish,subscribe].security.*', - then: { - function: security, - functionOptions: { - objectType: 'Operation', - }, - }, - }, - /** - * Message Object rules - */ - 'asyncapi2-message-examples': { - description: 'Examples of message object should validate againt the "payload" and "headers" schemas.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // messages - '$.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf[?(!@null && @.schemaFormat === void 0)]', - '$.components.messages[?(!@null && @.schemaFormat === void 0)]', - // message traits - '$.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe].message.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.messages.*.traits[?(!@null && @.schemaFormat === void 0)]', - '$.components.messageTraits[?(!@null && @.schemaFormat === void 0)]', - ], - then: { - function: messageExamples, - }, - }, - 'asyncapi2-message-messageId-uniqueness': { - description: '"messageId" must be unique across all the messages.', - severity: 'error', - recommended: true, - given: '$', - then: { - function: messageIdUniqueness, - }, - }, - /** - * Misc rules - */ - 'asyncapi2-tags-uniqueness': { - description: 'Each tag must have a unique name.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // root - '$.tags', - // operations - '$.channels.*.[publish,subscribe].tags', - '$.components.channels.*.[publish,subscribe].tags', - // operation traits - '$.channels.*.[publish,subscribe].traits.*.tags', - '$.components.channels.*.[publish,subscribe].traits.*.tags', - '$.components.operationTraits.*.tags', - // messages - '$.channels.*.[publish,subscribe].message.tags', - '$.channels.*.[publish,subscribe].message.oneOf.*.tags', - '$.components.channels.*.[publish,subscribe].message.tags', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.tags', - '$.components.messages.*.tags', - // message traits - '$.channels.*.[publish,subscribe].message.traits.*.tags', - '$.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', - '$.components.channels.*.[publish,subscribe].message.traits.*.tags', - '$.components.channels.*.[publish,subscribe].message.oneOf.*.traits.*.tags', - '$.components.messages.*.traits.*.tags', - '$.components.messageTraits.*.tags', - ], - then: { - function: uniquenessTags, - }, - }, - }, -}; -export const v2SchemasRuleset = (parser) => { - return { - description: 'Schemas AsyncAPI 2.x.x ruleset.', - rules: { - 'asyncapi2-schemas': asyncApi2SchemaParserRule(parser), - 'asyncapi2-schema-default': { - description: 'Default must be valid against its defined schema.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', - '$.channels.*.parameters.*.schema.default^', - '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.default^', - '$.components.channels.*.parameters.*.schema.default^', - '$.components.schemas.*.default^', - '$.components.parameters.*.schema.default^', - '$.components.messages[?(@.schemaFormat === void 0)].payload.default^', - '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.default^', - ], - then: { - function: schemaValidation, - functionOptions: { - type: 'default', - }, - }, - }, - 'asyncapi2-schema-examples': { - description: 'Examples must be valid against their defined schema.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - '$.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', - '$.channels.*.parameters.*.schema.examples^', - '$.components.channels[*][publish,subscribe][?(@property === \'message\' && @.schemaFormat === void 0)].payload.examples^', - '$.components.channels.*.parameters.*.schema.examples^', - '$.components.schemas.*.examples^', - '$.components.parameters.*.schema.examples^', - '$.components.messages[?(@.schemaFormat === void 0)].payload.examples^', - '$.components.messageTraits[?(@.schemaFormat === void 0)].payload.examples^', - ], - then: { - function: schemaValidation, - functionOptions: { - type: 'examples', - }, - }, - }, - 'asyncapi2-message-examples-custom-format': asyncApi2MessageExamplesParserRule(parser), - } - }; -}; -export const v2RecommendedRuleset = { - description: 'Recommended AsyncAPI 2.x.x ruleset.', - formats: AsyncAPIFormats.filterByMajorVersions(['2']).formats(), - rules: { - /** - * Root Object rules - */ - 'asyncapi2-tags': { - description: 'AsyncAPI object should have non-empty "tags" array.', - recommended: true, - given: '$', - then: { - field: 'tags', - function: truthy, - }, - }, - /** - * Server Object rules - */ - 'asyncapi2-server-no-empty-variable': { - description: 'Server URL should not have empty variable substitution pattern.', - recommended: true, - given: '$.servers[*].url', - then: { - function: pattern, - functionOptions: { - notMatch: '{}', - }, - }, - }, - 'asyncapi2-server-no-trailing-slash': { - description: 'Server URL should not end with slash.', - recommended: true, - given: '$.servers[*].url', - then: { - function: pattern, - functionOptions: { - notMatch: '/$', - }, - }, - }, - /** - * Channel Object rules - */ - 'asyncapi2-channel-no-empty-parameter': { - description: 'Channel address should not have empty parameter substitution pattern.', - recommended: true, - given: '$.channels', - then: { - field: '@key', - function: pattern, - functionOptions: { - notMatch: '{}', - }, - }, - }, - 'asyncapi2-channel-no-trailing-slash': { - description: 'Channel address should not end with slash.', - recommended: true, - given: '$.channels', - then: { - field: '@key', - function: pattern, - functionOptions: { - notMatch: '.+\\/$', - }, - }, - }, - /** - * Operation Object rules - */ - 'asyncapi2-operation-operationId': { - description: 'Operation should have an "operationId" field defined.', - recommended: true, - given: ['$.channels[*][publish,subscribe]', '$.components.channels[*][publish,subscribe]'], - then: { - function: checkId, - functionOptions: { - idField: 'operationId', - }, - }, - }, - /** - * Message Object rules - */ - 'asyncapi2-message-messageId': { - description: 'Message should have a "messageId" field defined.', - recommended: true, - formats: AsyncAPIFormats.filterByMajorVersions(['2']).excludeByVersions(['2.0.0', '2.1.0', '2.2.0', '2.3.0']).formats(), - given: [ - '$.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe][?(@property === "message" && @.oneOf == void 0)]', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.messages.*', - ], - then: { - function: checkId, - functionOptions: { - idField: 'messageId', - }, - }, - }, - /** - * Component Object rules - */ - 'asyncapi2-unused-securityScheme': { - description: 'Potentially unused security scheme has been detected in AsyncAPI document.', - recommended: true, - resolved: false, - severity: 'info', - given: '$', - then: { - function: unusedSecuritySchemes, - }, - }, - }, -}; diff --git a/apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts b/apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts deleted file mode 100644 index fd7f3fbd4..000000000 --- a/apps/parser/esm/ruleset/v2/utils/getAllMessages.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { JsonPath } from '@stoplight/types'; -import type { v2 } from '../../../spec-types'; -export type GetAllMessageResult = { - path: JsonPath; - message: v2.MessageObject; -}; -export declare function getAllMessages(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/esm/ruleset/v2/utils/getAllMessages.js b/apps/parser/esm/ruleset/v2/utils/getAllMessages.js deleted file mode 100644 index b401043f3..000000000 --- a/apps/parser/esm/ruleset/v2/utils/getAllMessages.js +++ /dev/null @@ -1,30 +0,0 @@ -import { isObject } from '../../../utils'; -import { getAllOperations } from './getAllOperations'; -export function* getAllMessages(asyncapi) { - for (const { path, operation } of getAllOperations(asyncapi)) { - if (!isObject(operation)) { - continue; - } - const maybeMessage = operation.message; - if (!isObject(maybeMessage)) { - continue; - } - const oneOf = maybeMessage.oneOf; - if (Array.isArray(oneOf)) { - for (const [index, message] of oneOf.entries()) { - if (isObject(message)) { - yield { - path: [...path, 'message', 'oneOf', index], - message, - }; - } - } - } - else { - yield { - path: [...path, 'message'], - message: maybeMessage, - }; - } - } -} diff --git a/apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts b/apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts deleted file mode 100644 index b806e79b6..000000000 --- a/apps/parser/esm/ruleset/v2/utils/getAllOperations.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { JsonPath } from '@stoplight/types'; -import type { v2 } from '../../../spec-types'; -export type GetAllOperationsResult = { - path: JsonPath; - kind: 'subscribe' | 'publish'; - operation: v2.OperationObject; -}; -export declare function getAllOperations(asyncapi: v2.AsyncAPIObject): IterableIterator; diff --git a/apps/parser/esm/ruleset/v2/utils/getAllOperations.js b/apps/parser/esm/ruleset/v2/utils/getAllOperations.js deleted file mode 100644 index aeff54835..000000000 --- a/apps/parser/esm/ruleset/v2/utils/getAllOperations.js +++ /dev/null @@ -1,26 +0,0 @@ -import { isObject } from '../../../utils'; -export function* getAllOperations(asyncapi) { - const channels = asyncapi === null || asyncapi === void 0 ? void 0 : asyncapi.channels; - if (!isObject(channels)) { - return {}; - } - for (const [channelAddress, channel] of Object.entries(channels)) { - if (!isObject(channel)) { - continue; - } - if (isObject(channel.subscribe)) { - yield { - path: ['channels', channelAddress, 'subscribe'], - kind: 'subscribe', - operation: channel.subscribe, - }; - } - if (isObject(channel.publish)) { - yield { - path: ['channels', channelAddress, 'publish'], - kind: 'publish', - operation: channel.publish, - }; - } - } -} diff --git a/apps/parser/esm/ruleset/v2/utils/index.d.ts b/apps/parser/esm/ruleset/v2/utils/index.d.ts deleted file mode 100644 index 904290167..000000000 --- a/apps/parser/esm/ruleset/v2/utils/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './getAllMessages'; -export * from './getAllOperations'; diff --git a/apps/parser/esm/ruleset/v2/utils/index.js b/apps/parser/esm/ruleset/v2/utils/index.js deleted file mode 100644 index 904290167..000000000 --- a/apps/parser/esm/ruleset/v2/utils/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export * from './getAllMessages'; -export * from './getAllOperations'; diff --git a/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts b/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts deleted file mode 100644 index c712112a0..000000000 --- a/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export declare const operationMessagesUnambiguity: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - channel?: { - $ref: string; - } | undefined; - messages?: [{ - $ref: string; - }] | undefined; -}, null>; diff --git a/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js b/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js deleted file mode 100644 index 63950e798..000000000 --- a/apps/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js +++ /dev/null @@ -1,36 +0,0 @@ -import { createRulesetFunction } from '@stoplight/spectral-core'; -const referenceSchema = { - type: 'object', - properties: { - $ref: { - type: 'string', - format: 'uri-reference' - }, - }, -}; -export const operationMessagesUnambiguity = createRulesetFunction({ - input: { - type: 'object', - properties: { - channel: referenceSchema, - messages: { - type: 'array', - items: referenceSchema, - }, - }, - }, - options: null, -}, (targetVal, _, ctx) => { - var _a, _b; - const results = []; - const channelPointer = (_a = targetVal.channel) === null || _a === void 0 ? void 0 : _a.$ref; // required - (_b = targetVal.messages) === null || _b === void 0 ? void 0 : _b.forEach((message, index) => { - if (!message.$ref.startsWith(`${channelPointer}/messages`)) { - results.push({ - message: 'Operation message does not belong to the specified channel.', - path: [...ctx.path, 'messages', index], - }); - } - }); - return results; -}); diff --git a/apps/parser/esm/ruleset/v3/index.d.ts b/apps/parser/esm/ruleset/v3/index.d.ts deleted file mode 100644 index 5acc4189e..000000000 --- a/apps/parser/esm/ruleset/v3/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v3/index.js b/apps/parser/esm/ruleset/v3/index.js deleted file mode 100644 index 5acc4189e..000000000 --- a/apps/parser/esm/ruleset/v3/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from './ruleset'; diff --git a/apps/parser/esm/ruleset/v3/ruleset.d.ts b/apps/parser/esm/ruleset/v3/ruleset.d.ts deleted file mode 100644 index 475012574..000000000 --- a/apps/parser/esm/ruleset/v3/ruleset.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -export declare const v3CoreRuleset: { - description: string; - formats: import("@stoplight/spectral-core").Format[]; - rules: { - /** - * Operation Object rules - */ - 'asyncapi3-operation-messages-from-referred-channel': { - description: string; - message: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string[]; - then: { - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<{ - channel?: { - $ref: string; - } | undefined; - messages?: [{ - $ref: string; - }] | undefined; - }, null>; - }; - }; - 'asyncapi3-required-operation-channel-unambiguity': { - description: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - match: string; - }; - }; - }; - /** - * Channel Object rules - */ - 'asyncapi3-required-channel-servers-unambiguity': { - description: string; - severity: string; - recommended: boolean; - resolved: boolean; - given: string; - then: { - field: string; - function: import("@stoplight/spectral-core").RulesetFunctionWithValidator; - functionOptions: { - match: string; - }; - }; - }; - }; -}; diff --git a/apps/parser/esm/ruleset/v3/ruleset.js b/apps/parser/esm/ruleset/v3/ruleset.js deleted file mode 100644 index 8ad8618d2..000000000 --- a/apps/parser/esm/ruleset/v3/ruleset.js +++ /dev/null @@ -1,58 +0,0 @@ -/* eslint-disable sonarjs/no-duplicate-string */ -import { AsyncAPIFormats } from '../formats'; -import { operationMessagesUnambiguity } from './functions/operationMessagesUnambiguity'; -import { pattern } from '@stoplight/spectral-functions'; -export const v3CoreRuleset = { - description: 'Core AsyncAPI 3.x.x ruleset.', - formats: AsyncAPIFormats.filterByMajorVersions(['3']).formats(), - rules: { - /** - * Operation Object rules - */ - 'asyncapi3-operation-messages-from-referred-channel': { - description: 'Operation "messages" must be a subset of the messages defined in the channel referenced in this operation.', - message: '{{error}}', - severity: 'error', - recommended: true, - resolved: false, - given: [ - '$.operations.*', - '$.components.operations.*', - ], - then: { - function: operationMessagesUnambiguity, - }, - }, - 'asyncapi3-required-operation-channel-unambiguity': { - description: 'The "channel" field of an operation under the root "operations" object must always reference a channel under the root "channels" object.', - severity: 'error', - recommended: true, - resolved: false, - given: '$.operations.*', - then: { - field: 'channel.$ref', - function: pattern, - functionOptions: { - match: '#\\/channels\\/', // If doesn't match, rule fails. - }, - }, - }, - /** - * Channel Object rules - */ - 'asyncapi3-required-channel-servers-unambiguity': { - description: 'The "servers" field of a channel under the root "channels" object must always reference a subset of the servers under the root "servers" object.', - severity: 'error', - recommended: true, - resolved: false, - given: '$.channels.*', - then: { - field: '$.servers.*.$ref', - function: pattern, - functionOptions: { - match: '#\\/servers\\/', // If doesn't match, rule fails. - }, - }, - } - }, -}; diff --git a/apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts b/apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts deleted file mode 100644 index 9f4f64000..000000000 --- a/apps/parser/esm/schema-parser/asyncapi-schema-parser.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { SchemaParser } from '../schema-parser'; -export declare function AsyncAPISchemaParser(): SchemaParser; diff --git a/apps/parser/esm/schema-parser/asyncapi-schema-parser.js b/apps/parser/esm/schema-parser/asyncapi-schema-parser.js deleted file mode 100644 index 02900b24a..000000000 --- a/apps/parser/esm/schema-parser/asyncapi-schema-parser.js +++ /dev/null @@ -1,102 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import Ajv from 'ajv'; -import addFormats from 'ajv-formats'; -import ajvErrors from 'ajv-errors'; -import specs from '@asyncapi/specs'; -import { specVersions } from '../constants'; -export function AsyncAPISchemaParser() { - return { - validate, - parse, - getMimeTypes, - }; -} -function validate(input) { - return __awaiter(this, void 0, void 0, function* () { - const version = input.asyncapi.semver.version; - const validator = getSchemaValidator(version); - let result = []; - const valid = validator(input.data); - if (!valid && validator.errors) { - result = ajvToSpectralResult(input.path, [...validator.errors]); - } - return result; - }); -} -function parse(input) { - return __awaiter(this, void 0, void 0, function* () { - return input.data; - }); -} -function getMimeTypes() { - const mimeTypes = [ - 'application/schema;version=draft-07', - 'application/schema+json;version=draft-07', - 'application/schema+yaml;version=draft-07', - ]; - specVersions.forEach((version) => { - mimeTypes.push(`application/vnd.aai.asyncapi;version=${version}`, `application/vnd.aai.asyncapi+json;version=${version}`, `application/vnd.aai.asyncapi+yaml;version=${version}`); - }); - return mimeTypes; -} -function ajvToSpectralResult(path, errors) { - return errors.map(error => { - return { - message: error.message, - path: [...path, ...error.instancePath.replace(/^\//, '').split('/')], - }; - }); -} -function getSchemaValidator(version) { - const ajv = getAjvInstance(); - let validator = ajv.getSchema(version); - if (!validator) { - const schema = preparePayloadSchema(specs.schemas[version], version); - ajv.addSchema(schema, version); - validator = ajv.getSchema(version); - } - return validator; -} -/** - * To validate the schema of the payload we just need a small portion of official AsyncAPI spec JSON Schema, the Schema Object in particular. The definition of Schema Object must be - * included in the returned JSON Schema. - */ -function preparePayloadSchema(asyncapiSchema, version) { - const payloadSchema = `http://asyncapi.com/definitions/${version}/schema.json`; - const definitions = asyncapiSchema.definitions; - if (definitions === undefined) { - throw new Error('AsyncAPI schema must contain definitions'); - } - // Remove the meta schemas because they are already present within Ajv, and it's not possible to add duplicated schemas. - delete definitions['http://json-schema.org/draft-07/schema']; - delete definitions['http://json-schema.org/draft-04/schema']; - return { - $ref: payloadSchema, - definitions - }; -} -let _ajv; -function getAjvInstance() { - if (_ajv) { - return _ajv; - } - _ajv = new Ajv({ - allErrors: true, - meta: true, - messages: true, - strict: false, - allowUnionTypes: true, - unicodeRegExp: false, - }); - addFormats(_ajv); - ajvErrors(_ajv); - return _ajv; -} diff --git a/apps/parser/esm/schema-parser/index.d.ts b/apps/parser/esm/schema-parser/index.d.ts deleted file mode 100644 index fdbddef6c..000000000 --- a/apps/parser/esm/schema-parser/index.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { Parser } from '../parser'; -import type { AsyncAPISchema, DetailedAsyncAPI, SchemaValidateResult } from '../types'; -export interface ValidateSchemaInput { - readonly asyncapi: DetailedAsyncAPI; - readonly data: D; - readonly meta: M; - readonly path: Array; - readonly schemaFormat: string; - readonly defaultSchemaFormat: string; -} -export interface ParseSchemaInput { - readonly asyncapi: DetailedAsyncAPI; - readonly data: D; - readonly meta: M; - readonly path: Array; - readonly schemaFormat: string; - readonly defaultSchemaFormat: string; -} -export interface SchemaParser { - validate: (input: ValidateSchemaInput) => void | SchemaValidateResult[] | Promise; - parse: (input: ParseSchemaInput) => AsyncAPISchema | Promise; - getMimeTypes: () => Array; -} -export declare function validateSchema(parser: Parser, input: ValidateSchemaInput): Promise; -export declare function parseSchema(parser: Parser, input: ParseSchemaInput): Promise; -export declare function registerSchemaParser(parser: Parser, schemaParser: SchemaParser): void; -export declare function getSchemaFormat(schematFormat: string | undefined, asyncapiVersion: string): string; -export declare function getDefaultSchemaFormat(asyncapiVersion: string): string; diff --git a/apps/parser/esm/schema-parser/index.js b/apps/parser/esm/schema-parser/index.js deleted file mode 100644 index a82c9dd25..000000000 --- a/apps/parser/esm/schema-parser/index.js +++ /dev/null @@ -1,58 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -export function validateSchema(parser, input) { - return __awaiter(this, void 0, void 0, function* () { - const schemaParser = parser.parserRegistry.get(input.schemaFormat); - if (schemaParser === undefined) { - const { path, schemaFormat } = input; - path.pop(); // remove 'payload' as last element of path - return [ - { - message: `Unknown schema format: "${schemaFormat}"`, - path: [...path, 'schemaFormat'], - }, - { - message: `Cannot validate and parse given schema due to unknown schema format: "${schemaFormat}"`, - path: [...path, 'payload'], - } - ]; - } - return schemaParser.validate(input); - }); -} -export function parseSchema(parser, input) { - return __awaiter(this, void 0, void 0, function* () { - const schemaParser = parser.parserRegistry.get(input.schemaFormat); - if (schemaParser === undefined) { - throw new Error('Unknown schema format'); - } - return schemaParser.parse(input); - }); -} -export function registerSchemaParser(parser, schemaParser) { - if (typeof schemaParser !== 'object' - || typeof schemaParser.validate !== 'function' - || typeof schemaParser.parse !== 'function' - || typeof schemaParser.getMimeTypes !== 'function') { - throw new Error('Custom parser must have "parse()", "validate()" and "getMimeTypes()" functions.'); - } - schemaParser.getMimeTypes().forEach(schemaFormat => { - parser.parserRegistry.set(schemaFormat, schemaParser); - }); -} -export function getSchemaFormat(schematFormat, asyncapiVersion) { - if (typeof schematFormat === 'string') { - return schematFormat; - } - return getDefaultSchemaFormat(asyncapiVersion); -} -export function getDefaultSchemaFormat(asyncapiVersion) { - return `application/vnd.aai.asyncapi;version=${asyncapiVersion}`; -} diff --git a/apps/parser/esm/schema-parser/spectral-rule-v2.d.ts b/apps/parser/esm/schema-parser/spectral-rule-v2.d.ts deleted file mode 100644 index d8b894057..000000000 --- a/apps/parser/esm/schema-parser/spectral-rule-v2.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { RuleDefinition } from '@stoplight/spectral-core'; -import type { Parser } from '../parser'; -export declare function asyncApi2SchemaParserRule(parser: Parser): RuleDefinition; diff --git a/apps/parser/esm/schema-parser/spectral-rule-v2.js b/apps/parser/esm/schema-parser/spectral-rule-v2.js deleted file mode 100644 index 435537998..000000000 --- a/apps/parser/esm/schema-parser/spectral-rule-v2.js +++ /dev/null @@ -1,75 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { createRulesetFunction } from '@stoplight/spectral-core'; -import { validateSchema, getSchemaFormat, getDefaultSchemaFormat } from './index'; -import { createDetailedAsyncAPI } from '../utils'; -export function asyncApi2SchemaParserRule(parser) { - return { - description: 'Custom schema must be correctly formatted from the point of view of the used format.', - message: '{{error}}', - severity: 'error', - recommended: true, - given: [ - // operations - '$.channels.*.[publish,subscribe].message', - '$.channels.*.[publish,subscribe].message.oneOf.*', - '$.components.channels.*.[publish,subscribe].message', - '$.components.channels.*.[publish,subscribe].message.oneOf.*', - // messages - '$.components.messages.*', - ], - then: { - function: rulesetFunction(parser), - }, - }; -} -function rulesetFunction(parser) { - return createRulesetFunction({ - input: { - type: 'object', - properties: { - schemaFormat: { - type: 'string', - }, - payload: true, // any value - } - }, - options: null - }, (targetVal = {}, _, ctx) => __awaiter(this, void 0, void 0, function* () { - if (!targetVal.payload) { - return []; - } - const path = [...ctx.path, 'payload']; - const document = ctx.document; - const parsedSpec = document.data; - const schemaFormat = getSchemaFormat(targetVal.schemaFormat, parsedSpec.asyncapi); - const defaultSchemaFormat = getDefaultSchemaFormat(parsedSpec.asyncapi); - const asyncapi = createDetailedAsyncAPI(parsedSpec, document.__parserInput, document.source || undefined); - const input = { - asyncapi, - data: targetVal.payload, - meta: {}, - path, - schemaFormat, - defaultSchemaFormat, - }; - try { - return yield validateSchema(parser, input); - } - catch (err) { - return [ - { - message: `Error thrown during schema validation. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, - path, - } - ]; - } - })); -} diff --git a/apps/parser/esm/spec-types/index.d.ts b/apps/parser/esm/spec-types/index.d.ts deleted file mode 100644 index 813b5f382..000000000 --- a/apps/parser/esm/spec-types/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * as v2 from './v2'; -export * as v3 from './v3'; diff --git a/apps/parser/esm/spec-types/index.js b/apps/parser/esm/spec-types/index.js deleted file mode 100644 index 813b5f382..000000000 --- a/apps/parser/esm/spec-types/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export * as v2 from './v2'; -export * as v3 from './v3'; diff --git a/apps/parser/esm/spec-types/v2.d.ts b/apps/parser/esm/spec-types/v2.d.ts deleted file mode 100644 index 56bf4d798..000000000 --- a/apps/parser/esm/spec-types/v2.d.ts +++ /dev/null @@ -1,363 +0,0 @@ -import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; -export type AsyncAPIVersion = string; -export type Identifier = string; -export type DefaultContentType = string; -export interface AsyncAPIObject extends SpecificationExtensions { - asyncapi: AsyncAPIVersion; - id?: Identifier; - info: InfoObject; - defaultContentType?: DefaultContentType; - servers?: ServersObject; - channels: ChannelsObject; - components?: ComponentsObject; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject; -} -export interface InfoObject extends SpecificationExtensions { - title: string; - version: string; - description?: string; - termsOfService?: string; - contact?: ContactObject; - license?: LicenseObject; -} -export interface ContactObject extends SpecificationExtensions { - name?: string; - url?: string; - email?: string; -} -export interface LicenseObject extends SpecificationExtensions { - name: string; - url?: string; -} -export type ServersObject = Record; -export interface ServerObject extends SpecificationExtensions { - url: string; - protocol: string; - protocolVersion?: string; - description?: string; - variables?: Record; - security?: Array; - bindings?: ServerBindingsObject | ReferenceObject; - tags?: TagsObject; -} -export interface ServerVariableObject extends SpecificationExtensions { - enum?: Array; - default?: string; - description?: string; - examples?: Array; -} -export interface ServerBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export type ChannelsObject = Record; -export interface ChannelObject extends SpecificationExtensions { - description?: string; - servers?: Array; - subscribe?: OperationObject; - publish?: OperationObject; - parameters?: ParametersObject; - bindings?: ChannelBindingsObject | ReferenceObject; -} -export interface ChannelBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export interface OperationObject extends OperationTraitObject, SpecificationExtensions { - message?: MessageObject | ReferenceObject | { - oneOf: Array; - }; - traits?: Array; -} -export interface OperationTraitObject extends SpecificationExtensions { - operationId?: string; - summary?: string; - description?: string; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject; - bindings?: OperationBindingsObject | ReferenceObject; -} -export interface OperationBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export type ParametersObject = Record; -export interface ParameterObject extends SpecificationExtensions { - description?: string; - schema?: SchemaObject; - location?: string; -} -export interface MessageObject extends MessageTraitObject, SpecificationExtensions { - payload?: any; - traits?: Array; -} -export interface MessageTraitObject extends SpecificationExtensions { - messageId?: string; - headers?: SchemaObject; - correlationId?: CorrelationIDObject | ReferenceObject; - schemaFormat?: string; - contentType?: string; - name?: string; - title?: string; - summary?: string; - description?: string; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject; - bindings?: MessageBindingsObject | ReferenceObject; - examples?: Array; -} -export interface MessageExampleObject extends SpecificationExtensions { - name?: string; - summary?: string; - headers?: Record; - payload?: any; -} -export interface MessageBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; -} -export type TagsObject = Array; -export interface TagObject extends SpecificationExtensions { - name: string; - description?: string; - externalDocs?: ExternalDocumentationObject; -} -export interface ExternalDocumentationObject extends SpecificationExtensions { - url: string; - description?: string; -} -export interface ComponentsObject extends SpecificationExtensions { - channels?: Record; - servers?: Record; - schemas?: Record; - messages?: Record; - securitySchemes?: Record; - parameters?: Record; - serverVariables?: Record; - correlationIds?: Record; - operationTraits?: Record; - messageTraits?: Record; - serverBindings?: Record; - channelBindings?: Record; - operationBindings?: Record; - messageBindings?: Record; -} -export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; -export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; -export interface AsyncAPISchemaDefinition extends SpecificationExtensions { - $id?: string; - $schema?: JSONSchema7Version; - $comment?: string; - type?: JSONSchema7TypeName | JSONSchema7TypeName[]; - enum?: JSONSchema7Type[]; - const?: JSONSchema7Type; - multipleOf?: number; - maximum?: number; - exclusiveMaximum?: number; - minimum?: number; - exclusiveMinimum?: number; - maxLength?: number; - minLength?: number; - pattern?: string; - items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; - additionalItems?: AsyncAPISchemaObject; - maxItems?: number; - minItems?: number; - uniqueItems?: boolean; - contains?: AsyncAPISchemaObject; - maxProperties?: number; - minProperties?: number; - required?: string[]; - properties?: { - [key: string]: AsyncAPISchemaObject; - }; - patternProperties?: { - [key: string]: AsyncAPISchemaObject; - }; - additionalProperties?: AsyncAPISchemaObject; - dependencies?: { - [key: string]: AsyncAPISchemaObject | string[]; - }; - propertyNames?: AsyncAPISchemaObject; - if?: AsyncAPISchemaObject; - then?: AsyncAPISchemaObject; - else?: AsyncAPISchemaObject; - allOf?: AsyncAPISchemaObject[]; - anyOf?: AsyncAPISchemaObject[]; - oneOf?: AsyncAPISchemaObject[]; - not?: AsyncAPISchemaObject; - format?: string; - contentMediaType?: string; - contentEncoding?: string; - definitions?: { - [key: string]: AsyncAPISchemaObject; - }; - title?: string; - description?: string; - default?: JSONSchema7Type; - readOnly?: boolean; - writeOnly?: boolean; - examples?: Array; - discriminator?: string; - externalDocs?: ExternalDocumentationObject; - deprecated?: boolean; - [keyword: string]: any; -} -export interface SecuritySchemeObject extends SpecificationExtensions { - type: SecuritySchemeType; - description?: string; - name?: string; - in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; - scheme?: string; - bearerFormat?: string; - flows?: OAuthFlowsObject; - openIdConnectUrl?: string; -} -export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; -export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'header' | 'cookie'; -export interface SecuritySchemeObjectBase extends SpecificationExtensions { - description?: string; -} -export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'userPassword'; -} -export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'apiKey'; - in: 'user' | 'password'; -} -export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'X509'; -} -export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'symmetricEncryption'; -} -export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'asymmetricEncryption'; -} -export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'httpApiKey'; - name: string; - in: 'query' | 'header' | 'cookie'; -} -export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'http'; - scheme: string; - bearerFormat?: string; -} -export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'oauth2'; - flows: OAuthFlowsObject; -} -export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'openIdConnect'; - openIdConnectUrl: string; -} -export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'plain'; -} -export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha256'; -} -export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha512'; -} -export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'gssapi'; -} -export interface OAuthFlowsObject extends SpecificationExtensions { - implicit?: OAuthFlowObjectImplicit; - password?: OAuthFlowObjectPassword; - clientCredentials?: OAuthFlowObjectClientCredentials; - authorizationCode?: OAuthFlowObjectAuthorizationCode; -} -export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; -export interface OAuthFlowObjectBase extends SpecificationExtensions { - refreshUrl?: string; - scopes: Record; -} -export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; -} -export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; - tokenUrl: string; -} -export type SecurityRequirementObject = Record>; -export interface CorrelationIDObject extends SpecificationExtensions { - location: string; - description?: string; -} -export interface Binding { - bindingVersion?: string; -} -export interface SpecificationExtensions { - [extension: `x-${string}`]: SpecificationExtension; -} -export type SpecificationExtension = T; -export interface ReferenceObject { - $ref: string; -} diff --git a/apps/parser/esm/spec-types/v2.js b/apps/parser/esm/spec-types/v2.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/spec-types/v2.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/spec-types/v3.d.ts b/apps/parser/esm/spec-types/v3.d.ts deleted file mode 100644 index 88b95e69a..000000000 --- a/apps/parser/esm/spec-types/v3.d.ts +++ /dev/null @@ -1,404 +0,0 @@ -import type { JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Type } from 'json-schema'; -export type AsyncAPIVersion = string; -export type Identifier = string; -export type DefaultContentType = string; -export interface AsyncAPIObject extends SpecificationExtensions { - asyncapi: AsyncAPIVersion; - id?: Identifier; - defaultContentType?: DefaultContentType; - info: InfoObject; - servers?: ServersObject; - channels?: ChannelsObject; - operations?: OperationsObject; - components?: ComponentsObject; -} -export interface InfoObject extends SpecificationExtensions { - title: string; - version: string; - description?: string; - termsOfService?: string; - contact?: ContactObject; - license?: LicenseObject; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; -} -export interface ContactObject extends SpecificationExtensions { - name?: string; - url?: string; - email?: string; -} -export interface LicenseObject extends SpecificationExtensions { - name: string; - url?: string; -} -export type ServersObject = Record; -export interface ServerObject extends SpecificationExtensions { - host: string; - protocol: string; - pathname?: string; - protocolVersion?: string; - description?: string; - variables?: Record; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: ServerBindingsObject | ReferenceObject; -} -export interface ServerVariableObject extends SpecificationExtensions { - enum?: Array; - default?: string; - description?: string; - examples?: Array; -} -export interface ServerBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type ChannelsObject = Record; -export interface ChannelObject extends SpecificationExtensions { - address?: string | null; - messages?: MessagesObject; - title?: string; - summary?: string; - description?: string; - servers?: Array; - parameters?: ParametersObject; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: ChannelBindingsObject | ReferenceObject; -} -export interface ChannelBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type OperationsObject = Record; -export interface OperationObject extends SpecificationExtensions { - action: 'send' | 'receive'; - channel: ChannelObject | ReferenceObject; - messages?: Array; - reply?: OperationReplyObject | ReferenceObject; - title?: string; - summary?: string; - description?: string; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: OperationBindingsObject | ReferenceObject; - traits?: Array; -} -export interface OperationTraitObject extends SpecificationExtensions { - title?: string; - summary?: string; - description?: string; - security?: Array; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: OperationBindingsObject | ReferenceObject; -} -export interface OperationReplyObject extends SpecificationExtensions { - channel?: ChannelObject | ReferenceObject; - messages?: (MessageObject | ReferenceObject)[]; - address?: OperationReplyAddressObject | ReferenceObject; -} -export interface OperationReplyAddressObject extends SpecificationExtensions { - location: string; - description?: string; -} -export interface OperationBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type MessagesObject = Record; -export interface MessageObject extends MessageTraitObject, SpecificationExtensions { - payload?: any; - traits?: Array; -} -export interface MessageTraitObject extends SpecificationExtensions { - headers?: MultiFormatSchemaObject; - correlationId?: CorrelationIDObject | ReferenceObject; - contentType?: string; - name?: string; - title?: string; - summary?: string; - description?: string; - tags?: TagsObject; - externalDocs?: ExternalDocumentationObject | ReferenceObject; - bindings?: MessageBindingsObject | ReferenceObject; - examples?: Array; -} -export interface MessageExampleObject extends SpecificationExtensions { - name?: string; - summary?: string; - headers?: Record; - payload?: any; -} -export interface MessageBindingsObject extends SpecificationExtensions { - http?: Binding; - ws?: Binding; - kafka?: Binding; - anypointmq?: Binding; - amqp?: Binding; - amqp1?: Binding; - mqtt?: Binding; - mqtt5?: Binding; - nats?: Binding; - jms?: Binding; - sns?: Binding; - sqs?: Binding; - stomp?: Binding; - redis?: Binding; - mercure?: Binding; - ibmmq?: Binding; - googlepubsub?: Binding; -} -export type ParametersObject = Record; -export interface ParameterObject extends SpecificationExtensions { - description?: string; - enum?: string[]; - default?: string; - examples?: string[]; - location?: string; -} -export type TagsObject = Array; -export interface TagObject extends SpecificationExtensions { - name: string; - description?: string; - externalDocs?: ExternalDocumentationObject | ReferenceObject; -} -export interface ExternalDocumentationObject extends SpecificationExtensions { - url: string; - description?: string; -} -export interface ComponentsObject extends SpecificationExtensions { - servers?: Record; - channels?: Record; - operations?: Record; - messages?: Record; - schemas?: Record; - securitySchemes?: Record; - serverVariables?: Record; - parameters?: Record; - replies?: Record; - replyAddresses?: Record; - correlationIds?: Record; - operationTraits?: Record; - messageTraits?: Record; - tags?: Record; - externalDocs?: Record; - serverBindings?: Record; - channelBindings?: Record; - operationBindings?: Record; - messageBindings?: Record; -} -export interface SecuritySchemeObject extends SpecificationExtensions { - type: SecuritySchemeType; - description?: string; - name?: string; - in?: 'user' | 'password' | 'query' | 'header' | 'cookie'; - scheme?: string; - bearerFormat?: string; - flows?: OAuthFlowsObject; - openIdConnectUrl?: string; - scopes?: string[]; -} -export type SecuritySchemeType = 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi'; -export type SecuritySchemaLocation = 'user' | 'password' | 'query' | 'header' | 'cookie'; -export interface SecuritySchemeObjectBase extends SpecificationExtensions { - description?: string; -} -export interface SecuritySchemeObjectUserPassword extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'userPassword'; -} -export interface SecuritySchemeObjectApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'apiKey'; - in: 'user' | 'password'; -} -export interface SecuritySchemeObjectX509 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'X509'; -} -export interface SecuritySchemeObjectSymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'symmetricEncryption'; -} -export interface SecuritySchemeObjectAsymetricEncryption extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'asymmetricEncryption'; -} -export interface SecuritySchemeObjectHttpApiKey extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'httpApiKey'; - name: string; - in: 'query' | 'header' | 'cookie'; -} -export interface SecuritySchemeObjectHttp extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'http'; - scheme: string; - bearerFormat?: string; -} -export interface SecuritySchemeObjectOauth2 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'oauth2'; - flows: OAuthFlowsObject; - scopes: string[]; -} -export interface SecuritySchemeObjectOpenIdConnect extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'openIdConnect'; - openIdConnectUrl: string; -} -export interface SecuritySchemeObjectPlain extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'plain'; -} -export interface SecuritySchemeObjectScramSha256 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha256'; -} -export interface SecuritySchemeObjectScramSha512 extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'scramSha512'; -} -export interface SecuritySchemeObjectGssapi extends SecuritySchemeObjectBase, SpecificationExtensions { - type: 'gssapi'; -} -export interface OAuthFlowsObject extends SpecificationExtensions { - implicit?: OAuthFlowObjectImplicit; - password?: OAuthFlowObjectPassword; - clientCredentials?: OAuthFlowObjectClientCredentials; - authorizationCode?: OAuthFlowObjectAuthorizationCode; -} -export type OAuthFlowObject = OAuthFlowObjectImplicit & OAuthFlowObjectPassword & OAuthFlowObjectClientCredentials & OAuthFlowObjectAuthorizationCode; -export interface OAuthFlowObjectBase extends SpecificationExtensions { - refreshUrl?: string; - availableScopes: Record; -} -export interface OAuthFlowObjectImplicit extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; -} -export interface OAuthFlowObjectPassword extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectClientCredentials extends OAuthFlowObjectBase, SpecificationExtensions { - tokenUrl: string; -} -export interface OAuthFlowObjectAuthorizationCode extends OAuthFlowObjectBase, SpecificationExtensions { - authorizationUrl: string; - tokenUrl: string; -} -export type SchemaObject = AsyncAPISchemaObject | ReferenceObject; -export type AsyncAPISchemaObject = AsyncAPISchemaDefinition | boolean; -export type MultiFormatObject = { - schema: AsyncAPISchemaObject; - schemaFormat: string | undefined; -}; -export type MultiFormatSchemaObject = AsyncAPISchemaObject | MultiFormatObject; -export interface AsyncAPISchemaDefinition extends SpecificationExtensions { - $id?: string; - $schema?: JSONSchema7Version; - $comment?: string; - type?: JSONSchema7TypeName | JSONSchema7TypeName[]; - enum?: JSONSchema7Type[]; - const?: JSONSchema7Type; - multipleOf?: number; - maximum?: number; - exclusiveMaximum?: number; - minimum?: number; - exclusiveMinimum?: number; - maxLength?: number; - minLength?: number; - pattern?: string; - items?: AsyncAPISchemaObject | AsyncAPISchemaObject[]; - additionalItems?: AsyncAPISchemaObject; - maxItems?: number; - minItems?: number; - uniqueItems?: boolean; - contains?: AsyncAPISchemaObject; - maxProperties?: number; - minProperties?: number; - required?: string[]; - properties?: { - [key: string]: AsyncAPISchemaObject; - }; - patternProperties?: { - [key: string]: AsyncAPISchemaObject; - }; - additionalProperties?: AsyncAPISchemaObject; - dependencies?: { - [key: string]: AsyncAPISchemaObject | string[]; - }; - propertyNames?: AsyncAPISchemaObject; - if?: AsyncAPISchemaObject; - then?: AsyncAPISchemaObject; - else?: AsyncAPISchemaObject; - allOf?: AsyncAPISchemaObject[]; - anyOf?: AsyncAPISchemaObject[]; - oneOf?: AsyncAPISchemaObject[]; - not?: AsyncAPISchemaObject; - format?: string; - contentMediaType?: string; - contentEncoding?: string; - definitions?: { - [key: string]: AsyncAPISchemaObject; - }; - title?: string; - description?: string; - default?: JSONSchema7Type; - readOnly?: boolean; - writeOnly?: boolean; - examples?: Array; - discriminator?: string; - externalDocs?: ExternalDocumentationObject; - deprecated?: boolean; - [keyword: string]: any; -} -export interface Binding { - bindingVersion?: string; -} -export interface SpecificationExtensions { - [extension: `x-${string}`]: SpecificationExtension; -} -export type SpecificationExtension = T; -export interface ReferenceObject { - $ref: string; -} -export interface CorrelationIDObject extends SpecificationExtensions { - location: string; - description?: string; -} diff --git a/apps/parser/esm/spec-types/v3.js b/apps/parser/esm/spec-types/v3.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/spec-types/v3.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/spectral.d.ts b/apps/parser/esm/spectral.d.ts deleted file mode 100644 index 8b7d9ec12..000000000 --- a/apps/parser/esm/spectral.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Spectral } from '@stoplight/spectral-core'; -import type { Parser, ParserOptions } from './parser'; -export declare function createSpectral(parser: Parser, options?: ParserOptions): Spectral; diff --git a/apps/parser/esm/spectral.js b/apps/parser/esm/spectral.js deleted file mode 100644 index 34be6f474..000000000 --- a/apps/parser/esm/spectral.js +++ /dev/null @@ -1,11 +0,0 @@ -import { Spectral } from '@stoplight/spectral-core'; -import { createRuleset } from './ruleset'; -import { createResolver } from './resolver'; -export function createSpectral(parser, options = {}) { - var _a; - const resolverOptions = (_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver; - const spectral = new Spectral({ resolver: createResolver(resolverOptions) }); - const ruleset = createRuleset(parser, options.ruleset); - spectral.setRuleset(ruleset); - return spectral; -} diff --git a/apps/parser/esm/stringify.d.ts b/apps/parser/esm/stringify.d.ts deleted file mode 100644 index 88e0df5c1..000000000 --- a/apps/parser/esm/stringify.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AsyncAPIDocumentInterface } from './models'; -export interface StringifyOptions { - space?: string | number; -} -export declare function stringify(document: unknown, options?: StringifyOptions): string | undefined; -export declare function unstringify(document: unknown): AsyncAPIDocumentInterface | undefined; -export declare function copy(data: Record): any; -export declare function refReplacer(): (this: unknown, field: string, value: unknown) => unknown; -export declare function traverseStringifiedData(parent: any, field: string | undefined, root: any, objToPath: Map, pathToObj: Map): void; diff --git a/apps/parser/esm/stringify.js b/apps/parser/esm/stringify.js deleted file mode 100644 index f7cad5ffe..000000000 --- a/apps/parser/esm/stringify.js +++ /dev/null @@ -1,97 +0,0 @@ -import { createAsyncAPIDocument, isAsyncAPIDocument, isParsedDocument, isStringifiedDocument } from './document'; -import { createDetailedAsyncAPI } from './utils'; -import { xParserSpecStringified } from './constants'; -export function stringify(document, options = {}) { - if (isAsyncAPIDocument(document)) { - document = document.json(); - } - else if (isParsedDocument(document)) { - if (isStringifiedDocument(document)) { - return JSON.stringify(document); - } - } - else { - return; - } - return JSON.stringify(Object.assign(Object.assign({}, document), { [String(xParserSpecStringified)]: true }), refReplacer(), options.space || 2); -} -export function unstringify(document) { - let parsed = document; - if (typeof document === 'string') { - try { - parsed = JSON.parse(document); - } - catch (_) { - return; - } - } - if (!isStringifiedDocument(parsed)) { - return; - } - // shall copy of whole JSON - parsed = Object.assign({}, parsed); - // remove `x-parser-spec-stringified` extension - delete parsed[String(xParserSpecStringified)]; - traverseStringifiedData(document, undefined, document, new Map(), new Map()); - return createAsyncAPIDocument(createDetailedAsyncAPI(parsed, document)); -} -export function copy(data) { - const stringifiedData = JSON.stringify(data, refReplacer()); - const unstringifiedData = JSON.parse(stringifiedData); - traverseStringifiedData(unstringifiedData, undefined, unstringifiedData, new Map(), new Map()); - return unstringifiedData; -} -export function refReplacer() { - const modelPaths = new Map(); - const paths = new Map(); - let init = null; - return function (field, value) { - // `this` points to parent object of given value - some object or array - const pathPart = modelPaths.get(this) + (Array.isArray(this) ? `[${field}]` : `.${field}`); - // check if `objOrPath` has "reference" - const isComplex = value === Object(value); - if (isComplex) { - modelPaths.set(value, pathPart); - } - const savedPath = paths.get(value) || ''; - if (!savedPath && isComplex) { - const valuePath = pathPart.replace(/undefined\.\.?/, ''); - paths.set(value, valuePath); - } - const prefixPath = savedPath[0] === '[' ? '$' : '$.'; - let val = savedPath ? `$ref:${prefixPath}${savedPath}` : value; - if (init === null) { - init = value; - } - else if (val === init) { - val = '$ref:$'; - } - return val; - }; -} -const refRoot = '$ref:$'; -export function traverseStringifiedData(parent, field, root, objToPath, pathToObj) { - let objOrPath = parent; - let path = refRoot; - if (field !== undefined) { - // here can be string with `$ref` prefix or normal value - objOrPath = parent[String(field)]; - const concatenatedPath = field ? `.${field}` : ''; - path = objToPath.get(parent) + (Array.isArray(parent) ? `[${field}]` : concatenatedPath); - } - objToPath.set(objOrPath, path); - pathToObj.set(path, objOrPath); - const ref = pathToObj.get(objOrPath); - if (ref) { - parent[String(field)] = ref; - } - if (objOrPath === refRoot || ref === refRoot) { - parent[String(field)] = root; - } - // traverse all keys, only if object is array/object - if (objOrPath === Object(objOrPath)) { - for (const f in objOrPath) { - traverseStringifiedData(objOrPath, f, root, objToPath, pathToObj); - } - } -} diff --git a/apps/parser/esm/types.d.ts b/apps/parser/esm/types.d.ts deleted file mode 100644 index b0d0d31ef..000000000 --- a/apps/parser/esm/types.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { ISpectralDiagnostic, IFunctionResult } from '@stoplight/spectral-core'; -import type { AsyncAPIDocumentInterface } from './models'; -import type { v2, v3 } from './spec-types'; -export type MaybeAsyncAPI = { - asyncapi: string; -} & Record; -export interface AsyncAPISemver { - version: string; - major: number; - minor: number; - patch: number; - rc?: number; -} -export interface DetailedAsyncAPI { - source?: string; - input?: string | MaybeAsyncAPI | AsyncAPIObject; - parsed: AsyncAPIObject; - semver: AsyncAPISemver; -} -export type Input = string | MaybeAsyncAPI | AsyncAPIDocumentInterface; -export type Diagnostic = ISpectralDiagnostic; -export type SchemaValidateResult = IFunctionResult; -export type AsyncAPIObject = v2.AsyncAPIObject | v3.AsyncAPIObject; -export type AsyncAPISchema = v2.AsyncAPISchemaObject | v3.AsyncAPISchemaObject; diff --git a/apps/parser/esm/types.js b/apps/parser/esm/types.js deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/parser/esm/types.js +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/parser/esm/utils.d.ts b/apps/parser/esm/utils.d.ts deleted file mode 100644 index 56234e81c..000000000 --- a/apps/parser/esm/utils.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Document } from '@stoplight/spectral-core'; -import type { ISpectralDiagnostic } from '@stoplight/spectral-core'; -import type { BaseModel } from './models'; -import type { AsyncAPISemver, AsyncAPIObject, DetailedAsyncAPI, MaybeAsyncAPI, Diagnostic } from './types'; -export declare function createDetailedAsyncAPI(parsed: AsyncAPIObject, input?: string | MaybeAsyncAPI | AsyncAPIObject, source?: string): DetailedAsyncAPI; -export declare function getSemver(version: string): AsyncAPISemver; -export declare function normalizeInput(asyncapi: string | MaybeAsyncAPI): string; -export declare function hasErrorDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function hasWarningDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function hasInfoDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function hasHintDiagnostic(diagnostics: ISpectralDiagnostic[]): boolean; -export declare function setExtension(id: string, value: unknown, model: BaseModel): void; -export declare function setExtensionOnJson(id: string, value: unknown, model: any): void; -export declare function mergePatch(origin: unknown, patch: unknown): T; -export declare function isObject(value: unknown): value is Record; -export declare function hasRef(value: unknown): value is { - $ref: string; -}; -export declare function toJSONPathArray(jsonPath: string): Array; -export declare function createUncaghtDiagnostic(err: unknown, message: string, document?: Document): Diagnostic[]; -export declare function tilde(str: string): string; -export declare function untilde(str: string): string; -export declare function findSubArrayIndex(arr: Array, subarr: Array, fromIndex?: number): number; -export declare function resolveServerUrl(url: string): { - host: string; - pathname: string | undefined; -}; -export declare function retrieveDeepData(value: Record, path: Array): Record | undefined; diff --git a/apps/parser/esm/utils.js b/apps/parser/esm/utils.js deleted file mode 100644 index c0c55f691..000000000 --- a/apps/parser/esm/utils.js +++ /dev/null @@ -1,156 +0,0 @@ -import { Document } from '@stoplight/spectral-core'; -import { DiagnosticSeverity } from '@stoplight/types'; -export function createDetailedAsyncAPI(parsed, input, source) { - return { - source, - input, - parsed, - semver: getSemver(parsed.asyncapi), - }; -} -export function getSemver(version) { - const [major, minor, patchWithRc] = version.split('.'); - const [patch, rc] = patchWithRc.split('-rc'); - return { - version, - major: Number(major), - minor: Number(minor), - patch: Number(patch), - rc: rc && Number(rc), - }; -} -export function normalizeInput(asyncapi) { - if (typeof asyncapi === 'string') { - return asyncapi; - } - return JSON.stringify(asyncapi, undefined, 2); -} -export function hasErrorDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Error); -} -export function hasWarningDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Warning); -} -export function hasInfoDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Information); -} -export function hasHintDiagnostic(diagnostics) { - return diagnostics.some(diagnostic => diagnostic.severity === DiagnosticSeverity.Hint); -} -export function setExtension(id, value, model) { - const modelValue = model.json(); - setExtensionOnJson(id, value, modelValue); -} -export function setExtensionOnJson(id, value, model) { - if (typeof model === 'object' && model) { - id = id.startsWith('x-') ? id : `x-${id}`; - model[String(id)] = value; - } -} -export function mergePatch(origin, patch) { - // If the patch is not an object, it replaces the origin. - if (!isObject(patch)) { - return patch; - } - const result = !isObject(origin) - ? {} // Non objects are being replaced. - : Object.assign({}, origin); // Make sure we never modify the origin. - Object.keys(patch).forEach(key => { - const patchVal = patch[key]; - if (patchVal === null) { - delete result[key]; - } - else { - result[key] = mergePatch(result[key], patchVal); - } - }); - return result; -} -export function isObject(value) { - return Boolean(value) && typeof value === 'object' && Array.isArray(value) === false; -} -export function hasRef(value) { - return isObject(value) && '$ref' in value && typeof value.$ref === 'string'; -} -export function toJSONPathArray(jsonPath) { - return splitPath(serializePath(jsonPath)); -} -export function createUncaghtDiagnostic(err, message, document) { - if (!(err instanceof Error)) { - return []; - } - const range = document ? document.getRangeForJsonPath([]) : Document.DEFAULT_RANGE; - return [ - { - code: 'uncaught-error', - message: `${message}. Name: ${err.name}, message: ${err.message}, stack: ${err.stack}`, - path: [], - severity: DiagnosticSeverity.Error, - range, - } - ]; -} -export function tilde(str) { - return str.replace(/[~/]{1}/g, (sub) => { - switch (sub) { - case '/': return '~1'; - case '~': return '~0'; - } - return sub; - }); -} -export function untilde(str) { - if (!str.includes('~')) - return str; - return str.replace(/~[01]/g, (sub) => { - switch (sub) { - case '~1': return '/'; - case '~0': return '~'; - } - return sub; - }); -} -export function findSubArrayIndex(arr, subarr, fromIndex = 0) { - let i, found, j; - for (i = fromIndex; i < 1 + (arr.length - subarr.length); ++i) { - found = true; - for (j = 0; j < subarr.length; ++j) { - if (arr[i + j] !== subarr[j]) { - found = false; - break; - } - } - if (found) { - return i; - } - } - return -1; -} -export function resolveServerUrl(url) { - // eslint-disable-next-line prefer-const - let [maybeProtocol, maybeHost] = url.split('://'); - if (!maybeHost) { - maybeHost = maybeProtocol; - } - const [host, ...pathnames] = maybeHost.split('/'); - if (pathnames.length) { - return { host, pathname: `/${pathnames.join('/')}` }; - } - return { host, pathname: undefined }; -} -export function retrieveDeepData(value, path) { - let index = 0; - const length = path.length; - while (typeof value === 'object' && value && index < length) { - value = value[path[index++]]; - } - return index === length ? value : undefined; -} -function serializePath(path) { - if (path.startsWith('#')) - return path.substring(1); - return path; -} -function splitPath(path) { - return path.split('/').filter(Boolean).map(untilde); -} diff --git a/apps/parser/esm/validate.d.ts b/apps/parser/esm/validate.d.ts deleted file mode 100644 index efb050810..000000000 --- a/apps/parser/esm/validate.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Document } from '@stoplight/spectral-core'; -import type { Spectral, IRunOpts } from '@stoplight/spectral-core'; -import type { Parser } from './parser'; -import type { ResolverOptions } from './resolver'; -import type { Input, Diagnostic } from './types'; -export interface ValidateOptions extends IRunOpts { - source?: string; - allowedSeverity?: { - error?: boolean; - warning?: boolean; - info?: boolean; - hint?: boolean; - }; - __unstable?: { - resolver?: Omit; - }; -} -export interface ValidateOutput { - validated: unknown; - diagnostics: Diagnostic[]; - extras: { - document: Document; - }; -} -export declare function validate(parser: Parser, parserSpectral: Spectral, asyncapi: Input, options?: ValidateOptions): Promise; diff --git a/apps/parser/esm/validate.js b/apps/parser/esm/validate.js deleted file mode 100644 index a564d9ca1..000000000 --- a/apps/parser/esm/validate.js +++ /dev/null @@ -1,48 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import { Document } from '@stoplight/spectral-core'; -import { Yaml } from '@stoplight/spectral-parsers'; -import { createSpectral } from './spectral'; -import { normalizeInput, mergePatch, hasErrorDiagnostic, hasWarningDiagnostic, hasInfoDiagnostic, hasHintDiagnostic, createUncaghtDiagnostic } from './utils'; -const defaultOptions = { - allowedSeverity: { - error: false, - warning: true, - info: true, - hint: true, - }, - __unstable: {}, -}; -export function validate(parser, parserSpectral, asyncapi, options = {}) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - let document; - try { - const { allowedSeverity } = mergePatch(defaultOptions, options); - const stringifiedDocument = normalizeInput(asyncapi); - document = new Document(stringifiedDocument, Yaml, options.source); - // add input data (asyncapi argument) to the document to reuse it in rules - document.__parserInput = asyncapi; - const spectral = ((_a = options.__unstable) === null || _a === void 0 ? void 0 : _a.resolver) ? createSpectral(parser, options) : parserSpectral; - // eslint-disable-next-line prefer-const - let { resolved: validated, results } = yield spectral.runWithResolved(document, {}); - if ((!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.error) && hasErrorDiagnostic(results)) || - (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.warning) && hasWarningDiagnostic(results)) || - (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.info) && hasInfoDiagnostic(results)) || - (!(allowedSeverity === null || allowedSeverity === void 0 ? void 0 : allowedSeverity.hint) && hasHintDiagnostic(results))) { - validated = undefined; - } - return { validated, diagnostics: results, extras: { document: document } }; - } - catch (err) { - return { validated: undefined, diagnostics: createUncaghtDiagnostic(err, 'Error thrown during AsyncAPI document validation', document), extras: { document: document } }; - } - }); -} From 9939c51a2e92b1157a21d0dac3fc8d2dc87e52ed Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 21 Apr 2024 10:55:59 +0530 Subject: [PATCH 023/107] Added the gitignore file. --- .gitignore | 1 + apps/parser/.gitignore | 49 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 apps/parser/.gitignore diff --git a/.gitignore b/.gitignore index 353a5900a..9c908952d 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ yarn-error.log* # Misc .DS_Store *.pem +.turbo diff --git a/apps/parser/.gitignore b/apps/parser/.gitignore new file mode 100644 index 000000000..9c908952d --- /dev/null +++ b/apps/parser/.gitignore @@ -0,0 +1,49 @@ +node_modules +.vscode +.DS_Store +/docs/api.md +/coverage +/lib +/esm +/cjs +/browser +*.tgz +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# Dependencies +node_modules +.pnp +.pnp.js + +# Local env files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Testing +coverage + +# Turbo +.turbo + +# Vercel +.vercel + +# Build Outputs +.next/ +out/ +build +dist + + +# Debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Misc +.DS_Store +*.pem +.turbo From f25d2597796408b546c65081782f6a325fdbe5d7 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 21 Apr 2024 20:41:45 +0530 Subject: [PATCH 024/107] fixed the eslintrc file. --- .eslintignore | 4 +- .eslintrc | 134 ------------------------------------ .eslintrc.js | 10 --- apps/parser/.eslintignore | 11 +++ apps/parser/.eslintrc | 131 +++++++++++++++++++++++++++++++++++ apps/parser/src/iterator.ts | 2 +- package.json | 11 +-- tsconfig.json | 3 - turbo.json | 4 +- 9 files changed, 155 insertions(+), 155 deletions(-) delete mode 100644 .eslintrc delete mode 100644 .eslintrc.js create mode 100644 apps/parser/.eslintignore create mode 100644 apps/parser/.eslintrc delete mode 100644 tsconfig.json diff --git a/.eslintignore b/.eslintignore index 329c07896..2fb12ca0f 100644 --- a/.eslintignore +++ b/.eslintignore @@ -6,4 +6,6 @@ node_modules /lib /esm /cjs -/browser \ No newline at end of file +/browser +esm +cjs diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 6ddc11a44..000000000 --- a/.eslintrc +++ /dev/null @@ -1,134 +0,0 @@ -parser: "@typescript-eslint/parser" - -env: - node: true - es6: true - jest: true - mocha: true - browser: true - -plugins: - - "@typescript-eslint" - - sonarjs - - security - - github - -extends: - - eslint:recommended - - plugin:@typescript-eslint/eslint-recommended - - plugin:@typescript-eslint/recommended - - plugin:sonarjs/recommended - - plugin:security/recommended - -parserOptions: - ecmaVersion: 2018 - -rules: - # Ignore Rules - strict: 0 - no-underscore-dangle: 0 - no-mixed-requires: 0 - no-process-exit: 0 - no-warning-comments: 0 - no-use-before-define: 0 - curly: 0 - no-multi-spaces: 0 - no-alert: 0 - consistent-return: 0 - consistent-this: [0, self] - func-style: 0 - max-nested-callbacks: 0 - camelcase: 0 - no-dupe-class-members: 0 - security/detect-object-injection: 0 - sonarjs/no-small-switch: 0 - sonarjs/no-nested-template-literals: 0 - - # Warnings - no-debugger: 1 - no-empty: 1 - no-invalid-regexp: 1 - no-unused-expressions: 1 - no-native-reassign: 1 - no-fallthrough: 1 - sonarjs/cognitive-complexity: 1 - - # Errors - eqeqeq: 2 - no-undef: 2 - no-dupe-keys: 2 - no-empty-character-class: 2 - no-self-compare: 2 - valid-typeof: 2 - handle-callback-err: 2 - no-shadow-restricted-names: 2 - no-new-require: 2 - no-mixed-spaces-and-tabs: 2 - block-scoped-var: 2 - no-else-return: 2 - no-throw-literal: 2 - no-void: 2 - radix: 2 - wrap-iife: [2, outside] - no-shadow: 0 - no-path-concat: 2 - valid-jsdoc: [0, {requireReturn: false, requireParamDescription: false, requireReturnDescription: false}] - - # stylistic errors - no-spaced-func: 2 - semi-spacing: 2 - quotes: [2, 'single'] - key-spacing: [2, { beforeColon: false, afterColon: true }] - indent: [2, 2] - no-lonely-if: 2 - no-floating-decimal: 2 - brace-style: [2, 1tbs, { allowSingleLine: true }] - comma-style: [2, last] - no-multiple-empty-lines: [2, {max: 1}] - no-nested-ternary: 2 - operator-assignment: [2, always] - padded-blocks: [2, never] - quote-props: [2, as-needed] - keyword-spacing: [2, {'before': true, 'after': true, 'overrides': {}}] - space-before-blocks: [2, always] - array-bracket-spacing: [2, never] - computed-property-spacing: [2, never] - space-in-parens: [2, never] - space-unary-ops: [2, {words: true, nonwords: false}] - wrap-regex: 2 - linebreak-style: 0 - semi: [2, always] - arrow-spacing: [2, {before: true, after: true}] - no-class-assign: 2 - no-const-assign: 2 - no-this-before-super: 2 - no-var: 2 - object-shorthand: [2, always] - prefer-arrow-callback: 2 - prefer-const: 2 - prefer-spread: 2 - prefer-template: 2 - - # TypeScript - "@typescript-eslint/no-empty-interface": "off" - "@typescript-eslint/no-use-before-define": ["off"] - "@typescript-eslint/no-empty-function": "off" - "@typescript-eslint/ban-ts-comment": "off" - "@typescript-eslint/no-explicit-any": "off" - "@typescript-eslint/explicit-module-boundary-types": "off" - "@typescript-eslint/no-this-alias": "off" - "@typescript-eslint/no-unnecessary-type-constraint": "off" - "@typescript-eslint/ban-types": "off" - -overrides: - - files: - - "test/**" - - "*.spec.ts" - - "*.test.ts" - rules: - prefer-arrow-callback: 0 - sonarjs/no-duplicate-string: 0 - security/detect-object-injection: 0 - security/detect-non-literal-fs-filename: 0 - "@typescript-eslint/no-non-null-assertion": 0 - "@typescript-eslint/no-unused-vars": 0 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index e928b8686..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,10 +0,0 @@ -// This configuration only applies to the package manager root. -/** @type {import("eslint").Linter.Config} */ -module.exports = { - ignorePatterns: ["apps/**", "packages/**"], - extends: ["@repo/eslint-config/library.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: true, - }, -}; diff --git a/apps/parser/.eslintignore b/apps/parser/.eslintignore new file mode 100644 index 000000000..2fb12ca0f --- /dev/null +++ b/apps/parser/.eslintignore @@ -0,0 +1,11 @@ +node_modules +.vscode +.DS_Store +/docs +/coverage +/lib +/esm +/cjs +/browser +esm +cjs diff --git a/apps/parser/.eslintrc b/apps/parser/.eslintrc new file mode 100644 index 000000000..2fe1b8bc2 --- /dev/null +++ b/apps/parser/.eslintrc @@ -0,0 +1,131 @@ +{ + "parser": "@typescript-eslint/parser", + "env": { + "node": true, + "es6": true, + "jest": true, + "mocha": true, + "browser": true + }, + "plugins": [ + "@typescript-eslint", + "sonarjs", + "security", + "github" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:sonarjs/recommended", + "plugin:security/recommended" + ], + "parserOptions": { + "ecmaVersion": 2018 + }, + "rules": { + "strict": 0, + "no-underscore-dangle": 0, + "no-mixed-requires": 0, + "no-process-exit": 0, + "no-warning-comments": 0, + "no-use-before-define": 0, + "curly": 0, + "no-multi-spaces": 0, + "no-alert": 0, + "consistent-return": 0, + "consistent-this": [0, "self"], + "func-style": 0, + "max-nested-callbacks": 0, + "camelcase": 0, + "no-dupe-class-members": 0, + "security/detect-object-injection": 0, + "sonarjs/no-small-switch": 0, + "sonarjs/no-nested-template-literals": 0, + "no-debugger": 1, + "no-empty": 1, + "no-invalid-regexp": 1, + "no-unused-expressions": 1, + "no-native-reassign": 1, + "no-fallthrough": 1, + "sonarjs/cognitive-complexity": 1, + "eqeqeq": 2, + "no-undef": 2, + "no-dupe-keys": 2, + "no-empty-character-class": 2, + "no-self-compare": 2, + "valid-typeof": 2, + "handle-callback-err": 2, + "no-shadow-restricted-names": 2, + "no-new-require": 2, + "no-mixed-spaces-and-tabs": 2, + "block-scoped-var": 2, + "no-else-return": 2, + "no-throw-literal": 2, + "no-void": 2, + "radix": 2, + "wrap-iife": [2, "outside"], + "no-shadow": 0, + "no-path-concat": 2, + "valid-jsdoc": [0, {"requireReturn": false, "requireParamDescription": false, "requireReturnDescription": false}], + "no-spaced-func": 2, + "semi-spacing": 2, + "quotes": [2, "single"], + "key-spacing": [2, {"beforeColon": false, "afterColon": true}], + "indent": [2, 2], + "no-lonely-if": 2, + "no-floating-decimal": 2, + "brace-style": [2, "1tbs", {"allowSingleLine": true}], + "comma-style": [2, "last"], + "no-multiple-empty-lines": [2, {"max": 1}], + "no-nested-ternary": 2, + "operator-assignment": [2, "always"], + "padded-blocks": [2, "never"], + "quote-props": [2, "as-needed"], + "keyword-spacing": [2, {"before": true, "after": true, "overrides": {}}], + "space-before-blocks": [2, "always"], + "array-bracket-spacing": [2, "never"], + "computed-property-spacing": [2, "never"], + "space-in-parens": [2, "never"], + "space-unary-ops": [2, {"words": true, "nonwords": false}], + "wrap-regex": 2, + "linebreak-style": 0, + "semi": [2, "always"], + "arrow-spacing": [2, {"before": true, "after": true}], + "no-class-assign": 2, + "no-const-assign": 2, + "no-this-before-super": 2, + "no-var": 2, + "object-shorthand": [2, "always"], + "prefer-arrow-callback": 2, + "prefer-const": 2, + "prefer-spread": 2, + "prefer-template": 2, + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/no-use-before-define": ["off"], + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-this-alias": "off", + "@typescript-eslint/no-unnecessary-type-constraint": "off", + "@typescript-eslint/ban-types": "off" + }, + "overrides": [ + { + "files": [ + "test/**", + "*.spec.ts", + "*.test.ts" + ], + "rules": { + "prefer-arrow-callback": 0, + "sonarjs/no-duplicate-string": 0, + "security/detect-object-injection": 0, + "security/detect-non-literal-fs-filename": 0, + "@typescript-eslint/no-non-null-assertion": 0, + "@typescript-eslint/no-unused-vars": 0 + } + } + ] +} diff --git a/apps/parser/src/iterator.ts b/apps/parser/src/iterator.ts index b6b2eb1f3..25c5bee78 100644 --- a/apps/parser/src/iterator.ts +++ b/apps/parser/src/iterator.ts @@ -246,4 +246,4 @@ function traverseMessageTrait(messageTrait: MessageTraitInterface, options: Trav if (schemaTypesToIterate.includes(SchemaTypesToIterate.Headers) && messageTrait.hasHeaders()) { traverseSchema(messageTrait.headers() as SchemaInterface, null, options); } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 307e06314..b777c5893 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,13 @@ "private": true, "scripts": { "test": "turbo run test", - "lint":"turbo run lint", + "lint": "turbo run lint", + "lint:fix": "turbo run lint:fix", "build": "turbo run build", - "parser:test:unit":"turbo run test:unit --filter=@asyncapi/parser", - "parser:test":"turbo run test --filter=@asyncapi/parser", - "parser:test:browser":"turbo run test:browser --filter=@asyncapi/parser", - "parser:build":"turbo run build --filter=@asyncapi/parser" + "parser:test:unit": "turbo run test:unit --filter=@asyncapi/parser", + "parser:test": "turbo run test --filter=@asyncapi/parser", + "parser:test:browser": "turbo run test:browser --filter=@asyncapi/parser", + "parser:build": "turbo run build --filter=@asyncapi/parser" }, "devDependencies": { "@repo/eslint-config": "*", diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index c8a018d0f..000000000 --- a/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "@repo/typescript-config/base.json" -} diff --git a/turbo.json b/turbo.json index 55e85d89d..2c2fa1430 100644 --- a/turbo.json +++ b/turbo.json @@ -8,6 +8,8 @@ "test": {}, "test:unit": {}, "test:integration": {}, - "test:browser":{} + "test:browser": {}, + "lint": {}, + "lint:fix": {} } } From 4f8f26ece139f340b7388030da2a41e787a58bf0 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 24 Apr 2024 12:22:23 +0200 Subject: [PATCH 025/107] fix: update @asyncapi/parser to 3.0.14 (#15) --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index bded7985f..114921c1f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.13" + "parserapiv3": "npm:@asyncapi/parser@^3.0.14" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.5.6", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.6.tgz", - "integrity": "sha512-TI3OIY0UFf7wPyjV9GjKqL6C4YJ0xOJ7wX33sxVqCf0XXIq4otGHa1XiBcCUAgdbMlO7b8jsFRxuUsVXCsYDVQ==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.6.0.tgz", + "integrity": "sha512-pXJa0sCeBpif5al5CSa0f3HvwVBQXzd96/Xgq8Jsh6KM4CYxCe7p6paaC9fDjdBVXyWAioQmZiGRxEVUMINbUw==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,11 +7836,11 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.13.tgz", - "integrity": "sha512-ULNVAsfdLJJJeBDCAWGfleEzmkKJCWcZaYzhTIrqccJa6yZvWrMPLGMYhJhBkdczDxjtdi0iqMmxEy2GC36mUA==", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.14.tgz", + "integrity": "sha512-tC2gmKkw28PWWMcGUXHQjTfVftiZdr+FQtsfapaHh36spX9uwe13iYzkcTyCkwSJAHibtg7wvStuHsiufP8xng==", "dependencies": { - "@asyncapi/specs": "^6.5.6", + "@asyncapi/specs": "^6.6.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -9926,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.5.6", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.5.6.tgz", - "integrity": "sha512-TI3OIY0UFf7wPyjV9GjKqL6C4YJ0xOJ7wX33sxVqCf0XXIq4otGHa1XiBcCUAgdbMlO7b8jsFRxuUsVXCsYDVQ==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.6.0.tgz", + "integrity": "sha512-pXJa0sCeBpif5al5CSa0f3HvwVBQXzd96/Xgq8Jsh6KM4CYxCe7p6paaC9fDjdBVXyWAioQmZiGRxEVUMINbUw==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15641,11 +15641,11 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.13", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.13.tgz", - "integrity": "sha512-ULNVAsfdLJJJeBDCAWGfleEzmkKJCWcZaYzhTIrqccJa6yZvWrMPLGMYhJhBkdczDxjtdi0iqMmxEy2GC36mUA==", + "version": "npm:@asyncapi/parser@3.0.14", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.14.tgz", + "integrity": "sha512-tC2gmKkw28PWWMcGUXHQjTfVftiZdr+FQtsfapaHh36spX9uwe13iYzkcTyCkwSJAHibtg7wvStuHsiufP8xng==", "requires": { - "@asyncapi/specs": "^6.5.6", + "@asyncapi/specs": "^6.6.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", diff --git a/package.json b/package.json index ed5ece6b0..d8dba5818 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.13" + "parserapiv3": "npm:@asyncapi/parser@^3.0.14" }, "devDependencies": { "@jest/types": "^29.0.2", From 7c25ae9914f126bb08441e34522d7c782635f02b Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Mon, 29 Apr 2024 23:02:26 +0530 Subject: [PATCH 026/107] Added the required changes . --- .gitignore | 38 -- apps/parser/CODEOWNERS => CODEOWNERS | 0 .../CODE_OF_CONDUCT.md => CODE_OF_CONDUCT.md | 0 .../parser/CONTRIBUTING.md => CONTRIBUTING.md | 0 README.md | 546 ++++++++++++++++-- apps/parser/.gitignore | 38 -- apps/parser/LICENSE | 366 ++++++------ apps/parser/README.md | 533 ----------------- package-lock.json | 1 + turbo.json | 4 - 10 files changed, 686 insertions(+), 840 deletions(-) rename apps/parser/CODEOWNERS => CODEOWNERS (100%) rename apps/parser/CODE_OF_CONDUCT.md => CODE_OF_CONDUCT.md (100%) rename apps/parser/CONTRIBUTING.md => CONTRIBUTING.md (100%) delete mode 100644 apps/parser/README.md diff --git a/.gitignore b/.gitignore index 9c908952d..70f71a941 100644 --- a/.gitignore +++ b/.gitignore @@ -8,42 +8,4 @@ node_modules /cjs /browser *.tgz -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# Dependencies -node_modules -.pnp -.pnp.js - -# Local env files -.env -.env.local -.env.development.local -.env.test.local -.env.production.local - -# Testing -coverage - -# Turbo -.turbo - -# Vercel -.vercel - -# Build Outputs -.next/ -out/ -build -dist - - -# Debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Misc -.DS_Store -*.pem .turbo diff --git a/apps/parser/CODEOWNERS b/CODEOWNERS similarity index 100% rename from apps/parser/CODEOWNERS rename to CODEOWNERS diff --git a/apps/parser/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md similarity index 100% rename from apps/parser/CODE_OF_CONDUCT.md rename to CODE_OF_CONDUCT.md diff --git a/apps/parser/CONTRIBUTING.md b/CONTRIBUTING.md similarity index 100% rename from apps/parser/CONTRIBUTING.md rename to CONTRIBUTING.md diff --git a/README.md b/README.md index 7a4658aa8..b51837688 100644 --- a/README.md +++ b/README.md @@ -1,81 +1,539 @@ -# Turborepo starter +[![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) -This is an official starter Turborepo. +Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. +Validation is powered by [Spectral](https://github.com/stoplightio/spectral). +Updated bundle for the browser is always attached to the GitHub Release. -## Using this example +![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) -Run the following command: +> **Warning** +> This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. -```sh -npx create-turbo@latest +> **Warning** +> This package has rewrote the Model API (old one) to [Intent API](https://github.com/asyncapi/parser-api). If you still need to use the old API, read the [Convert to the old API](#convert-to-the-old-api) section. + +> **Note** +> Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). + + + + + +- [Installation](#installation) +- [Usage](#usage) +- [Examples](#examples) + - [Example with parsing](#example-with-parsing) + - [Example with validation](#example-with-validation) + - [Example using Avro schemas](#example-using-avro-schemas) + - [Example using OpenAPI schemas](#example-using-openapi-schemas) + - [Example using RAML data types](#example-using-raml-data-types) + - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) + - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) + - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) +- [API documentation](#api-documentation) +- [Spectral rulesets](#spectral-rulesets) +- [Using in the browser/SPA applications](#using-in-the-browserspa-applications) +- [Custom schema parsers](#custom-schema-parsers) + - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) +- [Custom extensions](#custom-extensions) +- [Circular references](#circular-references) +- [Stringify](#stringify) +- [Convert to the old API](#convert-to-the-old-api) +- [Notes](#notes) + - [Using with Webpack](#using-with-webpack) + - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) +- [Develop](#develop) +- [Contributing](#contributing) +- [Contributors](#contributors) + + + +## Installation + +```bash +npm install @asyncapi/parser +yarn add @asyncapi/parser +``` + +The parser by default supports AsyncAPI Schema Format and JSON Schema Format for schemas. For additional formats, check [Custom schema parsers](#custom-schema-parsers) section. + +## Usage + +The package exposes the main class `Parser`, which has two main functions: + +- `validate()` - function that validates the passed AsyncAPI document. Returns array of all possible errors against the validation conditions. +- `parse()` - function that validates the passed AsyncAPI document, and then if it's valid, parses the input. It returns an object that contains: + - `document` object, which is an parsed AsyncAPI document with [`AsyncAPIDocumentInterface`](./src/models/asyncapi.ts) API. If the schema is invalid against the validation conditions, the field has `undefined` value. + - `diagnostics` array that contains all possible errors against the validation conditions. +- `registerSchemaParser()` - function that registers custom schema parsers. For more info, please check [Custom schema parsers](#custom-schema-parsers) section. + +Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: + +```ts +import { fromURL, fromFile } from "@asyncapi/parser"; +``` + +Check out the [examples](#examples) of using the above mentioned functionalities. + +## Examples + +### Example with parsing + +```ts +import { Parser } from "@asyncapi/parser"; +const parser = new Parser(); +const { document } = await parser.parse(` + asyncapi: '2.4.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); + +if (document) { + // => Example AsyncAPI specification + console.log(document.info().title()); +} +``` + +### Example with validation + +```ts +import { Parser } from "@asyncapi/parser"; + +const parser = new Parser(); + +// One of the diagnostics will contain an error regarding an unsupported version of AsyncAPI (2.1.37) +const diagnostics = await parser.validate(` + asyncapi: '2.1.37' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); +``` + +### [Example using Avro schemas](#custom-schema-parsers) + +Head over to [asyncapi/avro-schema-parser](https://www.github.com/asyncapi/avro-schema-parser) for more information. + +### [Example using OpenAPI schemas](#custom-schema-parsers) + +Head over to [asyncapi/openapi-schema-parser](https://www.github.com/asyncapi/openapi-schema-parser) for more information. + +### [Example using RAML data types](#custom-schema-parsers) + +Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/raml-dt-schema-parser) for more information. + +### Example with performing actions on HTTP source + +```ts +import { Parser, fromURL } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document, diagnostics } = await fromURL( + parser, + "https://example.com/", +).parse(); +``` + +### Example with performing actions on file source + +```ts +import { Parser, fromFile } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document, diagnostics } = await fromFile( + parser, + "./asyncapi.yaml", +).parse(); +``` + +### [Example with stringify and unstringify parsed document](#stringify) + +```ts +import { Parser, stringify, unstringify } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document } = await parser.parse(` + asyncapi: '2.4.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); + +if (document) { + // stringify function returns string type + const stringifiedDocument = stringify(document); + // unstringify function returns new AsyncAPIDocument instance + const unstringifiedDocument = unstringify(stringifiedDocument); +} ``` -## What's inside? +## API documentation + +Parser-JS API implements a global API definition for all AsyncAPI parser implementations known as the [Parser-API](https://github.com/asyncapi/parser-api). This API is designed having in mind developer experience and resiliency to breaking changes. + +The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. -This Turborepo includes the following packages/apps: +| Parser-JS | Parser-API | Spec 2.x | Spec 3.x | +| --------- | --------------------------------------------------------------------- | -------- | -------- | +| 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | +| 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | -### Apps and Packages +- `✓` Fully supported version. +- `-` The AsyncAPI Spec version has features the Parser-JS can't use but the rest are fully supported. +- Empty means not supported version. -- `docs`: a [Next.js](https://nextjs.org/) app -- `web`: another [Next.js](https://nextjs.org/) app -- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications -- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`) -- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo +Additionally to all the methods declared in the [Parser-API](https://github.com/asyncapi/parser-api), this parser might introduce some helper functions like: -Each package/app is 100% [TypeScript](https://www.typescriptlang.org/). +- `json()` which returns the JSON object of the given object. It is possible to pass as an argument the name of a field in an object and retrieve corresponding value. +- `jsonPath()` which returns the JSON Path of the given object. +- `meta()` which returns the metadata of a given object, like a parsed AsyncAPI Document. -### Utilities +## Spectral rulesets -This Turborepo has some additional tools already setup for you: +[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: -- [TypeScript](https://www.typescriptlang.org/) for static type checking -- [ESLint](https://eslint.org/) for code linting -- [Prettier](https://prettier.io) for code formatting +```ts +import { Parser, stringify, unstringify } from "@asyncapi/parser"; +const parser = new Parser({ + ruleset: { + extends: [], + rules: { + "asyncapi-defaultContentType": "off", + "asyncapi-termsOfService": { + description: + 'Info "termsOfService" should be present and non-empty string.', + recommended: true, + given: "$", + then: { + field: "info.termsOfService", + function: "truthy", + }, + }, + }, + }, +}); +// The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. +// On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. +const diagnostics = await parser.validate(` + asyncapi: '2.0.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: {} +`); +``` + +[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. + +## Using in the browser/SPA applications + +The package contains a built-in version of the parser. To use it, you need to import the parser into the HTML file as below: + +```html + + + +``` -### Build +Or, if you want to use the parser in a JS SPA-type application where you have a predefined bundler configuration that is difficult to change (e.g. you use [`create-react-app`](https://github.com/facebook/create-react-app)) then you can import the parser as below: -To build all apps and packages, run the following command: +```js +import Parser from '@asyncapi/parser/browser'; +const parser = new Parser(); +const { document, diagnostics } = parser.parse(...); ``` -cd my-turborepo -pnpm build + +> **Note** +> Using the above code, we import the entire bundled parser into application. This may result in a duplicate code in the final application bundle, only if the application uses the same dependencies what the parser. If, on the other hand, you want to have the smallest bundle as possible, we recommend using the following import and properly configure bundler. + +Otherwise, if your application is bundled via bundlers like `webpack` and you can configure it, you can import the parser like a regular package: + +```js +import { Parser } from '@asyncapi/parser'; + +const parser = new Parser(); +const { document, diagnostics } = parser.parse(...); ``` -### Develop +> **Note** +> The package uses some native NodeJS modules underneath. If you are building a front-end application you can find more information about the correct configuration for Webpack [here](#webpack). + +In case you just want to check out the latest `bundle.js` without installing the package, we publish one on each GitHub release. You can find it under [this link to the latest release](https://github.com/asyncapi/parser-js/releases/latest/download/bundle.js). + +## Custom schema parsers + +AsyncAPI doesn't enforce one schema format. The payload of the messages can be described with OpenAPI (3.0.0), Avro, etc. This parser by default parses only [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject) (superset of JSON Schema Format). We can extend it by creating a custom parser and registering it within the parser: + +1. Create custom parser module that exports three functions: + + - `validate` - function that validates (its syntax) used schema. + - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). + - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. + + Example: + + ```ts + export default { + validate(input) { ... }, + parse(input) { ... }, + getMimeTypes() { + return [ + 'application/vnd.custom.type;version=1.0.0', + 'application/vnd.custom.type+json;version=1.0.0', + ] + } + } + ``` + +2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: + + ```ts + import { Parser } from "@asyncapi/parser"; + import myCustomSchemaParser from "./my-custom-schema-parser"; + + const parser = new Parser(); + parser.registerSchemaParser(myCustomSchemaParser); + ``` + +### Official supported custom schema parsers + +In AsyncAPI Initiative we support below custom schema parsers. To install them, run below comamnds: + +- [Avro schema](https://www.github.com/asyncapi/avro-schema-parser): + + ```bash + npm install @asyncapi/avro-schema-parser + yarn add @asyncapi/avro-schema-parser + ``` + +- [OpenAPI (3.0.0) Schema Object](https://www.github.com/asyncapi/openapi-schema-parser): + + ```bash + npm install @asyncapi/openapi-schema-parser + yarn add @asyncapi/openapi-schema-parser + ``` + +- [RAML data type](https://www.github.com/asyncapi/raml-dt-schema-parser): + + ```bash + npm install @asyncapi/raml-dt-schema-parser + yarn add @asyncapi/raml-dt-schema-parser + ``` + + > **Note** + > That custom parser works only in the NodeJS environment. Do not use it in browser applications! + +## Custom extensions + +The parser uses custom extensions to define additional information about the spec. Each has a different purpose but all of them are there to make it much easier to work with the AsyncAPI document. These extensions are prefixed with `x-parser-`. The following extensions are used: + +- `x-parser-spec-parsed` is used to specify if the AsyncAPI document is already parsed by the parser. Property `x-parser-spec-parsed` is added to the root of the document with the `true` value. +- `x-parser-api-version` is used to specify which version of the [Parser-API](https://github.com/asyncapi/parser-api) the parsed AsyncAPI document uses. Property `x-parser-api-version` is added to the root of the document with the `1` value if the parsed document uses [Parser-API](https://github.com/asyncapi/parser-api) in the `v1` version or `0` if document uses old `parser-js` API. +- `x-parser-message-name` is used to specify the name of the message if it is not provided. For messages without names, the parser generates anonymous names. Property `x-parser-message-name` is added to a message object with a value that follows this pattern: ``. This value is returned by `message.id()` (`message.uid()` in the [old API](#convert-to-the-old-api)) when regular `name` property is not present. +- `x-parser-original-payload` holds the original payload of the message. You can use different formats for payloads with the AsyncAPI documents and the parser converts them to. For example, it converts payload described with Avro schema to AsyncAPI schema. The original payload is preserved in the extension. +- [`x-parser-circular`](#circular-references). + +In addition, the [`convertToOldAPI()` function](#convert-to-the-old-api) which converts new API to an old one adds additional extensions: + +- `x-parser-message-parsed` is used to specify if the message is already parsed by the message parser. Property `x-parser-message-parsed` is added to the message object with the `true` value. +- `x-parser-schema-id` is used to specify the ID of the schema if it is not provided. For schemas without IDs, the parser generates anonymous names. Property `x-parser-schema-id` is added to every object of a schema with a value that follows this pattern: ``. This value is returned by `schema.uid()` when regular `$id` property is not present. +- `x-parser-original-traits` is where traits are stored after they are applied on the AsyncAPI document. The reason is because the original `traits` property is removed. +- `x-parser-original-schema-format` holds information about the original schema format of the payload. You can use different schema formats with the AsyncAPI documents and the parser converts them to AsyncAPI schema. This is why different schema format is set, and the original one is preserved in the extension. -To develop all apps and packages, run the following command: +> **Warning** +> All extensions added by the parser (including all properties) should be retrieved using special functions. Names of extensions and their location may change, and their eventual changes will not be announced. +## Circular references + +Parser dereferences all circular references by default. In addition, to simplify interactions with the parser, the following is added: + +- `x-parser-circular` property is added to the root of the AsyncAPI document to indicate that the document contains circular references. In old API the Parser exposes `hasCircular()` function to check if given AsyncAPI document has circular references. +- `isCircular()` function is added to the [Schema Model](./src/models/schema.ts) to determine if a given schema is circular with respect to previously occurring schemas in the JSON tree. + +## Stringify + +Converting a parsed document to a string may be necessary when saving the parsed document to a database, or similar situations where you need to parse the document just once and then reuse it, for optimisation cases. + +For that, the Parser supports the ability to stringify a parsed AsyncAPI document through the `stringify` function exposed by package. This method differs from the native `JSON.stringify(...json)` implementation, in that every reference that occurs (at least twice throughout the document) is converted into a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path with a `$ref:` prefix: + +```json +{ + "foo": "$ref:$.some.path.to.the.bar" +} ``` -cd my-turborepo -pnpm dev + +To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. + +A few advantages of this solution: + +- The string remains as small as possible due to the use of [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901). +- All references (also circular) are preserved. + +Check [example](#example-with-stringify-and-unstringify-parsed-documentstringify). + +## Convert to the old API + +Version `2.0.0` of package introduced a lot of breaking changes, including changing the API of the returned parsed document (parser uses [New API](https://github.com/asyncapi/parser-api)). Due to the fact that a large part of the AsyncAPI tooling ecosystem uses a Parser with the old API and rewriting the tool for the new one can be time-consuming and difficult, the package exposes the `convertToOldAPI()` function to convert new API to old one: + +```js +import { Parser, convertToOldAPI } from '@asyncapi/parser'; + +const parser = new Parser(); +const { document } = parser.parse(...); +const oldAsyncAPIDocument = convertToOldAPI(document); ``` -### Remote Caching +> **Warning** +> The old api will be supported only for a certain period of time. The target date for turning off support of the old API is around the end of January 2023. -Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines. +## Notes -By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands: +### Using with Webpack +Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: + +```js +{ + resolve: { + fallback: { + "fs": false, + "path": false, + "util": false, + "buffer": require.resolve("buffer/"), + } + } +} ``` -cd my-turborepo -npx turbo login + +### Testing with [Jest](https://jestjs.io/) + +Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: + +```bash +Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js +``` + +It's a problem with Jest, which cannot understand [NodeJS's package exports](https://nodejs.org/api/packages.html). To fix that, should be [enabled ESM support in Jest](https://jestjs.io/docs/ecmascript-modules) or set an appropriate Jest's `moduleNameMapper` config: + +```js +moduleNameMapper: { + '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', + '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', +}, ``` -This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview). +## Develop -Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo: +1. Make sure you are using Node.js 16 or higher and npm 8 or higher +2. Write code and tests. +3. Make sure all tests pass `npm test` + +For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: ``` -npx turbo link +git config --global core.autocrlf false +git config --global core.eol lf ``` -## Useful Links +4. Make sure code is well formatted and secure `npm run lint` + +## Contributing + +Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fran Méndez
Fran Méndez

💬 🐛 💻 📖 🤔 🚧 🔌 👀 ⚠️
Lukasz Gornicki
Lukasz Gornicki

💬 🐛 💻 📖 🤔 🚧 👀 ⚠️
Jonas Lagoni
Jonas Lagoni

💬 🐛 💻 🤔 👀
Maciej Urbańczyk
Maciej Urbańczyk

🐛 💻 👀
Juan Mellado
Juan Mellado

💻
James Crowley
James Crowley

💻
raisel melian
raisel melian

💻
danielchu
danielchu

🚇 💻
Jürgen B.
Jürgen B.

💻
Viacheslav Turovskyi
Viacheslav Turovskyi

⚠️ 💻
Khuda Dad Nomani
Khuda Dad Nomani

💻 🐛 ⚠️
Aayush Kumar Sahu
Aayush Kumar Sahu

⚠️
Jordan Tucker
Jordan Tucker

⚠️ 💻
vishesh13byte
vishesh13byte

⚠️
Elakya
Elakya

💻
Dominik Schwank
Dominik Schwank

🐛 💻
Ruchi Pakhle
Ruchi Pakhle

📖
Đỗ Trọng Hải
Đỗ Trọng Hải

🛡️
+ + + -Learn more about the power of Turborepo: + -- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks) -- [Caching](https://turbo.build/repo/docs/core-concepts/caching) -- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) -- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering) -- [Configuration Options](https://turbo.build/repo/docs/reference/configuration) -- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference) +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/apps/parser/.gitignore b/apps/parser/.gitignore index 9c908952d..70f71a941 100644 --- a/apps/parser/.gitignore +++ b/apps/parser/.gitignore @@ -8,42 +8,4 @@ node_modules /cjs /browser *.tgz -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# Dependencies -node_modules -.pnp -.pnp.js - -# Local env files -.env -.env.local -.env.development.local -.env.test.local -.env.production.local - -# Testing -coverage - -# Turbo -.turbo - -# Vercel -.vercel - -# Build Outputs -.next/ -out/ -build -dist - - -# Debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Misc -.DS_Store -*.pem .turbo diff --git a/apps/parser/LICENSE b/apps/parser/LICENSE index ebfe05f22..829968f80 100644 --- a/apps/parser/LICENSE +++ b/apps/parser/LICENSE @@ -2,180 +2,180 @@ 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. +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 "[]" @@ -186,16 +186,16 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright The Linux Foundation +Copyright The Linux Foundation - 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 +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. +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/apps/parser/README.md b/apps/parser/README.md deleted file mode 100644 index 1e322c366..000000000 --- a/apps/parser/README.md +++ /dev/null @@ -1,533 +0,0 @@ -[![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) - -Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. -Validation is powered by [Spectral](https://github.com/stoplightio/spectral). -Updated bundle for the browser is always attached to the GitHub Release. - -![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) - -> **Warning** -> This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. - -> **Warning** -> This package has rewrote the Model API (old one) to [Intent API](https://github.com/asyncapi/parser-api). If you still need to use the old API, read the [Convert to the old API](#convert-to-the-old-api) section. - -> **Note** -> Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). - - - - - - -- [Installation](#installation) -- [Usage](#usage) -- [Examples](#examples) - * [Example with parsing](#example-with-parsing) - * [Example with validation](#example-with-validation) - * [Example using Avro schemas](#example-using-avro-schemas) - * [Example using OpenAPI schemas](#example-using-openapi-schemas) - * [Example using RAML data types](#example-using-raml-data-types) - * [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) - * [Example with performing actions on file source](#example-with-performing-actions-on-file-source) - * [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) -- [API documentation](#api-documentation) -- [Spectral rulesets](#spectral-rulesets) -- [Using in the browser/SPA applications](#using-in-the-browserspa-applications) -- [Custom schema parsers](#custom-schema-parsers) - * [Official supported custom schema parsers](#official-supported-custom-schema-parsers) -- [Custom extensions](#custom-extensions) -- [Circular references](#circular-references) -- [Stringify](#stringify) -- [Convert to the old API](#convert-to-the-old-api) -- [Notes](#notes) - * [Using with Webpack](#using-with-webpack) - * [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) -- [Develop](#develop) -- [Contributing](#contributing) -- [Contributors](#contributors) - - - -## Installation - -```bash -npm install @asyncapi/parser -yarn add @asyncapi/parser -``` - -The parser by default supports AsyncAPI Schema Format and JSON Schema Format for schemas. For additional formats, check [Custom schema parsers](#custom-schema-parsers) section. - -## Usage - -The package exposes the main class `Parser`, which has two main functions: - -- `validate()` - function that validates the passed AsyncAPI document. Returns array of all possible errors against the validation conditions. -- `parse()` - function that validates the passed AsyncAPI document, and then if it's valid, parses the input. It returns an object that contains: - - `document` object, which is an parsed AsyncAPI document with [`AsyncAPIDocumentInterface`](./src/models/asyncapi.ts) API. If the schema is invalid against the validation conditions, the field has `undefined` value. - - `diagnostics` array that contains all possible errors against the validation conditions. -- `registerSchemaParser()` - function that registers custom schema parsers. For more info, please check [Custom schema parsers](#custom-schema-parsers) section. - -Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: - -```ts -import { fromURL, fromFile } from '@asyncapi/parser'; -``` - -Check out the [examples](#examples) of using the above mentioned functionalities. - -## Examples - -### Example with parsing - -```ts -import { Parser } from '@asyncapi/parser'; -const parser = new Parser(); -const { document } = await parser.parse(` - asyncapi: '2.4.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); - -if (document) { - // => Example AsyncAPI specification - console.log(document.info().title()); -} -``` - -### Example with validation - -```ts -import { Parser } from '@asyncapi/parser'; - -const parser = new Parser(); - -// One of the diagnostics will contain an error regarding an unsupported version of AsyncAPI (2.1.37) -const diagnostics = await parser.validate(` - asyncapi: '2.1.37' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); -``` - -### [Example using Avro schemas](#custom-schema-parsers) - -Head over to [asyncapi/avro-schema-parser](https://www.github.com/asyncapi/avro-schema-parser) for more information. - -### [Example using OpenAPI schemas](#custom-schema-parsers) - -Head over to [asyncapi/openapi-schema-parser](https://www.github.com/asyncapi/openapi-schema-parser) for more information. - -### [Example using RAML data types](#custom-schema-parsers) - -Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/raml-dt-schema-parser) for more information. - -### Example with performing actions on HTTP source - -```ts -import { Parser, fromURL } from '@asyncapi/parser'; - -const parser = new Parser(); - -const { document, diagnostics } = await fromURL(parser, 'https://example.com/').parse(); -``` - -### Example with performing actions on file source - -```ts -import { Parser, fromFile } from '@asyncapi/parser'; - -const parser = new Parser(); - -const { document, diagnostics } = await fromFile(parser, './asyncapi.yaml').parse(); -``` - -### [Example with stringify and unstringify parsed document](#stringify) - -```ts -import { Parser, stringify, unstringify } from '@asyncapi/parser'; - -const parser = new Parser(); - -const { document } = await parser.parse(` - asyncapi: '2.4.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); - -if (document) { - // stringify function returns string type - const stringifiedDocument = stringify(document); - // unstringify function returns new AsyncAPIDocument instance - const unstringifiedDocument = unstringify(stringifiedDocument); -} -``` - -## API documentation - -Parser-JS API implements a global API definition for all AsyncAPI parser implementations known as the [Parser-API](https://github.com/asyncapi/parser-api). This API is designed having in mind developer experience and resiliency to breaking changes. - -The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. - -| Parser-JS | Parser-API | Spec 2.x | Spec 3.x | -|-----------|-----------------------------------------------------------------------|----------|----------| -| 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | -| 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | - -- `✓` Fully supported version. -- `-` The AsyncAPI Spec version has features the Parser-JS can't use but the rest are fully supported. -- Empty means not supported version. - -Additionally to all the methods declared in the [Parser-API](https://github.com/asyncapi/parser-api), this parser might introduce some helper functions like: - -- `json()` which returns the JSON object of the given object. It is possible to pass as an argument the name of a field in an object and retrieve corresponding value. -- `jsonPath()` which returns the JSON Path of the given object. -- `meta()` which returns the metadata of a given object, like a parsed AsyncAPI Document. - -## Spectral rulesets - -[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: - -```ts -import { Parser, stringify, unstringify } from '@asyncapi/parser'; -const parser = new Parser({ - ruleset: { - extends: [], - rules: { - 'asyncapi-defaultContentType': 'off', - 'asyncapi-termsOfService': { - description: 'Info "termsOfService" should be present and non-empty string.', - recommended: true, - given: '$', - then: { - field: 'info.termsOfService', - function: 'truthy', - }, - }, - } - } -}); -// The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. -// On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. -const diagnostics = await parser.validate(` - asyncapi: '2.0.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: {} -`); -``` - -[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. - - -## Using in the browser/SPA applications - -The package contains a built-in version of the parser. To use it, you need to import the parser into the HTML file as below: - -```html - - - -``` - -Or, if you want to use the parser in a JS SPA-type application where you have a predefined bundler configuration that is difficult to change (e.g. you use [`create-react-app`](https://github.com/facebook/create-react-app)) then you can import the parser as below: - -```js -import Parser from '@asyncapi/parser/browser'; - -const parser = new Parser(); -const { document, diagnostics } = parser.parse(...); -``` - -> **Note** -> Using the above code, we import the entire bundled parser into application. This may result in a duplicate code in the final application bundle, only if the application uses the same dependencies what the parser. If, on the other hand, you want to have the smallest bundle as possible, we recommend using the following import and properly configure bundler. - -Otherwise, if your application is bundled via bundlers like `webpack` and you can configure it, you can import the parser like a regular package: - -```js -import { Parser } from '@asyncapi/parser'; - -const parser = new Parser(); -const { document, diagnostics } = parser.parse(...); -``` - -> **Note** -> The package uses some native NodeJS modules underneath. If you are building a front-end application you can find more information about the correct configuration for Webpack [here](#webpack). - -In case you just want to check out the latest `bundle.js` without installing the package, we publish one on each GitHub release. You can find it under [this link to the latest release](https://github.com/asyncapi/parser-js/releases/latest/download/bundle.js). - -## Custom schema parsers - -AsyncAPI doesn't enforce one schema format. The payload of the messages can be described with OpenAPI (3.0.0), Avro, etc. This parser by default parses only [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject) (superset of JSON Schema Format). We can extend it by creating a custom parser and registering it within the parser: - -1. Create custom parser module that exports three functions: - - - `validate` - function that validates (its syntax) used schema. - - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). - - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. - - Example: - - ```ts - export default { - validate(input) { ... }, - parse(input) { ... }, - getMimeTypes() { - return [ - 'application/vnd.custom.type;version=1.0.0', - 'application/vnd.custom.type+json;version=1.0.0', - ] - } - } - ``` - -2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: - - ```ts - import { Parser } from '@asyncapi/parser'; - import myCustomSchemaParser from './my-custom-schema-parser'; - - const parser = new Parser(); - parser.registerSchemaParser(myCustomSchemaParser); - ``` - -### Official supported custom schema parsers - -In AsyncAPI Initiative we support below custom schema parsers. To install them, run below comamnds: - -- [Avro schema](https://www.github.com/asyncapi/avro-schema-parser): - - ```bash - npm install @asyncapi/avro-schema-parser - yarn add @asyncapi/avro-schema-parser - ``` - -- [OpenAPI (3.0.0) Schema Object](https://www.github.com/asyncapi/openapi-schema-parser): - - ```bash - npm install @asyncapi/openapi-schema-parser - yarn add @asyncapi/openapi-schema-parser - ``` - -- [RAML data type](https://www.github.com/asyncapi/raml-dt-schema-parser): - - ```bash - npm install @asyncapi/raml-dt-schema-parser - yarn add @asyncapi/raml-dt-schema-parser - ``` - - > **Note** - > That custom parser works only in the NodeJS environment. Do not use it in browser applications! - -## Custom extensions - -The parser uses custom extensions to define additional information about the spec. Each has a different purpose but all of them are there to make it much easier to work with the AsyncAPI document. These extensions are prefixed with `x-parser-`. The following extensions are used: - -- `x-parser-spec-parsed` is used to specify if the AsyncAPI document is already parsed by the parser. Property `x-parser-spec-parsed` is added to the root of the document with the `true` value. -- `x-parser-api-version` is used to specify which version of the [Parser-API](https://github.com/asyncapi/parser-api) the parsed AsyncAPI document uses. Property `x-parser-api-version` is added to the root of the document with the `1` value if the parsed document uses [Parser-API](https://github.com/asyncapi/parser-api) in the `v1` version or `0` if document uses old `parser-js` API. -- `x-parser-message-name` is used to specify the name of the message if it is not provided. For messages without names, the parser generates anonymous names. Property `x-parser-message-name` is added to a message object with a value that follows this pattern: ``. This value is returned by `message.id()` (`message.uid()` in the [old API](#convert-to-the-old-api)) when regular `name` property is not present. -- `x-parser-original-payload` holds the original payload of the message. You can use different formats for payloads with the AsyncAPI documents and the parser converts them to. For example, it converts payload described with Avro schema to AsyncAPI schema. The original payload is preserved in the extension. -- [`x-parser-circular`](#circular-references). - -In addition, the [`convertToOldAPI()` function](#convert-to-the-old-api) which converts new API to an old one adds additional extensions: - -- `x-parser-message-parsed` is used to specify if the message is already parsed by the message parser. Property `x-parser-message-parsed` is added to the message object with the `true` value. -- `x-parser-schema-id` is used to specify the ID of the schema if it is not provided. For schemas without IDs, the parser generates anonymous names. Property `x-parser-schema-id` is added to every object of a schema with a value that follows this pattern: ``. This value is returned by `schema.uid()` when regular `$id` property is not present. -- `x-parser-original-traits` is where traits are stored after they are applied on the AsyncAPI document. The reason is because the original `traits` property is removed. -- `x-parser-original-schema-format` holds information about the original schema format of the payload. You can use different schema formats with the AsyncAPI documents and the parser converts them to AsyncAPI schema. This is why different schema format is set, and the original one is preserved in the extension. - -> **Warning** -> All extensions added by the parser (including all properties) should be retrieved using special functions. Names of extensions and their location may change, and their eventual changes will not be announced. - -## Circular references - -Parser dereferences all circular references by default. In addition, to simplify interactions with the parser, the following is added: - -- `x-parser-circular` property is added to the root of the AsyncAPI document to indicate that the document contains circular references. In old API the Parser exposes `hasCircular()` function to check if given AsyncAPI document has circular references. -- `isCircular()` function is added to the [Schema Model](./src/models/schema.ts) to determine if a given schema is circular with respect to previously occurring schemas in the JSON tree. - -## Stringify - -Converting a parsed document to a string may be necessary when saving the parsed document to a database, or similar situations where you need to parse the document just once and then reuse it, for optimisation cases. - -For that, the Parser supports the ability to stringify a parsed AsyncAPI document through the `stringify` function exposed by package. This method differs from the native `JSON.stringify(...json)` implementation, in that every reference that occurs (at least twice throughout the document) is converted into a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path with a `$ref:` prefix: - -```json -{ - "foo": "$ref:$.some.path.to.the.bar" -} -``` - -To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. - -A few advantages of this solution: - -- The string remains as small as possible due to the use of [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901). -- All references (also circular) are preserved. - -Check [example](#example-with-stringify-and-unstringify-parsed-documentstringify). - -## Convert to the old API - -Version `2.0.0` of package introduced a lot of breaking changes, including changing the API of the returned parsed document (parser uses [New API](https://github.com/asyncapi/parser-api)). Due to the fact that a large part of the AsyncAPI tooling ecosystem uses a Parser with the old API and rewriting the tool for the new one can be time-consuming and difficult, the package exposes the `convertToOldAPI()` function to convert new API to old one: - -```js -import { Parser, convertToOldAPI } from '@asyncapi/parser'; - -const parser = new Parser(); -const { document } = parser.parse(...); -const oldAsyncAPIDocument = convertToOldAPI(document); -``` - -> **Warning** -> The old api will be supported only for a certain period of time. The target date for turning off support of the old API is around the end of January 2023. - -## Notes - -### Using with Webpack -Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: - -```js -{ - resolve: { - fallback: { - "fs": false, - "path": false, - "util": false, - "buffer": require.resolve("buffer/"), - } - } -} -``` - -### Testing with [Jest](https://jestjs.io/) - -Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: - -```bash -Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js -``` - -It's a problem with Jest, which cannot understand [NodeJS's package exports](https://nodejs.org/api/packages.html). To fix that, should be [enabled ESM support in Jest](https://jestjs.io/docs/ecmascript-modules) or set an appropriate Jest's `moduleNameMapper` config: - -```js -moduleNameMapper: { - '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', - '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', -}, -``` - -## Develop - -1. Make sure you are using Node.js 16 or higher and npm 8 or higher -2. Write code and tests. -3. Make sure all tests pass `npm test` - -For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: -``` -git config --global core.autocrlf false -git config --global core.eol lf -``` - -4. Make sure code is well formatted and secure `npm run lint` - - -## Contributing - -Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. - -## Contributors - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fran Méndez
Fran Méndez

💬 🐛 💻 📖 🤔 🚧 🔌 👀 ⚠️
Lukasz Gornicki
Lukasz Gornicki

💬 🐛 💻 📖 🤔 🚧 👀 ⚠️
Jonas Lagoni
Jonas Lagoni

💬 🐛 💻 🤔 👀
Maciej Urbańczyk
Maciej Urbańczyk

🐛 💻 👀
Juan Mellado
Juan Mellado

💻
James Crowley
James Crowley

💻
raisel melian
raisel melian

💻
danielchu
danielchu

🚇 💻
Jürgen B.
Jürgen B.

💻
Viacheslav Turovskyi
Viacheslav Turovskyi

⚠️ 💻
Khuda Dad Nomani
Khuda Dad Nomani

💻 🐛 ⚠️
Aayush Kumar Sahu
Aayush Kumar Sahu

⚠️
Jordan Tucker
Jordan Tucker

⚠️ 💻
vishesh13byte
vishesh13byte

⚠️
Elakya
Elakya

💻
Dominik Schwank
Dominik Schwank

🐛 💻
Ruchi Pakhle
Ruchi Pakhle

📖
Đỗ Trọng Hải
Đỗ Trọng Hải

🛡️
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/package-lock.json b/package-lock.json index 87bcf3a07..b65eccd70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ } }, "apps/parser": { + "name": "@asyncapi/parser", "version": "3.0.14", "license": "Apache-2.0", "dependencies": { diff --git a/turbo.json b/turbo.json index 2c2fa1430..5000aa3a4 100644 --- a/turbo.json +++ b/turbo.json @@ -1,10 +1,6 @@ { "$schema": "https://turbo.build/schema.json", - "globalDependencies": ["**/.env.*local"], "pipeline": { - "build": { - "outputs": [".next/**", "!.next/cache/**"] - }, "test": {}, "test:unit": {}, "test:integration": {}, From dcd54eb1b9ae6dfe659012c2b589a56f723d66b3 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Wed, 1 May 2024 00:25:05 +0530 Subject: [PATCH 027/107] Added the required --- README.md | 536 +---------------------------------------- apps/parser/READMD.md | 539 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 548 insertions(+), 527 deletions(-) create mode 100644 apps/parser/READMD.md diff --git a/README.md b/README.md index b51837688..b6aa2316a 100644 --- a/README.md +++ b/README.md @@ -1,539 +1,21 @@ -[![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) +# Parser -Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. -Validation is powered by [Spectral](https://github.com/stoplightio/spectral). -Updated bundle for the browser is always attached to the GitHub Release. +### Installing -![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) +Clone this repo and run: -> **Warning** -> This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. - -> **Warning** -> This package has rewrote the Model API (old one) to [Intent API](https://github.com/asyncapi/parser-api). If you still need to use the old API, read the [Convert to the old API](#convert-to-the-old-api) section. - -> **Note** -> Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). - - - - - -- [Installation](#installation) -- [Usage](#usage) -- [Examples](#examples) - - [Example with parsing](#example-with-parsing) - - [Example with validation](#example-with-validation) - - [Example using Avro schemas](#example-using-avro-schemas) - - [Example using OpenAPI schemas](#example-using-openapi-schemas) - - [Example using RAML data types](#example-using-raml-data-types) - - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) - - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) - - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) -- [API documentation](#api-documentation) -- [Spectral rulesets](#spectral-rulesets) -- [Using in the browser/SPA applications](#using-in-the-browserspa-applications) -- [Custom schema parsers](#custom-schema-parsers) - - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) -- [Custom extensions](#custom-extensions) -- [Circular references](#circular-references) -- [Stringify](#stringify) -- [Convert to the old API](#convert-to-the-old-api) -- [Notes](#notes) - - [Using with Webpack](#using-with-webpack) - - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) -- [Develop](#develop) -- [Contributing](#contributing) -- [Contributors](#contributors) - - - -## Installation - -```bash -npm install @asyncapi/parser -yarn add @asyncapi/parser -``` - -The parser by default supports AsyncAPI Schema Format and JSON Schema Format for schemas. For additional formats, check [Custom schema parsers](#custom-schema-parsers) section. - -## Usage - -The package exposes the main class `Parser`, which has two main functions: - -- `validate()` - function that validates the passed AsyncAPI document. Returns array of all possible errors against the validation conditions. -- `parse()` - function that validates the passed AsyncAPI document, and then if it's valid, parses the input. It returns an object that contains: - - `document` object, which is an parsed AsyncAPI document with [`AsyncAPIDocumentInterface`](./src/models/asyncapi.ts) API. If the schema is invalid against the validation conditions, the field has `undefined` value. - - `diagnostics` array that contains all possible errors against the validation conditions. -- `registerSchemaParser()` - function that registers custom schema parsers. For more info, please check [Custom schema parsers](#custom-schema-parsers) section. - -Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: - -```ts -import { fromURL, fromFile } from "@asyncapi/parser"; -``` - -Check out the [examples](#examples) of using the above mentioned functionalities. - -## Examples - -### Example with parsing - -```ts -import { Parser } from "@asyncapi/parser"; -const parser = new Parser(); -const { document } = await parser.parse(` - asyncapi: '2.4.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); - -if (document) { - // => Example AsyncAPI specification - console.log(document.info().title()); -} -``` - -### Example with validation - -```ts -import { Parser } from "@asyncapi/parser"; - -const parser = new Parser(); - -// One of the diagnostics will contain an error regarding an unsupported version of AsyncAPI (2.1.37) -const diagnostics = await parser.validate(` - asyncapi: '2.1.37' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); -``` - -### [Example using Avro schemas](#custom-schema-parsers) - -Head over to [asyncapi/avro-schema-parser](https://www.github.com/asyncapi/avro-schema-parser) for more information. - -### [Example using OpenAPI schemas](#custom-schema-parsers) - -Head over to [asyncapi/openapi-schema-parser](https://www.github.com/asyncapi/openapi-schema-parser) for more information. - -### [Example using RAML data types](#custom-schema-parsers) - -Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/raml-dt-schema-parser) for more information. - -### Example with performing actions on HTTP source - -```ts -import { Parser, fromURL } from "@asyncapi/parser"; - -const parser = new Parser(); - -const { document, diagnostics } = await fromURL( - parser, - "https://example.com/", -).parse(); ``` - -### Example with performing actions on file source - -```ts -import { Parser, fromFile } from "@asyncapi/parser"; - -const parser = new Parser(); - -const { document, diagnostics } = await fromFile( - parser, - "./asyncapi.yaml", -).parse(); -``` - -### [Example with stringify and unstringify parsed document](#stringify) - -```ts -import { Parser, stringify, unstringify } from "@asyncapi/parser"; - -const parser = new Parser(); - -const { document } = await parser.parse(` - asyncapi: '2.4.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); - -if (document) { - // stringify function returns string type - const stringifiedDocument = stringify(document); - // unstringify function returns new AsyncAPIDocument instance - const unstringifiedDocument = unstringify(stringifiedDocument); -} +npm install ``` -## API documentation - -Parser-JS API implements a global API definition for all AsyncAPI parser implementations known as the [Parser-API](https://github.com/asyncapi/parser-api). This API is designed having in mind developer experience and resiliency to breaking changes. - -The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. - -| Parser-JS | Parser-API | Spec 2.x | Spec 3.x | -| --------- | --------------------------------------------------------------------- | -------- | -------- | -| 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | -| 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | - -- `✓` Fully supported version. -- `-` The AsyncAPI Spec version has features the Parser-JS can't use but the rest are fully supported. -- Empty means not supported version. - -Additionally to all the methods declared in the [Parser-API](https://github.com/asyncapi/parser-api), this parser might introduce some helper functions like: - -- `json()` which returns the JSON object of the given object. It is possible to pass as an argument the name of a field in an object and retrieve corresponding value. -- `jsonPath()` which returns the JSON Path of the given object. -- `meta()` which returns the metadata of a given object, like a parsed AsyncAPI Document. +This is a monorepo containing following Repos: -## Spectral rulesets +1. Parser-js -[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: - -```ts -import { Parser, stringify, unstringify } from "@asyncapi/parser"; -const parser = new Parser({ - ruleset: { - extends: [], - rules: { - "asyncapi-defaultContentType": "off", - "asyncapi-termsOfService": { - description: - 'Info "termsOfService" should be present and non-empty string.', - recommended: true, - given: "$", - then: { - field: "info.termsOfService", - function: "truthy", - }, - }, - }, - }, -}); -// The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. -// On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. -const diagnostics = await parser.validate(` - asyncapi: '2.0.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: {} -`); -``` - -[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. - -## Using in the browser/SPA applications - -The package contains a built-in version of the parser. To use it, you need to import the parser into the HTML file as below: - -```html - - - -``` - -Or, if you want to use the parser in a JS SPA-type application where you have a predefined bundler configuration that is difficult to change (e.g. you use [`create-react-app`](https://github.com/facebook/create-react-app)) then you can import the parser as below: - -```js -import Parser from '@asyncapi/parser/browser'; - -const parser = new Parser(); -const { document, diagnostics } = parser.parse(...); -``` - -> **Note** -> Using the above code, we import the entire bundled parser into application. This may result in a duplicate code in the final application bundle, only if the application uses the same dependencies what the parser. If, on the other hand, you want to have the smallest bundle as possible, we recommend using the following import and properly configure bundler. - -Otherwise, if your application is bundled via bundlers like `webpack` and you can configure it, you can import the parser like a regular package: - -```js -import { Parser } from '@asyncapi/parser'; - -const parser = new Parser(); -const { document, diagnostics } = parser.parse(...); -``` +Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. -> **Note** -> The package uses some native NodeJS modules underneath. If you are building a front-end application you can find more information about the correct configuration for Webpack [here](#webpack). - -In case you just want to check out the latest `bundle.js` without installing the package, we publish one on each GitHub release. You can find it under [this link to the latest release](https://github.com/asyncapi/parser-js/releases/latest/download/bundle.js). - -## Custom schema parsers - -AsyncAPI doesn't enforce one schema format. The payload of the messages can be described with OpenAPI (3.0.0), Avro, etc. This parser by default parses only [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject) (superset of JSON Schema Format). We can extend it by creating a custom parser and registering it within the parser: - -1. Create custom parser module that exports three functions: - - - `validate` - function that validates (its syntax) used schema. - - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). - - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. - - Example: - - ```ts - export default { - validate(input) { ... }, - parse(input) { ... }, - getMimeTypes() { - return [ - 'application/vnd.custom.type;version=1.0.0', - 'application/vnd.custom.type+json;version=1.0.0', - ] - } - } - ``` - -2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: - - ```ts - import { Parser } from "@asyncapi/parser"; - import myCustomSchemaParser from "./my-custom-schema-parser"; - - const parser = new Parser(); - parser.registerSchemaParser(myCustomSchemaParser); - ``` - -### Official supported custom schema parsers - -In AsyncAPI Initiative we support below custom schema parsers. To install them, run below comamnds: - -- [Avro schema](https://www.github.com/asyncapi/avro-schema-parser): - - ```bash - npm install @asyncapi/avro-schema-parser - yarn add @asyncapi/avro-schema-parser - ``` - -- [OpenAPI (3.0.0) Schema Object](https://www.github.com/asyncapi/openapi-schema-parser): - - ```bash - npm install @asyncapi/openapi-schema-parser - yarn add @asyncapi/openapi-schema-parser - ``` - -- [RAML data type](https://www.github.com/asyncapi/raml-dt-schema-parser): - - ```bash - npm install @asyncapi/raml-dt-schema-parser - yarn add @asyncapi/raml-dt-schema-parser - ``` - - > **Note** - > That custom parser works only in the NodeJS environment. Do not use it in browser applications! - -## Custom extensions - -The parser uses custom extensions to define additional information about the spec. Each has a different purpose but all of them are there to make it much easier to work with the AsyncAPI document. These extensions are prefixed with `x-parser-`. The following extensions are used: - -- `x-parser-spec-parsed` is used to specify if the AsyncAPI document is already parsed by the parser. Property `x-parser-spec-parsed` is added to the root of the document with the `true` value. -- `x-parser-api-version` is used to specify which version of the [Parser-API](https://github.com/asyncapi/parser-api) the parsed AsyncAPI document uses. Property `x-parser-api-version` is added to the root of the document with the `1` value if the parsed document uses [Parser-API](https://github.com/asyncapi/parser-api) in the `v1` version or `0` if document uses old `parser-js` API. -- `x-parser-message-name` is used to specify the name of the message if it is not provided. For messages without names, the parser generates anonymous names. Property `x-parser-message-name` is added to a message object with a value that follows this pattern: ``. This value is returned by `message.id()` (`message.uid()` in the [old API](#convert-to-the-old-api)) when regular `name` property is not present. -- `x-parser-original-payload` holds the original payload of the message. You can use different formats for payloads with the AsyncAPI documents and the parser converts them to. For example, it converts payload described with Avro schema to AsyncAPI schema. The original payload is preserved in the extension. -- [`x-parser-circular`](#circular-references). - -In addition, the [`convertToOldAPI()` function](#convert-to-the-old-api) which converts new API to an old one adds additional extensions: - -- `x-parser-message-parsed` is used to specify if the message is already parsed by the message parser. Property `x-parser-message-parsed` is added to the message object with the `true` value. -- `x-parser-schema-id` is used to specify the ID of the schema if it is not provided. For schemas without IDs, the parser generates anonymous names. Property `x-parser-schema-id` is added to every object of a schema with a value that follows this pattern: ``. This value is returned by `schema.uid()` when regular `$id` property is not present. -- `x-parser-original-traits` is where traits are stored after they are applied on the AsyncAPI document. The reason is because the original `traits` property is removed. -- `x-parser-original-schema-format` holds information about the original schema format of the payload. You can use different schema formats with the AsyncAPI documents and the parser converts them to AsyncAPI schema. This is why different schema format is set, and the original one is preserved in the extension. - -> **Warning** -> All extensions added by the parser (including all properties) should be retrieved using special functions. Names of extensions and their location may change, and their eventual changes will not be announced. - -## Circular references - -Parser dereferences all circular references by default. In addition, to simplify interactions with the parser, the following is added: - -- `x-parser-circular` property is added to the root of the AsyncAPI document to indicate that the document contains circular references. In old API the Parser exposes `hasCircular()` function to check if given AsyncAPI document has circular references. -- `isCircular()` function is added to the [Schema Model](./src/models/schema.ts) to determine if a given schema is circular with respect to previously occurring schemas in the JSON tree. - -## Stringify - -Converting a parsed document to a string may be necessary when saving the parsed document to a database, or similar situations where you need to parse the document just once and then reuse it, for optimisation cases. - -For that, the Parser supports the ability to stringify a parsed AsyncAPI document through the `stringify` function exposed by package. This method differs from the native `JSON.stringify(...json)` implementation, in that every reference that occurs (at least twice throughout the document) is converted into a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path with a `$ref:` prefix: - -```json -{ - "foo": "$ref:$.some.path.to.the.bar" -} -``` - -To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. - -A few advantages of this solution: - -- The string remains as small as possible due to the use of [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901). -- All references (also circular) are preserved. - -Check [example](#example-with-stringify-and-unstringify-parsed-documentstringify). - -## Convert to the old API - -Version `2.0.0` of package introduced a lot of breaking changes, including changing the API of the returned parsed document (parser uses [New API](https://github.com/asyncapi/parser-api)). Due to the fact that a large part of the AsyncAPI tooling ecosystem uses a Parser with the old API and rewriting the tool for the new one can be time-consuming and difficult, the package exposes the `convertToOldAPI()` function to convert new API to old one: - -```js -import { Parser, convertToOldAPI } from '@asyncapi/parser'; - -const parser = new Parser(); -const { document } = parser.parse(...); -const oldAsyncAPIDocument = convertToOldAPI(document); -``` - -> **Warning** -> The old api will be supported only for a certain period of time. The target date for turning off support of the old API is around the end of January 2023. - -## Notes - -### Using with Webpack - -Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: - -```js -{ - resolve: { - fallback: { - "fs": false, - "path": false, - "util": false, - "buffer": require.resolve("buffer/"), - } - } -} -``` - -### Testing with [Jest](https://jestjs.io/) - -Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: - -```bash -Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js -``` - -It's a problem with Jest, which cannot understand [NodeJS's package exports](https://nodejs.org/api/packages.html). To fix that, should be [enabled ESM support in Jest](https://jestjs.io/docs/ecmascript-modules) or set an appropriate Jest's `moduleNameMapper` config: - -```js -moduleNameMapper: { - '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', - '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', -}, -``` - -## Develop +#### Development 1. Make sure you are using Node.js 16 or higher and npm 8 or higher 2. Write code and tests. -3. Make sure all tests pass `npm test` - -For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: - -``` -git config --global core.autocrlf false -git config --global core.eol lf -``` - -4. Make sure code is well formatted and secure `npm run lint` - -## Contributing - -Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. - -## Contributors - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fran Méndez
Fran Méndez

💬 🐛 💻 📖 🤔 🚧 🔌 👀 ⚠️
Lukasz Gornicki
Lukasz Gornicki

💬 🐛 💻 📖 🤔 🚧 👀 ⚠️
Jonas Lagoni
Jonas Lagoni

💬 🐛 💻 🤔 👀
Maciej Urbańczyk
Maciej Urbańczyk

🐛 💻 👀
Juan Mellado
Juan Mellado

💻
James Crowley
James Crowley

💻
raisel melian
raisel melian

💻
danielchu
danielchu

🚇 💻
Jürgen B.
Jürgen B.

💻
Viacheslav Turovskyi
Viacheslav Turovskyi

⚠️ 💻
Khuda Dad Nomani
Khuda Dad Nomani

💻 🐛 ⚠️
Aayush Kumar Sahu
Aayush Kumar Sahu

⚠️
Jordan Tucker
Jordan Tucker

⚠️ 💻
vishesh13byte
vishesh13byte

⚠️
Elakya
Elakya

💻
Dominik Schwank
Dominik Schwank

🐛 💻
Ruchi Pakhle
Ruchi Pakhle

📖
Đỗ Trọng Hải
Đỗ Trọng Hải

🛡️
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! +3. Make sure all tests pass `npm run parser:test` diff --git a/apps/parser/READMD.md b/apps/parser/READMD.md new file mode 100644 index 000000000..b51837688 --- /dev/null +++ b/apps/parser/READMD.md @@ -0,0 +1,539 @@ +[![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) + +Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. +Validation is powered by [Spectral](https://github.com/stoplightio/spectral). +Updated bundle for the browser is always attached to the GitHub Release. + +![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) + +> **Warning** +> This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. + +> **Warning** +> This package has rewrote the Model API (old one) to [Intent API](https://github.com/asyncapi/parser-api). If you still need to use the old API, read the [Convert to the old API](#convert-to-the-old-api) section. + +> **Note** +> Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). + + + + + +- [Installation](#installation) +- [Usage](#usage) +- [Examples](#examples) + - [Example with parsing](#example-with-parsing) + - [Example with validation](#example-with-validation) + - [Example using Avro schemas](#example-using-avro-schemas) + - [Example using OpenAPI schemas](#example-using-openapi-schemas) + - [Example using RAML data types](#example-using-raml-data-types) + - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) + - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) + - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) +- [API documentation](#api-documentation) +- [Spectral rulesets](#spectral-rulesets) +- [Using in the browser/SPA applications](#using-in-the-browserspa-applications) +- [Custom schema parsers](#custom-schema-parsers) + - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) +- [Custom extensions](#custom-extensions) +- [Circular references](#circular-references) +- [Stringify](#stringify) +- [Convert to the old API](#convert-to-the-old-api) +- [Notes](#notes) + - [Using with Webpack](#using-with-webpack) + - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) +- [Develop](#develop) +- [Contributing](#contributing) +- [Contributors](#contributors) + + + +## Installation + +```bash +npm install @asyncapi/parser +yarn add @asyncapi/parser +``` + +The parser by default supports AsyncAPI Schema Format and JSON Schema Format for schemas. For additional formats, check [Custom schema parsers](#custom-schema-parsers) section. + +## Usage + +The package exposes the main class `Parser`, which has two main functions: + +- `validate()` - function that validates the passed AsyncAPI document. Returns array of all possible errors against the validation conditions. +- `parse()` - function that validates the passed AsyncAPI document, and then if it's valid, parses the input. It returns an object that contains: + - `document` object, which is an parsed AsyncAPI document with [`AsyncAPIDocumentInterface`](./src/models/asyncapi.ts) API. If the schema is invalid against the validation conditions, the field has `undefined` value. + - `diagnostics` array that contains all possible errors against the validation conditions. +- `registerSchemaParser()` - function that registers custom schema parsers. For more info, please check [Custom schema parsers](#custom-schema-parsers) section. + +Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: + +```ts +import { fromURL, fromFile } from "@asyncapi/parser"; +``` + +Check out the [examples](#examples) of using the above mentioned functionalities. + +## Examples + +### Example with parsing + +```ts +import { Parser } from "@asyncapi/parser"; +const parser = new Parser(); +const { document } = await parser.parse(` + asyncapi: '2.4.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); + +if (document) { + // => Example AsyncAPI specification + console.log(document.info().title()); +} +``` + +### Example with validation + +```ts +import { Parser } from "@asyncapi/parser"; + +const parser = new Parser(); + +// One of the diagnostics will contain an error regarding an unsupported version of AsyncAPI (2.1.37) +const diagnostics = await parser.validate(` + asyncapi: '2.1.37' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); +``` + +### [Example using Avro schemas](#custom-schema-parsers) + +Head over to [asyncapi/avro-schema-parser](https://www.github.com/asyncapi/avro-schema-parser) for more information. + +### [Example using OpenAPI schemas](#custom-schema-parsers) + +Head over to [asyncapi/openapi-schema-parser](https://www.github.com/asyncapi/openapi-schema-parser) for more information. + +### [Example using RAML data types](#custom-schema-parsers) + +Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/raml-dt-schema-parser) for more information. + +### Example with performing actions on HTTP source + +```ts +import { Parser, fromURL } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document, diagnostics } = await fromURL( + parser, + "https://example.com/", +).parse(); +``` + +### Example with performing actions on file source + +```ts +import { Parser, fromFile } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document, diagnostics } = await fromFile( + parser, + "./asyncapi.yaml", +).parse(); +``` + +### [Example with stringify and unstringify parsed document](#stringify) + +```ts +import { Parser, stringify, unstringify } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document } = await parser.parse(` + asyncapi: '2.4.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); + +if (document) { + // stringify function returns string type + const stringifiedDocument = stringify(document); + // unstringify function returns new AsyncAPIDocument instance + const unstringifiedDocument = unstringify(stringifiedDocument); +} +``` + +## API documentation + +Parser-JS API implements a global API definition for all AsyncAPI parser implementations known as the [Parser-API](https://github.com/asyncapi/parser-api). This API is designed having in mind developer experience and resiliency to breaking changes. + +The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. + +| Parser-JS | Parser-API | Spec 2.x | Spec 3.x | +| --------- | --------------------------------------------------------------------- | -------- | -------- | +| 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | +| 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | + +- `✓` Fully supported version. +- `-` The AsyncAPI Spec version has features the Parser-JS can't use but the rest are fully supported. +- Empty means not supported version. + +Additionally to all the methods declared in the [Parser-API](https://github.com/asyncapi/parser-api), this parser might introduce some helper functions like: + +- `json()` which returns the JSON object of the given object. It is possible to pass as an argument the name of a field in an object and retrieve corresponding value. +- `jsonPath()` which returns the JSON Path of the given object. +- `meta()` which returns the metadata of a given object, like a parsed AsyncAPI Document. + +## Spectral rulesets + +[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: + +```ts +import { Parser, stringify, unstringify } from "@asyncapi/parser"; +const parser = new Parser({ + ruleset: { + extends: [], + rules: { + "asyncapi-defaultContentType": "off", + "asyncapi-termsOfService": { + description: + 'Info "termsOfService" should be present and non-empty string.', + recommended: true, + given: "$", + then: { + field: "info.termsOfService", + function: "truthy", + }, + }, + }, + }, +}); +// The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. +// On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. +const diagnostics = await parser.validate(` + asyncapi: '2.0.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: {} +`); +``` + +[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. + +## Using in the browser/SPA applications + +The package contains a built-in version of the parser. To use it, you need to import the parser into the HTML file as below: + +```html + + + +``` + +Or, if you want to use the parser in a JS SPA-type application where you have a predefined bundler configuration that is difficult to change (e.g. you use [`create-react-app`](https://github.com/facebook/create-react-app)) then you can import the parser as below: + +```js +import Parser from '@asyncapi/parser/browser'; + +const parser = new Parser(); +const { document, diagnostics } = parser.parse(...); +``` + +> **Note** +> Using the above code, we import the entire bundled parser into application. This may result in a duplicate code in the final application bundle, only if the application uses the same dependencies what the parser. If, on the other hand, you want to have the smallest bundle as possible, we recommend using the following import and properly configure bundler. + +Otherwise, if your application is bundled via bundlers like `webpack` and you can configure it, you can import the parser like a regular package: + +```js +import { Parser } from '@asyncapi/parser'; + +const parser = new Parser(); +const { document, diagnostics } = parser.parse(...); +``` + +> **Note** +> The package uses some native NodeJS modules underneath. If you are building a front-end application you can find more information about the correct configuration for Webpack [here](#webpack). + +In case you just want to check out the latest `bundle.js` without installing the package, we publish one on each GitHub release. You can find it under [this link to the latest release](https://github.com/asyncapi/parser-js/releases/latest/download/bundle.js). + +## Custom schema parsers + +AsyncAPI doesn't enforce one schema format. The payload of the messages can be described with OpenAPI (3.0.0), Avro, etc. This parser by default parses only [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject) (superset of JSON Schema Format). We can extend it by creating a custom parser and registering it within the parser: + +1. Create custom parser module that exports three functions: + + - `validate` - function that validates (its syntax) used schema. + - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). + - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. + + Example: + + ```ts + export default { + validate(input) { ... }, + parse(input) { ... }, + getMimeTypes() { + return [ + 'application/vnd.custom.type;version=1.0.0', + 'application/vnd.custom.type+json;version=1.0.0', + ] + } + } + ``` + +2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: + + ```ts + import { Parser } from "@asyncapi/parser"; + import myCustomSchemaParser from "./my-custom-schema-parser"; + + const parser = new Parser(); + parser.registerSchemaParser(myCustomSchemaParser); + ``` + +### Official supported custom schema parsers + +In AsyncAPI Initiative we support below custom schema parsers. To install them, run below comamnds: + +- [Avro schema](https://www.github.com/asyncapi/avro-schema-parser): + + ```bash + npm install @asyncapi/avro-schema-parser + yarn add @asyncapi/avro-schema-parser + ``` + +- [OpenAPI (3.0.0) Schema Object](https://www.github.com/asyncapi/openapi-schema-parser): + + ```bash + npm install @asyncapi/openapi-schema-parser + yarn add @asyncapi/openapi-schema-parser + ``` + +- [RAML data type](https://www.github.com/asyncapi/raml-dt-schema-parser): + + ```bash + npm install @asyncapi/raml-dt-schema-parser + yarn add @asyncapi/raml-dt-schema-parser + ``` + + > **Note** + > That custom parser works only in the NodeJS environment. Do not use it in browser applications! + +## Custom extensions + +The parser uses custom extensions to define additional information about the spec. Each has a different purpose but all of them are there to make it much easier to work with the AsyncAPI document. These extensions are prefixed with `x-parser-`. The following extensions are used: + +- `x-parser-spec-parsed` is used to specify if the AsyncAPI document is already parsed by the parser. Property `x-parser-spec-parsed` is added to the root of the document with the `true` value. +- `x-parser-api-version` is used to specify which version of the [Parser-API](https://github.com/asyncapi/parser-api) the parsed AsyncAPI document uses. Property `x-parser-api-version` is added to the root of the document with the `1` value if the parsed document uses [Parser-API](https://github.com/asyncapi/parser-api) in the `v1` version or `0` if document uses old `parser-js` API. +- `x-parser-message-name` is used to specify the name of the message if it is not provided. For messages without names, the parser generates anonymous names. Property `x-parser-message-name` is added to a message object with a value that follows this pattern: ``. This value is returned by `message.id()` (`message.uid()` in the [old API](#convert-to-the-old-api)) when regular `name` property is not present. +- `x-parser-original-payload` holds the original payload of the message. You can use different formats for payloads with the AsyncAPI documents and the parser converts them to. For example, it converts payload described with Avro schema to AsyncAPI schema. The original payload is preserved in the extension. +- [`x-parser-circular`](#circular-references). + +In addition, the [`convertToOldAPI()` function](#convert-to-the-old-api) which converts new API to an old one adds additional extensions: + +- `x-parser-message-parsed` is used to specify if the message is already parsed by the message parser. Property `x-parser-message-parsed` is added to the message object with the `true` value. +- `x-parser-schema-id` is used to specify the ID of the schema if it is not provided. For schemas without IDs, the parser generates anonymous names. Property `x-parser-schema-id` is added to every object of a schema with a value that follows this pattern: ``. This value is returned by `schema.uid()` when regular `$id` property is not present. +- `x-parser-original-traits` is where traits are stored after they are applied on the AsyncAPI document. The reason is because the original `traits` property is removed. +- `x-parser-original-schema-format` holds information about the original schema format of the payload. You can use different schema formats with the AsyncAPI documents and the parser converts them to AsyncAPI schema. This is why different schema format is set, and the original one is preserved in the extension. + +> **Warning** +> All extensions added by the parser (including all properties) should be retrieved using special functions. Names of extensions and their location may change, and their eventual changes will not be announced. + +## Circular references + +Parser dereferences all circular references by default. In addition, to simplify interactions with the parser, the following is added: + +- `x-parser-circular` property is added to the root of the AsyncAPI document to indicate that the document contains circular references. In old API the Parser exposes `hasCircular()` function to check if given AsyncAPI document has circular references. +- `isCircular()` function is added to the [Schema Model](./src/models/schema.ts) to determine if a given schema is circular with respect to previously occurring schemas in the JSON tree. + +## Stringify + +Converting a parsed document to a string may be necessary when saving the parsed document to a database, or similar situations where you need to parse the document just once and then reuse it, for optimisation cases. + +For that, the Parser supports the ability to stringify a parsed AsyncAPI document through the `stringify` function exposed by package. This method differs from the native `JSON.stringify(...json)` implementation, in that every reference that occurs (at least twice throughout the document) is converted into a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path with a `$ref:` prefix: + +```json +{ + "foo": "$ref:$.some.path.to.the.bar" +} +``` + +To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. + +A few advantages of this solution: + +- The string remains as small as possible due to the use of [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901). +- All references (also circular) are preserved. + +Check [example](#example-with-stringify-and-unstringify-parsed-documentstringify). + +## Convert to the old API + +Version `2.0.0` of package introduced a lot of breaking changes, including changing the API of the returned parsed document (parser uses [New API](https://github.com/asyncapi/parser-api)). Due to the fact that a large part of the AsyncAPI tooling ecosystem uses a Parser with the old API and rewriting the tool for the new one can be time-consuming and difficult, the package exposes the `convertToOldAPI()` function to convert new API to old one: + +```js +import { Parser, convertToOldAPI } from '@asyncapi/parser'; + +const parser = new Parser(); +const { document } = parser.parse(...); +const oldAsyncAPIDocument = convertToOldAPI(document); +``` + +> **Warning** +> The old api will be supported only for a certain period of time. The target date for turning off support of the old API is around the end of January 2023. + +## Notes + +### Using with Webpack + +Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: + +```js +{ + resolve: { + fallback: { + "fs": false, + "path": false, + "util": false, + "buffer": require.resolve("buffer/"), + } + } +} +``` + +### Testing with [Jest](https://jestjs.io/) + +Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: + +```bash +Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js +``` + +It's a problem with Jest, which cannot understand [NodeJS's package exports](https://nodejs.org/api/packages.html). To fix that, should be [enabled ESM support in Jest](https://jestjs.io/docs/ecmascript-modules) or set an appropriate Jest's `moduleNameMapper` config: + +```js +moduleNameMapper: { + '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', + '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', +}, +``` + +## Develop + +1. Make sure you are using Node.js 16 or higher and npm 8 or higher +2. Write code and tests. +3. Make sure all tests pass `npm test` + +For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: + +``` +git config --global core.autocrlf false +git config --global core.eol lf +``` + +4. Make sure code is well formatted and secure `npm run lint` + +## Contributing + +Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fran Méndez
Fran Méndez

💬 🐛 💻 📖 🤔 🚧 🔌 👀 ⚠️
Lukasz Gornicki
Lukasz Gornicki

💬 🐛 💻 📖 🤔 🚧 👀 ⚠️
Jonas Lagoni
Jonas Lagoni

💬 🐛 💻 🤔 👀
Maciej Urbańczyk
Maciej Urbańczyk

🐛 💻 👀
Juan Mellado
Juan Mellado

💻
James Crowley
James Crowley

💻
raisel melian
raisel melian

💻
danielchu
danielchu

🚇 💻
Jürgen B.
Jürgen B.

💻
Viacheslav Turovskyi
Viacheslav Turovskyi

⚠️ 💻
Khuda Dad Nomani
Khuda Dad Nomani

💻 🐛 ⚠️
Aayush Kumar Sahu
Aayush Kumar Sahu

⚠️
Jordan Tucker
Jordan Tucker

⚠️ 💻
vishesh13byte
vishesh13byte

⚠️
Elakya
Elakya

💻
Dominik Schwank
Dominik Schwank

🐛 💻
Ruchi Pakhle
Ruchi Pakhle

📖
Đỗ Trọng Hải
Đỗ Trọng Hải

🛡️
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! From d2cfa24910075fbce3205fa8d040b75ac0d37846 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Mon, 6 May 2024 23:42:36 +0530 Subject: [PATCH 028/107] added the build script in the turbo.json file. --- turbo.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/turbo.json b/turbo.json index 5000aa3a4..8b3d3830c 100644 --- a/turbo.json +++ b/turbo.json @@ -6,6 +6,7 @@ "test:integration": {}, "test:browser": {}, "lint": {}, - "lint:fix": {} + "lint:fix": {}, + "build": {} } } From 423aa67c3765b110a92bb6923f31507d5927feb1 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 11 May 2024 13:54:41 +0530 Subject: [PATCH 029/107] Corrected the Monorepo spelling. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b6aa2316a..be49054de 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Clone this repo and run: npm install ``` -This is a monorepo containing following Repos: +This is a Monorepo containing following Repos: 1. Parser-js From 5ae43bfa21c637d11399065e607b2e140e0067b6 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Wed, 22 May 2024 23:59:20 +0530 Subject: [PATCH 030/107] added the readmd file. --- README.md | 542 +++++++++++++++++++++++- apps/parser/READMD.md | 539 ----------------------- {apps/parser/assets => assets}/logo.png | Bin 3 files changed, 541 insertions(+), 540 deletions(-) delete mode 100644 apps/parser/READMD.md rename {apps/parser/assets => assets}/logo.png (100%) diff --git a/README.md b/README.md index be49054de..cd5f8e23f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Parser +# Parser-Js ### Installing @@ -19,3 +19,543 @@ Use this package to validate and parse AsyncAPI documents —either YAML or JSON 1. Make sure you are using Node.js 16 or higher and npm 8 or higher 2. Write code and tests. 3. Make sure all tests pass `npm run parser:test` + +[![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) + +Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. +Validation is powered by [Spectral](https://github.com/stoplightio/spectral). +Updated bundle for the browser is always attached to the GitHub Release. + +![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) + +> **Warning** +> This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. + +> **Warning** +> This package has rewrote the Model API (old one) to [Intent API](https://github.com/asyncapi/parser-api). If you still need to use the old API, read the [Convert to the old API](#convert-to-the-old-api) section. + +> **Note** +> Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). + + + + + +- [Installation](#installation) +- [Usage](#usage) +- [Examples](#examples) + - [Example with parsing](#example-with-parsing) + - [Example with validation](#example-with-validation) + - [Example using Avro schemas](#example-using-avro-schemas) + - [Example using OpenAPI schemas](#example-using-openapi-schemas) + - [Example using RAML data types](#example-using-raml-data-types) + - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) + - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) + - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) +- [API documentation](#api-documentation) +- [Spectral rulesets](#spectral-rulesets) +- [Using in the browser/SPA applications](#using-in-the-browserspa-applications) +- [Custom schema parsers](#custom-schema-parsers) + - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) +- [Custom extensions](#custom-extensions) +- [Circular references](#circular-references) +- [Stringify](#stringify) +- [Convert to the old API](#convert-to-the-old-api) +- [Notes](#notes) + - [Using with Webpack](#using-with-webpack) + - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) +- [Develop](#develop) +- [Contributing](#contributing) +- [Contributors](#contributors) + + + +## Installation + +```bash +npm install @asyncapi/parser +yarn add @asyncapi/parser +``` + +The parser by default supports AsyncAPI Schema Format and JSON Schema Format for schemas. For additional formats, check [Custom schema parsers](#custom-schema-parsers) section. + +## Usage + +The package exposes the main class `Parser`, which has two main functions: + +- `validate()` - function that validates the passed AsyncAPI document. Returns array of all possible errors against the validation conditions. +- `parse()` - function that validates the passed AsyncAPI document, and then if it's valid, parses the input. It returns an object that contains: + - `document` object, which is an parsed AsyncAPI document with [`AsyncAPIDocumentInterface`](./src/models/asyncapi.ts) API. If the schema is invalid against the validation conditions, the field has `undefined` value. + - `diagnostics` array that contains all possible errors against the validation conditions. +- `registerSchemaParser()` - function that registers custom schema parsers. For more info, please check [Custom schema parsers](#custom-schema-parsers) section. + +Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: + +```ts +import { fromURL, fromFile } from "@asyncapi/parser"; +``` + +Check out the [examples](#examples) of using the above mentioned functionalities. + +## Examples + +### Example with parsing + +```ts +import { Parser } from "@asyncapi/parser"; +const parser = new Parser(); +const { document } = await parser.parse(` + asyncapi: '2.4.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); + +if (document) { + // => Example AsyncAPI specification + console.log(document.info().title()); +} +``` + +### Example with validation + +```ts +import { Parser } from "@asyncapi/parser"; + +const parser = new Parser(); + +// One of the diagnostics will contain an error regarding an unsupported version of AsyncAPI (2.1.37) +const diagnostics = await parser.validate(` + asyncapi: '2.1.37' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); +``` + +### [Example using Avro schemas](#custom-schema-parsers) + +Head over to [asyncapi/avro-schema-parser](https://www.github.com/asyncapi/avro-schema-parser) for more information. + +### [Example using OpenAPI schemas](#custom-schema-parsers) + +Head over to [asyncapi/openapi-schema-parser](https://www.github.com/asyncapi/openapi-schema-parser) for more information. + +### [Example using RAML data types](#custom-schema-parsers) + +Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/raml-dt-schema-parser) for more information. + +### Example with performing actions on HTTP source + +```ts +import { Parser, fromURL } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document, diagnostics } = await fromURL( + parser, + "https://example.com/", +).parse(); +``` + +### Example with performing actions on file source + +```ts +import { Parser, fromFile } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document, diagnostics } = await fromFile( + parser, + "./asyncapi.yaml", +).parse(); +``` + +### [Example with stringify and unstringify parsed document](#stringify) + +```ts +import { Parser, stringify, unstringify } from "@asyncapi/parser"; + +const parser = new Parser(); + +const { document } = await parser.parse(` + asyncapi: '2.4.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: + example-channel: + subscribe: + message: + payload: + type: object + properties: + exampleField: + type: string + exampleNumber: + type: number + exampleDate: + type: string + format: date-time +`); + +if (document) { + // stringify function returns string type + const stringifiedDocument = stringify(document); + // unstringify function returns new AsyncAPIDocument instance + const unstringifiedDocument = unstringify(stringifiedDocument); +} +``` + +## API documentation + +Parser-JS API implements a global API definition for all AsyncAPI parser implementations known as the [Parser-API](https://github.com/asyncapi/parser-api). This API is designed having in mind developer experience and resiliency to breaking changes. + +The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. + +| Parser-JS | Parser-API | Spec 2.x | Spec 3.x | +| --------- | --------------------------------------------------------------------- | -------- | -------- | +| 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | +| 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | + +- `✓` Fully supported version. +- `-` The AsyncAPI Spec version has features the Parser-JS can't use but the rest are fully supported. +- Empty means not supported version. + +Additionally to all the methods declared in the [Parser-API](https://github.com/asyncapi/parser-api), this parser might introduce some helper functions like: + +- `json()` which returns the JSON object of the given object. It is possible to pass as an argument the name of a field in an object and retrieve corresponding value. +- `jsonPath()` which returns the JSON Path of the given object. +- `meta()` which returns the metadata of a given object, like a parsed AsyncAPI Document. + +## Spectral rulesets + +[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: + +```ts +import { Parser, stringify, unstringify } from "@asyncapi/parser"; +const parser = new Parser({ + ruleset: { + extends: [], + rules: { + "asyncapi-defaultContentType": "off", + "asyncapi-termsOfService": { + description: + 'Info "termsOfService" should be present and non-empty string.', + recommended: true, + given: "$", + then: { + field: "info.termsOfService", + function: "truthy", + }, + }, + }, + }, +}); +// The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. +// On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. +const diagnostics = await parser.validate(` + asyncapi: '2.0.0' + info: + title: Example AsyncAPI specification + version: '0.1.0' + channels: {} +`); +``` + +[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. + +## Using in the browser/SPA applications + +The package contains a built-in version of the parser. To use it, you need to import the parser into the HTML file as below: + +```html + + + +``` + +Or, if you want to use the parser in a JS SPA-type application where you have a predefined bundler configuration that is difficult to change (e.g. you use [`create-react-app`](https://github.com/facebook/create-react-app)) then you can import the parser as below: + +```js +import Parser from '@asyncapi/parser/browser'; + +const parser = new Parser(); +const { document, diagnostics } = parser.parse(...); +``` + +> **Note** +> Using the above code, we import the entire bundled parser into application. This may result in a duplicate code in the final application bundle, only if the application uses the same dependencies what the parser. If, on the other hand, you want to have the smallest bundle as possible, we recommend using the following import and properly configure bundler. + +Otherwise, if your application is bundled via bundlers like `webpack` and you can configure it, you can import the parser like a regular package: + +```js +import { Parser } from '@asyncapi/parser'; + +const parser = new Parser(); +const { document, diagnostics } = parser.parse(...); +``` + +> **Note** +> The package uses some native NodeJS modules underneath. If you are building a front-end application you can find more information about the correct configuration for Webpack [here](#webpack). + +In case you just want to check out the latest `bundle.js` without installing the package, we publish one on each GitHub release. You can find it under [this link to the latest release](https://github.com/asyncapi/parser-js/releases/latest/download/bundle.js). + +## Custom schema parsers + +AsyncAPI doesn't enforce one schema format. The payload of the messages can be described with OpenAPI (3.0.0), Avro, etc. This parser by default parses only [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject) (superset of JSON Schema Format). We can extend it by creating a custom parser and registering it within the parser: + +1. Create custom parser module that exports three functions: + + - `validate` - function that validates (its syntax) used schema. + - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). + - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. + + Example: + + ```ts + export default { + validate(input) { ... }, + parse(input) { ... }, + getMimeTypes() { + return [ + 'application/vnd.custom.type;version=1.0.0', + 'application/vnd.custom.type+json;version=1.0.0', + ] + } + } + ``` + +2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: + + ```ts + import { Parser } from "@asyncapi/parser"; + import myCustomSchemaParser from "./my-custom-schema-parser"; + + const parser = new Parser(); + parser.registerSchemaParser(myCustomSchemaParser); + ``` + +### Official supported custom schema parsers + +In AsyncAPI Initiative we support below custom schema parsers. To install them, run below comamnds: + +- [Avro schema](https://www.github.com/asyncapi/avro-schema-parser): + + ```bash + npm install @asyncapi/avro-schema-parser + yarn add @asyncapi/avro-schema-parser + ``` + +- [OpenAPI (3.0.0) Schema Object](https://www.github.com/asyncapi/openapi-schema-parser): + + ```bash + npm install @asyncapi/openapi-schema-parser + yarn add @asyncapi/openapi-schema-parser + ``` + +- [RAML data type](https://www.github.com/asyncapi/raml-dt-schema-parser): + + ```bash + npm install @asyncapi/raml-dt-schema-parser + yarn add @asyncapi/raml-dt-schema-parser + ``` + + > **Note** + > That custom parser works only in the NodeJS environment. Do not use it in browser applications! + +## Custom extensions + +The parser uses custom extensions to define additional information about the spec. Each has a different purpose but all of them are there to make it much easier to work with the AsyncAPI document. These extensions are prefixed with `x-parser-`. The following extensions are used: + +- `x-parser-spec-parsed` is used to specify if the AsyncAPI document is already parsed by the parser. Property `x-parser-spec-parsed` is added to the root of the document with the `true` value. +- `x-parser-api-version` is used to specify which version of the [Parser-API](https://github.com/asyncapi/parser-api) the parsed AsyncAPI document uses. Property `x-parser-api-version` is added to the root of the document with the `1` value if the parsed document uses [Parser-API](https://github.com/asyncapi/parser-api) in the `v1` version or `0` if document uses old `parser-js` API. +- `x-parser-message-name` is used to specify the name of the message if it is not provided. For messages without names, the parser generates anonymous names. Property `x-parser-message-name` is added to a message object with a value that follows this pattern: ``. This value is returned by `message.id()` (`message.uid()` in the [old API](#convert-to-the-old-api)) when regular `name` property is not present. +- `x-parser-original-payload` holds the original payload of the message. You can use different formats for payloads with the AsyncAPI documents and the parser converts them to. For example, it converts payload described with Avro schema to AsyncAPI schema. The original payload is preserved in the extension. +- [`x-parser-circular`](#circular-references). + +In addition, the [`convertToOldAPI()` function](#convert-to-the-old-api) which converts new API to an old one adds additional extensions: + +- `x-parser-message-parsed` is used to specify if the message is already parsed by the message parser. Property `x-parser-message-parsed` is added to the message object with the `true` value. +- `x-parser-schema-id` is used to specify the ID of the schema if it is not provided. For schemas without IDs, the parser generates anonymous names. Property `x-parser-schema-id` is added to every object of a schema with a value that follows this pattern: ``. This value is returned by `schema.uid()` when regular `$id` property is not present. +- `x-parser-original-traits` is where traits are stored after they are applied on the AsyncAPI document. The reason is because the original `traits` property is removed. +- `x-parser-original-schema-format` holds information about the original schema format of the payload. You can use different schema formats with the AsyncAPI documents and the parser converts them to AsyncAPI schema. This is why different schema format is set, and the original one is preserved in the extension. + +> **Warning** +> All extensions added by the parser (including all properties) should be retrieved using special functions. Names of extensions and their location may change, and their eventual changes will not be announced. + +## Circular references + +Parser dereferences all circular references by default. In addition, to simplify interactions with the parser, the following is added: + +- `x-parser-circular` property is added to the root of the AsyncAPI document to indicate that the document contains circular references. In old API the Parser exposes `hasCircular()` function to check if given AsyncAPI document has circular references. +- `isCircular()` function is added to the [Schema Model](./src/models/schema.ts) to determine if a given schema is circular with respect to previously occurring schemas in the JSON tree. + +## Stringify + +Converting a parsed document to a string may be necessary when saving the parsed document to a database, or similar situations where you need to parse the document just once and then reuse it, for optimisation cases. + +For that, the Parser supports the ability to stringify a parsed AsyncAPI document through the `stringify` function exposed by package. This method differs from the native `JSON.stringify(...json)` implementation, in that every reference that occurs (at least twice throughout the document) is converted into a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path with a `$ref:` prefix: + +```json +{ + "foo": "$ref:$.some.path.to.the.bar" +} +``` + +To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. + +A few advantages of this solution: + +- The string remains as small as possible due to the use of [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901). +- All references (also circular) are preserved. + +Check [example](#example-with-stringify-and-unstringify-parsed-documentstringify). + +## Convert to the old API + +Version `2.0.0` of package introduced a lot of breaking changes, including changing the API of the returned parsed document (parser uses [New API](https://github.com/asyncapi/parser-api)). Due to the fact that a large part of the AsyncAPI tooling ecosystem uses a Parser with the old API and rewriting the tool for the new one can be time-consuming and difficult, the package exposes the `convertToOldAPI()` function to convert new API to old one: + +```js +import { Parser, convertToOldAPI } from '@asyncapi/parser'; + +const parser = new Parser(); +const { document } = parser.parse(...); +const oldAsyncAPIDocument = convertToOldAPI(document); +``` + +> **Warning** +> The old api will be supported only for a certain period of time. The target date for turning off support of the old API is around the end of January 2023. + +## Notes + +### Using with Webpack + +Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: + +```js +{ + resolve: { + fallback: { + "fs": false, + "path": false, + "util": false, + "buffer": require.resolve("buffer/"), + } + } +} +``` + +### Testing with [Jest](https://jestjs.io/) + +Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: + +```bash +Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js +``` + +It's a problem with Jest, which cannot understand [NodeJS's package exports](https://nodejs.org/api/packages.html). To fix that, should be [enabled ESM support in Jest](https://jestjs.io/docs/ecmascript-modules) or set an appropriate Jest's `moduleNameMapper` config: + +```js +moduleNameMapper: { + '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', + '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', +}, +``` + +## Develop + +1. Make sure you are using Node.js 16 or higher and npm 8 or higher +2. Write code and tests. +3. Make sure all tests pass `npm test` + +For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: + +``` +git config --global core.autocrlf false +git config --global core.eol lf +``` + +4. Make sure code is well formatted and secure `npm run lint` + +## Contributing + +Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fran Méndez
Fran Méndez

💬 🐛 💻 📖 🤔 🚧 🔌 👀 ⚠️
Lukasz Gornicki
Lukasz Gornicki

💬 🐛 💻 📖 🤔 🚧 👀 ⚠️
Jonas Lagoni
Jonas Lagoni

💬 🐛 💻 🤔 👀
Maciej Urbańczyk
Maciej Urbańczyk

🐛 💻 👀
Juan Mellado
Juan Mellado

💻
James Crowley
James Crowley

💻
raisel melian
raisel melian

💻
danielchu
danielchu

🚇 💻
Jürgen B.
Jürgen B.

💻
Viacheslav Turovskyi
Viacheslav Turovskyi

⚠️ 💻
Khuda Dad Nomani
Khuda Dad Nomani

💻 🐛 ⚠️
Aayush Kumar Sahu
Aayush Kumar Sahu

⚠️
Jordan Tucker
Jordan Tucker

⚠️ 💻
vishesh13byte
vishesh13byte

⚠️
Elakya
Elakya

💻
Dominik Schwank
Dominik Schwank

🐛 💻
Ruchi Pakhle
Ruchi Pakhle

📖
Đỗ Trọng Hải
Đỗ Trọng Hải

🛡️
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/apps/parser/READMD.md b/apps/parser/READMD.md deleted file mode 100644 index b51837688..000000000 --- a/apps/parser/READMD.md +++ /dev/null @@ -1,539 +0,0 @@ -[![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) - -Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. -Validation is powered by [Spectral](https://github.com/stoplightio/spectral). -Updated bundle for the browser is always attached to the GitHub Release. - -![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) - -> **Warning** -> This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. - -> **Warning** -> This package has rewrote the Model API (old one) to [Intent API](https://github.com/asyncapi/parser-api). If you still need to use the old API, read the [Convert to the old API](#convert-to-the-old-api) section. - -> **Note** -> Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). - - - - - -- [Installation](#installation) -- [Usage](#usage) -- [Examples](#examples) - - [Example with parsing](#example-with-parsing) - - [Example with validation](#example-with-validation) - - [Example using Avro schemas](#example-using-avro-schemas) - - [Example using OpenAPI schemas](#example-using-openapi-schemas) - - [Example using RAML data types](#example-using-raml-data-types) - - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) - - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) - - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) -- [API documentation](#api-documentation) -- [Spectral rulesets](#spectral-rulesets) -- [Using in the browser/SPA applications](#using-in-the-browserspa-applications) -- [Custom schema parsers](#custom-schema-parsers) - - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) -- [Custom extensions](#custom-extensions) -- [Circular references](#circular-references) -- [Stringify](#stringify) -- [Convert to the old API](#convert-to-the-old-api) -- [Notes](#notes) - - [Using with Webpack](#using-with-webpack) - - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) -- [Develop](#develop) -- [Contributing](#contributing) -- [Contributors](#contributors) - - - -## Installation - -```bash -npm install @asyncapi/parser -yarn add @asyncapi/parser -``` - -The parser by default supports AsyncAPI Schema Format and JSON Schema Format for schemas. For additional formats, check [Custom schema parsers](#custom-schema-parsers) section. - -## Usage - -The package exposes the main class `Parser`, which has two main functions: - -- `validate()` - function that validates the passed AsyncAPI document. Returns array of all possible errors against the validation conditions. -- `parse()` - function that validates the passed AsyncAPI document, and then if it's valid, parses the input. It returns an object that contains: - - `document` object, which is an parsed AsyncAPI document with [`AsyncAPIDocumentInterface`](./src/models/asyncapi.ts) API. If the schema is invalid against the validation conditions, the field has `undefined` value. - - `diagnostics` array that contains all possible errors against the validation conditions. -- `registerSchemaParser()` - function that registers custom schema parsers. For more info, please check [Custom schema parsers](#custom-schema-parsers) section. - -Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: - -```ts -import { fromURL, fromFile } from "@asyncapi/parser"; -``` - -Check out the [examples](#examples) of using the above mentioned functionalities. - -## Examples - -### Example with parsing - -```ts -import { Parser } from "@asyncapi/parser"; -const parser = new Parser(); -const { document } = await parser.parse(` - asyncapi: '2.4.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); - -if (document) { - // => Example AsyncAPI specification - console.log(document.info().title()); -} -``` - -### Example with validation - -```ts -import { Parser } from "@asyncapi/parser"; - -const parser = new Parser(); - -// One of the diagnostics will contain an error regarding an unsupported version of AsyncAPI (2.1.37) -const diagnostics = await parser.validate(` - asyncapi: '2.1.37' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); -``` - -### [Example using Avro schemas](#custom-schema-parsers) - -Head over to [asyncapi/avro-schema-parser](https://www.github.com/asyncapi/avro-schema-parser) for more information. - -### [Example using OpenAPI schemas](#custom-schema-parsers) - -Head over to [asyncapi/openapi-schema-parser](https://www.github.com/asyncapi/openapi-schema-parser) for more information. - -### [Example using RAML data types](#custom-schema-parsers) - -Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/raml-dt-schema-parser) for more information. - -### Example with performing actions on HTTP source - -```ts -import { Parser, fromURL } from "@asyncapi/parser"; - -const parser = new Parser(); - -const { document, diagnostics } = await fromURL( - parser, - "https://example.com/", -).parse(); -``` - -### Example with performing actions on file source - -```ts -import { Parser, fromFile } from "@asyncapi/parser"; - -const parser = new Parser(); - -const { document, diagnostics } = await fromFile( - parser, - "./asyncapi.yaml", -).parse(); -``` - -### [Example with stringify and unstringify parsed document](#stringify) - -```ts -import { Parser, stringify, unstringify } from "@asyncapi/parser"; - -const parser = new Parser(); - -const { document } = await parser.parse(` - asyncapi: '2.4.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: - example-channel: - subscribe: - message: - payload: - type: object - properties: - exampleField: - type: string - exampleNumber: - type: number - exampleDate: - type: string - format: date-time -`); - -if (document) { - // stringify function returns string type - const stringifiedDocument = stringify(document); - // unstringify function returns new AsyncAPIDocument instance - const unstringifiedDocument = unstringify(stringifiedDocument); -} -``` - -## API documentation - -Parser-JS API implements a global API definition for all AsyncAPI parser implementations known as the [Parser-API](https://github.com/asyncapi/parser-api). This API is designed having in mind developer experience and resiliency to breaking changes. - -The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. - -| Parser-JS | Parser-API | Spec 2.x | Spec 3.x | -| --------- | --------------------------------------------------------------------- | -------- | -------- | -| 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | -| 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | - -- `✓` Fully supported version. -- `-` The AsyncAPI Spec version has features the Parser-JS can't use but the rest are fully supported. -- Empty means not supported version. - -Additionally to all the methods declared in the [Parser-API](https://github.com/asyncapi/parser-api), this parser might introduce some helper functions like: - -- `json()` which returns the JSON object of the given object. It is possible to pass as an argument the name of a field in an object and retrieve corresponding value. -- `jsonPath()` which returns the JSON Path of the given object. -- `meta()` which returns the metadata of a given object, like a parsed AsyncAPI Document. - -## Spectral rulesets - -[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: - -```ts -import { Parser, stringify, unstringify } from "@asyncapi/parser"; -const parser = new Parser({ - ruleset: { - extends: [], - rules: { - "asyncapi-defaultContentType": "off", - "asyncapi-termsOfService": { - description: - 'Info "termsOfService" should be present and non-empty string.', - recommended: true, - given: "$", - then: { - field: "info.termsOfService", - function: "truthy", - }, - }, - }, - }, -}); -// The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. -// On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. -const diagnostics = await parser.validate(` - asyncapi: '2.0.0' - info: - title: Example AsyncAPI specification - version: '0.1.0' - channels: {} -`); -``` - -[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. - -## Using in the browser/SPA applications - -The package contains a built-in version of the parser. To use it, you need to import the parser into the HTML file as below: - -```html - - - -``` - -Or, if you want to use the parser in a JS SPA-type application where you have a predefined bundler configuration that is difficult to change (e.g. you use [`create-react-app`](https://github.com/facebook/create-react-app)) then you can import the parser as below: - -```js -import Parser from '@asyncapi/parser/browser'; - -const parser = new Parser(); -const { document, diagnostics } = parser.parse(...); -``` - -> **Note** -> Using the above code, we import the entire bundled parser into application. This may result in a duplicate code in the final application bundle, only if the application uses the same dependencies what the parser. If, on the other hand, you want to have the smallest bundle as possible, we recommend using the following import and properly configure bundler. - -Otherwise, if your application is bundled via bundlers like `webpack` and you can configure it, you can import the parser like a regular package: - -```js -import { Parser } from '@asyncapi/parser'; - -const parser = new Parser(); -const { document, diagnostics } = parser.parse(...); -``` - -> **Note** -> The package uses some native NodeJS modules underneath. If you are building a front-end application you can find more information about the correct configuration for Webpack [here](#webpack). - -In case you just want to check out the latest `bundle.js` without installing the package, we publish one on each GitHub release. You can find it under [this link to the latest release](https://github.com/asyncapi/parser-js/releases/latest/download/bundle.js). - -## Custom schema parsers - -AsyncAPI doesn't enforce one schema format. The payload of the messages can be described with OpenAPI (3.0.0), Avro, etc. This parser by default parses only [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject) (superset of JSON Schema Format). We can extend it by creating a custom parser and registering it within the parser: - -1. Create custom parser module that exports three functions: - - - `validate` - function that validates (its syntax) used schema. - - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). - - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. - - Example: - - ```ts - export default { - validate(input) { ... }, - parse(input) { ... }, - getMimeTypes() { - return [ - 'application/vnd.custom.type;version=1.0.0', - 'application/vnd.custom.type+json;version=1.0.0', - ] - } - } - ``` - -2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: - - ```ts - import { Parser } from "@asyncapi/parser"; - import myCustomSchemaParser from "./my-custom-schema-parser"; - - const parser = new Parser(); - parser.registerSchemaParser(myCustomSchemaParser); - ``` - -### Official supported custom schema parsers - -In AsyncAPI Initiative we support below custom schema parsers. To install them, run below comamnds: - -- [Avro schema](https://www.github.com/asyncapi/avro-schema-parser): - - ```bash - npm install @asyncapi/avro-schema-parser - yarn add @asyncapi/avro-schema-parser - ``` - -- [OpenAPI (3.0.0) Schema Object](https://www.github.com/asyncapi/openapi-schema-parser): - - ```bash - npm install @asyncapi/openapi-schema-parser - yarn add @asyncapi/openapi-schema-parser - ``` - -- [RAML data type](https://www.github.com/asyncapi/raml-dt-schema-parser): - - ```bash - npm install @asyncapi/raml-dt-schema-parser - yarn add @asyncapi/raml-dt-schema-parser - ``` - - > **Note** - > That custom parser works only in the NodeJS environment. Do not use it in browser applications! - -## Custom extensions - -The parser uses custom extensions to define additional information about the spec. Each has a different purpose but all of them are there to make it much easier to work with the AsyncAPI document. These extensions are prefixed with `x-parser-`. The following extensions are used: - -- `x-parser-spec-parsed` is used to specify if the AsyncAPI document is already parsed by the parser. Property `x-parser-spec-parsed` is added to the root of the document with the `true` value. -- `x-parser-api-version` is used to specify which version of the [Parser-API](https://github.com/asyncapi/parser-api) the parsed AsyncAPI document uses. Property `x-parser-api-version` is added to the root of the document with the `1` value if the parsed document uses [Parser-API](https://github.com/asyncapi/parser-api) in the `v1` version or `0` if document uses old `parser-js` API. -- `x-parser-message-name` is used to specify the name of the message if it is not provided. For messages without names, the parser generates anonymous names. Property `x-parser-message-name` is added to a message object with a value that follows this pattern: ``. This value is returned by `message.id()` (`message.uid()` in the [old API](#convert-to-the-old-api)) when regular `name` property is not present. -- `x-parser-original-payload` holds the original payload of the message. You can use different formats for payloads with the AsyncAPI documents and the parser converts them to. For example, it converts payload described with Avro schema to AsyncAPI schema. The original payload is preserved in the extension. -- [`x-parser-circular`](#circular-references). - -In addition, the [`convertToOldAPI()` function](#convert-to-the-old-api) which converts new API to an old one adds additional extensions: - -- `x-parser-message-parsed` is used to specify if the message is already parsed by the message parser. Property `x-parser-message-parsed` is added to the message object with the `true` value. -- `x-parser-schema-id` is used to specify the ID of the schema if it is not provided. For schemas without IDs, the parser generates anonymous names. Property `x-parser-schema-id` is added to every object of a schema with a value that follows this pattern: ``. This value is returned by `schema.uid()` when regular `$id` property is not present. -- `x-parser-original-traits` is where traits are stored after they are applied on the AsyncAPI document. The reason is because the original `traits` property is removed. -- `x-parser-original-schema-format` holds information about the original schema format of the payload. You can use different schema formats with the AsyncAPI documents and the parser converts them to AsyncAPI schema. This is why different schema format is set, and the original one is preserved in the extension. - -> **Warning** -> All extensions added by the parser (including all properties) should be retrieved using special functions. Names of extensions and their location may change, and their eventual changes will not be announced. - -## Circular references - -Parser dereferences all circular references by default. In addition, to simplify interactions with the parser, the following is added: - -- `x-parser-circular` property is added to the root of the AsyncAPI document to indicate that the document contains circular references. In old API the Parser exposes `hasCircular()` function to check if given AsyncAPI document has circular references. -- `isCircular()` function is added to the [Schema Model](./src/models/schema.ts) to determine if a given schema is circular with respect to previously occurring schemas in the JSON tree. - -## Stringify - -Converting a parsed document to a string may be necessary when saving the parsed document to a database, or similar situations where you need to parse the document just once and then reuse it, for optimisation cases. - -For that, the Parser supports the ability to stringify a parsed AsyncAPI document through the `stringify` function exposed by package. This method differs from the native `JSON.stringify(...json)` implementation, in that every reference that occurs (at least twice throughout the document) is converted into a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path with a `$ref:` prefix: - -```json -{ - "foo": "$ref:$.some.path.to.the.bar" -} -``` - -To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. - -A few advantages of this solution: - -- The string remains as small as possible due to the use of [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901). -- All references (also circular) are preserved. - -Check [example](#example-with-stringify-and-unstringify-parsed-documentstringify). - -## Convert to the old API - -Version `2.0.0` of package introduced a lot of breaking changes, including changing the API of the returned parsed document (parser uses [New API](https://github.com/asyncapi/parser-api)). Due to the fact that a large part of the AsyncAPI tooling ecosystem uses a Parser with the old API and rewriting the tool for the new one can be time-consuming and difficult, the package exposes the `convertToOldAPI()` function to convert new API to old one: - -```js -import { Parser, convertToOldAPI } from '@asyncapi/parser'; - -const parser = new Parser(); -const { document } = parser.parse(...); -const oldAsyncAPIDocument = convertToOldAPI(document); -``` - -> **Warning** -> The old api will be supported only for a certain period of time. The target date for turning off support of the old API is around the end of January 2023. - -## Notes - -### Using with Webpack - -Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: - -```js -{ - resolve: { - fallback: { - "fs": false, - "path": false, - "util": false, - "buffer": require.resolve("buffer/"), - } - } -} -``` - -### Testing with [Jest](https://jestjs.io/) - -Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: - -```bash -Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js -``` - -It's a problem with Jest, which cannot understand [NodeJS's package exports](https://nodejs.org/api/packages.html). To fix that, should be [enabled ESM support in Jest](https://jestjs.io/docs/ecmascript-modules) or set an appropriate Jest's `moduleNameMapper` config: - -```js -moduleNameMapper: { - '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', - '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', -}, -``` - -## Develop - -1. Make sure you are using Node.js 16 or higher and npm 8 or higher -2. Write code and tests. -3. Make sure all tests pass `npm test` - -For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: - -``` -git config --global core.autocrlf false -git config --global core.eol lf -``` - -4. Make sure code is well formatted and secure `npm run lint` - -## Contributing - -Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. - -## Contributors - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fran Méndez
Fran Méndez

💬 🐛 💻 📖 🤔 🚧 🔌 👀 ⚠️
Lukasz Gornicki
Lukasz Gornicki

💬 🐛 💻 📖 🤔 🚧 👀 ⚠️
Jonas Lagoni
Jonas Lagoni

💬 🐛 💻 🤔 👀
Maciej Urbańczyk
Maciej Urbańczyk

🐛 💻 👀
Juan Mellado
Juan Mellado

💻
James Crowley
James Crowley

💻
raisel melian
raisel melian

💻
danielchu
danielchu

🚇 💻
Jürgen B.
Jürgen B.

💻
Viacheslav Turovskyi
Viacheslav Turovskyi

⚠️ 💻
Khuda Dad Nomani
Khuda Dad Nomani

💻 🐛 ⚠️
Aayush Kumar Sahu
Aayush Kumar Sahu

⚠️
Jordan Tucker
Jordan Tucker

⚠️ 💻
vishesh13byte
vishesh13byte

⚠️
Elakya
Elakya

💻
Dominik Schwank
Dominik Schwank

🐛 💻
Ruchi Pakhle
Ruchi Pakhle

📖
Đỗ Trọng Hải
Đỗ Trọng Hải

🛡️
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/apps/parser/assets/logo.png b/assets/logo.png similarity index 100% rename from apps/parser/assets/logo.png rename to assets/logo.png From 1e0484a451453605a550fd2664fb1fd93d7d0046 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Tue, 28 May 2024 00:54:07 +0530 Subject: [PATCH 031/107] Added the correct context for the monorepo in the Readme.md file. --- README.md | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index cd5f8e23f..4d0614552 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,3 @@ -# Parser-Js - -### Installing - -Clone this repo and run: - -``` -npm install -``` - -This is a Monorepo containing following Repos: - -1. Parser-js - -Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. - -#### Development - -1. Make sure you are using Node.js 16 or higher and npm 8 or higher -2. Write code and tests. -3. Make sure all tests pass `npm run parser:test` - [![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. @@ -28,6 +6,12 @@ Updated bundle for the browser is always attached to the GitHub Release. ![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) + +This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains the following package: + +1. **Parser-js**: Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. + + > **Warning** > This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. @@ -489,8 +473,8 @@ It's a problem with Jest, which cannot understand [NodeJS's package exports](htt ```js moduleNameMapper: { - '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', - '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', + '^nimma/legacy$': '/../../node_modules/nimma/dist/legacy/cjs/index.js', + '^nimma/(.*)': '/../../node_modules/nimma/dist/cjs/$1', }, ``` From 0d329daf179263ac974904df8e32cf285b14d079 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Tue, 28 May 2024 01:01:57 +0530 Subject: [PATCH 032/107] Added the correct version. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b777c5893..9955cb0f7 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@repo/eslint-config": "*", "@repo/typescript-config": "*", "prettier": "^3.2.5", - "turbo": "latest" + "turbo": "1.13.3" }, "engines": { "node": ">=18" From 6f8e295232ea4759cfbe1edd4ff2ac2b112d4f1a Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Tue, 28 May 2024 01:06:48 +0530 Subject: [PATCH 033/107] remove the unwated dev dependencies. --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index 9955cb0f7..9309d3b6d 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,6 @@ "parser:build": "turbo run build --filter=@asyncapi/parser" }, "devDependencies": { - "@repo/eslint-config": "*", - "@repo/typescript-config": "*", "prettier": "^3.2.5", "turbo": "1.13.3" }, From c32f8b05cce136642b0f950ddccfddbcb6cd1a8f Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 30 May 2024 00:13:26 +0530 Subject: [PATCH 034/107] made the required readmd file changes. --- README.md | 143 +++++++++++++++++++++++++----------------------------- 1 file changed, 67 insertions(+), 76 deletions(-) diff --git a/README.md b/README.md index 4d0614552..ff3ddb8fa 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,14 @@ [![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) -Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. +This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains the following package: + +1. [Parser-js](apps/parser): Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. + Validation is powered by [Spectral](https://github.com/stoplightio/spectral). Updated bundle for the browser is always attached to the GitHub Release. ![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) - -This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains the following package: - -1. **Parser-js**: Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. - - > **Warning** > This package doesn't support AsyncAPI 1.x anymore. We recommend to upgrade to the latest AsyncAPI version using the [AsyncAPI converter](https://github.com/asyncapi/converter-js). If you need to convert documents on the fly, you may use the [Node.js](https://github.com/asyncapi/converter-js) or [Go](https://github.com/asyncapi/converter-go) converters. @@ -21,6 +18,7 @@ This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains > **Note** > Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). + @@ -28,26 +26,26 @@ This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains - [Installation](#installation) - [Usage](#usage) - [Examples](#examples) - - [Example with parsing](#example-with-parsing) - - [Example with validation](#example-with-validation) - - [Example using Avro schemas](#example-using-avro-schemas) - - [Example using OpenAPI schemas](#example-using-openapi-schemas) - - [Example using RAML data types](#example-using-raml-data-types) - - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) - - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) - - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) + * [Example with parsing](#example-with-parsing) + * [Example with validation](#example-with-validation) + * [Example using Avro schemas](#example-using-avro-schemas) + * [Example using OpenAPI schemas](#example-using-openapi-schemas) + * [Example using RAML data types](#example-using-raml-data-types) + * [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) + * [Example with performing actions on file source](#example-with-performing-actions-on-file-source) + * [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) - [API documentation](#api-documentation) - [Spectral rulesets](#spectral-rulesets) - [Using in the browser/SPA applications](#using-in-the-browserspa-applications) - [Custom schema parsers](#custom-schema-parsers) - - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) + * [Official supported custom schema parsers](#official-supported-custom-schema-parsers) - [Custom extensions](#custom-extensions) - [Circular references](#circular-references) - [Stringify](#stringify) - [Convert to the old API](#convert-to-the-old-api) - [Notes](#notes) - - [Using with Webpack](#using-with-webpack) - - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) + * [Using with Webpack](#using-with-webpack) + * [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) - [Develop](#develop) - [Contributing](#contributing) - [Contributors](#contributors) @@ -76,17 +74,17 @@ The package exposes the main class `Parser`, which has two main functions: Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: ```ts -import { fromURL, fromFile } from "@asyncapi/parser"; +import { fromURL, fromFile } from '@asyncapi/parser'; ``` Check out the [examples](#examples) of using the above mentioned functionalities. -## Examples +## Examples ### Example with parsing ```ts -import { Parser } from "@asyncapi/parser"; +import { Parser } from '@asyncapi/parser'; const parser = new Parser(); const { document } = await parser.parse(` asyncapi: '2.4.0' @@ -118,7 +116,7 @@ if (document) { ### Example with validation ```ts -import { Parser } from "@asyncapi/parser"; +import { Parser } from '@asyncapi/parser'; const parser = new Parser(); @@ -160,33 +158,27 @@ Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/ra ### Example with performing actions on HTTP source ```ts -import { Parser, fromURL } from "@asyncapi/parser"; +import { Parser, fromURL } from '@asyncapi/parser'; const parser = new Parser(); -const { document, diagnostics } = await fromURL( - parser, - "https://example.com/", -).parse(); +const { document, diagnostics } = await fromURL(parser, 'https://example.com/').parse(); ``` ### Example with performing actions on file source ```ts -import { Parser, fromFile } from "@asyncapi/parser"; +import { Parser, fromFile } from '@asyncapi/parser'; const parser = new Parser(); -const { document, diagnostics } = await fromFile( - parser, - "./asyncapi.yaml", -).parse(); +const { document, diagnostics } = await fromFile(parser, './asyncapi.yaml').parse(); ``` ### [Example with stringify and unstringify parsed document](#stringify) ```ts -import { Parser, stringify, unstringify } from "@asyncapi/parser"; +import { Parser, stringify, unstringify } from '@asyncapi/parser'; const parser = new Parser(); @@ -226,7 +218,7 @@ Parser-JS API implements a global API definition for all AsyncAPI parser impleme The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. | Parser-JS | Parser-API | Spec 2.x | Spec 3.x | -| --------- | --------------------------------------------------------------------- | -------- | -------- | +|-----------|-----------------------------------------------------------------------|----------|----------| | 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | | 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | @@ -242,27 +234,26 @@ Additionally to all the methods declared in the [Parser-API](https://github.com/ ## Spectral rulesets -[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: +[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. For this reason, it is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: ```ts -import { Parser, stringify, unstringify } from "@asyncapi/parser"; +import { Parser, stringify, unstringify } from '@asyncapi/parser'; const parser = new Parser({ ruleset: { extends: [], rules: { - "asyncapi-defaultContentType": "off", - "asyncapi-termsOfService": { - description: - 'Info "termsOfService" should be present and non-empty string.', + 'asyncapi-defaultContentType': 'off', + 'asyncapi-termsOfService': { + description: 'Info "termsOfService" should be present and non-empty string.', recommended: true, - given: "$", + given: '$', then: { - field: "info.termsOfService", - function: "truthy", + field: 'info.termsOfService', + function: 'truthy', }, }, - }, - }, + } + } }); // The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. // On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. @@ -275,7 +266,8 @@ const diagnostics = await parser.validate(` `); ``` -[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. +[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. + ## Using in the browser/SPA applications @@ -322,34 +314,34 @@ AsyncAPI doesn't enforce one schema format. The payload of the messages can be d 1. Create custom parser module that exports three functions: - - `validate` - function that validates (its syntax) used schema. - - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). - - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. - - Example: - - ```ts - export default { - validate(input) { ... }, - parse(input) { ... }, - getMimeTypes() { - return [ - 'application/vnd.custom.type;version=1.0.0', - 'application/vnd.custom.type+json;version=1.0.0', - ] - } - } - ``` + - `validate` - function that validates (its syntax) used schema. + - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). + - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. + + Example: + + ```ts + export default { + validate(input) { ... }, + parse(input) { ... }, + getMimeTypes() { + return [ + 'application/vnd.custom.type;version=1.0.0', + 'application/vnd.custom.type+json;version=1.0.0', + ] + } + } + ``` 2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: - ```ts - import { Parser } from "@asyncapi/parser"; - import myCustomSchemaParser from "./my-custom-schema-parser"; + ```ts + import { Parser } from '@asyncapi/parser'; + import myCustomSchemaParser from './my-custom-schema-parser'; - const parser = new Parser(); - parser.registerSchemaParser(myCustomSchemaParser); - ``` + const parser = new Parser(); + parser.registerSchemaParser(myCustomSchemaParser); + ``` ### Official supported custom schema parsers @@ -417,7 +409,7 @@ For that, the Parser supports the ability to stringify a parsed AsyncAPI documen "foo": "$ref:$.some.path.to.the.bar" } ``` - + To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. A few advantages of this solution: @@ -445,7 +437,6 @@ const oldAsyncAPIDocument = convertToOldAPI(document); ## Notes ### Using with Webpack - Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: ```js @@ -463,7 +454,7 @@ Versions `<5` of Webpack should handle bundling without problems. Due to the fac ### Testing with [Jest](https://jestjs.io/) -Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: +Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: ```bash Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js @@ -473,8 +464,8 @@ It's a problem with Jest, which cannot understand [NodeJS's package exports](htt ```js moduleNameMapper: { - '^nimma/legacy$': '/../../node_modules/nimma/dist/legacy/cjs/index.js', - '^nimma/(.*)': '/../../node_modules/nimma/dist/cjs/$1', + '^nimma/legacy$': '/node_modules/nimma/dist/legacy/cjs/index.js', + '^nimma/(.*)': '/node_modules/nimma/dist/cjs/$1', }, ``` @@ -485,7 +476,6 @@ moduleNameMapper: { 3. Make sure all tests pass `npm test` For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: - ``` git config --global core.autocrlf false git config --global core.eol lf @@ -493,6 +483,7 @@ git config --global core.eol lf 4. Make sure code is well formatted and secure `npm run lint` + ## Contributing Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. From 7a6ce88956a28022d0c1af91b64307832b21d272 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 2 Jun 2024 22:13:47 +0530 Subject: [PATCH 035/107] updated the lock file. --- package-lock.json | 2102 +++++---------------------------------------- package.json | 1 - 2 files changed, 198 insertions(+), 1905 deletions(-) diff --git a/package-lock.json b/package-lock.json index b65eccd70..580408ab2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,7 @@ "packages/*" ], "devDependencies": { - "@repo/eslint-config": "*", - "@repo/typescript-config": "*", - "prettier": "^3.2.5", - "turbo": "latest" + "turbo": "1.13.3" }, "engines": { "node": ">=18" @@ -460,42 +457,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/eslint-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz", - "integrity": "sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==", - "dev": true, - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", @@ -1143,108 +1104,6 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -2153,57 +2012,6 @@ "jsep": "^0.4.0||^1.0.0" } }, - "node_modules/@microsoft/tsdoc": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", - "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", - "dev": true - }, - "node_modules/@microsoft/tsdoc-config": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", - "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", - "dev": true, - "dependencies": { - "@microsoft/tsdoc": "0.14.2", - "ajv": "~6.12.6", - "jju": "~1.4.0", - "resolve": "~1.19.0" - } - }, - "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@next/eslint-plugin-next": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.2.tgz", - "integrity": "sha512-q+Ec2648JtBpKiu/FSJm8HAsFXlNvioHeBCbTP12T1SGcHYwhqHULSfQgFkPgHDu3kzNp2Kem4J54bK4rPQ5SQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "glob": "10.3.10" - } - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "dev": true, - "dependencies": { - "eslint-scope": "5.1.1" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2247,17 +2055,6 @@ "fast-deep-equal": "^3.1.3" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@pkgr/core": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", @@ -2276,20 +2073,6 @@ "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", "dev": true }, - "node_modules/@repo/eslint-config": { - "resolved": "packages/eslint-config", - "link": true - }, - "node_modules/@repo/typescript-config": { - "resolved": "packages/typescript-config", - "link": true - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", - "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==", - "dev": true - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -2751,7 +2534,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=10" } @@ -2768,7 +2550,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=10" } @@ -2785,7 +2566,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=10" } @@ -2802,7 +2582,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=10" } @@ -2819,7 +2598,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=10" } @@ -2836,7 +2614,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=10" } @@ -2853,7 +2630,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=10" } @@ -2870,7 +2646,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=10" } @@ -2887,7 +2662,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=10" } @@ -2904,7 +2678,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=10" } @@ -3136,12 +2909,6 @@ "form-data": "^4.0.0" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true - }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -3380,331 +3147,76 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "node_modules/@vercel/style-guide": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@vercel/style-guide/-/style-guide-5.2.0.tgz", - "integrity": "sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==", - "dev": true, - "dependencies": { - "@babel/core": "^7.22.11", - "@babel/eslint-parser": "^7.22.11", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/eslint-plugin": "^6.5.0", - "@typescript-eslint/parser": "^6.5.0", - "eslint-config-prettier": "^9.0.0", - "eslint-import-resolver-alias": "^1.1.2", - "eslint-import-resolver-typescript": "^3.6.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jest": "^27.2.3", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-playwright": "^0.16.0", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-testing-library": "^6.0.1", - "eslint-plugin-tsdoc": "^0.2.17", - "eslint-plugin-unicorn": "^48.0.1", - "prettier-plugin-packagejson": "^2.4.5" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@next/eslint-plugin-next": ">=12.3.0 <15", - "eslint": ">=8.48.0 <9", - "prettier": ">=3.0.0 <4", - "typescript": ">=4.8.0 <6" - }, - "peerDependenciesMeta": { - "@next/eslint-plugin-next": { - "optional": true - }, - "eslint": { - "optional": true - }, - "prettier": { - "optional": true - }, - "typescript": { - "optional": true - } + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", - "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/type-utils": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/type-utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", - "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", - "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@vercel/style-guide/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vercel/style-guide/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" @@ -4139,26 +3651,6 @@ "node": ">=8" } }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", @@ -4215,31 +3707,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" - } - }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", @@ -5027,18 +4494,6 @@ "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "dev": true }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -5176,18 +4631,6 @@ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, - "node_modules/clean-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -5202,56 +4645,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -5861,31 +5254,10 @@ "minimalistic-assert": "^1.0.0" } }, - "node_modules/detect-indent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", - "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", - "dev": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/detect-newline": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", - "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", "dev": true, "dependencies": { "acorn-node": "^1.8.2", @@ -5989,15 +5361,6 @@ "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", "dev": true }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -6049,14 +5412,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/electron-to-chromium": { "version": "1.4.745", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", @@ -6409,30 +5764,6 @@ "eslint": ">=7.0.0" } }, - "node_modules/eslint-config-turbo": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.13.2.tgz", - "integrity": "sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==", - "dev": true, - "dependencies": { - "eslint-plugin-turbo": "1.13.2" - }, - "peerDependencies": { - "eslint": ">6.6.0" - } - }, - "node_modules/eslint-import-resolver-alias": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz", - "integrity": "sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==", - "dev": true, - "engines": { - "node": ">= 4" - }, - "peerDependencies": { - "eslint-plugin-import": ">=1.4.0" - } - }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", @@ -6453,31 +5784,6 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", - "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "fast-glob": "^3.3.1", - "get-tsconfig": "^4.5.0", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" - } - }, "node_modules/eslint-module-utils": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", @@ -6673,131 +5979,6 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-jest": { - "version": "27.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", - "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", - "eslint": "^7.0.0 || ^8.0.0", - "jest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.8.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", @@ -6859,30 +6040,6 @@ "node": ">=5.0.0" } }, - "node_modules/eslint-plugin-only-warn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-only-warn/-/eslint-plugin-only-warn-1.1.0.tgz", - "integrity": "sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-playwright": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.16.0.tgz", - "integrity": "sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==", - "dev": true, - "peerDependencies": { - "eslint": ">=7", - "eslint-plugin-jest": ">=25" - }, - "peerDependenciesMeta": { - "eslint-plugin-jest": { - "optional": true - } - } - }, "node_modules/eslint-plugin-prettier": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", @@ -6929,110 +6086,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-plugin-security": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", @@ -7054,188 +6107,6 @@ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/eslint-plugin-testing-library": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.2.tgz", - "integrity": "sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.58.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-tsdoc": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.17.tgz", - "integrity": "sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==", - "dev": true, - "dependencies": { - "@microsoft/tsdoc": "0.14.2", - "@microsoft/tsdoc-config": "0.16.2" - } - }, - "node_modules/eslint-plugin-turbo": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.13.2.tgz", - "integrity": "sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==", - "dev": true, - "dependencies": { - "dotenv": "16.0.3" - }, - "peerDependencies": { - "eslint": ">6.6.0" - } - }, - "node_modules/eslint-plugin-unicorn": { - "version": "48.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.1.tgz", - "integrity": "sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "@eslint-community/eslint-utils": "^4.4.0", - "ci-info": "^3.8.0", - "clean-regexp": "^1.0.0", - "esquery": "^1.5.0", - "indent-string": "^4.0.0", - "is-builtin-module": "^3.2.1", - "jsesc": "^3.0.2", - "lodash": "^4.17.21", - "pluralize": "^8.0.0", - "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.27", - "regjsparser": "^0.10.0", - "semver": "^7.5.4", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" - }, - "peerDependencies": { - "eslint": ">=8.44.0" - } - }, - "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/eslint-rule-documentation": { "version": "1.0.23", "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", @@ -8087,38 +6958,6 @@ "node": ">=0.10.0" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -8155,7 +6994,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -8244,18 +7082,6 @@ "node": ">=8.0.0" } }, - "node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -8269,64 +7095,19 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", - "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/git-hooks-list": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", - "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", - "dev": true, - "funding": { - "url": "https://github.com/fisker/git-hooks-list?sponsor=1" - } - }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "optional": true, - "peer": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/glob-parent": { @@ -8625,12 +7406,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -8743,15 +7518,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -8897,21 +7663,6 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -9099,18 +7850,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -9377,26 +8116,6 @@ "set-function-name": "^2.0.1" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", @@ -11363,12 +10082,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", - "dev": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -11740,18 +10453,6 @@ "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", "dev": true }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -11929,15 +10630,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -11974,17 +10666,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -12181,27 +10862,6 @@ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -12223,15 +10883,6 @@ "node": ">=8" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -12311,23 +10962,6 @@ "node": ">= 0.4" } }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -12571,35 +11205,6 @@ "node": ">= 0.8.0" } }, - "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -12722,15 +11327,6 @@ "node": ">=8" } }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/pony-cause": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", @@ -12783,24 +11379,6 @@ "node": ">=6.0.0" } }, - "node_modules/prettier-plugin-packagejson": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.0.tgz", - "integrity": "sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==", - "dev": true, - "dependencies": { - "sort-package-json": "2.10.0", - "synckit": "0.9.0" - }, - "peerDependencies": { - "prettier": ">= 1.16.0" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } - } - }, "node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -12870,17 +11448,6 @@ "node": ">= 6" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -13075,167 +11642,59 @@ "safe-buffer": "^5.1.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/read-only-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/read-only-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/read-only-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/read-only-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "readable-stream": "^2.0.2" } }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/read-only-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "node_modules/read-only-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "safe-buffer": "~5.1.0" } }, "node_modules/readable-stream": { @@ -13317,27 +11776,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regjsparser": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", - "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/remarkable": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", @@ -13572,15 +12010,6 @@ "node": ">=4" } }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, "node_modules/resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -14025,62 +12454,6 @@ "node": ">=8" } }, - "node_modules/sort-object-keys": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", - "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", - "dev": true - }, - "node_modules/sort-package-json": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.10.0.tgz", - "integrity": "sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==", - "dev": true, - "dependencies": { - "detect-indent": "^7.0.1", - "detect-newline": "^4.0.0", - "get-stdin": "^9.0.0", - "git-hooks-list": "^3.0.0", - "globby": "^13.1.2", - "is-plain-obj": "^4.1.0", - "semver": "^7.6.0", - "sort-object-keys": "^1.1.3" - }, - "bin": { - "sort-package-json": "cli.js" - } - }, - "node_modules/sort-package-json/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sort-package-json/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -14100,38 +12473,6 @@ "source-map": "^0.6.0" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", - "dev": true - }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -14339,63 +12680,12 @@ "node": ">=8" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/string.prototype.trim": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", @@ -14454,21 +12744,6 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -14496,18 +12771,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -14563,22 +12826,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/synckit": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz", - "integrity": "sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/syntax-error": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", @@ -15166,26 +13413,39 @@ "dev": true }, "node_modules/turbo": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.2.tgz", - "integrity": "sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.3.tgz", + "integrity": "sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==", "dev": true, "bin": { "turbo": "bin/turbo" }, "optionalDependencies": { - "turbo-darwin-64": "1.13.2", - "turbo-darwin-arm64": "1.13.2", - "turbo-linux-64": "1.13.2", - "turbo-linux-arm64": "1.13.2", - "turbo-windows-64": "1.13.2", - "turbo-windows-arm64": "1.13.2" - } + "turbo-darwin-64": "1.13.3", + "turbo-darwin-arm64": "1.13.3", + "turbo-linux-64": "1.13.3", + "turbo-linux-arm64": "1.13.3", + "turbo-windows-64": "1.13.3", + "turbo-windows-arm64": "1.13.3" + } + }, + "node_modules/turbo-darwin-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.13.3.tgz", + "integrity": "sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] }, "node_modules/turbo-darwin-arm64": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.2.tgz", - "integrity": "sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.3.tgz", + "integrity": "sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==", "cpu": [ "arm64" ], @@ -15195,6 +13455,58 @@ "darwin" ] }, + "node_modules/turbo-linux-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.13.3.tgz", + "integrity": "sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.13.3.tgz", + "integrity": "sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.13.3.tgz", + "integrity": "sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.13.3.tgz", + "integrity": "sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -15308,6 +13620,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -15478,16 +13791,6 @@ "node": ">=10.12.0" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -15831,14 +14134,11 @@ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", + "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -15851,13 +14151,11 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -15868,13 +14166,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -15882,13 +14178,11 @@ "node": ">=7.0.0" } }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "node_modules/wrappy": { "version": "1.0.2", @@ -16015,7 +14309,7 @@ "packages/eslint-config": { "name": "@repo/eslint-config", "version": "0.0.0", - "dev": true, + "extraneous": true, "devDependencies": { "@typescript-eslint/eslint-plugin": "^7.1.0", "@typescript-eslint/parser": "^7.1.0", @@ -16029,7 +14323,7 @@ "packages/typescript-config": { "name": "@repo/typescript-config", "version": "0.0.0", - "dev": true, + "extraneous": true, "license": "MIT" }, "packages/ui": { diff --git a/package.json b/package.json index 9309d3b6d..096710c20 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "parser:build": "turbo run build --filter=@asyncapi/parser" }, "devDependencies": { - "prettier": "^3.2.5", "turbo": "1.13.3" }, "engines": { From 5556406c080689e96bb295433dd68a48e0516b2e Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Mon, 3 Jun 2024 19:27:28 +0530 Subject: [PATCH 036/107] added the cache false for the test command. --- turbo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbo.json b/turbo.json index 8b3d3830c..04a9f5dd6 100644 --- a/turbo.json +++ b/turbo.json @@ -1,7 +1,7 @@ { "$schema": "https://turbo.build/schema.json", "pipeline": { - "test": {}, + "test": { "cache": false }, "test:unit": {}, "test:integration": {}, "test:browser": {}, From d2505693e135273a1c35fcc4ba818dc988580c32 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 5 Jun 2024 13:08:42 +0200 Subject: [PATCH 037/107] fix: update @asyncapi/parser to 3.0.16 (#16) --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 114921c1f..00674f26a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.14" + "parserapiv3": "npm:@asyncapi/parser@^3.0.16" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -190,9 +190,9 @@ } }, "node_modules/@asyncapi/specs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.6.0.tgz", - "integrity": "sha512-pXJa0sCeBpif5al5CSa0f3HvwVBQXzd96/Xgq8Jsh6KM4CYxCe7p6paaC9fDjdBVXyWAioQmZiGRxEVUMINbUw==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.7.1.tgz", + "integrity": "sha512-jEaW2vgAwD9GboCdO/TI1zN2k+iowL8YFYwiZwTIr4U4KDmsgo3BLypScl6Jl4+IvY9RdsWE67nuzVX7jooiqQ==", "dependencies": { "@types/json-schema": "^7.0.11" } @@ -7836,11 +7836,11 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.14.tgz", - "integrity": "sha512-tC2gmKkw28PWWMcGUXHQjTfVftiZdr+FQtsfapaHh36spX9uwe13iYzkcTyCkwSJAHibtg7wvStuHsiufP8xng==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.16.tgz", + "integrity": "sha512-Ze0OAZvyCKWLeAMNcyY6nnc2Xbv5vvyvXFRnCD/I0VIGlIgbIlD7HbDgeQcNZ9fZ68lT0myjje8QLmFP7ddLGw==", "dependencies": { - "@asyncapi/specs": "^6.6.0", + "@asyncapi/specs": "^6.7.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -9926,9 +9926,9 @@ } }, "@asyncapi/specs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.6.0.tgz", - "integrity": "sha512-pXJa0sCeBpif5al5CSa0f3HvwVBQXzd96/Xgq8Jsh6KM4CYxCe7p6paaC9fDjdBVXyWAioQmZiGRxEVUMINbUw==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.7.1.tgz", + "integrity": "sha512-jEaW2vgAwD9GboCdO/TI1zN2k+iowL8YFYwiZwTIr4U4KDmsgo3BLypScl6Jl4+IvY9RdsWE67nuzVX7jooiqQ==", "requires": { "@types/json-schema": "^7.0.11" } @@ -15641,11 +15641,11 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.14", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.14.tgz", - "integrity": "sha512-tC2gmKkw28PWWMcGUXHQjTfVftiZdr+FQtsfapaHh36spX9uwe13iYzkcTyCkwSJAHibtg7wvStuHsiufP8xng==", + "version": "npm:@asyncapi/parser@3.0.16", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.16.tgz", + "integrity": "sha512-Ze0OAZvyCKWLeAMNcyY6nnc2Xbv5vvyvXFRnCD/I0VIGlIgbIlD7HbDgeQcNZ9fZ68lT0myjje8QLmFP7ddLGw==", "requires": { - "@asyncapi/specs": "^6.6.0", + "@asyncapi/specs": "^6.7.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", diff --git a/package.json b/package.json index d8dba5818..3c28f6aac 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.14" + "parserapiv3": "npm:@asyncapi/parser@^3.0.16" }, "devDependencies": { "@jest/types": "^29.0.2", From 19750c914386d4417c9e17b13584634132805e27 Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:46:40 +0200 Subject: [PATCH 038/107] fix: update @asyncapi/parser to v3.1.0 (#17) --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00674f26a..eb51120b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.16" + "parserapiv3": "npm:@asyncapi/parser@^3.1.0" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -7836,9 +7836,9 @@ }, "node_modules/parserapiv3": { "name": "@asyncapi/parser", - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.16.tgz", - "integrity": "sha512-Ze0OAZvyCKWLeAMNcyY6nnc2Xbv5vvyvXFRnCD/I0VIGlIgbIlD7HbDgeQcNZ9fZ68lT0myjje8QLmFP7ddLGw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", + "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", "dependencies": { "@asyncapi/specs": "^6.7.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", @@ -15641,9 +15641,9 @@ } }, "parserapiv3": { - "version": "npm:@asyncapi/parser@3.0.16", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.16.tgz", - "integrity": "sha512-Ze0OAZvyCKWLeAMNcyY6nnc2Xbv5vvyvXFRnCD/I0VIGlIgbIlD7HbDgeQcNZ9fZ68lT0myjje8QLmFP7ddLGw==", + "version": "npm:@asyncapi/parser@3.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", + "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", "requires": { "@asyncapi/specs": "^6.7.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", diff --git a/package.json b/package.json index 3c28f6aac..e1e933fdd 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.0.16" + "parserapiv3": "npm:@asyncapi/parser@^3.1.0" }, "devDependencies": { "@jest/types": "^29.0.2", From 993cd2df2cb55dfa8b06d792cb365c13ce20f511 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 17:10:15 +0530 Subject: [PATCH 039/107] Added the required changes for the master branch. --- .changeset/config.json | 14 + .changeset/wise-laws-retire.md | 5 + ...elease.yml => release-with-changesets.yml} | 60 +- .releaserc | 24 - apps/parser/package.json | 3 +- package-lock.json | 1615 +++++++++++++++-- package.json | 8 +- 7 files changed, 1562 insertions(+), 167 deletions(-) create mode 100644 .changeset/config.json create mode 100644 .changeset/wise-laws-retire.md rename .github/workflows/{if-nodejs-release.yml => release-with-changesets.yml} (67%) delete mode 100644 .releaserc diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 000000000..9303ded12 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", + "changelog": false, + "commit": false, + "fixed": [], + "linked": [], + "access": "public", + "baseBranch": "master", + "updateInternalDependencies": "patch", + "privatePackages": { + "version": true, + "tag": true + } +} diff --git a/.changeset/wise-laws-retire.md b/.changeset/wise-laws-retire.md new file mode 100644 index 000000000..4d2f05207 --- /dev/null +++ b/.changeset/wise-laws-retire.md @@ -0,0 +1,5 @@ +--- +"@ayushnautiyal706020/parser": minor +--- + +something is changed. diff --git a/.github/workflows/if-nodejs-release.yml b/.github/workflows/release-with-changesets.yml similarity index 67% rename from .github/workflows/if-nodejs-release.yml rename to .github/workflows/release-with-changesets.yml index 72d01de47..8051ad111 100644 --- a/.github/workflows/if-nodejs-release.yml +++ b/.github/workflows/release-with-changesets.yml @@ -1,15 +1,12 @@ -# This action is centrally managed in https://github.com/asyncapi/.github/ -# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo -# It does magic only if there is package.json file in the root of the project +# It does magic only if there is a package.json file in the root of the project name: Release - if Node project on: push: branches: - master - # below lines are not enough to have release supported for these branches - # make sure configuration of `semantic-release` package mentions these branches + # The below lines are not enough to have release supported for these branches - next-spec - next-major - next-major-spec @@ -18,26 +15,25 @@ on: - next jobs: - test-nodejs: - # We just check the message of first commit as there is always just one commit because we squash into one before merging - # "commits" contains array of objects where one of the properties is commit "message" + # We just check the message of the first commit as there is always just one commit because we squash into one before merging + # "commits" contains an array of objects where one of the properties is the commit "message" # Release workflow will be skipped if release conventional commits are not used if: | - startsWith( github.repository, 'asyncapi/' ) && - (startsWith( github.event.commits[0].message , 'fix:' ) || - startsWith( github.event.commits[0].message, 'fix!:' ) || - startsWith( github.event.commits[0].message, 'feat:' ) || - startsWith( github.event.commits[0].message, 'feat!:' )) + startsWith(github.repository, 'asyncapi/') && + (startsWith(github.event.commits[0].message, 'fix:') || + startsWith(github.event.commits[0].message, 'fix!:') || + startsWith(github.event.commits[0].message, 'feat:') || + startsWith(github.event.commits[0].message, 'feat!:')) name: Test NodeJS release on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: - # Using macos-13 instead of latest (macos-14) due to an issue with Puppeteer and such runner. + # Using macos-13 instead of latest (macos-14) due to an issue with Puppeteer and such runner. # See: https://github.com/puppeteer/puppeteer/issues/12327 and https://github.com/asyncapi/parser-js/issues/1001 os: [ubuntu-latest, macos-13, windows-latest] steps: - - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows + - name: Set git to use LF # To once and for all finish the never-ending fight between Unix and Windows run: | git config --global core.autocrlf false git config --global core.eol lf @@ -60,7 +56,7 @@ jobs: - if: steps.lockversion.outputs.version == '18' && matrix.os == 'windows-latest' name: Install npm cli 8 shell: bash - #npm cli 10 is buggy because of some cache issues + # npm cli 10 is buggy because of some cache issues run: npm install -g npm@8.19.4 - if: steps.packagejson.outputs.exists == 'true' name: Install dependencies @@ -70,21 +66,21 @@ jobs: name: Run test run: npm test --if-present - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel - name: Report workflow run status to Slack - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,action,workflow - text: 'Release workflow failed in testing job' - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} + name: Report workflow run status to Slack + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,action,workflow + text: 'Release workflow failed in testing job' + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} release: needs: [test-nodejs] - name: Publish to any of NPM, Github, or Docker Hub + name: Publish to any of NPM, GitHub, or Docker Hub runs-on: ubuntu-latest steps: - - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows + - name: Set git to use LF # To once and for all finish the never-ending fight between Unix and Windows run: | git config --global core.autocrlf false git config --global core.eol lf @@ -107,12 +103,15 @@ jobs: name: Install dependencies shell: bash run: npm ci - - if: steps.packagejson.outputs.exists == 'true' - name: Add plugin for conventional commits for semantic-release - run: npm install --save-dev conventional-changelog-conventionalcommits@5.0.0 - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub + uses: changesets/action@v1 id: release + with: + publish: npm run publish-packages + version: npm run version-packages + commit: "version packages" + title: "chore: version packages" env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} @@ -122,8 +121,7 @@ jobs: GIT_AUTHOR_EMAIL: info@asyncapi.io GIT_COMMITTER_NAME: asyncapi-bot GIT_COMMITTER_EMAIL: info@asyncapi.io - run: npx semantic-release@19.0.4 - - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel + - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci Slack channel name: Report workflow run status to Slack uses: 8398a7/action-slack@v3 with: diff --git a/.releaserc b/.releaserc deleted file mode 100644 index 1ac05cb15..000000000 --- a/.releaserc +++ /dev/null @@ -1,24 +0,0 @@ ---- -branches: -- master -# by default release workflow reacts on push not only to master. -#This is why out of the box sematic release is configured for all these branches -- name: next-spec - prerelease: true -- name: next-major - prerelease: true -- name: next-major-spec - prerelease: true -- name: beta - prerelease: true -- name: alpha - prerelease: true -- name: next - prerelease: true -plugins: -- - "@semantic-release/commit-analyzer" - - preset: conventionalcommits -- - "@semantic-release/release-notes-generator" - - preset: conventionalcommits -- "@semantic-release/npm" -- "@semantic-release/github" diff --git a/apps/parser/package.json b/apps/parser/package.json index ad078d74e..d623f8611 100644 --- a/apps/parser/package.json +++ b/apps/parser/package.json @@ -1,7 +1,8 @@ { - "name": "@asyncapi/parser", + "name": "@ayushnautiyal706020/parser", "version": "3.0.14", "description": "JavaScript AsyncAPI parser.", + "private": false, "bugs": { "url": "https://github.com/asyncapi/parser-js/issues" }, diff --git a/package-lock.json b/package-lock.json index 95f704652..7648af58c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,9 @@ "apps/*", "packages/*" ], + "dependencies": { + "@changesets/cli": "^2.26.2" + }, "devDependencies": { "turbo": "1.13.3" }, @@ -339,7 +342,6 @@ }, "node_modules/@babel/code-frame": { "version": "7.24.2", - "dev": true, "license": "MIT", "dependencies": { "@babel/highlight": "^7.24.2", @@ -531,7 +533,6 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -560,7 +561,6 @@ }, "node_modules/@babel/highlight": { "version": "7.24.2", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", @@ -748,7 +748,6 @@ }, "node_modules/@babel/runtime": { "version": "7.24.4", - "dev": true, "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" @@ -808,6 +807,308 @@ "dev": true, "license": "MIT" }, + "node_modules/@changesets/apply-release-plan": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.3.tgz", + "integrity": "sha512-klL6LCdmfbEe9oyfLxnidIf/stFXmrbFO/3gT5LU5pcyoZytzJe4gWpTBx3BPmyNPl16dZ1xrkcW7b98e3tYkA==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/config": "^3.0.1", + "@changesets/get-version-range-type": "^0.4.0", + "@changesets/git": "^3.0.0", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "detect-indent": "^6.0.0", + "fs-extra": "^7.0.1", + "lodash.startcase": "^4.4.0", + "outdent": "^0.5.0", + "prettier": "^2.7.1", + "resolve-from": "^5.0.0", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/apply-release-plan/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@changesets/assemble-release-plan": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.2.tgz", + "integrity": "sha512-n9/Tdq+ze+iUtjmq0mZO3pEhJTKkku9hUxtUadW30jlN7kONqJG3O6ALeXrmc6gsi/nvoCuKjqEJ68Hk8RbMTQ==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.0", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/changelog-git": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", + "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", + "dependencies": { + "@changesets/types": "^6.0.0" + } + }, + "node_modules/@changesets/cli": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.5.tgz", + "integrity": "sha512-UVppOvzCjjylBenFcwcZNG5IaZ8jsIaEVraV/pbXgukYNb0Oqa0d8UWb0LkYzA1Bf1HmUrOfccFcRLheRuA7pA==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/apply-release-plan": "^7.0.3", + "@changesets/assemble-release-plan": "^6.0.2", + "@changesets/changelog-git": "^0.2.0", + "@changesets/config": "^3.0.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.0", + "@changesets/get-release-plan": "^4.0.2", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@changesets/write": "^0.3.1", + "@manypkg/get-packages": "^1.1.3", + "@types/semver": "^7.5.0", + "ansi-colors": "^4.1.3", + "chalk": "^2.1.0", + "ci-info": "^3.7.0", + "enquirer": "^2.3.0", + "external-editor": "^3.1.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "meow": "^6.0.0", + "outdent": "^0.5.0", + "p-limit": "^2.2.0", + "preferred-pm": "^3.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "spawndamnit": "^2.0.0", + "term-size": "^2.1.0", + "tty-table": "^4.1.5" + }, + "bin": { + "changeset": "bin.js" + } + }, + "node_modules/@changesets/cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@changesets/cli/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@changesets/config": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.1.tgz", + "integrity": "sha512-nCr8pOemUjvGJ8aUu8TYVjqnUL+++bFOQHBVmtNbLvKzIDkN/uiP/Z4RKmr7NNaiujIURHySDEGFPftR4GbTUA==", + "dependencies": { + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.0", + "@changesets/logger": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1", + "micromatch": "^4.0.2" + } + }, + "node_modules/@changesets/errors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", + "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", + "dependencies": { + "extendable-error": "^0.1.5" + } + }, + "node_modules/@changesets/get-dependents-graph": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.0.tgz", + "integrity": "sha512-QOt6pQq9RVXKGHPVvyKimJDYJumx7p4DO5MO9AhRJYgAPgv0emhNqAqqysSVKHBm4sxKlGN4S1zXOIb5yCFuhQ==", + "dependencies": { + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/get-release-plan": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.2.tgz", + "integrity": "sha512-rOalz7nMuMV2vyeP7KBeAhqEB7FM2GFPO5RQSoOoUKKH9L6wW3QyPA2K+/rG9kBrWl2HckPVES73/AuwPvbH3w==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/assemble-release-plan": "^6.0.2", + "@changesets/config": "^3.0.1", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, + "node_modules/@changesets/get-version-range-type": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", + "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==" + }, + "node_modules/@changesets/git": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.0.tgz", + "integrity": "sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "is-subdir": "^1.1.1", + "micromatch": "^4.0.2", + "spawndamnit": "^2.0.0" + } + }, + "node_modules/@changesets/logger": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.0.tgz", + "integrity": "sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==", + "dependencies": { + "chalk": "^2.1.0" + } + }, + "node_modules/@changesets/parse": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", + "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", + "dependencies": { + "@changesets/types": "^6.0.0", + "js-yaml": "^3.13.1" + } + }, + "node_modules/@changesets/parse/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@changesets/parse/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@changesets/pre": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.0.tgz", + "integrity": "sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1" + } + }, + "node_modules/@changesets/read": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.0.tgz", + "integrity": "sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/parse": "^0.4.0", + "@changesets/types": "^6.0.0", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "p-filter": "^2.1.0" + } + }, + "node_modules/@changesets/should-skip-package": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.0.tgz", + "integrity": "sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, + "node_modules/@changesets/types": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", + "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==" + }, + "node_modules/@changesets/write": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.1.tgz", + "integrity": "sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "prettier": "^2.7.1" + } + }, + "node_modules/@changesets/write/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "dev": true, @@ -1079,11 +1380,6 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "dev": true, @@ -1827,9 +2123,116 @@ "jsep": "^0.4.0||^1.0.0" } }, + "node_modules/@manypkg/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@types/node": "^12.7.1", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" + } + }, + "node_modules/@manypkg/find-root/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, + "node_modules/@manypkg/find-root/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@manypkg/find-root/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@manypkg/find-root/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@manypkg/find-root/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@manypkg/find-root/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@manypkg/get-packages": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", + "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@changesets/types": "^4.0.1", + "@manypkg/find-root": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "^11.0.0", + "read-yaml-file": "^1.1.0" + } + }, + "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", + "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==" + }, + "node_modules/@manypkg/get-packages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -1841,7 +2244,6 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -1849,7 +2251,6 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -2495,6 +2896,11 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" + }, "node_modules/@types/node": { "version": "20.12.7", "license": "MIT", @@ -2511,9 +2917,13 @@ "form-data": "^4.0.0" } }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, "node_modules/@types/semver": { "version": "7.5.8", - "dev": true, "license": "MIT" }, "node_modules/@types/stack-utils": { @@ -3062,6 +3472,14 @@ "node": ">=0.4.2" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "dev": true, @@ -3089,7 +3507,6 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3097,7 +3514,6 @@ }, "node_modules/ansi-styles": { "version": "3.2.1", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^1.9.0" @@ -3183,7 +3599,6 @@ }, "node_modules/array-union": { "version": "2.1.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3210,7 +3625,6 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -3262,6 +3676,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/asn1.js": { "version": "4.10.1", "dev": true, @@ -3543,6 +3965,17 @@ ], "license": "MIT" }, + "node_modules/better-path-resolve": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", + "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", + "dependencies": { + "is-windows": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/bl": { "version": "4.1.0", "dev": true, @@ -3568,7 +4001,6 @@ }, "node_modules/braces": { "version": "3.0.2", - "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.0.1" @@ -3577,6 +4009,14 @@ "node": ">=8" } }, + "node_modules/breakword": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/breakword/-/breakword-1.0.6.tgz", + "integrity": "sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==", + "dependencies": { + "wcwidth": "^1.0.1" + } + }, "node_modules/brorand": { "version": "1.1.0", "dev": true, @@ -4002,12 +4442,38 @@ }, "node_modules/camelcase": { "version": "5.3.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001611", "dev": true, @@ -4029,7 +4495,6 @@ }, "node_modules/chalk": { "version": "2.4.2", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", @@ -4048,6 +4513,11 @@ "node": ">=10" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, "node_modules/chownr": { "version": "1.1.4", "dev": true, @@ -4063,7 +4533,6 @@ }, "node_modules/ci-info": { "version": "3.9.0", - "dev": true, "funding": [ { "type": "github", @@ -4091,7 +4560,6 @@ }, "node_modules/cliui": { "version": "8.0.1", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -4102,6 +4570,14 @@ "node": ">=12" } }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/clone-deep": { "version": "4.0.1", "dev": true, @@ -4151,7 +4627,6 @@ }, "node_modules/color-convert": { "version": "1.9.3", - "dev": true, "license": "MIT", "dependencies": { "color-name": "1.1.3" @@ -4159,7 +4634,6 @@ }, "node_modules/color-name": { "version": "1.1.3", - "dev": true, "license": "MIT" }, "node_modules/colorette": { @@ -4466,6 +4940,35 @@ "node": "*" } }, + "node_modules/csv": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz", + "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", + "dependencies": { + "csv-generate": "^3.4.3", + "csv-parse": "^4.16.3", + "csv-stringify": "^5.6.5", + "stream-transform": "^2.1.3" + }, + "engines": { + "node": ">= 0.1.90" + } + }, + "node_modules/csv-generate": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz", + "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==" + }, + "node_modules/csv-parse": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", + "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" + }, + "node_modules/csv-stringify": { + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", + "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" + }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "dev": true, @@ -4542,9 +5045,32 @@ } } }, - "node_modules/dedent": { - "version": "1.5.3", - "dev": true, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "dev": true, "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" @@ -4568,6 +5094,17 @@ "node": ">=0.10.0" } }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "license": "MIT", @@ -4652,6 +5189,14 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "engines": { + "node": ">=8" + } + }, "node_modules/detective": { "version": "5.2.1", "dev": true, @@ -4714,7 +5259,6 @@ }, "node_modules/dir-glob": { "version": "3.0.1", - "dev": true, "license": "MIT", "dependencies": { "path-type": "^4.0.0" @@ -4853,6 +5397,18 @@ "node": ">=10.13.0" } }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/envinfo": { "version": "7.12.0", "dev": true, @@ -4866,7 +5422,6 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -5020,7 +5575,6 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.2", - "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.0" @@ -5043,7 +5597,6 @@ }, "node_modules/escalade": { "version": "3.1.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -5051,7 +5604,6 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -5634,7 +6186,6 @@ }, "node_modules/esprima": { "version": "4.0.1", - "dev": true, "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", @@ -6011,6 +6562,24 @@ "node": ">=0.10.0" } }, + "node_modules/extendable-error": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", + "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/extract-zip": { "version": "2.0.1", "dev": true, @@ -6055,7 +6624,6 @@ }, "node_modules/fast-glob": { "version": "3.3.2", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -6070,7 +6638,6 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -6108,7 +6675,6 @@ }, "node_modules/fastq": { "version": "1.17.1", - "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -6143,7 +6709,6 @@ }, "node_modules/fill-range": { "version": "7.0.1", - "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -6159,7 +6724,6 @@ }, "node_modules/find-up": { "version": "5.0.0", - "dev": true, "license": "MIT", "dependencies": { "locate-path": "^6.0.0", @@ -6172,6 +6736,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, "node_modules/flat": { "version": "5.0.2", "dev": true, @@ -6231,6 +6804,19 @@ "dev": true, "license": "MIT" }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -6293,7 +6879,6 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", - "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -6389,7 +6974,6 @@ }, "node_modules/globby": { "version": "11.1.0", - "dev": true, "license": "MIT", "dependencies": { "array-union": "^2.1.0", @@ -6431,9 +7015,13 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "dev": true, "license": "ISC" }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, "node_modules/graphemer": { "version": "1.4.0", "dev": true, @@ -6474,11 +7062,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/gray-matter/node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/gulp-header": { "version": "1.8.12", "dev": true, @@ -6503,6 +7086,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "engines": { + "node": ">=6" + } + }, "node_modules/has": { "version": "1.0.4", "dev": true, @@ -6520,7 +7111,6 @@ }, "node_modules/has-flag": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -6618,6 +7208,11 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, "node_modules/html-escaper": { "version": "2.0.2", "dev": true, @@ -6636,6 +7231,11 @@ "dev": true, "license": "MIT" }, + "node_modules/human-id": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", + "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==" + }, "node_modules/human-signals": { "version": "2.1.0", "dev": true, @@ -6644,6 +7244,17 @@ "node": ">=10.17.0" } }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "dev": true, @@ -6665,7 +7276,6 @@ }, "node_modules/ignore": { "version": "5.3.1", - "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -6720,6 +7330,14 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "dev": true, @@ -6806,7 +7424,6 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, "license": "MIT" }, "node_modules/is-async-function": { @@ -6864,7 +7481,6 @@ }, "node_modules/is-core-module": { "version": "2.13.1", - "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.0" @@ -6914,7 +7530,6 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6933,7 +7548,6 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6963,7 +7577,6 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -6995,7 +7608,6 @@ }, "node_modules/is-number": { "version": "7.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -7022,6 +7634,14 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "dev": true, @@ -7095,6 +7715,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-subdir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", + "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", + "dependencies": { + "better-path-resolve": "1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/is-symbol": { "version": "1.0.4", "license": "MIT", @@ -7157,13 +7788,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isarray": { "version": "2.0.5", "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/isobject": { @@ -9084,7 +9722,6 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, "license": "MIT" }, "node_modules/js-yaml": { @@ -9122,7 +9759,6 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -9158,6 +9794,14 @@ "version": "2.2.1", "license": "MIT" }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsonify": { "version": "0.0.1", "dev": true, @@ -9301,7 +9945,6 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "dev": true, "license": "MIT" }, "node_modules/list-item": { @@ -9329,6 +9972,40 @@ "node": ">=0.10.0" } }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/load-yaml-file/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "dev": true, @@ -9339,7 +10016,6 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "dev": true, "license": "MIT", "dependencies": { "p-locate": "^5.0.0" @@ -9385,6 +10061,11 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" + }, "node_modules/lodash.template": { "version": "4.5.0", "dev": true, @@ -9448,7 +10129,6 @@ }, "node_modules/map-obj": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -9502,6 +10182,53 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/meow": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "dev": true, @@ -9509,7 +10236,6 @@ }, "node_modules/merge2": { "version": "1.4.1", - "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -9517,7 +10243,6 @@ }, "node_modules/micromatch": { "version": "4.0.5", - "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.2", @@ -9571,6 +10296,14 @@ "node": ">=6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "dev": true, @@ -9603,6 +10336,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mixin-deep": { "version": "1.3.2", "dev": true, @@ -9626,6 +10380,14 @@ "node": ">=0.10.0" } }, + "node_modules/mixme": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.10.tgz", + "integrity": "sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==", + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/mkdirp-classic": { "version": "0.5.3", "dev": true, @@ -9780,6 +10542,25 @@ "dev": true, "license": "MIT" }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "dev": true, @@ -9950,9 +10731,32 @@ "dev": true, "license": "MIT" }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/outdent": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", + "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==" + }, + "node_modules/p-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", + "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", + "dependencies": { + "p-map": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-limit": { "version": "3.1.0", - "dev": true, "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" @@ -9966,7 +10770,6 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "dev": true, "license": "MIT", "dependencies": { "p-limit": "^3.0.2" @@ -9978,9 +10781,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "engines": { + "node": ">=6" + } + }, "node_modules/p-try": { "version": "2.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -10028,7 +10838,6 @@ }, "node_modules/parse-json": { "version": "5.2.0", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", @@ -10058,7 +10867,6 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10082,7 +10890,6 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, "license": "MIT" }, "node_modules/path-platform": { @@ -10095,7 +10902,6 @@ }, "node_modules/path-type": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10123,12 +10929,10 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -10137,6 +10941,14 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, "node_modules/pirates": { "version": "4.0.6", "dev": true, @@ -10147,7 +10959,6 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", - "dev": true, "license": "MIT", "dependencies": { "find-up": "^4.0.0" @@ -10158,7 +10969,6 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", - "dev": true, "license": "MIT", "dependencies": { "locate-path": "^5.0.0", @@ -10170,7 +10980,6 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "dev": true, "license": "MIT", "dependencies": { "p-locate": "^4.1.0" @@ -10181,7 +10990,6 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "dev": true, "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -10195,7 +11003,6 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", - "dev": true, "license": "MIT", "dependencies": { "p-limit": "^2.2.0" @@ -10218,6 +11025,20 @@ "node": ">= 0.4" } }, + "node_modules/preferred-pm": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.3.tgz", + "integrity": "sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==", + "dependencies": { + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -10318,6 +11139,11 @@ "dev": true, "license": "MIT" }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, "node_modules/public-encrypt": { "version": "4.0.3", "dev": true, @@ -10435,7 +11261,6 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "dev": true, "funding": [ { "type": "github", @@ -10452,9 +11277,17 @@ ], "license": "MIT" }, - "node_modules/randomatic": { - "version": "3.1.1", - "dev": true, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/randomatic": { + "version": "3.1.1", + "dev": true, "license": "MIT", "dependencies": { "is-number": "^4.0.0", @@ -10538,6 +11371,134 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-yaml-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", + "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.6.1", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/read-yaml-file/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "dev": true, @@ -10562,6 +11523,18 @@ "node": ">= 0.10" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", "dev": true, @@ -10584,7 +11557,6 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.1", - "dev": true, "license": "MIT" }, "node_modules/regexp-tree": { @@ -10634,11 +11606,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/remarkable/node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/rename-function-calls": { "version": "0.1.1", "dev": true, @@ -10763,7 +11730,6 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -10776,9 +11742,13 @@ "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "node_modules/resolve": { "version": "1.22.8", - "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", @@ -10829,7 +11799,6 @@ }, "node_modules/reusify": { "version": "1.0.4", - "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -10900,7 +11869,6 @@ }, "node_modules/run-parallel": { "version": "1.2.0", - "dev": true, "funding": [ { "type": "github", @@ -10982,6 +11950,11 @@ "version": "1.1.1", "license": "MIT" }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "node_modules/schema-utils": { "version": "3.3.0", "dev": true, @@ -11001,7 +11974,6 @@ }, "node_modules/semver": { "version": "7.6.0", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -11015,7 +11987,6 @@ }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -11026,7 +11997,6 @@ }, "node_modules/semver/node_modules/yallist": { "version": "4.0.0", - "dev": true, "license": "ISC" }, "node_modules/serialize-javascript": { @@ -11037,6 +12007,11 @@ "randombytes": "^2.1.0" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "node_modules/set-function-length": { "version": "1.2.2", "license": "MIT", @@ -11169,7 +12144,6 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "dev": true, "license": "ISC" }, "node_modules/simple-concat": { @@ -11221,12 +12195,169 @@ }, "node_modules/slash": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/smartwrap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz", + "integrity": "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==", + "dependencies": { + "array.prototype.flat": "^1.2.3", + "breakword": "^1.0.5", + "grapheme-splitter": "^1.0.4", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1", + "yargs": "^15.1.0" + }, + "bin": { + "smartwrap": "src/terminal-adapter.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/smartwrap/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smartwrap/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/smartwrap/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/smartwrap/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/smartwrap/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smartwrap/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/smartwrap/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/source-map": { "version": "0.6.1", "dev": true, @@ -11244,6 +12375,102 @@ "source-map": "^0.6.0" } }, + "node_modules/spawndamnit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", + "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", + "dependencies": { + "cross-spawn": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/spawndamnit/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/spawndamnit/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/spawndamnit/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawndamnit/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawndamnit/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/spawndamnit/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, "node_modules/stack-utils": { "version": "2.0.6", "dev": true, @@ -11397,6 +12624,14 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/stream-transform": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz", + "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", + "dependencies": { + "mixme": "^0.5.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "dev": true, @@ -11419,7 +12654,6 @@ }, "node_modules/string-width": { "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -11432,7 +12666,6 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/string.prototype.trim": { @@ -11480,7 +12713,6 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -11491,7 +12723,6 @@ }, "node_modules/strip-bom": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -11513,6 +12744,17 @@ "node": ">=6" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, @@ -11534,7 +12776,6 @@ }, "node_modules/supports-color": { "version": "5.5.0", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^3.0.0" @@ -11545,7 +12786,6 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -11605,6 +12845,17 @@ "node": ">=6" } }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ternary": { "version": "1.0.0", "dev": true, @@ -11822,6 +13073,17 @@ "node": ">=0.6.0" } }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/tmpl": { "version": "1.0.5", "dev": true, @@ -11848,7 +13110,6 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -11903,6 +13164,14 @@ "dev": true, "license": "MIT" }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "engines": { + "node": ">=8" + } + }, "node_modules/ts-api-utils": { "version": "1.3.0", "dev": true, @@ -12097,6 +13366,98 @@ "dev": true, "license": "MIT" }, + "node_modules/tty-table": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.3.tgz", + "integrity": "sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==", + "dependencies": { + "chalk": "^4.1.2", + "csv": "^5.5.3", + "kleur": "^4.1.5", + "smartwrap": "^2.0.2", + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.1", + "yargs": "^17.7.1" + }, + "bin": { + "tty-table": "adapters/terminal-adapter.js" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tty-table/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/tty-table/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/tty-table/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/tty-table/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/tty-table/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tty-table/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tty-table/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/turbo": { "version": "1.13.3", "dev": true, @@ -12287,6 +13648,14 @@ "version": "5.26.5", "license": "MIT" }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.13", "dev": true, @@ -12384,6 +13753,15 @@ "node": ">=10.12.0" } }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/vm-browserify": { "version": "1.1.2", "dev": true, @@ -12409,6 +13787,14 @@ "node": ">=10.13.0" } }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "license": "BSD-2-Clause" @@ -12684,6 +14070,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, + "node_modules/which-pm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", + "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, "node_modules/which-typed-array": { "version": "1.1.15", "license": "MIT", @@ -12708,7 +14111,6 @@ }, "node_modules/wrap-ansi": { "version": "7.0.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -12724,7 +14126,6 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -12738,7 +14139,6 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -12749,7 +14149,6 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", - "dev": true, "license": "MIT" }, "node_modules/wrappy": { @@ -12799,7 +14198,6 @@ }, "node_modules/y18n": { "version": "5.0.8", - "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -12812,7 +14210,6 @@ }, "node_modules/yargs": { "version": "17.7.2", - "dev": true, "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -12829,7 +14226,6 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", - "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -12854,7 +14250,6 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", - "dev": true, "license": "MIT", "engines": { "node": ">=10" diff --git a/package.json b/package.json index 096710c20..b44a4683e 100644 --- a/package.json +++ b/package.json @@ -9,11 +9,17 @@ "parser:test:unit": "turbo run test:unit --filter=@asyncapi/parser", "parser:test": "turbo run test --filter=@asyncapi/parser", "parser:test:browser": "turbo run test:browser --filter=@asyncapi/parser", - "parser:build": "turbo run build --filter=@asyncapi/parser" + "parser:build": "turbo run build --filter=@asyncapi/parser", + "changeset": "changeset", + "version-packages": "changeset version", + "publish-packages": "turbo run build && changeset publish" }, "devDependencies": { "turbo": "1.13.3" }, + "dependencies": { + "@changesets/cli": "^2.26.2" + }, "engines": { "node": ">=18" }, From 15135881fe3edf5d97e3c42f157bb53e82b8c028 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 17:15:05 +0530 Subject: [PATCH 040/107] updated the release file. --- .github/workflows/release-with-changesets.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 8051ad111..439649ea3 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -13,6 +13,7 @@ on: - beta - alpha - next + - feat-mastertest jobs: test-nodejs: @@ -20,11 +21,7 @@ jobs: # "commits" contains an array of objects where one of the properties is the commit "message" # Release workflow will be skipped if release conventional commits are not used if: | - startsWith(github.repository, 'asyncapi/') && - (startsWith(github.event.commits[0].message, 'fix:') || - startsWith(github.event.commits[0].message, 'fix!:') || - startsWith(github.event.commits[0].message, 'feat:') || - startsWith(github.event.commits[0].message, 'feat!:')) + true name: Test NodeJS release on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: From 480210186b384eeedc9d047bc8a25da9731887be Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 17:19:12 +0530 Subject: [PATCH 041/107] updated. --- .github/workflows/release-with-changesets.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 439649ea3..28edc4cbe 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -1,4 +1,3 @@ - # It does magic only if there is a package.json file in the root of the project name: Release - if Node project @@ -63,14 +62,14 @@ jobs: name: Run test run: npm test --if-present - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel - name: Report workflow run status to Slack - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,action,workflow - text: 'Release workflow failed in testing job' - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} + name: Report workflow run status to Slack + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,action,workflow + text: "Release workflow failed in testing job" + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} release: needs: [test-nodejs] @@ -124,6 +123,6 @@ jobs: with: status: ${{ job.status }} fields: repo,action,workflow - text: 'Release workflow failed in release job' + text: "Release workflow failed in release job" env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} From b3d0cf30e5f59976569c80076d74ee99e473e095 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 17:20:02 +0530 Subject: [PATCH 042/107] updated 2 --- package-lock.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 7648af58c..cbcb4cfda 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ } }, "apps/parser": { - "name": "@asyncapi/parser", + "name": "@ayushnautiyal706020/parser", "version": "3.0.14", "license": "Apache-2.0", "dependencies": { @@ -340,6 +340,10 @@ "@types/json-schema": "^7.0.11" } }, + "node_modules/@ayushnautiyal706020/parser": { + "resolved": "apps/parser", + "link": true + }, "node_modules/@babel/code-frame": { "version": "7.24.2", "license": "MIT", From 5dce695ff152731727332db536b89cea07417e1c Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 17:33:10 +0530 Subject: [PATCH 043/107] updated the ci --- .changeset/config.json | 2 +- .github/workflows/release-with-changesets.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index 9303ded12..36d8410c0 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": false, + "changelog": "@changesets/cli/changelog", "commit": false, "fixed": [], "linked": [], diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 28edc4cbe..33720f01f 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -99,6 +99,10 @@ jobs: name: Install dependencies shell: bash run: npm ci + - if: steps.packagejson.outputs.exists == 'true' + name: Install changelog + shell: bash + run: npm install --save-dev @changesets/cli/changelog - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub uses: changesets/action@v1 From 014742497f7c8c6e526cdd95bacc8035552fabb0 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 17:39:06 +0530 Subject: [PATCH 044/107] updated the release. --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 33720f01f..cbc350150 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -102,7 +102,7 @@ jobs: - if: steps.packagejson.outputs.exists == 'true' name: Install changelog shell: bash - run: npm install --save-dev @changesets/cli/changelog + run: npm install --save-dev @changesets/changelog-git - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub uses: changesets/action@v1 From 00de8003b23021ebb8b921eba23394818febb738 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 17:46:06 +0530 Subject: [PATCH 045/107] updated the release file. --- .changeset/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index 36d8410c0..3fdf7bef0 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,7 +1,7 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", "changelog": "@changesets/cli/changelog", - "commit": false, + "commit": true, "fixed": [], "linked": [], "access": "public", From e219ae29732e95e297428dfbc28867cd290ea6be Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 18:17:33 +0530 Subject: [PATCH 046/107] updaed the packages --- .github/workflows/release-with-changesets.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index cbc350150..d23640386 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -103,13 +103,14 @@ jobs: name: Install changelog shell: bash run: npm install --save-dev @changesets/changelog-git + run: npm i --save-dev @changesets/cli - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub uses: changesets/action@v1 id: release with: - publish: npm run publish-packages - version: npm run version-packages + publish: npx run turbo run build && changeset publish + version: npx run changeset version commit: "version packages" title: "chore: version packages" env: From 0b8f1efb58eef2e33052dfbf4ccc5cd3fd4a35d2 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 18:36:22 +0530 Subject: [PATCH 047/107] updaed the file s. --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index d23640386..ddeb303b0 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -5,7 +5,7 @@ on: push: branches: - master - # The below lines are not enough to have release supported for these branches + # The below lines are not enough to have release supported for these branches - next-spec - next-major - next-major-spec From 0210fd3a365a506f7b58a2a86aa641160feeb355 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 18:37:19 +0530 Subject: [PATCH 048/107] updated the files . --- .github/workflows/release-with-changesets.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index ddeb303b0..da166b12a 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -102,8 +102,7 @@ jobs: - if: steps.packagejson.outputs.exists == 'true' name: Install changelog shell: bash - run: npm install --save-dev @changesets/changelog-git - run: npm i --save-dev @changesets/cli + run: npm install --save-dev @changesets/changelog-git @changesets/cli - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub uses: changesets/action@v1 From 2128de47842d4a5580b1a21b30224677bb642aba Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:10:49 +0530 Subject: [PATCH 049/107] update the file. --- .changeset/config.json | 2 +- .github/workflows/release-with-changesets.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index 3fdf7bef0..36d8410c0 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,7 +1,7 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", "changelog": "@changesets/cli/changelog", - "commit": true, + "commit": false, "fixed": [], "linked": [], "access": "public", diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index da166b12a..97c65acdb 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -108,8 +108,8 @@ jobs: uses: changesets/action@v1 id: release with: - publish: npx run turbo run build && changeset publish - version: npx run changeset version + publish: npm run turbo run build && changeset publish + version: npm run changeset version commit: "version packages" title: "chore: version packages" env: From 113a346ef78bcaf46d15a9dd6d2bbea6dba895e7 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:21:57 +0530 Subject: [PATCH 050/107] upated --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 97c65acdb..02088c4d0 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -108,10 +108,10 @@ jobs: uses: changesets/action@v1 id: release with: - publish: npm run turbo run build && changeset publish version: npm run changeset version commit: "version packages" title: "chore: version packages" + publish: npm run turbo run build && changeset publish env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From cf05ebef25c2f376025e0e744dba11e3bb3238f3 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:27:24 +0530 Subject: [PATCH 051/107] updated the file. --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 02088c4d0..a20a7c73e 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -111,7 +111,7 @@ jobs: version: npm run changeset version commit: "version packages" title: "chore: version packages" - publish: npm run turbo run build && changeset publish + run: npm run turbo run build && changeset publish env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 598880b3a81b78164e4568e5e3573aefe21d5ac9 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:28:25 +0530 Subject: [PATCH 052/107] udpated the file. --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index a20a7c73e..851745a6c 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -111,7 +111,7 @@ jobs: version: npm run changeset version commit: "version packages" title: "chore: version packages" - run: npm run turbo run build && changeset publish + publish: npm changeset publish env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From e92a798f0abe3a1d7bcdafdd6b42f82f6f9e7b24 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:34:19 +0530 Subject: [PATCH 053/107] updated the files --- .changeset/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index 36d8410c0..3fdf7bef0 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,7 +1,7 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", "changelog": "@changesets/cli/changelog", - "commit": false, + "commit": true, "fixed": [], "linked": [], "access": "public", From 6f6de532e1a190e614216b37bae0ddd53ba76eee Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:47:44 +0530 Subject: [PATCH 054/107] updated the files . of changesets. --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 851745a6c..6512226d6 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -109,7 +109,7 @@ jobs: id: release with: version: npm run changeset version - commit: "version packages" + commit: version packages title: "chore: version packages" publish: npm changeset publish env: From d3c3b2bfcfa5d3ff84ddb405790b15038ec1fd8e Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:54:07 +0530 Subject: [PATCH 055/107] updated the fiels --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 6512226d6..fde21edbf 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -111,7 +111,7 @@ jobs: version: npm run changeset version commit: version packages title: "chore: version packages" - publish: npm changeset publish + publish: npm run turbo run build && npm changeset publish env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 62122abb60fde189563fbc6b9290c99d9b97ef5f Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:55:54 +0530 Subject: [PATCH 056/107] udpate the files commits. --- .github/workflows/release-with-changesets.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index fde21edbf..9bfd6cb58 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -108,9 +108,6 @@ jobs: uses: changesets/action@v1 id: release with: - version: npm run changeset version - commit: version packages - title: "chore: version packages" publish: npm run turbo run build && npm changeset publish env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} From 9cb7062aa4fa8b222164cdfa33808d1ca34618f6 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 20:15:55 +0530 Subject: [PATCH 057/107] updated th files. --- .github/workflows/release-with-changesets.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 9bfd6cb58..fde21edbf 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -108,6 +108,9 @@ jobs: uses: changesets/action@v1 id: release with: + version: npm run changeset version + commit: version packages + title: "chore: version packages" publish: npm run turbo run build && npm changeset publish env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} From cc6b0cbd450b8955402c625de56fdbd787f71bab Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 20:22:39 +0530 Subject: [PATCH 058/107] updated the files. --- .changeset/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index 3fdf7bef0..36d8410c0 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,7 +1,7 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", "changelog": "@changesets/cli/changelog", - "commit": true, + "commit": false, "fixed": [], "linked": [], "access": "public", From 8cc5fcb234b50f37f7ab5fd94a3c24c414b3e49a Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 20:25:09 +0530 Subject: [PATCH 059/107] changed the apps to packages. --- {apps => packages}/parser/.eslintignore | 0 {apps => packages}/parser/.eslintrc | 0 {apps => packages}/parser/.gitignore | 0 {apps => packages}/parser/LICENSE | 0 {apps => packages}/parser/docs/migrations/v1-to-v2.md | 0 {apps => packages}/parser/docs/migrations/v2-to-v3.md | 0 {apps => packages}/parser/docs/ruleset/README.md | 0 {apps => packages}/parser/docs/ruleset/core-ruleset.md | 0 {apps => packages}/parser/docs/ruleset/recommended-ruleset.md | 0 {apps => packages}/parser/docs/ruleset/v2-core-ruleset.md | 0 {apps => packages}/parser/docs/ruleset/v2-recommended-ruleset.md | 0 {apps => packages}/parser/jest.config.ts | 0 {apps => packages}/parser/package-lock.json | 0 {apps => packages}/parser/package.json | 0 {apps => packages}/parser/src/constants.ts | 0 .../parser/src/custom-operations/anonymous-naming.ts | 0 {apps => packages}/parser/src/custom-operations/apply-traits.ts | 0 .../parser/src/custom-operations/apply-unique-ids.ts | 0 .../parser/src/custom-operations/check-circular-refs.ts | 0 {apps => packages}/parser/src/custom-operations/index.ts | 0 {apps => packages}/parser/src/custom-operations/parse-schema.ts | 0 .../parser/src/custom-operations/resolve-circular-refs.ts | 0 {apps => packages}/parser/src/document.ts | 0 {apps => packages}/parser/src/from.ts | 0 {apps => packages}/parser/src/index.ts | 0 {apps => packages}/parser/src/iterator.ts | 0 {apps => packages}/parser/src/models/asyncapi.ts | 0 {apps => packages}/parser/src/models/base.ts | 0 {apps => packages}/parser/src/models/binding.ts | 0 {apps => packages}/parser/src/models/bindings.ts | 0 {apps => packages}/parser/src/models/channel-parameter.ts | 0 {apps => packages}/parser/src/models/channel-parameters.ts | 0 {apps => packages}/parser/src/models/channel.ts | 0 {apps => packages}/parser/src/models/channels.ts | 0 {apps => packages}/parser/src/models/collection.ts | 0 {apps => packages}/parser/src/models/components.ts | 0 {apps => packages}/parser/src/models/contact.ts | 0 {apps => packages}/parser/src/models/correlation-id.ts | 0 {apps => packages}/parser/src/models/correlation-ids.ts | 0 {apps => packages}/parser/src/models/extension.ts | 0 {apps => packages}/parser/src/models/extensions.ts | 0 {apps => packages}/parser/src/models/external-docs.ts | 0 {apps => packages}/parser/src/models/external-documentation.ts | 0 {apps => packages}/parser/src/models/external-documentations.ts | 0 {apps => packages}/parser/src/models/index.ts | 0 {apps => packages}/parser/src/models/info.ts | 0 {apps => packages}/parser/src/models/license.ts | 0 {apps => packages}/parser/src/models/message-example.ts | 0 {apps => packages}/parser/src/models/message-examples.ts | 0 {apps => packages}/parser/src/models/message-trait.ts | 0 {apps => packages}/parser/src/models/message-traits.ts | 0 {apps => packages}/parser/src/models/message.ts | 0 {apps => packages}/parser/src/models/messages.ts | 0 {apps => packages}/parser/src/models/mixins.ts | 0 {apps => packages}/parser/src/models/oauth-flow.ts | 0 {apps => packages}/parser/src/models/oauth-flows.ts | 0 {apps => packages}/parser/src/models/operation-replies.ts | 0 {apps => packages}/parser/src/models/operation-reply-address.ts | 0 {apps => packages}/parser/src/models/operation-reply-addresses.ts | 0 {apps => packages}/parser/src/models/operation-reply.ts | 0 {apps => packages}/parser/src/models/operation-trait.ts | 0 {apps => packages}/parser/src/models/operation-traits.ts | 0 {apps => packages}/parser/src/models/operation.ts | 0 {apps => packages}/parser/src/models/operations.ts | 0 {apps => packages}/parser/src/models/schema.ts | 0 {apps => packages}/parser/src/models/schemas.ts | 0 {apps => packages}/parser/src/models/security-requirement.ts | 0 {apps => packages}/parser/src/models/security-requirements.ts | 0 {apps => packages}/parser/src/models/security-scheme.ts | 0 {apps => packages}/parser/src/models/security-schemes.ts | 0 {apps => packages}/parser/src/models/server-variable.ts | 0 {apps => packages}/parser/src/models/server-variables.ts | 0 {apps => packages}/parser/src/models/server.ts | 0 {apps => packages}/parser/src/models/servers.ts | 0 {apps => packages}/parser/src/models/tag.ts | 0 {apps => packages}/parser/src/models/tags.ts | 0 {apps => packages}/parser/src/models/utils.ts | 0 {apps => packages}/parser/src/models/v2/asyncapi.ts | 0 {apps => packages}/parser/src/models/v2/binding.ts | 0 {apps => packages}/parser/src/models/v2/bindings.ts | 0 {apps => packages}/parser/src/models/v2/channel-parameter.ts | 0 {apps => packages}/parser/src/models/v2/channel-parameters.ts | 0 {apps => packages}/parser/src/models/v2/channel.ts | 0 {apps => packages}/parser/src/models/v2/channels.ts | 0 {apps => packages}/parser/src/models/v2/components.ts | 0 {apps => packages}/parser/src/models/v2/contact.ts | 0 {apps => packages}/parser/src/models/v2/correlation-id.ts | 0 {apps => packages}/parser/src/models/v2/correlation-ids.ts | 0 {apps => packages}/parser/src/models/v2/extension.ts | 0 {apps => packages}/parser/src/models/v2/extensions.ts | 0 {apps => packages}/parser/src/models/v2/external-docs.ts | 0 {apps => packages}/parser/src/models/v2/index.ts | 0 {apps => packages}/parser/src/models/v2/info.ts | 0 {apps => packages}/parser/src/models/v2/license.ts | 0 {apps => packages}/parser/src/models/v2/message-example.ts | 0 {apps => packages}/parser/src/models/v2/message-examples.ts | 0 {apps => packages}/parser/src/models/v2/message-trait.ts | 0 {apps => packages}/parser/src/models/v2/message-traits.ts | 0 {apps => packages}/parser/src/models/v2/message.ts | 0 {apps => packages}/parser/src/models/v2/messages.ts | 0 {apps => packages}/parser/src/models/v2/mixins.ts | 0 {apps => packages}/parser/src/models/v2/oauth-flow.ts | 0 {apps => packages}/parser/src/models/v2/oauth-flows.ts | 0 {apps => packages}/parser/src/models/v2/operation-trait.ts | 0 {apps => packages}/parser/src/models/v2/operation-traits.ts | 0 {apps => packages}/parser/src/models/v2/operation.ts | 0 {apps => packages}/parser/src/models/v2/operations.ts | 0 {apps => packages}/parser/src/models/v2/schema.ts | 0 {apps => packages}/parser/src/models/v2/schemas.ts | 0 {apps => packages}/parser/src/models/v2/security-requirement.ts | 0 {apps => packages}/parser/src/models/v2/security-requirements.ts | 0 {apps => packages}/parser/src/models/v2/security-scheme.ts | 0 {apps => packages}/parser/src/models/v2/security-schemes.ts | 0 {apps => packages}/parser/src/models/v2/server-variable.ts | 0 {apps => packages}/parser/src/models/v2/server-variables.ts | 0 {apps => packages}/parser/src/models/v2/server.ts | 0 {apps => packages}/parser/src/models/v2/servers.ts | 0 {apps => packages}/parser/src/models/v2/tag.ts | 0 {apps => packages}/parser/src/models/v2/tags.ts | 0 {apps => packages}/parser/src/models/v3/asyncapi.ts | 0 {apps => packages}/parser/src/models/v3/binding.ts | 0 {apps => packages}/parser/src/models/v3/bindings.ts | 0 {apps => packages}/parser/src/models/v3/channel-parameter.ts | 0 {apps => packages}/parser/src/models/v3/channel-parameters.ts | 0 {apps => packages}/parser/src/models/v3/channel.ts | 0 {apps => packages}/parser/src/models/v3/channels.ts | 0 {apps => packages}/parser/src/models/v3/components.ts | 0 {apps => packages}/parser/src/models/v3/contact.ts | 0 {apps => packages}/parser/src/models/v3/correlation-id.ts | 0 {apps => packages}/parser/src/models/v3/correlation-ids.ts | 0 {apps => packages}/parser/src/models/v3/extension.ts | 0 {apps => packages}/parser/src/models/v3/extensions.ts | 0 {apps => packages}/parser/src/models/v3/external-docs.ts | 0 {apps => packages}/parser/src/models/v3/index.ts | 0 {apps => packages}/parser/src/models/v3/info.ts | 0 {apps => packages}/parser/src/models/v3/license.ts | 0 {apps => packages}/parser/src/models/v3/message-example.ts | 0 {apps => packages}/parser/src/models/v3/message-examples.ts | 0 {apps => packages}/parser/src/models/v3/message-trait.ts | 0 {apps => packages}/parser/src/models/v3/message-traits.ts | 0 {apps => packages}/parser/src/models/v3/message.ts | 0 {apps => packages}/parser/src/models/v3/messages.ts | 0 {apps => packages}/parser/src/models/v3/mixins.ts | 0 {apps => packages}/parser/src/models/v3/oauth-flow.ts | 0 {apps => packages}/parser/src/models/v3/oauth-flows.ts | 0 {apps => packages}/parser/src/models/v3/operation-replies.ts | 0 .../parser/src/models/v3/operation-reply-address.ts | 0 .../parser/src/models/v3/operation-reply-addresses.ts | 0 {apps => packages}/parser/src/models/v3/operation-reply.ts | 0 {apps => packages}/parser/src/models/v3/operation-trait.ts | 0 {apps => packages}/parser/src/models/v3/operation-traits.ts | 0 {apps => packages}/parser/src/models/v3/operation.ts | 0 {apps => packages}/parser/src/models/v3/operations.ts | 0 {apps => packages}/parser/src/models/v3/schema.ts | 0 {apps => packages}/parser/src/models/v3/schemas.ts | 0 {apps => packages}/parser/src/models/v3/security-requirement.ts | 0 {apps => packages}/parser/src/models/v3/security-requirements.ts | 0 {apps => packages}/parser/src/models/v3/security-scheme.ts | 0 {apps => packages}/parser/src/models/v3/security-schemes.ts | 0 {apps => packages}/parser/src/models/v3/server-variable.ts | 0 {apps => packages}/parser/src/models/v3/server-variables.ts | 0 {apps => packages}/parser/src/models/v3/server.ts | 0 {apps => packages}/parser/src/models/v3/servers.ts | 0 {apps => packages}/parser/src/models/v3/tag.ts | 0 {apps => packages}/parser/src/models/v3/tags.ts | 0 {apps => packages}/parser/src/old-api/asyncapi.ts | 0 {apps => packages}/parser/src/old-api/base.ts | 0 {apps => packages}/parser/src/old-api/channel-parameter.ts | 0 {apps => packages}/parser/src/old-api/channel.ts | 0 {apps => packages}/parser/src/old-api/components.ts | 0 {apps => packages}/parser/src/old-api/contact.ts | 0 {apps => packages}/parser/src/old-api/converter.ts | 0 {apps => packages}/parser/src/old-api/correlation-id.ts | 0 {apps => packages}/parser/src/old-api/external-docs.ts | 0 {apps => packages}/parser/src/old-api/index.ts | 0 {apps => packages}/parser/src/old-api/info.ts | 0 {apps => packages}/parser/src/old-api/iterator.ts | 0 {apps => packages}/parser/src/old-api/license.ts | 0 {apps => packages}/parser/src/old-api/message-trait.ts | 0 {apps => packages}/parser/src/old-api/message.ts | 0 {apps => packages}/parser/src/old-api/mixins.ts | 0 {apps => packages}/parser/src/old-api/oauth-flow.ts | 0 {apps => packages}/parser/src/old-api/operation-trait.ts | 0 {apps => packages}/parser/src/old-api/operation.ts | 0 {apps => packages}/parser/src/old-api/schema.ts | 0 {apps => packages}/parser/src/old-api/security-requirement.ts | 0 {apps => packages}/parser/src/old-api/security-scheme.ts | 0 {apps => packages}/parser/src/old-api/server-variable.ts | 0 {apps => packages}/parser/src/old-api/server.ts | 0 {apps => packages}/parser/src/old-api/tag.ts | 0 {apps => packages}/parser/src/parse.ts | 0 {apps => packages}/parser/src/parser.ts | 0 {apps => packages}/parser/src/resolver.ts | 0 {apps => packages}/parser/src/ruleset/formats.ts | 0 .../parser/src/ruleset/functions/documentStructure.ts | 0 {apps => packages}/parser/src/ruleset/functions/internal.ts | 0 .../parser/src/ruleset/functions/isAsyncAPIDocument.ts | 0 {apps => packages}/parser/src/ruleset/functions/uniquenessTags.ts | 0 .../parser/src/ruleset/functions/unusedComponent.ts | 0 {apps => packages}/parser/src/ruleset/index.ts | 0 {apps => packages}/parser/src/ruleset/ruleset.ts | 0 {apps => packages}/parser/src/ruleset/utils/getMissingProps.ts | 0 {apps => packages}/parser/src/ruleset/utils/getRedundantProps.ts | 0 {apps => packages}/parser/src/ruleset/utils/index.ts | 0 {apps => packages}/parser/src/ruleset/utils/mergeTraits.ts | 0 {apps => packages}/parser/src/ruleset/utils/parseUrlVariables.ts | 0 .../parser/src/ruleset/v2/functions/channelParameters.ts | 0 .../parser/src/ruleset/v2/functions/channelServers.ts | 0 {apps => packages}/parser/src/ruleset/v2/functions/checkId.ts | 0 .../src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts | 0 .../parser/src/ruleset/v2/functions/messageExamples.ts | 0 .../parser/src/ruleset/v2/functions/messageIdUniqueness.ts | 0 .../parser/src/ruleset/v2/functions/operationIdUniqueness.ts | 0 .../parser/src/ruleset/v2/functions/schemaValidation.ts | 0 {apps => packages}/parser/src/ruleset/v2/functions/security.ts | 0 .../parser/src/ruleset/v2/functions/serverVariables.ts | 0 .../parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts | 0 {apps => packages}/parser/src/ruleset/v2/index.ts | 0 {apps => packages}/parser/src/ruleset/v2/ruleset.ts | 0 {apps => packages}/parser/src/ruleset/v2/utils/getAllMessages.ts | 0 .../parser/src/ruleset/v2/utils/getAllOperations.ts | 0 {apps => packages}/parser/src/ruleset/v2/utils/index.ts | 0 .../src/ruleset/v3/functions/operationMessagesUnambiguity.ts | 0 {apps => packages}/parser/src/ruleset/v3/index.ts | 0 {apps => packages}/parser/src/ruleset/v3/ruleset.ts | 0 .../parser/src/schema-parser/asyncapi-schema-parser.ts | 0 {apps => packages}/parser/src/schema-parser/index.ts | 0 {apps => packages}/parser/src/schema-parser/spectral-rule-v2.ts | 0 {apps => packages}/parser/src/spec-types/index.ts | 0 {apps => packages}/parser/src/spec-types/v2.ts | 0 {apps => packages}/parser/src/spec-types/v3.ts | 0 {apps => packages}/parser/src/spectral.ts | 0 {apps => packages}/parser/src/stringify.ts | 0 {apps => packages}/parser/src/types.ts | 0 {apps => packages}/parser/src/utils.ts | 0 {apps => packages}/parser/src/validate.ts | 0 {apps => packages}/parser/test/browser/browser.spec.ts | 0 {apps => packages}/parser/test/browser/sample-page.html | 0 .../parser/test/custom-operations/anonymous-naming.spec.ts | 0 .../parser/test/custom-operations/apply-traits-v2.spec.ts | 0 .../parser/test/custom-operations/apply-traits-v3.spec.ts | 0 .../parser/test/custom-operations/apply-traits.spec.ts | 0 .../parser/test/custom-operations/apply-unique-ids.spec.ts | 0 .../parser/test/custom-operations/check-circular-refs.spec.ts | 0 .../parser/test/custom-operations/parse-schema-v2.spec.ts | 0 .../parser/test/custom-operations/parse-schema-v3.spec.ts | 0 .../parser/test/custom-operations/resolve-circular-refs.spec.ts | 0 {apps => packages}/parser/test/document.spec.ts | 0 {apps => packages}/parser/test/from.spec.ts | 0 {apps => packages}/parser/test/iterator.spec.ts | 0 {apps => packages}/parser/test/mocks/circular-refs.yaml | 0 {apps => packages}/parser/test/mocks/nested-schemas.yaml | 0 {apps => packages}/parser/test/mocks/parse/circular-ref-deep.yaml | 0 {apps => packages}/parser/test/mocks/parse/circular-ref.yaml | 0 {apps => packages}/parser/test/mocks/refs-1.yaml | 0 {apps => packages}/parser/test/mocks/refs-2.yaml | 0 {apps => packages}/parser/test/mocks/simple-message.yaml | 0 {apps => packages}/parser/test/mocks/simple-with-refs.yaml | 0 {apps => packages}/parser/test/mocks/simple.yaml | 0 {apps => packages}/parser/test/models/base.spec.ts | 0 {apps => packages}/parser/test/models/collection.spec.ts | 0 {apps => packages}/parser/test/models/v2/asyncapi.spec.ts | 0 {apps => packages}/parser/test/models/v2/bindings.spec.ts | 0 .../parser/test/models/v2/channel-parameter.spec.ts | 0 .../parser/test/models/v2/channel-parameters.spec.ts | 0 {apps => packages}/parser/test/models/v2/channel.spec.ts | 0 {apps => packages}/parser/test/models/v2/channels.spec.ts | 0 {apps => packages}/parser/test/models/v2/components.spec.ts | 0 {apps => packages}/parser/test/models/v2/contact.spec.ts | 0 {apps => packages}/parser/test/models/v2/correlation-id.spec.ts | 0 {apps => packages}/parser/test/models/v2/external-docs.spec.ts | 0 .../parser/test/models/v2/external-documentation.spec.ts | 0 {apps => packages}/parser/test/models/v2/info.spec.ts | 0 {apps => packages}/parser/test/models/v2/license.spec.ts | 0 {apps => packages}/parser/test/models/v2/message-example.spec.ts | 0 {apps => packages}/parser/test/models/v2/message-examples.spec.ts | 0 {apps => packages}/parser/test/models/v2/message-trait.spec.ts | 0 {apps => packages}/parser/test/models/v2/message-traits.spec.ts | 0 {apps => packages}/parser/test/models/v2/message.spec.ts | 0 {apps => packages}/parser/test/models/v2/messages.spec.ts | 0 {apps => packages}/parser/test/models/v2/mixins.spec.ts | 0 {apps => packages}/parser/test/models/v2/oauth-flow.spec.ts | 0 {apps => packages}/parser/test/models/v2/oauth-flows.spec.ts | 0 {apps => packages}/parser/test/models/v2/operation-trait.spec.ts | 0 {apps => packages}/parser/test/models/v2/operation-traits.spec.ts | 0 {apps => packages}/parser/test/models/v2/operation.spec.ts | 0 {apps => packages}/parser/test/models/v2/operations.spec.ts | 0 {apps => packages}/parser/test/models/v2/schema.spec.ts | 0 .../parser/test/models/v2/security-requirement.spec.ts | 0 .../parser/test/models/v2/security-requirements.spec.ts | 0 {apps => packages}/parser/test/models/v2/security-scheme.spec.ts | 0 {apps => packages}/parser/test/models/v2/server-variable.spec.ts | 0 {apps => packages}/parser/test/models/v2/server.spec.ts | 0 {apps => packages}/parser/test/models/v2/servers.spec.ts | 0 {apps => packages}/parser/test/models/v2/tag.spec.ts | 0 {apps => packages}/parser/test/models/v2/tags.spec.ts | 0 {apps => packages}/parser/test/models/v2/utils.ts | 0 {apps => packages}/parser/test/models/v3/asyncapi.spec.ts | 0 {apps => packages}/parser/test/models/v3/bindings.spec.ts | 0 .../parser/test/models/v3/channel-parameter.spec.ts | 0 {apps => packages}/parser/test/models/v3/channel.spec.ts | 0 {apps => packages}/parser/test/models/v3/components.spec.ts | 0 {apps => packages}/parser/test/models/v3/contact.spec.ts | 0 {apps => packages}/parser/test/models/v3/correlation-id.spec.ts | 0 .../parser/test/models/v3/external-documentation.spec.ts | 0 {apps => packages}/parser/test/models/v3/info.spec.ts | 0 {apps => packages}/parser/test/models/v3/license.spec.ts | 0 {apps => packages}/parser/test/models/v3/message-example.spec.ts | 0 {apps => packages}/parser/test/models/v3/message-trait.spec.ts | 0 {apps => packages}/parser/test/models/v3/message.spec.ts | 0 {apps => packages}/parser/test/models/v3/oauth-flow.spec.ts | 0 {apps => packages}/parser/test/models/v3/oauth-flows.spec.ts | 0 .../parser/test/models/v3/operation-reply-address.spec.ts | 0 {apps => packages}/parser/test/models/v3/operation-reply.spec.ts | 0 {apps => packages}/parser/test/models/v3/operation-trait.spec.ts | 0 {apps => packages}/parser/test/models/v3/operation.spec.ts | 0 {apps => packages}/parser/test/models/v3/schema.spec.ts | 0 {apps => packages}/parser/test/models/v3/server-variable.spec.ts | 0 {apps => packages}/parser/test/models/v3/server.spec.ts | 0 {apps => packages}/parser/test/models/v3/tag.spec.ts | 0 {apps => packages}/parser/test/models/v3/utils.ts | 0 {apps => packages}/parser/test/old-api/asyncapi.spec.ts | 0 {apps => packages}/parser/test/old-api/base.spec.ts | 0 {apps => packages}/parser/test/old-api/channel-parameter.spec.ts | 0 {apps => packages}/parser/test/old-api/channel.spec.ts | 0 {apps => packages}/parser/test/old-api/components.spec.ts | 0 {apps => packages}/parser/test/old-api/contact.spec.ts | 0 {apps => packages}/parser/test/old-api/converter.spec.ts | 0 {apps => packages}/parser/test/old-api/correlation-id.spec.ts | 0 {apps => packages}/parser/test/old-api/external-docs.spec.ts | 0 {apps => packages}/parser/test/old-api/info.spec.ts | 0 {apps => packages}/parser/test/old-api/iterator.spec.ts | 0 {apps => packages}/parser/test/old-api/license.spec.ts | 0 {apps => packages}/parser/test/old-api/message-trait.spec.ts | 0 {apps => packages}/parser/test/old-api/message.spec.ts | 0 {apps => packages}/parser/test/old-api/mixins.spec.ts | 0 {apps => packages}/parser/test/old-api/mixins.ts | 0 {apps => packages}/parser/test/old-api/oauth-flow.spec.ts | 0 {apps => packages}/parser/test/old-api/operation-trait.spec.ts | 0 {apps => packages}/parser/test/old-api/operation.spec.ts | 0 {apps => packages}/parser/test/old-api/schema.spec.ts | 0 {apps => packages}/parser/test/old-api/security-scheme.spec.ts | 0 {apps => packages}/parser/test/old-api/server-variable.spec.ts | 0 {apps => packages}/parser/test/old-api/server.spec.ts | 0 {apps => packages}/parser/test/old-api/tag.spec.ts | 0 {apps => packages}/parser/test/parse.spec.ts | 0 {apps => packages}/parser/test/parser.spec.ts | 0 {apps => packages}/parser/test/resolver.spec.ts | 0 {apps => packages}/parser/test/ruleset/formats.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts | 0 .../test/ruleset/rules/asyncapi-document-unresolved.spec.ts | 0 {apps => packages}/parser/test/ruleset/rules/asyncapi-id.spec.ts | 0 .../test/ruleset/rules/asyncapi-info-contact-properties.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-info-contact.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-info-description.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-info-license.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-latest-version.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-servers.spec.ts | 0 .../parser/test/ruleset/rules/asyncapi-unused-component.spec.ts | 0 .../ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts | 0 .../rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts | 0 .../ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts | 0 .../rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts | 0 .../rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts | 0 .../rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts | 0 .../test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts | 0 .../parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts | 0 .../parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts | 0 .../ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts | 0 .../ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-server-security.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts | 0 .../parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts | 0 .../test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts | 0 .../v3/asyncapi3-operation-messages-from-referred-channel.spec.ts | 0 .../v3/asyncapi3-required-channel-servers-unambiguity.spec.ts | 0 .../v3/asyncapi3-required-operation-channel-unambiguity.spec.ts | 0 {apps => packages}/parser/test/ruleset/tester.ts | 0 {apps => packages}/parser/test/sample_browser/main/asyncapi.yaml | 0 {apps => packages}/parser/test/sample_browser/refs/refed.yaml | 0 .../parser/test/schema-parser/asyncapi-schema-parser.spec.ts | 0 .../parser/test/schema-parser/spectral-rule-v2.spec.ts | 0 {apps => packages}/parser/test/spectral.spec.ts | 0 {apps => packages}/parser/test/stringify.spec.ts | 0 {apps => packages}/parser/test/utils.spec.ts | 0 {apps => packages}/parser/test/utils.ts | 0 {apps => packages}/parser/test/validate.spec.ts | 0 {apps => packages}/parser/tsconfig.cjs.json | 0 {apps => packages}/parser/tsconfig.json | 0 {apps => packages}/parser/webpack.config.js | 0 400 files changed, 0 insertions(+), 0 deletions(-) rename {apps => packages}/parser/.eslintignore (100%) rename {apps => packages}/parser/.eslintrc (100%) rename {apps => packages}/parser/.gitignore (100%) rename {apps => packages}/parser/LICENSE (100%) rename {apps => packages}/parser/docs/migrations/v1-to-v2.md (100%) rename {apps => packages}/parser/docs/migrations/v2-to-v3.md (100%) rename {apps => packages}/parser/docs/ruleset/README.md (100%) rename {apps => packages}/parser/docs/ruleset/core-ruleset.md (100%) rename {apps => packages}/parser/docs/ruleset/recommended-ruleset.md (100%) rename {apps => packages}/parser/docs/ruleset/v2-core-ruleset.md (100%) rename {apps => packages}/parser/docs/ruleset/v2-recommended-ruleset.md (100%) rename {apps => packages}/parser/jest.config.ts (100%) rename {apps => packages}/parser/package-lock.json (100%) rename {apps => packages}/parser/package.json (100%) rename {apps => packages}/parser/src/constants.ts (100%) rename {apps => packages}/parser/src/custom-operations/anonymous-naming.ts (100%) rename {apps => packages}/parser/src/custom-operations/apply-traits.ts (100%) rename {apps => packages}/parser/src/custom-operations/apply-unique-ids.ts (100%) rename {apps => packages}/parser/src/custom-operations/check-circular-refs.ts (100%) rename {apps => packages}/parser/src/custom-operations/index.ts (100%) rename {apps => packages}/parser/src/custom-operations/parse-schema.ts (100%) rename {apps => packages}/parser/src/custom-operations/resolve-circular-refs.ts (100%) rename {apps => packages}/parser/src/document.ts (100%) rename {apps => packages}/parser/src/from.ts (100%) rename {apps => packages}/parser/src/index.ts (100%) rename {apps => packages}/parser/src/iterator.ts (100%) rename {apps => packages}/parser/src/models/asyncapi.ts (100%) rename {apps => packages}/parser/src/models/base.ts (100%) rename {apps => packages}/parser/src/models/binding.ts (100%) rename {apps => packages}/parser/src/models/bindings.ts (100%) rename {apps => packages}/parser/src/models/channel-parameter.ts (100%) rename {apps => packages}/parser/src/models/channel-parameters.ts (100%) rename {apps => packages}/parser/src/models/channel.ts (100%) rename {apps => packages}/parser/src/models/channels.ts (100%) rename {apps => packages}/parser/src/models/collection.ts (100%) rename {apps => packages}/parser/src/models/components.ts (100%) rename {apps => packages}/parser/src/models/contact.ts (100%) rename {apps => packages}/parser/src/models/correlation-id.ts (100%) rename {apps => packages}/parser/src/models/correlation-ids.ts (100%) rename {apps => packages}/parser/src/models/extension.ts (100%) rename {apps => packages}/parser/src/models/extensions.ts (100%) rename {apps => packages}/parser/src/models/external-docs.ts (100%) rename {apps => packages}/parser/src/models/external-documentation.ts (100%) rename {apps => packages}/parser/src/models/external-documentations.ts (100%) rename {apps => packages}/parser/src/models/index.ts (100%) rename {apps => packages}/parser/src/models/info.ts (100%) rename {apps => packages}/parser/src/models/license.ts (100%) rename {apps => packages}/parser/src/models/message-example.ts (100%) rename {apps => packages}/parser/src/models/message-examples.ts (100%) rename {apps => packages}/parser/src/models/message-trait.ts (100%) rename {apps => packages}/parser/src/models/message-traits.ts (100%) rename {apps => packages}/parser/src/models/message.ts (100%) rename {apps => packages}/parser/src/models/messages.ts (100%) rename {apps => packages}/parser/src/models/mixins.ts (100%) rename {apps => packages}/parser/src/models/oauth-flow.ts (100%) rename {apps => packages}/parser/src/models/oauth-flows.ts (100%) rename {apps => packages}/parser/src/models/operation-replies.ts (100%) rename {apps => packages}/parser/src/models/operation-reply-address.ts (100%) rename {apps => packages}/parser/src/models/operation-reply-addresses.ts (100%) rename {apps => packages}/parser/src/models/operation-reply.ts (100%) rename {apps => packages}/parser/src/models/operation-trait.ts (100%) rename {apps => packages}/parser/src/models/operation-traits.ts (100%) rename {apps => packages}/parser/src/models/operation.ts (100%) rename {apps => packages}/parser/src/models/operations.ts (100%) rename {apps => packages}/parser/src/models/schema.ts (100%) rename {apps => packages}/parser/src/models/schemas.ts (100%) rename {apps => packages}/parser/src/models/security-requirement.ts (100%) rename {apps => packages}/parser/src/models/security-requirements.ts (100%) rename {apps => packages}/parser/src/models/security-scheme.ts (100%) rename {apps => packages}/parser/src/models/security-schemes.ts (100%) rename {apps => packages}/parser/src/models/server-variable.ts (100%) rename {apps => packages}/parser/src/models/server-variables.ts (100%) rename {apps => packages}/parser/src/models/server.ts (100%) rename {apps => packages}/parser/src/models/servers.ts (100%) rename {apps => packages}/parser/src/models/tag.ts (100%) rename {apps => packages}/parser/src/models/tags.ts (100%) rename {apps => packages}/parser/src/models/utils.ts (100%) rename {apps => packages}/parser/src/models/v2/asyncapi.ts (100%) rename {apps => packages}/parser/src/models/v2/binding.ts (100%) rename {apps => packages}/parser/src/models/v2/bindings.ts (100%) rename {apps => packages}/parser/src/models/v2/channel-parameter.ts (100%) rename {apps => packages}/parser/src/models/v2/channel-parameters.ts (100%) rename {apps => packages}/parser/src/models/v2/channel.ts (100%) rename {apps => packages}/parser/src/models/v2/channels.ts (100%) rename {apps => packages}/parser/src/models/v2/components.ts (100%) rename {apps => packages}/parser/src/models/v2/contact.ts (100%) rename {apps => packages}/parser/src/models/v2/correlation-id.ts (100%) rename {apps => packages}/parser/src/models/v2/correlation-ids.ts (100%) rename {apps => packages}/parser/src/models/v2/extension.ts (100%) rename {apps => packages}/parser/src/models/v2/extensions.ts (100%) rename {apps => packages}/parser/src/models/v2/external-docs.ts (100%) rename {apps => packages}/parser/src/models/v2/index.ts (100%) rename {apps => packages}/parser/src/models/v2/info.ts (100%) rename {apps => packages}/parser/src/models/v2/license.ts (100%) rename {apps => packages}/parser/src/models/v2/message-example.ts (100%) rename {apps => packages}/parser/src/models/v2/message-examples.ts (100%) rename {apps => packages}/parser/src/models/v2/message-trait.ts (100%) rename {apps => packages}/parser/src/models/v2/message-traits.ts (100%) rename {apps => packages}/parser/src/models/v2/message.ts (100%) rename {apps => packages}/parser/src/models/v2/messages.ts (100%) rename {apps => packages}/parser/src/models/v2/mixins.ts (100%) rename {apps => packages}/parser/src/models/v2/oauth-flow.ts (100%) rename {apps => packages}/parser/src/models/v2/oauth-flows.ts (100%) rename {apps => packages}/parser/src/models/v2/operation-trait.ts (100%) rename {apps => packages}/parser/src/models/v2/operation-traits.ts (100%) rename {apps => packages}/parser/src/models/v2/operation.ts (100%) rename {apps => packages}/parser/src/models/v2/operations.ts (100%) rename {apps => packages}/parser/src/models/v2/schema.ts (100%) rename {apps => packages}/parser/src/models/v2/schemas.ts (100%) rename {apps => packages}/parser/src/models/v2/security-requirement.ts (100%) rename {apps => packages}/parser/src/models/v2/security-requirements.ts (100%) rename {apps => packages}/parser/src/models/v2/security-scheme.ts (100%) rename {apps => packages}/parser/src/models/v2/security-schemes.ts (100%) rename {apps => packages}/parser/src/models/v2/server-variable.ts (100%) rename {apps => packages}/parser/src/models/v2/server-variables.ts (100%) rename {apps => packages}/parser/src/models/v2/server.ts (100%) rename {apps => packages}/parser/src/models/v2/servers.ts (100%) rename {apps => packages}/parser/src/models/v2/tag.ts (100%) rename {apps => packages}/parser/src/models/v2/tags.ts (100%) rename {apps => packages}/parser/src/models/v3/asyncapi.ts (100%) rename {apps => packages}/parser/src/models/v3/binding.ts (100%) rename {apps => packages}/parser/src/models/v3/bindings.ts (100%) rename {apps => packages}/parser/src/models/v3/channel-parameter.ts (100%) rename {apps => packages}/parser/src/models/v3/channel-parameters.ts (100%) rename {apps => packages}/parser/src/models/v3/channel.ts (100%) rename {apps => packages}/parser/src/models/v3/channels.ts (100%) rename {apps => packages}/parser/src/models/v3/components.ts (100%) rename {apps => packages}/parser/src/models/v3/contact.ts (100%) rename {apps => packages}/parser/src/models/v3/correlation-id.ts (100%) rename {apps => packages}/parser/src/models/v3/correlation-ids.ts (100%) rename {apps => packages}/parser/src/models/v3/extension.ts (100%) rename {apps => packages}/parser/src/models/v3/extensions.ts (100%) rename {apps => packages}/parser/src/models/v3/external-docs.ts (100%) rename {apps => packages}/parser/src/models/v3/index.ts (100%) rename {apps => packages}/parser/src/models/v3/info.ts (100%) rename {apps => packages}/parser/src/models/v3/license.ts (100%) rename {apps => packages}/parser/src/models/v3/message-example.ts (100%) rename {apps => packages}/parser/src/models/v3/message-examples.ts (100%) rename {apps => packages}/parser/src/models/v3/message-trait.ts (100%) rename {apps => packages}/parser/src/models/v3/message-traits.ts (100%) rename {apps => packages}/parser/src/models/v3/message.ts (100%) rename {apps => packages}/parser/src/models/v3/messages.ts (100%) rename {apps => packages}/parser/src/models/v3/mixins.ts (100%) rename {apps => packages}/parser/src/models/v3/oauth-flow.ts (100%) rename {apps => packages}/parser/src/models/v3/oauth-flows.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-replies.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-reply-address.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-reply-addresses.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-reply.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-trait.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-traits.ts (100%) rename {apps => packages}/parser/src/models/v3/operation.ts (100%) rename {apps => packages}/parser/src/models/v3/operations.ts (100%) rename {apps => packages}/parser/src/models/v3/schema.ts (100%) rename {apps => packages}/parser/src/models/v3/schemas.ts (100%) rename {apps => packages}/parser/src/models/v3/security-requirement.ts (100%) rename {apps => packages}/parser/src/models/v3/security-requirements.ts (100%) rename {apps => packages}/parser/src/models/v3/security-scheme.ts (100%) rename {apps => packages}/parser/src/models/v3/security-schemes.ts (100%) rename {apps => packages}/parser/src/models/v3/server-variable.ts (100%) rename {apps => packages}/parser/src/models/v3/server-variables.ts (100%) rename {apps => packages}/parser/src/models/v3/server.ts (100%) rename {apps => packages}/parser/src/models/v3/servers.ts (100%) rename {apps => packages}/parser/src/models/v3/tag.ts (100%) rename {apps => packages}/parser/src/models/v3/tags.ts (100%) rename {apps => packages}/parser/src/old-api/asyncapi.ts (100%) rename {apps => packages}/parser/src/old-api/base.ts (100%) rename {apps => packages}/parser/src/old-api/channel-parameter.ts (100%) rename {apps => packages}/parser/src/old-api/channel.ts (100%) rename {apps => packages}/parser/src/old-api/components.ts (100%) rename {apps => packages}/parser/src/old-api/contact.ts (100%) rename {apps => packages}/parser/src/old-api/converter.ts (100%) rename {apps => packages}/parser/src/old-api/correlation-id.ts (100%) rename {apps => packages}/parser/src/old-api/external-docs.ts (100%) rename {apps => packages}/parser/src/old-api/index.ts (100%) rename {apps => packages}/parser/src/old-api/info.ts (100%) rename {apps => packages}/parser/src/old-api/iterator.ts (100%) rename {apps => packages}/parser/src/old-api/license.ts (100%) rename {apps => packages}/parser/src/old-api/message-trait.ts (100%) rename {apps => packages}/parser/src/old-api/message.ts (100%) rename {apps => packages}/parser/src/old-api/mixins.ts (100%) rename {apps => packages}/parser/src/old-api/oauth-flow.ts (100%) rename {apps => packages}/parser/src/old-api/operation-trait.ts (100%) rename {apps => packages}/parser/src/old-api/operation.ts (100%) rename {apps => packages}/parser/src/old-api/schema.ts (100%) rename {apps => packages}/parser/src/old-api/security-requirement.ts (100%) rename {apps => packages}/parser/src/old-api/security-scheme.ts (100%) rename {apps => packages}/parser/src/old-api/server-variable.ts (100%) rename {apps => packages}/parser/src/old-api/server.ts (100%) rename {apps => packages}/parser/src/old-api/tag.ts (100%) rename {apps => packages}/parser/src/parse.ts (100%) rename {apps => packages}/parser/src/parser.ts (100%) rename {apps => packages}/parser/src/resolver.ts (100%) rename {apps => packages}/parser/src/ruleset/formats.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/documentStructure.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/internal.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/isAsyncAPIDocument.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/uniquenessTags.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/unusedComponent.ts (100%) rename {apps => packages}/parser/src/ruleset/index.ts (100%) rename {apps => packages}/parser/src/ruleset/ruleset.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/getMissingProps.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/getRedundantProps.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/index.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/mergeTraits.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/parseUrlVariables.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/channelParameters.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/channelServers.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/checkId.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/messageExamples.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/messageIdUniqueness.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/operationIdUniqueness.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/schemaValidation.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/security.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/serverVariables.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/index.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/ruleset.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/utils/getAllMessages.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/utils/getAllOperations.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/utils/index.ts (100%) rename {apps => packages}/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts (100%) rename {apps => packages}/parser/src/ruleset/v3/index.ts (100%) rename {apps => packages}/parser/src/ruleset/v3/ruleset.ts (100%) rename {apps => packages}/parser/src/schema-parser/asyncapi-schema-parser.ts (100%) rename {apps => packages}/parser/src/schema-parser/index.ts (100%) rename {apps => packages}/parser/src/schema-parser/spectral-rule-v2.ts (100%) rename {apps => packages}/parser/src/spec-types/index.ts (100%) rename {apps => packages}/parser/src/spec-types/v2.ts (100%) rename {apps => packages}/parser/src/spec-types/v3.ts (100%) rename {apps => packages}/parser/src/spectral.ts (100%) rename {apps => packages}/parser/src/stringify.ts (100%) rename {apps => packages}/parser/src/types.ts (100%) rename {apps => packages}/parser/src/utils.ts (100%) rename {apps => packages}/parser/src/validate.ts (100%) rename {apps => packages}/parser/test/browser/browser.spec.ts (100%) rename {apps => packages}/parser/test/browser/sample-page.html (100%) rename {apps => packages}/parser/test/custom-operations/anonymous-naming.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-traits-v2.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-traits-v3.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-traits.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-unique-ids.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/check-circular-refs.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/parse-schema-v2.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/parse-schema-v3.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/resolve-circular-refs.spec.ts (100%) rename {apps => packages}/parser/test/document.spec.ts (100%) rename {apps => packages}/parser/test/from.spec.ts (100%) rename {apps => packages}/parser/test/iterator.spec.ts (100%) rename {apps => packages}/parser/test/mocks/circular-refs.yaml (100%) rename {apps => packages}/parser/test/mocks/nested-schemas.yaml (100%) rename {apps => packages}/parser/test/mocks/parse/circular-ref-deep.yaml (100%) rename {apps => packages}/parser/test/mocks/parse/circular-ref.yaml (100%) rename {apps => packages}/parser/test/mocks/refs-1.yaml (100%) rename {apps => packages}/parser/test/mocks/refs-2.yaml (100%) rename {apps => packages}/parser/test/mocks/simple-message.yaml (100%) rename {apps => packages}/parser/test/mocks/simple-with-refs.yaml (100%) rename {apps => packages}/parser/test/mocks/simple.yaml (100%) rename {apps => packages}/parser/test/models/base.spec.ts (100%) rename {apps => packages}/parser/test/models/collection.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/bindings.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channel-parameter.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channel-parameters.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channel.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channels.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/components.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/contact.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/correlation-id.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/external-docs.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/external-documentation.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/info.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/license.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-example.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-examples.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-traits.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/messages.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/mixins.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/oauth-flow.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/oauth-flows.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operation-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operation-traits.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operation.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operations.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/schema.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/security-requirement.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/security-requirements.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/security-scheme.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/server-variable.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/server.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/servers.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/tag.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/tags.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/utils.ts (100%) rename {apps => packages}/parser/test/models/v3/asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/bindings.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/channel-parameter.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/channel.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/components.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/contact.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/correlation-id.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/external-documentation.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/info.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/license.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/message-example.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/message-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/message.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/oauth-flow.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/oauth-flows.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation-reply-address.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation-reply.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/schema.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/server-variable.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/server.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/tag.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/utils.ts (100%) rename {apps => packages}/parser/test/old-api/asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/old-api/base.spec.ts (100%) rename {apps => packages}/parser/test/old-api/channel-parameter.spec.ts (100%) rename {apps => packages}/parser/test/old-api/channel.spec.ts (100%) rename {apps => packages}/parser/test/old-api/components.spec.ts (100%) rename {apps => packages}/parser/test/old-api/contact.spec.ts (100%) rename {apps => packages}/parser/test/old-api/converter.spec.ts (100%) rename {apps => packages}/parser/test/old-api/correlation-id.spec.ts (100%) rename {apps => packages}/parser/test/old-api/external-docs.spec.ts (100%) rename {apps => packages}/parser/test/old-api/info.spec.ts (100%) rename {apps => packages}/parser/test/old-api/iterator.spec.ts (100%) rename {apps => packages}/parser/test/old-api/license.spec.ts (100%) rename {apps => packages}/parser/test/old-api/message-trait.spec.ts (100%) rename {apps => packages}/parser/test/old-api/message.spec.ts (100%) rename {apps => packages}/parser/test/old-api/mixins.spec.ts (100%) rename {apps => packages}/parser/test/old-api/mixins.ts (100%) rename {apps => packages}/parser/test/old-api/oauth-flow.spec.ts (100%) rename {apps => packages}/parser/test/old-api/operation-trait.spec.ts (100%) rename {apps => packages}/parser/test/old-api/operation.spec.ts (100%) rename {apps => packages}/parser/test/old-api/schema.spec.ts (100%) rename {apps => packages}/parser/test/old-api/security-scheme.spec.ts (100%) rename {apps => packages}/parser/test/old-api/server-variable.spec.ts (100%) rename {apps => packages}/parser/test/old-api/server.spec.ts (100%) rename {apps => packages}/parser/test/old-api/tag.spec.ts (100%) rename {apps => packages}/parser/test/parse.spec.ts (100%) rename {apps => packages}/parser/test/parser.spec.ts (100%) rename {apps => packages}/parser/test/resolver.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/formats.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-id.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-description.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-license.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-servers.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/tester.ts (100%) rename {apps => packages}/parser/test/sample_browser/main/asyncapi.yaml (100%) rename {apps => packages}/parser/test/sample_browser/refs/refed.yaml (100%) rename {apps => packages}/parser/test/schema-parser/asyncapi-schema-parser.spec.ts (100%) rename {apps => packages}/parser/test/schema-parser/spectral-rule-v2.spec.ts (100%) rename {apps => packages}/parser/test/spectral.spec.ts (100%) rename {apps => packages}/parser/test/stringify.spec.ts (100%) rename {apps => packages}/parser/test/utils.spec.ts (100%) rename {apps => packages}/parser/test/utils.ts (100%) rename {apps => packages}/parser/test/validate.spec.ts (100%) rename {apps => packages}/parser/tsconfig.cjs.json (100%) rename {apps => packages}/parser/tsconfig.json (100%) rename {apps => packages}/parser/webpack.config.js (100%) diff --git a/apps/parser/.eslintignore b/packages/parser/.eslintignore similarity index 100% rename from apps/parser/.eslintignore rename to packages/parser/.eslintignore diff --git a/apps/parser/.eslintrc b/packages/parser/.eslintrc similarity index 100% rename from apps/parser/.eslintrc rename to packages/parser/.eslintrc diff --git a/apps/parser/.gitignore b/packages/parser/.gitignore similarity index 100% rename from apps/parser/.gitignore rename to packages/parser/.gitignore diff --git a/apps/parser/LICENSE b/packages/parser/LICENSE similarity index 100% rename from apps/parser/LICENSE rename to packages/parser/LICENSE diff --git a/apps/parser/docs/migrations/v1-to-v2.md b/packages/parser/docs/migrations/v1-to-v2.md similarity index 100% rename from apps/parser/docs/migrations/v1-to-v2.md rename to packages/parser/docs/migrations/v1-to-v2.md diff --git a/apps/parser/docs/migrations/v2-to-v3.md b/packages/parser/docs/migrations/v2-to-v3.md similarity index 100% rename from apps/parser/docs/migrations/v2-to-v3.md rename to packages/parser/docs/migrations/v2-to-v3.md diff --git a/apps/parser/docs/ruleset/README.md b/packages/parser/docs/ruleset/README.md similarity index 100% rename from apps/parser/docs/ruleset/README.md rename to packages/parser/docs/ruleset/README.md diff --git a/apps/parser/docs/ruleset/core-ruleset.md b/packages/parser/docs/ruleset/core-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/core-ruleset.md rename to packages/parser/docs/ruleset/core-ruleset.md diff --git a/apps/parser/docs/ruleset/recommended-ruleset.md b/packages/parser/docs/ruleset/recommended-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/recommended-ruleset.md rename to packages/parser/docs/ruleset/recommended-ruleset.md diff --git a/apps/parser/docs/ruleset/v2-core-ruleset.md b/packages/parser/docs/ruleset/v2-core-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/v2-core-ruleset.md rename to packages/parser/docs/ruleset/v2-core-ruleset.md diff --git a/apps/parser/docs/ruleset/v2-recommended-ruleset.md b/packages/parser/docs/ruleset/v2-recommended-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/v2-recommended-ruleset.md rename to packages/parser/docs/ruleset/v2-recommended-ruleset.md diff --git a/apps/parser/jest.config.ts b/packages/parser/jest.config.ts similarity index 100% rename from apps/parser/jest.config.ts rename to packages/parser/jest.config.ts diff --git a/apps/parser/package-lock.json b/packages/parser/package-lock.json similarity index 100% rename from apps/parser/package-lock.json rename to packages/parser/package-lock.json diff --git a/apps/parser/package.json b/packages/parser/package.json similarity index 100% rename from apps/parser/package.json rename to packages/parser/package.json diff --git a/apps/parser/src/constants.ts b/packages/parser/src/constants.ts similarity index 100% rename from apps/parser/src/constants.ts rename to packages/parser/src/constants.ts diff --git a/apps/parser/src/custom-operations/anonymous-naming.ts b/packages/parser/src/custom-operations/anonymous-naming.ts similarity index 100% rename from apps/parser/src/custom-operations/anonymous-naming.ts rename to packages/parser/src/custom-operations/anonymous-naming.ts diff --git a/apps/parser/src/custom-operations/apply-traits.ts b/packages/parser/src/custom-operations/apply-traits.ts similarity index 100% rename from apps/parser/src/custom-operations/apply-traits.ts rename to packages/parser/src/custom-operations/apply-traits.ts diff --git a/apps/parser/src/custom-operations/apply-unique-ids.ts b/packages/parser/src/custom-operations/apply-unique-ids.ts similarity index 100% rename from apps/parser/src/custom-operations/apply-unique-ids.ts rename to packages/parser/src/custom-operations/apply-unique-ids.ts diff --git a/apps/parser/src/custom-operations/check-circular-refs.ts b/packages/parser/src/custom-operations/check-circular-refs.ts similarity index 100% rename from apps/parser/src/custom-operations/check-circular-refs.ts rename to packages/parser/src/custom-operations/check-circular-refs.ts diff --git a/apps/parser/src/custom-operations/index.ts b/packages/parser/src/custom-operations/index.ts similarity index 100% rename from apps/parser/src/custom-operations/index.ts rename to packages/parser/src/custom-operations/index.ts diff --git a/apps/parser/src/custom-operations/parse-schema.ts b/packages/parser/src/custom-operations/parse-schema.ts similarity index 100% rename from apps/parser/src/custom-operations/parse-schema.ts rename to packages/parser/src/custom-operations/parse-schema.ts diff --git a/apps/parser/src/custom-operations/resolve-circular-refs.ts b/packages/parser/src/custom-operations/resolve-circular-refs.ts similarity index 100% rename from apps/parser/src/custom-operations/resolve-circular-refs.ts rename to packages/parser/src/custom-operations/resolve-circular-refs.ts diff --git a/apps/parser/src/document.ts b/packages/parser/src/document.ts similarity index 100% rename from apps/parser/src/document.ts rename to packages/parser/src/document.ts diff --git a/apps/parser/src/from.ts b/packages/parser/src/from.ts similarity index 100% rename from apps/parser/src/from.ts rename to packages/parser/src/from.ts diff --git a/apps/parser/src/index.ts b/packages/parser/src/index.ts similarity index 100% rename from apps/parser/src/index.ts rename to packages/parser/src/index.ts diff --git a/apps/parser/src/iterator.ts b/packages/parser/src/iterator.ts similarity index 100% rename from apps/parser/src/iterator.ts rename to packages/parser/src/iterator.ts diff --git a/apps/parser/src/models/asyncapi.ts b/packages/parser/src/models/asyncapi.ts similarity index 100% rename from apps/parser/src/models/asyncapi.ts rename to packages/parser/src/models/asyncapi.ts diff --git a/apps/parser/src/models/base.ts b/packages/parser/src/models/base.ts similarity index 100% rename from apps/parser/src/models/base.ts rename to packages/parser/src/models/base.ts diff --git a/apps/parser/src/models/binding.ts b/packages/parser/src/models/binding.ts similarity index 100% rename from apps/parser/src/models/binding.ts rename to packages/parser/src/models/binding.ts diff --git a/apps/parser/src/models/bindings.ts b/packages/parser/src/models/bindings.ts similarity index 100% rename from apps/parser/src/models/bindings.ts rename to packages/parser/src/models/bindings.ts diff --git a/apps/parser/src/models/channel-parameter.ts b/packages/parser/src/models/channel-parameter.ts similarity index 100% rename from apps/parser/src/models/channel-parameter.ts rename to packages/parser/src/models/channel-parameter.ts diff --git a/apps/parser/src/models/channel-parameters.ts b/packages/parser/src/models/channel-parameters.ts similarity index 100% rename from apps/parser/src/models/channel-parameters.ts rename to packages/parser/src/models/channel-parameters.ts diff --git a/apps/parser/src/models/channel.ts b/packages/parser/src/models/channel.ts similarity index 100% rename from apps/parser/src/models/channel.ts rename to packages/parser/src/models/channel.ts diff --git a/apps/parser/src/models/channels.ts b/packages/parser/src/models/channels.ts similarity index 100% rename from apps/parser/src/models/channels.ts rename to packages/parser/src/models/channels.ts diff --git a/apps/parser/src/models/collection.ts b/packages/parser/src/models/collection.ts similarity index 100% rename from apps/parser/src/models/collection.ts rename to packages/parser/src/models/collection.ts diff --git a/apps/parser/src/models/components.ts b/packages/parser/src/models/components.ts similarity index 100% rename from apps/parser/src/models/components.ts rename to packages/parser/src/models/components.ts diff --git a/apps/parser/src/models/contact.ts b/packages/parser/src/models/contact.ts similarity index 100% rename from apps/parser/src/models/contact.ts rename to packages/parser/src/models/contact.ts diff --git a/apps/parser/src/models/correlation-id.ts b/packages/parser/src/models/correlation-id.ts similarity index 100% rename from apps/parser/src/models/correlation-id.ts rename to packages/parser/src/models/correlation-id.ts diff --git a/apps/parser/src/models/correlation-ids.ts b/packages/parser/src/models/correlation-ids.ts similarity index 100% rename from apps/parser/src/models/correlation-ids.ts rename to packages/parser/src/models/correlation-ids.ts diff --git a/apps/parser/src/models/extension.ts b/packages/parser/src/models/extension.ts similarity index 100% rename from apps/parser/src/models/extension.ts rename to packages/parser/src/models/extension.ts diff --git a/apps/parser/src/models/extensions.ts b/packages/parser/src/models/extensions.ts similarity index 100% rename from apps/parser/src/models/extensions.ts rename to packages/parser/src/models/extensions.ts diff --git a/apps/parser/src/models/external-docs.ts b/packages/parser/src/models/external-docs.ts similarity index 100% rename from apps/parser/src/models/external-docs.ts rename to packages/parser/src/models/external-docs.ts diff --git a/apps/parser/src/models/external-documentation.ts b/packages/parser/src/models/external-documentation.ts similarity index 100% rename from apps/parser/src/models/external-documentation.ts rename to packages/parser/src/models/external-documentation.ts diff --git a/apps/parser/src/models/external-documentations.ts b/packages/parser/src/models/external-documentations.ts similarity index 100% rename from apps/parser/src/models/external-documentations.ts rename to packages/parser/src/models/external-documentations.ts diff --git a/apps/parser/src/models/index.ts b/packages/parser/src/models/index.ts similarity index 100% rename from apps/parser/src/models/index.ts rename to packages/parser/src/models/index.ts diff --git a/apps/parser/src/models/info.ts b/packages/parser/src/models/info.ts similarity index 100% rename from apps/parser/src/models/info.ts rename to packages/parser/src/models/info.ts diff --git a/apps/parser/src/models/license.ts b/packages/parser/src/models/license.ts similarity index 100% rename from apps/parser/src/models/license.ts rename to packages/parser/src/models/license.ts diff --git a/apps/parser/src/models/message-example.ts b/packages/parser/src/models/message-example.ts similarity index 100% rename from apps/parser/src/models/message-example.ts rename to packages/parser/src/models/message-example.ts diff --git a/apps/parser/src/models/message-examples.ts b/packages/parser/src/models/message-examples.ts similarity index 100% rename from apps/parser/src/models/message-examples.ts rename to packages/parser/src/models/message-examples.ts diff --git a/apps/parser/src/models/message-trait.ts b/packages/parser/src/models/message-trait.ts similarity index 100% rename from apps/parser/src/models/message-trait.ts rename to packages/parser/src/models/message-trait.ts diff --git a/apps/parser/src/models/message-traits.ts b/packages/parser/src/models/message-traits.ts similarity index 100% rename from apps/parser/src/models/message-traits.ts rename to packages/parser/src/models/message-traits.ts diff --git a/apps/parser/src/models/message.ts b/packages/parser/src/models/message.ts similarity index 100% rename from apps/parser/src/models/message.ts rename to packages/parser/src/models/message.ts diff --git a/apps/parser/src/models/messages.ts b/packages/parser/src/models/messages.ts similarity index 100% rename from apps/parser/src/models/messages.ts rename to packages/parser/src/models/messages.ts diff --git a/apps/parser/src/models/mixins.ts b/packages/parser/src/models/mixins.ts similarity index 100% rename from apps/parser/src/models/mixins.ts rename to packages/parser/src/models/mixins.ts diff --git a/apps/parser/src/models/oauth-flow.ts b/packages/parser/src/models/oauth-flow.ts similarity index 100% rename from apps/parser/src/models/oauth-flow.ts rename to packages/parser/src/models/oauth-flow.ts diff --git a/apps/parser/src/models/oauth-flows.ts b/packages/parser/src/models/oauth-flows.ts similarity index 100% rename from apps/parser/src/models/oauth-flows.ts rename to packages/parser/src/models/oauth-flows.ts diff --git a/apps/parser/src/models/operation-replies.ts b/packages/parser/src/models/operation-replies.ts similarity index 100% rename from apps/parser/src/models/operation-replies.ts rename to packages/parser/src/models/operation-replies.ts diff --git a/apps/parser/src/models/operation-reply-address.ts b/packages/parser/src/models/operation-reply-address.ts similarity index 100% rename from apps/parser/src/models/operation-reply-address.ts rename to packages/parser/src/models/operation-reply-address.ts diff --git a/apps/parser/src/models/operation-reply-addresses.ts b/packages/parser/src/models/operation-reply-addresses.ts similarity index 100% rename from apps/parser/src/models/operation-reply-addresses.ts rename to packages/parser/src/models/operation-reply-addresses.ts diff --git a/apps/parser/src/models/operation-reply.ts b/packages/parser/src/models/operation-reply.ts similarity index 100% rename from apps/parser/src/models/operation-reply.ts rename to packages/parser/src/models/operation-reply.ts diff --git a/apps/parser/src/models/operation-trait.ts b/packages/parser/src/models/operation-trait.ts similarity index 100% rename from apps/parser/src/models/operation-trait.ts rename to packages/parser/src/models/operation-trait.ts diff --git a/apps/parser/src/models/operation-traits.ts b/packages/parser/src/models/operation-traits.ts similarity index 100% rename from apps/parser/src/models/operation-traits.ts rename to packages/parser/src/models/operation-traits.ts diff --git a/apps/parser/src/models/operation.ts b/packages/parser/src/models/operation.ts similarity index 100% rename from apps/parser/src/models/operation.ts rename to packages/parser/src/models/operation.ts diff --git a/apps/parser/src/models/operations.ts b/packages/parser/src/models/operations.ts similarity index 100% rename from apps/parser/src/models/operations.ts rename to packages/parser/src/models/operations.ts diff --git a/apps/parser/src/models/schema.ts b/packages/parser/src/models/schema.ts similarity index 100% rename from apps/parser/src/models/schema.ts rename to packages/parser/src/models/schema.ts diff --git a/apps/parser/src/models/schemas.ts b/packages/parser/src/models/schemas.ts similarity index 100% rename from apps/parser/src/models/schemas.ts rename to packages/parser/src/models/schemas.ts diff --git a/apps/parser/src/models/security-requirement.ts b/packages/parser/src/models/security-requirement.ts similarity index 100% rename from apps/parser/src/models/security-requirement.ts rename to packages/parser/src/models/security-requirement.ts diff --git a/apps/parser/src/models/security-requirements.ts b/packages/parser/src/models/security-requirements.ts similarity index 100% rename from apps/parser/src/models/security-requirements.ts rename to packages/parser/src/models/security-requirements.ts diff --git a/apps/parser/src/models/security-scheme.ts b/packages/parser/src/models/security-scheme.ts similarity index 100% rename from apps/parser/src/models/security-scheme.ts rename to packages/parser/src/models/security-scheme.ts diff --git a/apps/parser/src/models/security-schemes.ts b/packages/parser/src/models/security-schemes.ts similarity index 100% rename from apps/parser/src/models/security-schemes.ts rename to packages/parser/src/models/security-schemes.ts diff --git a/apps/parser/src/models/server-variable.ts b/packages/parser/src/models/server-variable.ts similarity index 100% rename from apps/parser/src/models/server-variable.ts rename to packages/parser/src/models/server-variable.ts diff --git a/apps/parser/src/models/server-variables.ts b/packages/parser/src/models/server-variables.ts similarity index 100% rename from apps/parser/src/models/server-variables.ts rename to packages/parser/src/models/server-variables.ts diff --git a/apps/parser/src/models/server.ts b/packages/parser/src/models/server.ts similarity index 100% rename from apps/parser/src/models/server.ts rename to packages/parser/src/models/server.ts diff --git a/apps/parser/src/models/servers.ts b/packages/parser/src/models/servers.ts similarity index 100% rename from apps/parser/src/models/servers.ts rename to packages/parser/src/models/servers.ts diff --git a/apps/parser/src/models/tag.ts b/packages/parser/src/models/tag.ts similarity index 100% rename from apps/parser/src/models/tag.ts rename to packages/parser/src/models/tag.ts diff --git a/apps/parser/src/models/tags.ts b/packages/parser/src/models/tags.ts similarity index 100% rename from apps/parser/src/models/tags.ts rename to packages/parser/src/models/tags.ts diff --git a/apps/parser/src/models/utils.ts b/packages/parser/src/models/utils.ts similarity index 100% rename from apps/parser/src/models/utils.ts rename to packages/parser/src/models/utils.ts diff --git a/apps/parser/src/models/v2/asyncapi.ts b/packages/parser/src/models/v2/asyncapi.ts similarity index 100% rename from apps/parser/src/models/v2/asyncapi.ts rename to packages/parser/src/models/v2/asyncapi.ts diff --git a/apps/parser/src/models/v2/binding.ts b/packages/parser/src/models/v2/binding.ts similarity index 100% rename from apps/parser/src/models/v2/binding.ts rename to packages/parser/src/models/v2/binding.ts diff --git a/apps/parser/src/models/v2/bindings.ts b/packages/parser/src/models/v2/bindings.ts similarity index 100% rename from apps/parser/src/models/v2/bindings.ts rename to packages/parser/src/models/v2/bindings.ts diff --git a/apps/parser/src/models/v2/channel-parameter.ts b/packages/parser/src/models/v2/channel-parameter.ts similarity index 100% rename from apps/parser/src/models/v2/channel-parameter.ts rename to packages/parser/src/models/v2/channel-parameter.ts diff --git a/apps/parser/src/models/v2/channel-parameters.ts b/packages/parser/src/models/v2/channel-parameters.ts similarity index 100% rename from apps/parser/src/models/v2/channel-parameters.ts rename to packages/parser/src/models/v2/channel-parameters.ts diff --git a/apps/parser/src/models/v2/channel.ts b/packages/parser/src/models/v2/channel.ts similarity index 100% rename from apps/parser/src/models/v2/channel.ts rename to packages/parser/src/models/v2/channel.ts diff --git a/apps/parser/src/models/v2/channels.ts b/packages/parser/src/models/v2/channels.ts similarity index 100% rename from apps/parser/src/models/v2/channels.ts rename to packages/parser/src/models/v2/channels.ts diff --git a/apps/parser/src/models/v2/components.ts b/packages/parser/src/models/v2/components.ts similarity index 100% rename from apps/parser/src/models/v2/components.ts rename to packages/parser/src/models/v2/components.ts diff --git a/apps/parser/src/models/v2/contact.ts b/packages/parser/src/models/v2/contact.ts similarity index 100% rename from apps/parser/src/models/v2/contact.ts rename to packages/parser/src/models/v2/contact.ts diff --git a/apps/parser/src/models/v2/correlation-id.ts b/packages/parser/src/models/v2/correlation-id.ts similarity index 100% rename from apps/parser/src/models/v2/correlation-id.ts rename to packages/parser/src/models/v2/correlation-id.ts diff --git a/apps/parser/src/models/v2/correlation-ids.ts b/packages/parser/src/models/v2/correlation-ids.ts similarity index 100% rename from apps/parser/src/models/v2/correlation-ids.ts rename to packages/parser/src/models/v2/correlation-ids.ts diff --git a/apps/parser/src/models/v2/extension.ts b/packages/parser/src/models/v2/extension.ts similarity index 100% rename from apps/parser/src/models/v2/extension.ts rename to packages/parser/src/models/v2/extension.ts diff --git a/apps/parser/src/models/v2/extensions.ts b/packages/parser/src/models/v2/extensions.ts similarity index 100% rename from apps/parser/src/models/v2/extensions.ts rename to packages/parser/src/models/v2/extensions.ts diff --git a/apps/parser/src/models/v2/external-docs.ts b/packages/parser/src/models/v2/external-docs.ts similarity index 100% rename from apps/parser/src/models/v2/external-docs.ts rename to packages/parser/src/models/v2/external-docs.ts diff --git a/apps/parser/src/models/v2/index.ts b/packages/parser/src/models/v2/index.ts similarity index 100% rename from apps/parser/src/models/v2/index.ts rename to packages/parser/src/models/v2/index.ts diff --git a/apps/parser/src/models/v2/info.ts b/packages/parser/src/models/v2/info.ts similarity index 100% rename from apps/parser/src/models/v2/info.ts rename to packages/parser/src/models/v2/info.ts diff --git a/apps/parser/src/models/v2/license.ts b/packages/parser/src/models/v2/license.ts similarity index 100% rename from apps/parser/src/models/v2/license.ts rename to packages/parser/src/models/v2/license.ts diff --git a/apps/parser/src/models/v2/message-example.ts b/packages/parser/src/models/v2/message-example.ts similarity index 100% rename from apps/parser/src/models/v2/message-example.ts rename to packages/parser/src/models/v2/message-example.ts diff --git a/apps/parser/src/models/v2/message-examples.ts b/packages/parser/src/models/v2/message-examples.ts similarity index 100% rename from apps/parser/src/models/v2/message-examples.ts rename to packages/parser/src/models/v2/message-examples.ts diff --git a/apps/parser/src/models/v2/message-trait.ts b/packages/parser/src/models/v2/message-trait.ts similarity index 100% rename from apps/parser/src/models/v2/message-trait.ts rename to packages/parser/src/models/v2/message-trait.ts diff --git a/apps/parser/src/models/v2/message-traits.ts b/packages/parser/src/models/v2/message-traits.ts similarity index 100% rename from apps/parser/src/models/v2/message-traits.ts rename to packages/parser/src/models/v2/message-traits.ts diff --git a/apps/parser/src/models/v2/message.ts b/packages/parser/src/models/v2/message.ts similarity index 100% rename from apps/parser/src/models/v2/message.ts rename to packages/parser/src/models/v2/message.ts diff --git a/apps/parser/src/models/v2/messages.ts b/packages/parser/src/models/v2/messages.ts similarity index 100% rename from apps/parser/src/models/v2/messages.ts rename to packages/parser/src/models/v2/messages.ts diff --git a/apps/parser/src/models/v2/mixins.ts b/packages/parser/src/models/v2/mixins.ts similarity index 100% rename from apps/parser/src/models/v2/mixins.ts rename to packages/parser/src/models/v2/mixins.ts diff --git a/apps/parser/src/models/v2/oauth-flow.ts b/packages/parser/src/models/v2/oauth-flow.ts similarity index 100% rename from apps/parser/src/models/v2/oauth-flow.ts rename to packages/parser/src/models/v2/oauth-flow.ts diff --git a/apps/parser/src/models/v2/oauth-flows.ts b/packages/parser/src/models/v2/oauth-flows.ts similarity index 100% rename from apps/parser/src/models/v2/oauth-flows.ts rename to packages/parser/src/models/v2/oauth-flows.ts diff --git a/apps/parser/src/models/v2/operation-trait.ts b/packages/parser/src/models/v2/operation-trait.ts similarity index 100% rename from apps/parser/src/models/v2/operation-trait.ts rename to packages/parser/src/models/v2/operation-trait.ts diff --git a/apps/parser/src/models/v2/operation-traits.ts b/packages/parser/src/models/v2/operation-traits.ts similarity index 100% rename from apps/parser/src/models/v2/operation-traits.ts rename to packages/parser/src/models/v2/operation-traits.ts diff --git a/apps/parser/src/models/v2/operation.ts b/packages/parser/src/models/v2/operation.ts similarity index 100% rename from apps/parser/src/models/v2/operation.ts rename to packages/parser/src/models/v2/operation.ts diff --git a/apps/parser/src/models/v2/operations.ts b/packages/parser/src/models/v2/operations.ts similarity index 100% rename from apps/parser/src/models/v2/operations.ts rename to packages/parser/src/models/v2/operations.ts diff --git a/apps/parser/src/models/v2/schema.ts b/packages/parser/src/models/v2/schema.ts similarity index 100% rename from apps/parser/src/models/v2/schema.ts rename to packages/parser/src/models/v2/schema.ts diff --git a/apps/parser/src/models/v2/schemas.ts b/packages/parser/src/models/v2/schemas.ts similarity index 100% rename from apps/parser/src/models/v2/schemas.ts rename to packages/parser/src/models/v2/schemas.ts diff --git a/apps/parser/src/models/v2/security-requirement.ts b/packages/parser/src/models/v2/security-requirement.ts similarity index 100% rename from apps/parser/src/models/v2/security-requirement.ts rename to packages/parser/src/models/v2/security-requirement.ts diff --git a/apps/parser/src/models/v2/security-requirements.ts b/packages/parser/src/models/v2/security-requirements.ts similarity index 100% rename from apps/parser/src/models/v2/security-requirements.ts rename to packages/parser/src/models/v2/security-requirements.ts diff --git a/apps/parser/src/models/v2/security-scheme.ts b/packages/parser/src/models/v2/security-scheme.ts similarity index 100% rename from apps/parser/src/models/v2/security-scheme.ts rename to packages/parser/src/models/v2/security-scheme.ts diff --git a/apps/parser/src/models/v2/security-schemes.ts b/packages/parser/src/models/v2/security-schemes.ts similarity index 100% rename from apps/parser/src/models/v2/security-schemes.ts rename to packages/parser/src/models/v2/security-schemes.ts diff --git a/apps/parser/src/models/v2/server-variable.ts b/packages/parser/src/models/v2/server-variable.ts similarity index 100% rename from apps/parser/src/models/v2/server-variable.ts rename to packages/parser/src/models/v2/server-variable.ts diff --git a/apps/parser/src/models/v2/server-variables.ts b/packages/parser/src/models/v2/server-variables.ts similarity index 100% rename from apps/parser/src/models/v2/server-variables.ts rename to packages/parser/src/models/v2/server-variables.ts diff --git a/apps/parser/src/models/v2/server.ts b/packages/parser/src/models/v2/server.ts similarity index 100% rename from apps/parser/src/models/v2/server.ts rename to packages/parser/src/models/v2/server.ts diff --git a/apps/parser/src/models/v2/servers.ts b/packages/parser/src/models/v2/servers.ts similarity index 100% rename from apps/parser/src/models/v2/servers.ts rename to packages/parser/src/models/v2/servers.ts diff --git a/apps/parser/src/models/v2/tag.ts b/packages/parser/src/models/v2/tag.ts similarity index 100% rename from apps/parser/src/models/v2/tag.ts rename to packages/parser/src/models/v2/tag.ts diff --git a/apps/parser/src/models/v2/tags.ts b/packages/parser/src/models/v2/tags.ts similarity index 100% rename from apps/parser/src/models/v2/tags.ts rename to packages/parser/src/models/v2/tags.ts diff --git a/apps/parser/src/models/v3/asyncapi.ts b/packages/parser/src/models/v3/asyncapi.ts similarity index 100% rename from apps/parser/src/models/v3/asyncapi.ts rename to packages/parser/src/models/v3/asyncapi.ts diff --git a/apps/parser/src/models/v3/binding.ts b/packages/parser/src/models/v3/binding.ts similarity index 100% rename from apps/parser/src/models/v3/binding.ts rename to packages/parser/src/models/v3/binding.ts diff --git a/apps/parser/src/models/v3/bindings.ts b/packages/parser/src/models/v3/bindings.ts similarity index 100% rename from apps/parser/src/models/v3/bindings.ts rename to packages/parser/src/models/v3/bindings.ts diff --git a/apps/parser/src/models/v3/channel-parameter.ts b/packages/parser/src/models/v3/channel-parameter.ts similarity index 100% rename from apps/parser/src/models/v3/channel-parameter.ts rename to packages/parser/src/models/v3/channel-parameter.ts diff --git a/apps/parser/src/models/v3/channel-parameters.ts b/packages/parser/src/models/v3/channel-parameters.ts similarity index 100% rename from apps/parser/src/models/v3/channel-parameters.ts rename to packages/parser/src/models/v3/channel-parameters.ts diff --git a/apps/parser/src/models/v3/channel.ts b/packages/parser/src/models/v3/channel.ts similarity index 100% rename from apps/parser/src/models/v3/channel.ts rename to packages/parser/src/models/v3/channel.ts diff --git a/apps/parser/src/models/v3/channels.ts b/packages/parser/src/models/v3/channels.ts similarity index 100% rename from apps/parser/src/models/v3/channels.ts rename to packages/parser/src/models/v3/channels.ts diff --git a/apps/parser/src/models/v3/components.ts b/packages/parser/src/models/v3/components.ts similarity index 100% rename from apps/parser/src/models/v3/components.ts rename to packages/parser/src/models/v3/components.ts diff --git a/apps/parser/src/models/v3/contact.ts b/packages/parser/src/models/v3/contact.ts similarity index 100% rename from apps/parser/src/models/v3/contact.ts rename to packages/parser/src/models/v3/contact.ts diff --git a/apps/parser/src/models/v3/correlation-id.ts b/packages/parser/src/models/v3/correlation-id.ts similarity index 100% rename from apps/parser/src/models/v3/correlation-id.ts rename to packages/parser/src/models/v3/correlation-id.ts diff --git a/apps/parser/src/models/v3/correlation-ids.ts b/packages/parser/src/models/v3/correlation-ids.ts similarity index 100% rename from apps/parser/src/models/v3/correlation-ids.ts rename to packages/parser/src/models/v3/correlation-ids.ts diff --git a/apps/parser/src/models/v3/extension.ts b/packages/parser/src/models/v3/extension.ts similarity index 100% rename from apps/parser/src/models/v3/extension.ts rename to packages/parser/src/models/v3/extension.ts diff --git a/apps/parser/src/models/v3/extensions.ts b/packages/parser/src/models/v3/extensions.ts similarity index 100% rename from apps/parser/src/models/v3/extensions.ts rename to packages/parser/src/models/v3/extensions.ts diff --git a/apps/parser/src/models/v3/external-docs.ts b/packages/parser/src/models/v3/external-docs.ts similarity index 100% rename from apps/parser/src/models/v3/external-docs.ts rename to packages/parser/src/models/v3/external-docs.ts diff --git a/apps/parser/src/models/v3/index.ts b/packages/parser/src/models/v3/index.ts similarity index 100% rename from apps/parser/src/models/v3/index.ts rename to packages/parser/src/models/v3/index.ts diff --git a/apps/parser/src/models/v3/info.ts b/packages/parser/src/models/v3/info.ts similarity index 100% rename from apps/parser/src/models/v3/info.ts rename to packages/parser/src/models/v3/info.ts diff --git a/apps/parser/src/models/v3/license.ts b/packages/parser/src/models/v3/license.ts similarity index 100% rename from apps/parser/src/models/v3/license.ts rename to packages/parser/src/models/v3/license.ts diff --git a/apps/parser/src/models/v3/message-example.ts b/packages/parser/src/models/v3/message-example.ts similarity index 100% rename from apps/parser/src/models/v3/message-example.ts rename to packages/parser/src/models/v3/message-example.ts diff --git a/apps/parser/src/models/v3/message-examples.ts b/packages/parser/src/models/v3/message-examples.ts similarity index 100% rename from apps/parser/src/models/v3/message-examples.ts rename to packages/parser/src/models/v3/message-examples.ts diff --git a/apps/parser/src/models/v3/message-trait.ts b/packages/parser/src/models/v3/message-trait.ts similarity index 100% rename from apps/parser/src/models/v3/message-trait.ts rename to packages/parser/src/models/v3/message-trait.ts diff --git a/apps/parser/src/models/v3/message-traits.ts b/packages/parser/src/models/v3/message-traits.ts similarity index 100% rename from apps/parser/src/models/v3/message-traits.ts rename to packages/parser/src/models/v3/message-traits.ts diff --git a/apps/parser/src/models/v3/message.ts b/packages/parser/src/models/v3/message.ts similarity index 100% rename from apps/parser/src/models/v3/message.ts rename to packages/parser/src/models/v3/message.ts diff --git a/apps/parser/src/models/v3/messages.ts b/packages/parser/src/models/v3/messages.ts similarity index 100% rename from apps/parser/src/models/v3/messages.ts rename to packages/parser/src/models/v3/messages.ts diff --git a/apps/parser/src/models/v3/mixins.ts b/packages/parser/src/models/v3/mixins.ts similarity index 100% rename from apps/parser/src/models/v3/mixins.ts rename to packages/parser/src/models/v3/mixins.ts diff --git a/apps/parser/src/models/v3/oauth-flow.ts b/packages/parser/src/models/v3/oauth-flow.ts similarity index 100% rename from apps/parser/src/models/v3/oauth-flow.ts rename to packages/parser/src/models/v3/oauth-flow.ts diff --git a/apps/parser/src/models/v3/oauth-flows.ts b/packages/parser/src/models/v3/oauth-flows.ts similarity index 100% rename from apps/parser/src/models/v3/oauth-flows.ts rename to packages/parser/src/models/v3/oauth-flows.ts diff --git a/apps/parser/src/models/v3/operation-replies.ts b/packages/parser/src/models/v3/operation-replies.ts similarity index 100% rename from apps/parser/src/models/v3/operation-replies.ts rename to packages/parser/src/models/v3/operation-replies.ts diff --git a/apps/parser/src/models/v3/operation-reply-address.ts b/packages/parser/src/models/v3/operation-reply-address.ts similarity index 100% rename from apps/parser/src/models/v3/operation-reply-address.ts rename to packages/parser/src/models/v3/operation-reply-address.ts diff --git a/apps/parser/src/models/v3/operation-reply-addresses.ts b/packages/parser/src/models/v3/operation-reply-addresses.ts similarity index 100% rename from apps/parser/src/models/v3/operation-reply-addresses.ts rename to packages/parser/src/models/v3/operation-reply-addresses.ts diff --git a/apps/parser/src/models/v3/operation-reply.ts b/packages/parser/src/models/v3/operation-reply.ts similarity index 100% rename from apps/parser/src/models/v3/operation-reply.ts rename to packages/parser/src/models/v3/operation-reply.ts diff --git a/apps/parser/src/models/v3/operation-trait.ts b/packages/parser/src/models/v3/operation-trait.ts similarity index 100% rename from apps/parser/src/models/v3/operation-trait.ts rename to packages/parser/src/models/v3/operation-trait.ts diff --git a/apps/parser/src/models/v3/operation-traits.ts b/packages/parser/src/models/v3/operation-traits.ts similarity index 100% rename from apps/parser/src/models/v3/operation-traits.ts rename to packages/parser/src/models/v3/operation-traits.ts diff --git a/apps/parser/src/models/v3/operation.ts b/packages/parser/src/models/v3/operation.ts similarity index 100% rename from apps/parser/src/models/v3/operation.ts rename to packages/parser/src/models/v3/operation.ts diff --git a/apps/parser/src/models/v3/operations.ts b/packages/parser/src/models/v3/operations.ts similarity index 100% rename from apps/parser/src/models/v3/operations.ts rename to packages/parser/src/models/v3/operations.ts diff --git a/apps/parser/src/models/v3/schema.ts b/packages/parser/src/models/v3/schema.ts similarity index 100% rename from apps/parser/src/models/v3/schema.ts rename to packages/parser/src/models/v3/schema.ts diff --git a/apps/parser/src/models/v3/schemas.ts b/packages/parser/src/models/v3/schemas.ts similarity index 100% rename from apps/parser/src/models/v3/schemas.ts rename to packages/parser/src/models/v3/schemas.ts diff --git a/apps/parser/src/models/v3/security-requirement.ts b/packages/parser/src/models/v3/security-requirement.ts similarity index 100% rename from apps/parser/src/models/v3/security-requirement.ts rename to packages/parser/src/models/v3/security-requirement.ts diff --git a/apps/parser/src/models/v3/security-requirements.ts b/packages/parser/src/models/v3/security-requirements.ts similarity index 100% rename from apps/parser/src/models/v3/security-requirements.ts rename to packages/parser/src/models/v3/security-requirements.ts diff --git a/apps/parser/src/models/v3/security-scheme.ts b/packages/parser/src/models/v3/security-scheme.ts similarity index 100% rename from apps/parser/src/models/v3/security-scheme.ts rename to packages/parser/src/models/v3/security-scheme.ts diff --git a/apps/parser/src/models/v3/security-schemes.ts b/packages/parser/src/models/v3/security-schemes.ts similarity index 100% rename from apps/parser/src/models/v3/security-schemes.ts rename to packages/parser/src/models/v3/security-schemes.ts diff --git a/apps/parser/src/models/v3/server-variable.ts b/packages/parser/src/models/v3/server-variable.ts similarity index 100% rename from apps/parser/src/models/v3/server-variable.ts rename to packages/parser/src/models/v3/server-variable.ts diff --git a/apps/parser/src/models/v3/server-variables.ts b/packages/parser/src/models/v3/server-variables.ts similarity index 100% rename from apps/parser/src/models/v3/server-variables.ts rename to packages/parser/src/models/v3/server-variables.ts diff --git a/apps/parser/src/models/v3/server.ts b/packages/parser/src/models/v3/server.ts similarity index 100% rename from apps/parser/src/models/v3/server.ts rename to packages/parser/src/models/v3/server.ts diff --git a/apps/parser/src/models/v3/servers.ts b/packages/parser/src/models/v3/servers.ts similarity index 100% rename from apps/parser/src/models/v3/servers.ts rename to packages/parser/src/models/v3/servers.ts diff --git a/apps/parser/src/models/v3/tag.ts b/packages/parser/src/models/v3/tag.ts similarity index 100% rename from apps/parser/src/models/v3/tag.ts rename to packages/parser/src/models/v3/tag.ts diff --git a/apps/parser/src/models/v3/tags.ts b/packages/parser/src/models/v3/tags.ts similarity index 100% rename from apps/parser/src/models/v3/tags.ts rename to packages/parser/src/models/v3/tags.ts diff --git a/apps/parser/src/old-api/asyncapi.ts b/packages/parser/src/old-api/asyncapi.ts similarity index 100% rename from apps/parser/src/old-api/asyncapi.ts rename to packages/parser/src/old-api/asyncapi.ts diff --git a/apps/parser/src/old-api/base.ts b/packages/parser/src/old-api/base.ts similarity index 100% rename from apps/parser/src/old-api/base.ts rename to packages/parser/src/old-api/base.ts diff --git a/apps/parser/src/old-api/channel-parameter.ts b/packages/parser/src/old-api/channel-parameter.ts similarity index 100% rename from apps/parser/src/old-api/channel-parameter.ts rename to packages/parser/src/old-api/channel-parameter.ts diff --git a/apps/parser/src/old-api/channel.ts b/packages/parser/src/old-api/channel.ts similarity index 100% rename from apps/parser/src/old-api/channel.ts rename to packages/parser/src/old-api/channel.ts diff --git a/apps/parser/src/old-api/components.ts b/packages/parser/src/old-api/components.ts similarity index 100% rename from apps/parser/src/old-api/components.ts rename to packages/parser/src/old-api/components.ts diff --git a/apps/parser/src/old-api/contact.ts b/packages/parser/src/old-api/contact.ts similarity index 100% rename from apps/parser/src/old-api/contact.ts rename to packages/parser/src/old-api/contact.ts diff --git a/apps/parser/src/old-api/converter.ts b/packages/parser/src/old-api/converter.ts similarity index 100% rename from apps/parser/src/old-api/converter.ts rename to packages/parser/src/old-api/converter.ts diff --git a/apps/parser/src/old-api/correlation-id.ts b/packages/parser/src/old-api/correlation-id.ts similarity index 100% rename from apps/parser/src/old-api/correlation-id.ts rename to packages/parser/src/old-api/correlation-id.ts diff --git a/apps/parser/src/old-api/external-docs.ts b/packages/parser/src/old-api/external-docs.ts similarity index 100% rename from apps/parser/src/old-api/external-docs.ts rename to packages/parser/src/old-api/external-docs.ts diff --git a/apps/parser/src/old-api/index.ts b/packages/parser/src/old-api/index.ts similarity index 100% rename from apps/parser/src/old-api/index.ts rename to packages/parser/src/old-api/index.ts diff --git a/apps/parser/src/old-api/info.ts b/packages/parser/src/old-api/info.ts similarity index 100% rename from apps/parser/src/old-api/info.ts rename to packages/parser/src/old-api/info.ts diff --git a/apps/parser/src/old-api/iterator.ts b/packages/parser/src/old-api/iterator.ts similarity index 100% rename from apps/parser/src/old-api/iterator.ts rename to packages/parser/src/old-api/iterator.ts diff --git a/apps/parser/src/old-api/license.ts b/packages/parser/src/old-api/license.ts similarity index 100% rename from apps/parser/src/old-api/license.ts rename to packages/parser/src/old-api/license.ts diff --git a/apps/parser/src/old-api/message-trait.ts b/packages/parser/src/old-api/message-trait.ts similarity index 100% rename from apps/parser/src/old-api/message-trait.ts rename to packages/parser/src/old-api/message-trait.ts diff --git a/apps/parser/src/old-api/message.ts b/packages/parser/src/old-api/message.ts similarity index 100% rename from apps/parser/src/old-api/message.ts rename to packages/parser/src/old-api/message.ts diff --git a/apps/parser/src/old-api/mixins.ts b/packages/parser/src/old-api/mixins.ts similarity index 100% rename from apps/parser/src/old-api/mixins.ts rename to packages/parser/src/old-api/mixins.ts diff --git a/apps/parser/src/old-api/oauth-flow.ts b/packages/parser/src/old-api/oauth-flow.ts similarity index 100% rename from apps/parser/src/old-api/oauth-flow.ts rename to packages/parser/src/old-api/oauth-flow.ts diff --git a/apps/parser/src/old-api/operation-trait.ts b/packages/parser/src/old-api/operation-trait.ts similarity index 100% rename from apps/parser/src/old-api/operation-trait.ts rename to packages/parser/src/old-api/operation-trait.ts diff --git a/apps/parser/src/old-api/operation.ts b/packages/parser/src/old-api/operation.ts similarity index 100% rename from apps/parser/src/old-api/operation.ts rename to packages/parser/src/old-api/operation.ts diff --git a/apps/parser/src/old-api/schema.ts b/packages/parser/src/old-api/schema.ts similarity index 100% rename from apps/parser/src/old-api/schema.ts rename to packages/parser/src/old-api/schema.ts diff --git a/apps/parser/src/old-api/security-requirement.ts b/packages/parser/src/old-api/security-requirement.ts similarity index 100% rename from apps/parser/src/old-api/security-requirement.ts rename to packages/parser/src/old-api/security-requirement.ts diff --git a/apps/parser/src/old-api/security-scheme.ts b/packages/parser/src/old-api/security-scheme.ts similarity index 100% rename from apps/parser/src/old-api/security-scheme.ts rename to packages/parser/src/old-api/security-scheme.ts diff --git a/apps/parser/src/old-api/server-variable.ts b/packages/parser/src/old-api/server-variable.ts similarity index 100% rename from apps/parser/src/old-api/server-variable.ts rename to packages/parser/src/old-api/server-variable.ts diff --git a/apps/parser/src/old-api/server.ts b/packages/parser/src/old-api/server.ts similarity index 100% rename from apps/parser/src/old-api/server.ts rename to packages/parser/src/old-api/server.ts diff --git a/apps/parser/src/old-api/tag.ts b/packages/parser/src/old-api/tag.ts similarity index 100% rename from apps/parser/src/old-api/tag.ts rename to packages/parser/src/old-api/tag.ts diff --git a/apps/parser/src/parse.ts b/packages/parser/src/parse.ts similarity index 100% rename from apps/parser/src/parse.ts rename to packages/parser/src/parse.ts diff --git a/apps/parser/src/parser.ts b/packages/parser/src/parser.ts similarity index 100% rename from apps/parser/src/parser.ts rename to packages/parser/src/parser.ts diff --git a/apps/parser/src/resolver.ts b/packages/parser/src/resolver.ts similarity index 100% rename from apps/parser/src/resolver.ts rename to packages/parser/src/resolver.ts diff --git a/apps/parser/src/ruleset/formats.ts b/packages/parser/src/ruleset/formats.ts similarity index 100% rename from apps/parser/src/ruleset/formats.ts rename to packages/parser/src/ruleset/formats.ts diff --git a/apps/parser/src/ruleset/functions/documentStructure.ts b/packages/parser/src/ruleset/functions/documentStructure.ts similarity index 100% rename from apps/parser/src/ruleset/functions/documentStructure.ts rename to packages/parser/src/ruleset/functions/documentStructure.ts diff --git a/apps/parser/src/ruleset/functions/internal.ts b/packages/parser/src/ruleset/functions/internal.ts similarity index 100% rename from apps/parser/src/ruleset/functions/internal.ts rename to packages/parser/src/ruleset/functions/internal.ts diff --git a/apps/parser/src/ruleset/functions/isAsyncAPIDocument.ts b/packages/parser/src/ruleset/functions/isAsyncAPIDocument.ts similarity index 100% rename from apps/parser/src/ruleset/functions/isAsyncAPIDocument.ts rename to packages/parser/src/ruleset/functions/isAsyncAPIDocument.ts diff --git a/apps/parser/src/ruleset/functions/uniquenessTags.ts b/packages/parser/src/ruleset/functions/uniquenessTags.ts similarity index 100% rename from apps/parser/src/ruleset/functions/uniquenessTags.ts rename to packages/parser/src/ruleset/functions/uniquenessTags.ts diff --git a/apps/parser/src/ruleset/functions/unusedComponent.ts b/packages/parser/src/ruleset/functions/unusedComponent.ts similarity index 100% rename from apps/parser/src/ruleset/functions/unusedComponent.ts rename to packages/parser/src/ruleset/functions/unusedComponent.ts diff --git a/apps/parser/src/ruleset/index.ts b/packages/parser/src/ruleset/index.ts similarity index 100% rename from apps/parser/src/ruleset/index.ts rename to packages/parser/src/ruleset/index.ts diff --git a/apps/parser/src/ruleset/ruleset.ts b/packages/parser/src/ruleset/ruleset.ts similarity index 100% rename from apps/parser/src/ruleset/ruleset.ts rename to packages/parser/src/ruleset/ruleset.ts diff --git a/apps/parser/src/ruleset/utils/getMissingProps.ts b/packages/parser/src/ruleset/utils/getMissingProps.ts similarity index 100% rename from apps/parser/src/ruleset/utils/getMissingProps.ts rename to packages/parser/src/ruleset/utils/getMissingProps.ts diff --git a/apps/parser/src/ruleset/utils/getRedundantProps.ts b/packages/parser/src/ruleset/utils/getRedundantProps.ts similarity index 100% rename from apps/parser/src/ruleset/utils/getRedundantProps.ts rename to packages/parser/src/ruleset/utils/getRedundantProps.ts diff --git a/apps/parser/src/ruleset/utils/index.ts b/packages/parser/src/ruleset/utils/index.ts similarity index 100% rename from apps/parser/src/ruleset/utils/index.ts rename to packages/parser/src/ruleset/utils/index.ts diff --git a/apps/parser/src/ruleset/utils/mergeTraits.ts b/packages/parser/src/ruleset/utils/mergeTraits.ts similarity index 100% rename from apps/parser/src/ruleset/utils/mergeTraits.ts rename to packages/parser/src/ruleset/utils/mergeTraits.ts diff --git a/apps/parser/src/ruleset/utils/parseUrlVariables.ts b/packages/parser/src/ruleset/utils/parseUrlVariables.ts similarity index 100% rename from apps/parser/src/ruleset/utils/parseUrlVariables.ts rename to packages/parser/src/ruleset/utils/parseUrlVariables.ts diff --git a/apps/parser/src/ruleset/v2/functions/channelParameters.ts b/packages/parser/src/ruleset/v2/functions/channelParameters.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/channelParameters.ts rename to packages/parser/src/ruleset/v2/functions/channelParameters.ts diff --git a/apps/parser/src/ruleset/v2/functions/channelServers.ts b/packages/parser/src/ruleset/v2/functions/channelServers.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/channelServers.ts rename to packages/parser/src/ruleset/v2/functions/channelServers.ts diff --git a/apps/parser/src/ruleset/v2/functions/checkId.ts b/packages/parser/src/ruleset/v2/functions/checkId.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/checkId.ts rename to packages/parser/src/ruleset/v2/functions/checkId.ts diff --git a/apps/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts b/packages/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts rename to packages/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts diff --git a/apps/parser/src/ruleset/v2/functions/messageExamples.ts b/packages/parser/src/ruleset/v2/functions/messageExamples.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/messageExamples.ts rename to packages/parser/src/ruleset/v2/functions/messageExamples.ts diff --git a/apps/parser/src/ruleset/v2/functions/messageIdUniqueness.ts b/packages/parser/src/ruleset/v2/functions/messageIdUniqueness.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/messageIdUniqueness.ts rename to packages/parser/src/ruleset/v2/functions/messageIdUniqueness.ts diff --git a/apps/parser/src/ruleset/v2/functions/operationIdUniqueness.ts b/packages/parser/src/ruleset/v2/functions/operationIdUniqueness.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/operationIdUniqueness.ts rename to packages/parser/src/ruleset/v2/functions/operationIdUniqueness.ts diff --git a/apps/parser/src/ruleset/v2/functions/schemaValidation.ts b/packages/parser/src/ruleset/v2/functions/schemaValidation.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/schemaValidation.ts rename to packages/parser/src/ruleset/v2/functions/schemaValidation.ts diff --git a/apps/parser/src/ruleset/v2/functions/security.ts b/packages/parser/src/ruleset/v2/functions/security.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/security.ts rename to packages/parser/src/ruleset/v2/functions/security.ts diff --git a/apps/parser/src/ruleset/v2/functions/serverVariables.ts b/packages/parser/src/ruleset/v2/functions/serverVariables.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/serverVariables.ts rename to packages/parser/src/ruleset/v2/functions/serverVariables.ts diff --git a/apps/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts b/packages/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts rename to packages/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts diff --git a/apps/parser/src/ruleset/v2/index.ts b/packages/parser/src/ruleset/v2/index.ts similarity index 100% rename from apps/parser/src/ruleset/v2/index.ts rename to packages/parser/src/ruleset/v2/index.ts diff --git a/apps/parser/src/ruleset/v2/ruleset.ts b/packages/parser/src/ruleset/v2/ruleset.ts similarity index 100% rename from apps/parser/src/ruleset/v2/ruleset.ts rename to packages/parser/src/ruleset/v2/ruleset.ts diff --git a/apps/parser/src/ruleset/v2/utils/getAllMessages.ts b/packages/parser/src/ruleset/v2/utils/getAllMessages.ts similarity index 100% rename from apps/parser/src/ruleset/v2/utils/getAllMessages.ts rename to packages/parser/src/ruleset/v2/utils/getAllMessages.ts diff --git a/apps/parser/src/ruleset/v2/utils/getAllOperations.ts b/packages/parser/src/ruleset/v2/utils/getAllOperations.ts similarity index 100% rename from apps/parser/src/ruleset/v2/utils/getAllOperations.ts rename to packages/parser/src/ruleset/v2/utils/getAllOperations.ts diff --git a/apps/parser/src/ruleset/v2/utils/index.ts b/packages/parser/src/ruleset/v2/utils/index.ts similarity index 100% rename from apps/parser/src/ruleset/v2/utils/index.ts rename to packages/parser/src/ruleset/v2/utils/index.ts diff --git a/apps/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts b/packages/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts similarity index 100% rename from apps/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts rename to packages/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts diff --git a/apps/parser/src/ruleset/v3/index.ts b/packages/parser/src/ruleset/v3/index.ts similarity index 100% rename from apps/parser/src/ruleset/v3/index.ts rename to packages/parser/src/ruleset/v3/index.ts diff --git a/apps/parser/src/ruleset/v3/ruleset.ts b/packages/parser/src/ruleset/v3/ruleset.ts similarity index 100% rename from apps/parser/src/ruleset/v3/ruleset.ts rename to packages/parser/src/ruleset/v3/ruleset.ts diff --git a/apps/parser/src/schema-parser/asyncapi-schema-parser.ts b/packages/parser/src/schema-parser/asyncapi-schema-parser.ts similarity index 100% rename from apps/parser/src/schema-parser/asyncapi-schema-parser.ts rename to packages/parser/src/schema-parser/asyncapi-schema-parser.ts diff --git a/apps/parser/src/schema-parser/index.ts b/packages/parser/src/schema-parser/index.ts similarity index 100% rename from apps/parser/src/schema-parser/index.ts rename to packages/parser/src/schema-parser/index.ts diff --git a/apps/parser/src/schema-parser/spectral-rule-v2.ts b/packages/parser/src/schema-parser/spectral-rule-v2.ts similarity index 100% rename from apps/parser/src/schema-parser/spectral-rule-v2.ts rename to packages/parser/src/schema-parser/spectral-rule-v2.ts diff --git a/apps/parser/src/spec-types/index.ts b/packages/parser/src/spec-types/index.ts similarity index 100% rename from apps/parser/src/spec-types/index.ts rename to packages/parser/src/spec-types/index.ts diff --git a/apps/parser/src/spec-types/v2.ts b/packages/parser/src/spec-types/v2.ts similarity index 100% rename from apps/parser/src/spec-types/v2.ts rename to packages/parser/src/spec-types/v2.ts diff --git a/apps/parser/src/spec-types/v3.ts b/packages/parser/src/spec-types/v3.ts similarity index 100% rename from apps/parser/src/spec-types/v3.ts rename to packages/parser/src/spec-types/v3.ts diff --git a/apps/parser/src/spectral.ts b/packages/parser/src/spectral.ts similarity index 100% rename from apps/parser/src/spectral.ts rename to packages/parser/src/spectral.ts diff --git a/apps/parser/src/stringify.ts b/packages/parser/src/stringify.ts similarity index 100% rename from apps/parser/src/stringify.ts rename to packages/parser/src/stringify.ts diff --git a/apps/parser/src/types.ts b/packages/parser/src/types.ts similarity index 100% rename from apps/parser/src/types.ts rename to packages/parser/src/types.ts diff --git a/apps/parser/src/utils.ts b/packages/parser/src/utils.ts similarity index 100% rename from apps/parser/src/utils.ts rename to packages/parser/src/utils.ts diff --git a/apps/parser/src/validate.ts b/packages/parser/src/validate.ts similarity index 100% rename from apps/parser/src/validate.ts rename to packages/parser/src/validate.ts diff --git a/apps/parser/test/browser/browser.spec.ts b/packages/parser/test/browser/browser.spec.ts similarity index 100% rename from apps/parser/test/browser/browser.spec.ts rename to packages/parser/test/browser/browser.spec.ts diff --git a/apps/parser/test/browser/sample-page.html b/packages/parser/test/browser/sample-page.html similarity index 100% rename from apps/parser/test/browser/sample-page.html rename to packages/parser/test/browser/sample-page.html diff --git a/apps/parser/test/custom-operations/anonymous-naming.spec.ts b/packages/parser/test/custom-operations/anonymous-naming.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/anonymous-naming.spec.ts rename to packages/parser/test/custom-operations/anonymous-naming.spec.ts diff --git a/apps/parser/test/custom-operations/apply-traits-v2.spec.ts b/packages/parser/test/custom-operations/apply-traits-v2.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-traits-v2.spec.ts rename to packages/parser/test/custom-operations/apply-traits-v2.spec.ts diff --git a/apps/parser/test/custom-operations/apply-traits-v3.spec.ts b/packages/parser/test/custom-operations/apply-traits-v3.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-traits-v3.spec.ts rename to packages/parser/test/custom-operations/apply-traits-v3.spec.ts diff --git a/apps/parser/test/custom-operations/apply-traits.spec.ts b/packages/parser/test/custom-operations/apply-traits.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-traits.spec.ts rename to packages/parser/test/custom-operations/apply-traits.spec.ts diff --git a/apps/parser/test/custom-operations/apply-unique-ids.spec.ts b/packages/parser/test/custom-operations/apply-unique-ids.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-unique-ids.spec.ts rename to packages/parser/test/custom-operations/apply-unique-ids.spec.ts diff --git a/apps/parser/test/custom-operations/check-circular-refs.spec.ts b/packages/parser/test/custom-operations/check-circular-refs.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/check-circular-refs.spec.ts rename to packages/parser/test/custom-operations/check-circular-refs.spec.ts diff --git a/apps/parser/test/custom-operations/parse-schema-v2.spec.ts b/packages/parser/test/custom-operations/parse-schema-v2.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/parse-schema-v2.spec.ts rename to packages/parser/test/custom-operations/parse-schema-v2.spec.ts diff --git a/apps/parser/test/custom-operations/parse-schema-v3.spec.ts b/packages/parser/test/custom-operations/parse-schema-v3.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/parse-schema-v3.spec.ts rename to packages/parser/test/custom-operations/parse-schema-v3.spec.ts diff --git a/apps/parser/test/custom-operations/resolve-circular-refs.spec.ts b/packages/parser/test/custom-operations/resolve-circular-refs.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/resolve-circular-refs.spec.ts rename to packages/parser/test/custom-operations/resolve-circular-refs.spec.ts diff --git a/apps/parser/test/document.spec.ts b/packages/parser/test/document.spec.ts similarity index 100% rename from apps/parser/test/document.spec.ts rename to packages/parser/test/document.spec.ts diff --git a/apps/parser/test/from.spec.ts b/packages/parser/test/from.spec.ts similarity index 100% rename from apps/parser/test/from.spec.ts rename to packages/parser/test/from.spec.ts diff --git a/apps/parser/test/iterator.spec.ts b/packages/parser/test/iterator.spec.ts similarity index 100% rename from apps/parser/test/iterator.spec.ts rename to packages/parser/test/iterator.spec.ts diff --git a/apps/parser/test/mocks/circular-refs.yaml b/packages/parser/test/mocks/circular-refs.yaml similarity index 100% rename from apps/parser/test/mocks/circular-refs.yaml rename to packages/parser/test/mocks/circular-refs.yaml diff --git a/apps/parser/test/mocks/nested-schemas.yaml b/packages/parser/test/mocks/nested-schemas.yaml similarity index 100% rename from apps/parser/test/mocks/nested-schemas.yaml rename to packages/parser/test/mocks/nested-schemas.yaml diff --git a/apps/parser/test/mocks/parse/circular-ref-deep.yaml b/packages/parser/test/mocks/parse/circular-ref-deep.yaml similarity index 100% rename from apps/parser/test/mocks/parse/circular-ref-deep.yaml rename to packages/parser/test/mocks/parse/circular-ref-deep.yaml diff --git a/apps/parser/test/mocks/parse/circular-ref.yaml b/packages/parser/test/mocks/parse/circular-ref.yaml similarity index 100% rename from apps/parser/test/mocks/parse/circular-ref.yaml rename to packages/parser/test/mocks/parse/circular-ref.yaml diff --git a/apps/parser/test/mocks/refs-1.yaml b/packages/parser/test/mocks/refs-1.yaml similarity index 100% rename from apps/parser/test/mocks/refs-1.yaml rename to packages/parser/test/mocks/refs-1.yaml diff --git a/apps/parser/test/mocks/refs-2.yaml b/packages/parser/test/mocks/refs-2.yaml similarity index 100% rename from apps/parser/test/mocks/refs-2.yaml rename to packages/parser/test/mocks/refs-2.yaml diff --git a/apps/parser/test/mocks/simple-message.yaml b/packages/parser/test/mocks/simple-message.yaml similarity index 100% rename from apps/parser/test/mocks/simple-message.yaml rename to packages/parser/test/mocks/simple-message.yaml diff --git a/apps/parser/test/mocks/simple-with-refs.yaml b/packages/parser/test/mocks/simple-with-refs.yaml similarity index 100% rename from apps/parser/test/mocks/simple-with-refs.yaml rename to packages/parser/test/mocks/simple-with-refs.yaml diff --git a/apps/parser/test/mocks/simple.yaml b/packages/parser/test/mocks/simple.yaml similarity index 100% rename from apps/parser/test/mocks/simple.yaml rename to packages/parser/test/mocks/simple.yaml diff --git a/apps/parser/test/models/base.spec.ts b/packages/parser/test/models/base.spec.ts similarity index 100% rename from apps/parser/test/models/base.spec.ts rename to packages/parser/test/models/base.spec.ts diff --git a/apps/parser/test/models/collection.spec.ts b/packages/parser/test/models/collection.spec.ts similarity index 100% rename from apps/parser/test/models/collection.spec.ts rename to packages/parser/test/models/collection.spec.ts diff --git a/apps/parser/test/models/v2/asyncapi.spec.ts b/packages/parser/test/models/v2/asyncapi.spec.ts similarity index 100% rename from apps/parser/test/models/v2/asyncapi.spec.ts rename to packages/parser/test/models/v2/asyncapi.spec.ts diff --git a/apps/parser/test/models/v2/bindings.spec.ts b/packages/parser/test/models/v2/bindings.spec.ts similarity index 100% rename from apps/parser/test/models/v2/bindings.spec.ts rename to packages/parser/test/models/v2/bindings.spec.ts diff --git a/apps/parser/test/models/v2/channel-parameter.spec.ts b/packages/parser/test/models/v2/channel-parameter.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channel-parameter.spec.ts rename to packages/parser/test/models/v2/channel-parameter.spec.ts diff --git a/apps/parser/test/models/v2/channel-parameters.spec.ts b/packages/parser/test/models/v2/channel-parameters.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channel-parameters.spec.ts rename to packages/parser/test/models/v2/channel-parameters.spec.ts diff --git a/apps/parser/test/models/v2/channel.spec.ts b/packages/parser/test/models/v2/channel.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channel.spec.ts rename to packages/parser/test/models/v2/channel.spec.ts diff --git a/apps/parser/test/models/v2/channels.spec.ts b/packages/parser/test/models/v2/channels.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channels.spec.ts rename to packages/parser/test/models/v2/channels.spec.ts diff --git a/apps/parser/test/models/v2/components.spec.ts b/packages/parser/test/models/v2/components.spec.ts similarity index 100% rename from apps/parser/test/models/v2/components.spec.ts rename to packages/parser/test/models/v2/components.spec.ts diff --git a/apps/parser/test/models/v2/contact.spec.ts b/packages/parser/test/models/v2/contact.spec.ts similarity index 100% rename from apps/parser/test/models/v2/contact.spec.ts rename to packages/parser/test/models/v2/contact.spec.ts diff --git a/apps/parser/test/models/v2/correlation-id.spec.ts b/packages/parser/test/models/v2/correlation-id.spec.ts similarity index 100% rename from apps/parser/test/models/v2/correlation-id.spec.ts rename to packages/parser/test/models/v2/correlation-id.spec.ts diff --git a/apps/parser/test/models/v2/external-docs.spec.ts b/packages/parser/test/models/v2/external-docs.spec.ts similarity index 100% rename from apps/parser/test/models/v2/external-docs.spec.ts rename to packages/parser/test/models/v2/external-docs.spec.ts diff --git a/apps/parser/test/models/v2/external-documentation.spec.ts b/packages/parser/test/models/v2/external-documentation.spec.ts similarity index 100% rename from apps/parser/test/models/v2/external-documentation.spec.ts rename to packages/parser/test/models/v2/external-documentation.spec.ts diff --git a/apps/parser/test/models/v2/info.spec.ts b/packages/parser/test/models/v2/info.spec.ts similarity index 100% rename from apps/parser/test/models/v2/info.spec.ts rename to packages/parser/test/models/v2/info.spec.ts diff --git a/apps/parser/test/models/v2/license.spec.ts b/packages/parser/test/models/v2/license.spec.ts similarity index 100% rename from apps/parser/test/models/v2/license.spec.ts rename to packages/parser/test/models/v2/license.spec.ts diff --git a/apps/parser/test/models/v2/message-example.spec.ts b/packages/parser/test/models/v2/message-example.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-example.spec.ts rename to packages/parser/test/models/v2/message-example.spec.ts diff --git a/apps/parser/test/models/v2/message-examples.spec.ts b/packages/parser/test/models/v2/message-examples.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-examples.spec.ts rename to packages/parser/test/models/v2/message-examples.spec.ts diff --git a/apps/parser/test/models/v2/message-trait.spec.ts b/packages/parser/test/models/v2/message-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-trait.spec.ts rename to packages/parser/test/models/v2/message-trait.spec.ts diff --git a/apps/parser/test/models/v2/message-traits.spec.ts b/packages/parser/test/models/v2/message-traits.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-traits.spec.ts rename to packages/parser/test/models/v2/message-traits.spec.ts diff --git a/apps/parser/test/models/v2/message.spec.ts b/packages/parser/test/models/v2/message.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message.spec.ts rename to packages/parser/test/models/v2/message.spec.ts diff --git a/apps/parser/test/models/v2/messages.spec.ts b/packages/parser/test/models/v2/messages.spec.ts similarity index 100% rename from apps/parser/test/models/v2/messages.spec.ts rename to packages/parser/test/models/v2/messages.spec.ts diff --git a/apps/parser/test/models/v2/mixins.spec.ts b/packages/parser/test/models/v2/mixins.spec.ts similarity index 100% rename from apps/parser/test/models/v2/mixins.spec.ts rename to packages/parser/test/models/v2/mixins.spec.ts diff --git a/apps/parser/test/models/v2/oauth-flow.spec.ts b/packages/parser/test/models/v2/oauth-flow.spec.ts similarity index 100% rename from apps/parser/test/models/v2/oauth-flow.spec.ts rename to packages/parser/test/models/v2/oauth-flow.spec.ts diff --git a/apps/parser/test/models/v2/oauth-flows.spec.ts b/packages/parser/test/models/v2/oauth-flows.spec.ts similarity index 100% rename from apps/parser/test/models/v2/oauth-flows.spec.ts rename to packages/parser/test/models/v2/oauth-flows.spec.ts diff --git a/apps/parser/test/models/v2/operation-trait.spec.ts b/packages/parser/test/models/v2/operation-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operation-trait.spec.ts rename to packages/parser/test/models/v2/operation-trait.spec.ts diff --git a/apps/parser/test/models/v2/operation-traits.spec.ts b/packages/parser/test/models/v2/operation-traits.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operation-traits.spec.ts rename to packages/parser/test/models/v2/operation-traits.spec.ts diff --git a/apps/parser/test/models/v2/operation.spec.ts b/packages/parser/test/models/v2/operation.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operation.spec.ts rename to packages/parser/test/models/v2/operation.spec.ts diff --git a/apps/parser/test/models/v2/operations.spec.ts b/packages/parser/test/models/v2/operations.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operations.spec.ts rename to packages/parser/test/models/v2/operations.spec.ts diff --git a/apps/parser/test/models/v2/schema.spec.ts b/packages/parser/test/models/v2/schema.spec.ts similarity index 100% rename from apps/parser/test/models/v2/schema.spec.ts rename to packages/parser/test/models/v2/schema.spec.ts diff --git a/apps/parser/test/models/v2/security-requirement.spec.ts b/packages/parser/test/models/v2/security-requirement.spec.ts similarity index 100% rename from apps/parser/test/models/v2/security-requirement.spec.ts rename to packages/parser/test/models/v2/security-requirement.spec.ts diff --git a/apps/parser/test/models/v2/security-requirements.spec.ts b/packages/parser/test/models/v2/security-requirements.spec.ts similarity index 100% rename from apps/parser/test/models/v2/security-requirements.spec.ts rename to packages/parser/test/models/v2/security-requirements.spec.ts diff --git a/apps/parser/test/models/v2/security-scheme.spec.ts b/packages/parser/test/models/v2/security-scheme.spec.ts similarity index 100% rename from apps/parser/test/models/v2/security-scheme.spec.ts rename to packages/parser/test/models/v2/security-scheme.spec.ts diff --git a/apps/parser/test/models/v2/server-variable.spec.ts b/packages/parser/test/models/v2/server-variable.spec.ts similarity index 100% rename from apps/parser/test/models/v2/server-variable.spec.ts rename to packages/parser/test/models/v2/server-variable.spec.ts diff --git a/apps/parser/test/models/v2/server.spec.ts b/packages/parser/test/models/v2/server.spec.ts similarity index 100% rename from apps/parser/test/models/v2/server.spec.ts rename to packages/parser/test/models/v2/server.spec.ts diff --git a/apps/parser/test/models/v2/servers.spec.ts b/packages/parser/test/models/v2/servers.spec.ts similarity index 100% rename from apps/parser/test/models/v2/servers.spec.ts rename to packages/parser/test/models/v2/servers.spec.ts diff --git a/apps/parser/test/models/v2/tag.spec.ts b/packages/parser/test/models/v2/tag.spec.ts similarity index 100% rename from apps/parser/test/models/v2/tag.spec.ts rename to packages/parser/test/models/v2/tag.spec.ts diff --git a/apps/parser/test/models/v2/tags.spec.ts b/packages/parser/test/models/v2/tags.spec.ts similarity index 100% rename from apps/parser/test/models/v2/tags.spec.ts rename to packages/parser/test/models/v2/tags.spec.ts diff --git a/apps/parser/test/models/v2/utils.ts b/packages/parser/test/models/v2/utils.ts similarity index 100% rename from apps/parser/test/models/v2/utils.ts rename to packages/parser/test/models/v2/utils.ts diff --git a/apps/parser/test/models/v3/asyncapi.spec.ts b/packages/parser/test/models/v3/asyncapi.spec.ts similarity index 100% rename from apps/parser/test/models/v3/asyncapi.spec.ts rename to packages/parser/test/models/v3/asyncapi.spec.ts diff --git a/apps/parser/test/models/v3/bindings.spec.ts b/packages/parser/test/models/v3/bindings.spec.ts similarity index 100% rename from apps/parser/test/models/v3/bindings.spec.ts rename to packages/parser/test/models/v3/bindings.spec.ts diff --git a/apps/parser/test/models/v3/channel-parameter.spec.ts b/packages/parser/test/models/v3/channel-parameter.spec.ts similarity index 100% rename from apps/parser/test/models/v3/channel-parameter.spec.ts rename to packages/parser/test/models/v3/channel-parameter.spec.ts diff --git a/apps/parser/test/models/v3/channel.spec.ts b/packages/parser/test/models/v3/channel.spec.ts similarity index 100% rename from apps/parser/test/models/v3/channel.spec.ts rename to packages/parser/test/models/v3/channel.spec.ts diff --git a/apps/parser/test/models/v3/components.spec.ts b/packages/parser/test/models/v3/components.spec.ts similarity index 100% rename from apps/parser/test/models/v3/components.spec.ts rename to packages/parser/test/models/v3/components.spec.ts diff --git a/apps/parser/test/models/v3/contact.spec.ts b/packages/parser/test/models/v3/contact.spec.ts similarity index 100% rename from apps/parser/test/models/v3/contact.spec.ts rename to packages/parser/test/models/v3/contact.spec.ts diff --git a/apps/parser/test/models/v3/correlation-id.spec.ts b/packages/parser/test/models/v3/correlation-id.spec.ts similarity index 100% rename from apps/parser/test/models/v3/correlation-id.spec.ts rename to packages/parser/test/models/v3/correlation-id.spec.ts diff --git a/apps/parser/test/models/v3/external-documentation.spec.ts b/packages/parser/test/models/v3/external-documentation.spec.ts similarity index 100% rename from apps/parser/test/models/v3/external-documentation.spec.ts rename to packages/parser/test/models/v3/external-documentation.spec.ts diff --git a/apps/parser/test/models/v3/info.spec.ts b/packages/parser/test/models/v3/info.spec.ts similarity index 100% rename from apps/parser/test/models/v3/info.spec.ts rename to packages/parser/test/models/v3/info.spec.ts diff --git a/apps/parser/test/models/v3/license.spec.ts b/packages/parser/test/models/v3/license.spec.ts similarity index 100% rename from apps/parser/test/models/v3/license.spec.ts rename to packages/parser/test/models/v3/license.spec.ts diff --git a/apps/parser/test/models/v3/message-example.spec.ts b/packages/parser/test/models/v3/message-example.spec.ts similarity index 100% rename from apps/parser/test/models/v3/message-example.spec.ts rename to packages/parser/test/models/v3/message-example.spec.ts diff --git a/apps/parser/test/models/v3/message-trait.spec.ts b/packages/parser/test/models/v3/message-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v3/message-trait.spec.ts rename to packages/parser/test/models/v3/message-trait.spec.ts diff --git a/apps/parser/test/models/v3/message.spec.ts b/packages/parser/test/models/v3/message.spec.ts similarity index 100% rename from apps/parser/test/models/v3/message.spec.ts rename to packages/parser/test/models/v3/message.spec.ts diff --git a/apps/parser/test/models/v3/oauth-flow.spec.ts b/packages/parser/test/models/v3/oauth-flow.spec.ts similarity index 100% rename from apps/parser/test/models/v3/oauth-flow.spec.ts rename to packages/parser/test/models/v3/oauth-flow.spec.ts diff --git a/apps/parser/test/models/v3/oauth-flows.spec.ts b/packages/parser/test/models/v3/oauth-flows.spec.ts similarity index 100% rename from apps/parser/test/models/v3/oauth-flows.spec.ts rename to packages/parser/test/models/v3/oauth-flows.spec.ts diff --git a/apps/parser/test/models/v3/operation-reply-address.spec.ts b/packages/parser/test/models/v3/operation-reply-address.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation-reply-address.spec.ts rename to packages/parser/test/models/v3/operation-reply-address.spec.ts diff --git a/apps/parser/test/models/v3/operation-reply.spec.ts b/packages/parser/test/models/v3/operation-reply.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation-reply.spec.ts rename to packages/parser/test/models/v3/operation-reply.spec.ts diff --git a/apps/parser/test/models/v3/operation-trait.spec.ts b/packages/parser/test/models/v3/operation-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation-trait.spec.ts rename to packages/parser/test/models/v3/operation-trait.spec.ts diff --git a/apps/parser/test/models/v3/operation.spec.ts b/packages/parser/test/models/v3/operation.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation.spec.ts rename to packages/parser/test/models/v3/operation.spec.ts diff --git a/apps/parser/test/models/v3/schema.spec.ts b/packages/parser/test/models/v3/schema.spec.ts similarity index 100% rename from apps/parser/test/models/v3/schema.spec.ts rename to packages/parser/test/models/v3/schema.spec.ts diff --git a/apps/parser/test/models/v3/server-variable.spec.ts b/packages/parser/test/models/v3/server-variable.spec.ts similarity index 100% rename from apps/parser/test/models/v3/server-variable.spec.ts rename to packages/parser/test/models/v3/server-variable.spec.ts diff --git a/apps/parser/test/models/v3/server.spec.ts b/packages/parser/test/models/v3/server.spec.ts similarity index 100% rename from apps/parser/test/models/v3/server.spec.ts rename to packages/parser/test/models/v3/server.spec.ts diff --git a/apps/parser/test/models/v3/tag.spec.ts b/packages/parser/test/models/v3/tag.spec.ts similarity index 100% rename from apps/parser/test/models/v3/tag.spec.ts rename to packages/parser/test/models/v3/tag.spec.ts diff --git a/apps/parser/test/models/v3/utils.ts b/packages/parser/test/models/v3/utils.ts similarity index 100% rename from apps/parser/test/models/v3/utils.ts rename to packages/parser/test/models/v3/utils.ts diff --git a/apps/parser/test/old-api/asyncapi.spec.ts b/packages/parser/test/old-api/asyncapi.spec.ts similarity index 100% rename from apps/parser/test/old-api/asyncapi.spec.ts rename to packages/parser/test/old-api/asyncapi.spec.ts diff --git a/apps/parser/test/old-api/base.spec.ts b/packages/parser/test/old-api/base.spec.ts similarity index 100% rename from apps/parser/test/old-api/base.spec.ts rename to packages/parser/test/old-api/base.spec.ts diff --git a/apps/parser/test/old-api/channel-parameter.spec.ts b/packages/parser/test/old-api/channel-parameter.spec.ts similarity index 100% rename from apps/parser/test/old-api/channel-parameter.spec.ts rename to packages/parser/test/old-api/channel-parameter.spec.ts diff --git a/apps/parser/test/old-api/channel.spec.ts b/packages/parser/test/old-api/channel.spec.ts similarity index 100% rename from apps/parser/test/old-api/channel.spec.ts rename to packages/parser/test/old-api/channel.spec.ts diff --git a/apps/parser/test/old-api/components.spec.ts b/packages/parser/test/old-api/components.spec.ts similarity index 100% rename from apps/parser/test/old-api/components.spec.ts rename to packages/parser/test/old-api/components.spec.ts diff --git a/apps/parser/test/old-api/contact.spec.ts b/packages/parser/test/old-api/contact.spec.ts similarity index 100% rename from apps/parser/test/old-api/contact.spec.ts rename to packages/parser/test/old-api/contact.spec.ts diff --git a/apps/parser/test/old-api/converter.spec.ts b/packages/parser/test/old-api/converter.spec.ts similarity index 100% rename from apps/parser/test/old-api/converter.spec.ts rename to packages/parser/test/old-api/converter.spec.ts diff --git a/apps/parser/test/old-api/correlation-id.spec.ts b/packages/parser/test/old-api/correlation-id.spec.ts similarity index 100% rename from apps/parser/test/old-api/correlation-id.spec.ts rename to packages/parser/test/old-api/correlation-id.spec.ts diff --git a/apps/parser/test/old-api/external-docs.spec.ts b/packages/parser/test/old-api/external-docs.spec.ts similarity index 100% rename from apps/parser/test/old-api/external-docs.spec.ts rename to packages/parser/test/old-api/external-docs.spec.ts diff --git a/apps/parser/test/old-api/info.spec.ts b/packages/parser/test/old-api/info.spec.ts similarity index 100% rename from apps/parser/test/old-api/info.spec.ts rename to packages/parser/test/old-api/info.spec.ts diff --git a/apps/parser/test/old-api/iterator.spec.ts b/packages/parser/test/old-api/iterator.spec.ts similarity index 100% rename from apps/parser/test/old-api/iterator.spec.ts rename to packages/parser/test/old-api/iterator.spec.ts diff --git a/apps/parser/test/old-api/license.spec.ts b/packages/parser/test/old-api/license.spec.ts similarity index 100% rename from apps/parser/test/old-api/license.spec.ts rename to packages/parser/test/old-api/license.spec.ts diff --git a/apps/parser/test/old-api/message-trait.spec.ts b/packages/parser/test/old-api/message-trait.spec.ts similarity index 100% rename from apps/parser/test/old-api/message-trait.spec.ts rename to packages/parser/test/old-api/message-trait.spec.ts diff --git a/apps/parser/test/old-api/message.spec.ts b/packages/parser/test/old-api/message.spec.ts similarity index 100% rename from apps/parser/test/old-api/message.spec.ts rename to packages/parser/test/old-api/message.spec.ts diff --git a/apps/parser/test/old-api/mixins.spec.ts b/packages/parser/test/old-api/mixins.spec.ts similarity index 100% rename from apps/parser/test/old-api/mixins.spec.ts rename to packages/parser/test/old-api/mixins.spec.ts diff --git a/apps/parser/test/old-api/mixins.ts b/packages/parser/test/old-api/mixins.ts similarity index 100% rename from apps/parser/test/old-api/mixins.ts rename to packages/parser/test/old-api/mixins.ts diff --git a/apps/parser/test/old-api/oauth-flow.spec.ts b/packages/parser/test/old-api/oauth-flow.spec.ts similarity index 100% rename from apps/parser/test/old-api/oauth-flow.spec.ts rename to packages/parser/test/old-api/oauth-flow.spec.ts diff --git a/apps/parser/test/old-api/operation-trait.spec.ts b/packages/parser/test/old-api/operation-trait.spec.ts similarity index 100% rename from apps/parser/test/old-api/operation-trait.spec.ts rename to packages/parser/test/old-api/operation-trait.spec.ts diff --git a/apps/parser/test/old-api/operation.spec.ts b/packages/parser/test/old-api/operation.spec.ts similarity index 100% rename from apps/parser/test/old-api/operation.spec.ts rename to packages/parser/test/old-api/operation.spec.ts diff --git a/apps/parser/test/old-api/schema.spec.ts b/packages/parser/test/old-api/schema.spec.ts similarity index 100% rename from apps/parser/test/old-api/schema.spec.ts rename to packages/parser/test/old-api/schema.spec.ts diff --git a/apps/parser/test/old-api/security-scheme.spec.ts b/packages/parser/test/old-api/security-scheme.spec.ts similarity index 100% rename from apps/parser/test/old-api/security-scheme.spec.ts rename to packages/parser/test/old-api/security-scheme.spec.ts diff --git a/apps/parser/test/old-api/server-variable.spec.ts b/packages/parser/test/old-api/server-variable.spec.ts similarity index 100% rename from apps/parser/test/old-api/server-variable.spec.ts rename to packages/parser/test/old-api/server-variable.spec.ts diff --git a/apps/parser/test/old-api/server.spec.ts b/packages/parser/test/old-api/server.spec.ts similarity index 100% rename from apps/parser/test/old-api/server.spec.ts rename to packages/parser/test/old-api/server.spec.ts diff --git a/apps/parser/test/old-api/tag.spec.ts b/packages/parser/test/old-api/tag.spec.ts similarity index 100% rename from apps/parser/test/old-api/tag.spec.ts rename to packages/parser/test/old-api/tag.spec.ts diff --git a/apps/parser/test/parse.spec.ts b/packages/parser/test/parse.spec.ts similarity index 100% rename from apps/parser/test/parse.spec.ts rename to packages/parser/test/parse.spec.ts diff --git a/apps/parser/test/parser.spec.ts b/packages/parser/test/parser.spec.ts similarity index 100% rename from apps/parser/test/parser.spec.ts rename to packages/parser/test/parser.spec.ts diff --git a/apps/parser/test/resolver.spec.ts b/packages/parser/test/resolver.spec.ts similarity index 100% rename from apps/parser/test/resolver.spec.ts rename to packages/parser/test/resolver.spec.ts diff --git a/apps/parser/test/ruleset/formats.spec.ts b/packages/parser/test/ruleset/formats.spec.ts similarity index 100% rename from apps/parser/test/ruleset/formats.spec.ts rename to packages/parser/test/ruleset/formats.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-id.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-id.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-id.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-id.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-description.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-description.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-description.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-description.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-license.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-license.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-license.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-license.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-servers.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-servers.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-servers.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-servers.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts diff --git a/apps/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts b/packages/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts rename to packages/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts diff --git a/apps/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts b/packages/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts rename to packages/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts diff --git a/apps/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts b/packages/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts rename to packages/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts diff --git a/apps/parser/test/ruleset/tester.ts b/packages/parser/test/ruleset/tester.ts similarity index 100% rename from apps/parser/test/ruleset/tester.ts rename to packages/parser/test/ruleset/tester.ts diff --git a/apps/parser/test/sample_browser/main/asyncapi.yaml b/packages/parser/test/sample_browser/main/asyncapi.yaml similarity index 100% rename from apps/parser/test/sample_browser/main/asyncapi.yaml rename to packages/parser/test/sample_browser/main/asyncapi.yaml diff --git a/apps/parser/test/sample_browser/refs/refed.yaml b/packages/parser/test/sample_browser/refs/refed.yaml similarity index 100% rename from apps/parser/test/sample_browser/refs/refed.yaml rename to packages/parser/test/sample_browser/refs/refed.yaml diff --git a/apps/parser/test/schema-parser/asyncapi-schema-parser.spec.ts b/packages/parser/test/schema-parser/asyncapi-schema-parser.spec.ts similarity index 100% rename from apps/parser/test/schema-parser/asyncapi-schema-parser.spec.ts rename to packages/parser/test/schema-parser/asyncapi-schema-parser.spec.ts diff --git a/apps/parser/test/schema-parser/spectral-rule-v2.spec.ts b/packages/parser/test/schema-parser/spectral-rule-v2.spec.ts similarity index 100% rename from apps/parser/test/schema-parser/spectral-rule-v2.spec.ts rename to packages/parser/test/schema-parser/spectral-rule-v2.spec.ts diff --git a/apps/parser/test/spectral.spec.ts b/packages/parser/test/spectral.spec.ts similarity index 100% rename from apps/parser/test/spectral.spec.ts rename to packages/parser/test/spectral.spec.ts diff --git a/apps/parser/test/stringify.spec.ts b/packages/parser/test/stringify.spec.ts similarity index 100% rename from apps/parser/test/stringify.spec.ts rename to packages/parser/test/stringify.spec.ts diff --git a/apps/parser/test/utils.spec.ts b/packages/parser/test/utils.spec.ts similarity index 100% rename from apps/parser/test/utils.spec.ts rename to packages/parser/test/utils.spec.ts diff --git a/apps/parser/test/utils.ts b/packages/parser/test/utils.ts similarity index 100% rename from apps/parser/test/utils.ts rename to packages/parser/test/utils.ts diff --git a/apps/parser/test/validate.spec.ts b/packages/parser/test/validate.spec.ts similarity index 100% rename from apps/parser/test/validate.spec.ts rename to packages/parser/test/validate.spec.ts diff --git a/apps/parser/tsconfig.cjs.json b/packages/parser/tsconfig.cjs.json similarity index 100% rename from apps/parser/tsconfig.cjs.json rename to packages/parser/tsconfig.cjs.json diff --git a/apps/parser/tsconfig.json b/packages/parser/tsconfig.json similarity index 100% rename from apps/parser/tsconfig.json rename to packages/parser/tsconfig.json diff --git a/apps/parser/webpack.config.js b/packages/parser/webpack.config.js similarity index 100% rename from apps/parser/webpack.config.js rename to packages/parser/webpack.config.js From bfd73c6f1612cd386a28106793fda9291b134f3f Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 20:27:45 +0530 Subject: [PATCH 060/107] update the readmd file. --- README.md | 132 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 69 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index 2aaee4f4f..af564f512 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains the following package: -1. [Parser-js](apps/parser): Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. +1. [Parser-js](packages/parser): Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. Validation is powered by [Spectral](https://github.com/stoplightio/spectral). Updated bundle for the browser is always attached to the GitHub Release. @@ -18,7 +18,6 @@ Updated bundle for the browser is always attached to the GitHub Release. > **Note** > Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). - @@ -26,26 +25,26 @@ Updated bundle for the browser is always attached to the GitHub Release. - [Installation](#installation) - [Usage](#usage) - [Examples](#examples) - * [Example with parsing](#example-with-parsing) - * [Example with validation](#example-with-validation) - * [Example using Avro schemas](#example-using-avro-schemas) - * [Example using OpenAPI schemas](#example-using-openapi-schemas) - * [Example using RAML data types](#example-using-raml-data-types) - * [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) - * [Example with performing actions on file source](#example-with-performing-actions-on-file-source) - * [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) + - [Example with parsing](#example-with-parsing) + - [Example with validation](#example-with-validation) + - [Example using Avro schemas](#example-using-avro-schemas) + - [Example using OpenAPI schemas](#example-using-openapi-schemas) + - [Example using RAML data types](#example-using-raml-data-types) + - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) + - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) + - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) - [API documentation](#api-documentation) - [Spectral rulesets](#spectral-rulesets) - [Using in the browser/SPA applications](#using-in-the-browserspa-applications) - [Custom schema parsers](#custom-schema-parsers) - * [Official supported custom schema parsers](#official-supported-custom-schema-parsers) + - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) - [Custom extensions](#custom-extensions) - [Circular references](#circular-references) - [Stringify](#stringify) - [Convert to the old API](#convert-to-the-old-api) - [Notes](#notes) - * [Using with Webpack](#using-with-webpack) - * [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) + - [Using with Webpack](#using-with-webpack) + - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) - [Develop](#develop) - [Contributing](#contributing) - [Contributors](#contributors) @@ -74,17 +73,17 @@ The package exposes the main class `Parser`, which has two main functions: Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: ```ts -import { fromURL, fromFile } from '@asyncapi/parser'; +import { fromURL, fromFile } from "@asyncapi/parser"; ``` Check out the [examples](#examples) of using the above mentioned functionalities. -## Examples +## Examples ### Example with parsing ```ts -import { Parser } from '@asyncapi/parser'; +import { Parser } from "@asyncapi/parser"; const parser = new Parser(); const { document } = await parser.parse(` asyncapi: '2.4.0' @@ -116,7 +115,7 @@ if (document) { ### Example with validation ```ts -import { Parser } from '@asyncapi/parser'; +import { Parser } from "@asyncapi/parser"; const parser = new Parser(); @@ -158,27 +157,33 @@ Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/ra ### Example with performing actions on HTTP source ```ts -import { Parser, fromURL } from '@asyncapi/parser'; +import { Parser, fromURL } from "@asyncapi/parser"; const parser = new Parser(); -const { document, diagnostics } = await fromURL(parser, 'https://example.com/').parse(); +const { document, diagnostics } = await fromURL( + parser, + "https://example.com/", +).parse(); ``` ### Example with performing actions on file source ```ts -import { Parser, fromFile } from '@asyncapi/parser'; +import { Parser, fromFile } from "@asyncapi/parser"; const parser = new Parser(); -const { document, diagnostics } = await fromFile(parser, './asyncapi.yaml').parse(); +const { document, diagnostics } = await fromFile( + parser, + "./asyncapi.yaml", +).parse(); ``` ### [Example with stringify and unstringify parsed document](#stringify) ```ts -import { Parser, stringify, unstringify } from '@asyncapi/parser'; +import { Parser, stringify, unstringify } from "@asyncapi/parser"; const parser = new Parser(); @@ -218,7 +223,7 @@ Parser-JS API implements a global API definition for all AsyncAPI parser impleme The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. | Parser-JS | Parser-API | Spec 2.x | Spec 3.x | -|-----------|-----------------------------------------------------------------------|----------|----------| +| --------- | --------------------------------------------------------------------- | -------- | -------- | | 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | | 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | @@ -234,7 +239,7 @@ Additionally to all the methods declared in the [Parser-API](https://github.com/ ## Spectral rulesets -[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. +[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. The default [built-in rulesets](src/ruleset) are: - Core ruleset: @@ -246,26 +251,27 @@ The default [built-in rulesets](src/ruleset) are: - Core rulesets: Rules that generate validation errors if not fulfilled by a particular Spec version. - Recommended rulesets: Best practices for a particular Spec version -It is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: +It is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: ```ts -import { Parser, stringify, unstringify } from '@asyncapi/parser'; +import { Parser, stringify, unstringify } from "@asyncapi/parser"; const parser = new Parser({ ruleset: { extends: [], rules: { - 'asyncapi-defaultContentType': 'off', - 'asyncapi-termsOfService': { - description: 'Info "termsOfService" should be present and non-empty string.', + "asyncapi-defaultContentType": "off", + "asyncapi-termsOfService": { + description: + 'Info "termsOfService" should be present and non-empty string.', recommended: true, - given: '$', + given: "$", then: { - field: 'info.termsOfService', - function: 'truthy', + field: "info.termsOfService", + function: "truthy", }, }, - } - } + }, + }, }); // The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. // On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. @@ -278,8 +284,7 @@ const diagnostics = await parser.validate(` `); ``` -[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. - +[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. ## Using in the browser/SPA applications @@ -326,34 +331,34 @@ AsyncAPI doesn't enforce one schema format. The payload of the messages can be d 1. Create custom parser module that exports three functions: - - `validate` - function that validates (its syntax) used schema. - - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). - - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. - - Example: - - ```ts - export default { - validate(input) { ... }, - parse(input) { ... }, - getMimeTypes() { - return [ - 'application/vnd.custom.type;version=1.0.0', - 'application/vnd.custom.type+json;version=1.0.0', - ] - } - } - ``` + - `validate` - function that validates (its syntax) used schema. + - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). + - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. + + Example: + + ```ts + export default { + validate(input) { ... }, + parse(input) { ... }, + getMimeTypes() { + return [ + 'application/vnd.custom.type;version=1.0.0', + 'application/vnd.custom.type+json;version=1.0.0', + ] + } + } + ``` 2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: - ```ts - import { Parser } from '@asyncapi/parser'; - import myCustomSchemaParser from './my-custom-schema-parser'; + ```ts + import { Parser } from "@asyncapi/parser"; + import myCustomSchemaParser from "./my-custom-schema-parser"; - const parser = new Parser(); - parser.registerSchemaParser(myCustomSchemaParser); - ``` + const parser = new Parser(); + parser.registerSchemaParser(myCustomSchemaParser); + ``` ### Official supported custom schema parsers @@ -421,7 +426,7 @@ For that, the Parser supports the ability to stringify a parsed AsyncAPI documen "foo": "$ref:$.some.path.to.the.bar" } ``` - + To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. A few advantages of this solution: @@ -449,6 +454,7 @@ const oldAsyncAPIDocument = convertToOldAPI(document); ## Notes ### Using with Webpack + Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: ```js @@ -466,7 +472,7 @@ Versions `<5` of Webpack should handle bundling without problems. Due to the fac ### Testing with [Jest](https://jestjs.io/) -Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: +Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: ```bash Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js @@ -488,6 +494,7 @@ moduleNameMapper: { 3. Make sure all tests pass `npm test` For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: + ``` git config --global core.autocrlf false git config --global core.eol lf @@ -495,7 +502,6 @@ git config --global core.eol lf 4. Make sure code is well formatted and secure `npm run lint` - ## Contributing Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. From df8f47c2467402b62bafde9986a4cd68273f32c4 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 23 Jun 2024 09:30:14 +0530 Subject: [PATCH 061/107] prepare the multiparser for integrating into turborepo. --- package-lock.json | 17072 ---------------- .../multi-parser/.editorconfig | 0 .../multi-parser/.eslintignore | 0 .eslintrc => packages/multi-parser/.eslintrc | 0 .../workflows/if-nodejs-pr-testing.yml | 0 .../.github}/workflows/if-nodejs-release.yml | 0 .../.github}/workflows/lint-pr-title.yml | 0 .../multi-parser/.gitignore | 0 .../multi-parser/.npmignore | 0 .../multi-parser/.releaserc | 0 .../multi-parser/.sonarcloud.properties | 0 LICENSE => packages/multi-parser/LICENSE | 0 README.md => packages/multi-parser/README.md | 0 .../multi-parser/jest.config.ts | 0 .../multi-parser/package.json | 0 {src => packages/multi-parser/src}/convert.ts | 0 {src => packages/multi-parser/src}/index.ts | 0 {src => packages/multi-parser/src}/parse.ts | 0 .../multi-parser/test}/convert.spec.ts | 0 .../multi-parser/test}/parse.spec.ts | 0 .../multi-parser/tsconfig.cjs.json | 0 .../multi-parser/tsconfig.json | 0 22 files changed, 17072 deletions(-) delete mode 100644 package-lock.json rename .editorconfig => packages/multi-parser/.editorconfig (100%) rename .eslintignore => packages/multi-parser/.eslintignore (100%) rename .eslintrc => packages/multi-parser/.eslintrc (100%) rename {.github => packages/multi-parser/.github}/workflows/if-nodejs-pr-testing.yml (100%) rename {.github => packages/multi-parser/.github}/workflows/if-nodejs-release.yml (100%) rename {.github => packages/multi-parser/.github}/workflows/lint-pr-title.yml (100%) rename .gitignore => packages/multi-parser/.gitignore (100%) rename .npmignore => packages/multi-parser/.npmignore (100%) rename .releaserc => packages/multi-parser/.releaserc (100%) rename .sonarcloud.properties => packages/multi-parser/.sonarcloud.properties (100%) rename LICENSE => packages/multi-parser/LICENSE (100%) rename README.md => packages/multi-parser/README.md (100%) rename jest.config.ts => packages/multi-parser/jest.config.ts (100%) rename package.json => packages/multi-parser/package.json (100%) rename {src => packages/multi-parser/src}/convert.ts (100%) rename {src => packages/multi-parser/src}/index.ts (100%) rename {src => packages/multi-parser/src}/parse.ts (100%) rename {test => packages/multi-parser/test}/convert.spec.ts (100%) rename {test => packages/multi-parser/test}/parse.spec.ts (100%) rename tsconfig.cjs.json => packages/multi-parser/tsconfig.cjs.json (100%) rename tsconfig.json => packages/multi-parser/tsconfig.json (100%) diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index eb51120b8..000000000 --- a/package-lock.json +++ /dev/null @@ -1,17072 +0,0 @@ -{ - "name": "@smoya/multi-parser", - "version": "2.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@smoya/multi-parser", - "version": "2.0.0", - "license": "Apache-2.0", - "dependencies": { - "@asyncapi/avro-schema-parser": "^3.0.3", - "@asyncapi/openapi-schema-parser": "^3.0.4", - "@asyncapi/protobuf-schema-parser": "^3.0.0", - "@asyncapi/raml-dt-schema-parser": "^4.0.4", - "parserapiv1": "npm:@asyncapi/parser@^2.1.0", - "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.1.0" - }, - "devDependencies": { - "@jest/types": "^29.0.2", - "@swc/core": "^1.2.248", - "@swc/jest": "^0.2.22", - "@types/jest": "^27.4.1", - "@typescript-eslint/eslint-plugin": "^5.36.2", - "@typescript-eslint/parser": "^5.36.2", - "cross-env": "^7.0.3", - "eslint": "^8.23.0", - "eslint-plugin-github": "^4.3.7", - "eslint-plugin-security": "^1.5.0", - "eslint-plugin-sonarjs": "^0.15.0", - "jest": "^29.0.2", - "markdown-toc": "^1.2.0", - "ts-loader": "^9.3.1", - "ts-node": "^10.9.1", - "typescript": "^4.8.2" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@asyncapi/avro-schema-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.3.tgz", - "integrity": "sha512-XprbDYPFJ0nc963hPCjbEmM3iu6ypKg/70EFVl0MZJCLbLw/+gBbPy95uV3Qaofm5UQgSI+aTobGhc8rMre4VA==", - "dependencies": { - "@asyncapi/parser": "^2.1.0", - "@types/json-schema": "^7.0.11", - "avsc": "^5.7.6" - } - }, - "node_modules/@asyncapi/openapi-schema-parser": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.4.tgz", - "integrity": "sha512-nfZbL3dTpIQ3K+/V05FBpgOPi7dDWZkqZG8e7pKwtNhwZ0YLBFWTw6RpocztlBlcieFggxZqLm4BT5I1cQbK+Q==", - "dependencies": { - "@asyncapi/parser": "^2.1.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1" - } - }, - "node_modules/@asyncapi/openapi-schema-parser/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@asyncapi/openapi-schema-parser/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@asyncapi/openapi-schema-parser/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/@asyncapi/parser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", - "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", - "dependencies": { - "@asyncapi/specs": "^5.1.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - } - }, - "node_modules/@asyncapi/parser/node_modules/@asyncapi/specs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", - "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", - "dependencies": { - "@types/json-schema": "^7.0.11" - } - }, - "node_modules/@asyncapi/parser/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@asyncapi/parser/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@asyncapi/parser/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/@asyncapi/protobuf-schema-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/protobuf-schema-parser/-/protobuf-schema-parser-3.0.0.tgz", - "integrity": "sha512-kjoLrll611K+xYC/iBUlSnZsCHbrhL999ItVHZhObUOjUB991XgonqbSAaihiiDXTYgceOLhJKAN5llkV/LOOA==", - "dependencies": { - "@asyncapi/parser": "^2.1.0", - "@types/protocol-buffers-schema": "^3.4.1", - "protocol-buffers-schema": "^3.6.0" - } - }, - "node_modules/@asyncapi/raml-dt-schema-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.4.tgz", - "integrity": "sha512-kKam4jwYYdwqoV5zkEb3YEb8VOrN0785fc4ByazxRd+BT/RnkQTLspjTY/akdDs9DLmU4ChP73Z0vqpek6wojA==", - "dependencies": { - "@asyncapi/parser": "^2.1.0", - "js-yaml": "^4.1.0", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - } - }, - "node_modules/@asyncapi/specs": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.7.1.tgz", - "integrity": "sha512-jEaW2vgAwD9GboCdO/TI1zN2k+iowL8YFYwiZwTIr4U4KDmsgo3BLypScl6Jl4+IvY9RdsWE67nuzVX7jooiqQ==", - "dependencies": { - "@types/json-schema": "^7.0.11" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.10", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.10", - "@babel/parser": "^7.22.10", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.10", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.10", - "@babel/types": "^7.22.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@github/browserslist-config": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", - "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", - "dev": true - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@jest/create-cache-key-function": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", - "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", - "dev": true, - "dependencies": { - "expect": "^29.6.2", - "jest-snapshot": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", - "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.4.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", - "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsep-plugin/regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", - "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" - } - }, - "node_modules/@jsep-plugin/ternary": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", - "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@openapi-contrib/openapi-schema-to-json-schema": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", - "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - } - }, - "node_modules/@pkgr/utils": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", - "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@stoplight/json": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", - "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", - "dependencies": { - "@stoplight/ordered-object-literal": "^1.0.3", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^13.6.0", - "jsonc-parser": "~2.2.1", - "lodash": "^4.17.21", - "safe-stable-stringify": "^1.1" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/@stoplight/json-ref-readers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", - "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", - "dependencies": { - "node-fetch": "^2.6.0", - "tslib": "^1.14.1" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@stoplight/json-ref-resolver": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", - "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", - "dependencies": { - "@stoplight/json": "^3.21.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0 || ^13.0.0", - "@types/urijs": "^1.19.19", - "dependency-graph": "~0.11.0", - "fast-memoize": "^2.5.2", - "immer": "^9.0.6", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "urijs": "^1.19.11" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/@stoplight/json/node_modules/jsonc-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", - "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" - }, - "node_modules/@stoplight/ordered-object-literal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.4.tgz", - "integrity": "sha512-OF8uib1jjDs5/cCU+iOVy+GJjU3X7vk/qJIkIJFqwmlJKrrtijFmqwbu8XToXrwTYLQTP+Hebws5gtZEmk9jag==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@stoplight/path": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", - "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@stoplight/spectral-core": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz", - "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==", - "dependencies": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "~3.21.0", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-parsers": "^1.0.0", - "@stoplight/spectral-ref-resolver": "^1.0.0", - "@stoplight/spectral-runtime": "^1.0.0", - "@stoplight/types": "~13.6.0", - "@types/es-aggregate-error": "^1.0.2", - "@types/json-schema": "^7.0.11", - "ajv": "^8.6.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "es-aggregate-error": "^1.0.7", - "jsonpath-plus": "7.1.0", - "lodash": "~4.17.21", - "lodash.topath": "^4.5.2", - "minimatch": "3.1.2", - "nimma": "0.2.2", - "pony-cause": "^1.0.0", - "simple-eval": "1.0.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", - "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", - "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", - "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/@stoplight/spectral-core/node_modules/jsonpath-plus": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", - "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@stoplight/spectral-formats": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.5.0.tgz", - "integrity": "sha512-VskkdU3qBSvI1dfJ79ysjvTssfNlbA6wrf/XkXK6iTyjfIVqOAWVtjypTb2U95tN/X8IjIBBhNWtZ4tNVZilrA==", - "dependencies": { - "@stoplight/json": "^3.17.0", - "@stoplight/spectral-core": "^1.8.0", - "@types/json-schema": "^7.0.7", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-functions": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.7.2.tgz", - "integrity": "sha512-f+61/FtIkQeIo+a269CeaeqjpyRsgDyIk6DGr7iS4hyuk1PPk7Uf6MNRDs9FEIBh7CpdEJ+HSHbMLwgpymWTIw==", - "dependencies": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "^3.17.1", - "@stoplight/spectral-core": "^1.7.0", - "@stoplight/spectral-formats": "^1.0.0", - "@stoplight/spectral-runtime": "^1.1.0", - "ajv": "^8.6.3", - "ajv-draft-04": "~1.0.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "lodash": "~4.17.21", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", - "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", - "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv-draft-04": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", - "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", - "peerDependencies": { - "ajv": "^8.5.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/@stoplight/spectral-parsers": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.3.tgz", - "integrity": "sha512-J0KW5Rh5cHWnJQ3yN+cr/ijNFVirPSR0pkQbdrNX30VboEl083UEDrQ3yov9kjLVIWEk9t9kKE7Eo3QT/k4JLA==", - "dependencies": { - "@stoplight/json": "~3.21.0", - "@stoplight/types": "^13.6.0", - "@stoplight/yaml": "~4.2.3", - "tslib": "^2.3.1" - }, - "engines": { - "node": "^12.20 || >=14.13" - } - }, - "node_modules/@stoplight/spectral-ref-resolver": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.4.tgz", - "integrity": "sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==", - "dependencies": { - "@stoplight/json-ref-readers": "1.2.2", - "@stoplight/json-ref-resolver": "~3.1.6", - "@stoplight/spectral-runtime": "^1.1.2", - "dependency-graph": "0.11.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-runtime": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", - "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", - "dependencies": { - "@stoplight/json": "^3.17.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0", - "abort-controller": "^3.0.0", - "lodash": "^4.17.21", - "node-fetch": "^2.6.7", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-runtime/node_modules/@stoplight/types": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", - "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@stoplight/types": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.19.0.tgz", - "integrity": "sha512-HvbH6fbvNcTJZVRGV1Xb87cwnXXuc94XYTg4SOvKOL4F9cc4UMw7Q40oaIgJ8iewkMnOSIlLExdmTkjF/QH2pg==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - } - }, - "node_modules/@stoplight/yaml": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.2.3.tgz", - "integrity": "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw==", - "dependencies": { - "@stoplight/ordered-object-literal": "^1.0.1", - "@stoplight/types": "^13.0.0", - "@stoplight/yaml-ast-parser": "0.0.48", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=10.8" - } - }, - "node_modules/@stoplight/yaml-ast-parser": { - "version": "0.0.48", - "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", - "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==" - }, - "node_modules/@swc/core": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.78.tgz", - "integrity": "sha512-y6DQP571v7fbUUY7nz5G4lNIRGofuO48K5pGhD9VnuOCTuptfooCdi8wnigIrIhM/M4zQ53m/YCMDCbOtDgEww==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.78", - "@swc/core-darwin-x64": "1.3.78", - "@swc/core-linux-arm-gnueabihf": "1.3.78", - "@swc/core-linux-arm64-gnu": "1.3.78", - "@swc/core-linux-arm64-musl": "1.3.78", - "@swc/core-linux-x64-gnu": "1.3.78", - "@swc/core-linux-x64-musl": "1.3.78", - "@swc/core-win32-arm64-msvc": "1.3.78", - "@swc/core-win32-ia32-msvc": "1.3.78", - "@swc/core-win32-x64-msvc": "1.3.78" - }, - "peerDependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.78.tgz", - "integrity": "sha512-596KRua/d5Gx1buHKKchSyHuwoIL4S1BRD/wCvYNLNZ3xOzcuBBmXOjrDVigKi1ztNDeS07p30RO5UyYur0XAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.78.tgz", - "integrity": "sha512-w0RsD1onQAj0vuLAoOVi48HgnW6D6oBEIZP17l0HYejCDBZ+FRZLjml7wgNAWMqHcd2qNRqgtZ+v7aLza2JtBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.78.tgz", - "integrity": "sha512-v1CpRn+H6fha1WIqmdRvJM40pFdjUHrGfhf4Ygci72nlAU41l5XimN8Iwkm8FgIwf2wnv0lLzedSM4IHvpq/yA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.78.tgz", - "integrity": "sha512-Sis17dz9joJRFVvR/gteOZSUNrrrioo81RQzani0Zr5ZZOfWLMTB9DA+0MVlfnVa2taYcsJHJZFoAv9JkLwbzg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.78.tgz", - "integrity": "sha512-E5F8/qp+QupnfBnsP4vN1PKyCmAHYHDG1GMyPE/zLFOUYLgw+jK4C9rfyLBR0o2bWo1ay2WCIjusBZD9XHGOSA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.78.tgz", - "integrity": "sha512-iDxa+RknnTQlyy+WfPor1FM6y44ERNI2E0xiUV6gV6uPwegCngi8LFC+E7IvP6+p+yXtAkesunAaiZ8nn0s+rw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.78.tgz", - "integrity": "sha512-dWtIYUFL5sMTE2UKshkXTusHcK8+zAhhGzvqWq1wJS45pqTlrAbzpyqB780fle880x3A6DMitWmsAFARdNzpuQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.78.tgz", - "integrity": "sha512-CXFaGEc2M9Su3UoUMC8AnzKb9g+GwPxXfakLWZsjwS448h6jcreExq3nwtBNdVGzQ26xqeVLMFfb1l/oK99Hwg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.78.tgz", - "integrity": "sha512-FaH1jwWnJpWkdImpMoiZpMg9oy9UUyZwltzN7hFwjR48e3Li82cRFb+9PifIBHCUSBM+CrrsJXbHP213IMVAyw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.78.tgz", - "integrity": "sha512-oYxa+tPdhlx1aH14AIoF6kvVjo49tEOW0drNqoEaVHufvgH0y43QU2Jum3b2+xXztmMRtzK2CSN3GPOAXDKKKg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/jest": { - "version": "0.2.29", - "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.29.tgz", - "integrity": "sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==", - "dev": true, - "dependencies": { - "@jest/create-cache-key-function": "^27.4.2", - "jsonc-parser": "^3.2.0" - }, - "engines": { - "npm": ">= 7.0.0" - }, - "peerDependencies": { - "@swc/core": "*" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/es-aggregate-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.2.tgz", - "integrity": "sha512-erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true, - "peer": true - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", - "dev": true, - "dependencies": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", - "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==" - }, - "node_modules/@types/protocol-buffers-schema": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@types/protocol-buffers-schema/-/protocol-buffers-schema-3.4.1.tgz", - "integrity": "sha512-CBpqIDa1+/F3Z5EL8Uz/t+1eygIinJiMS37KP8O9TN+n38OlckYQhU+t/vYpsF7XhSDuiZS0zAJyfRrAeDKDUw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/urijs": { - "version": "1.19.19", - "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.19.tgz", - "integrity": "sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg==" - }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "peer": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "peer": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peer": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", - "dev": true, - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/autolinker": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", - "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", - "dev": true, - "dependencies": { - "gulp-header": "^1.7.1" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/avsc": { - "version": "5.7.7", - "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", - "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==", - "engines": { - "node": ">=0.11" - } - }, - "node_modules/axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, - "dependencies": { - "big-integer": "^1.6.44" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/brace-expansion/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/braces/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "dev": true, - "dependencies": { - "run-applescript": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001521", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", - "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", - "dev": true, - "bin": { - "cake": "bin/cake", - "coffee": "bin/coffee" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "peer": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/concat-with-sourcemaps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "dev": true, - "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dev": true, - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/default-browser/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/default-browser/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/diacritics-map": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", - "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.495", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", - "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-aggregate-error": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.9.tgz", - "integrity": "sha512-fvnX40sb538wdU6r4s35cq4EY6Lr09Upj40BEVem4LEsuW8XgQep9yD5Q1U2KftokNp1rWODFJ2qwZSsAjFpbg==", - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "function-bind": "^1.1.1", - "functions-have-names": "^1.2.3", - "get-intrinsic": "^1.1.3", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true, - "peer": true - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-escompat": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", - "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.0" - }, - "peerDependencies": { - "eslint": ">=5.14.1" - } - }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - }, - "engines": { - "node": ">=6.5.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-plugin-filenames": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", - "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", - "dev": true, - "dependencies": { - "lodash.camelcase": "4.3.0", - "lodash.kebabcase": "4.1.1", - "lodash.snakecase": "4.1.1", - "lodash.upperfirst": "4.3.1" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/eslint-plugin-github": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.9.2.tgz", - "integrity": "sha512-osez6Sio/fLr/3QkW5HE1wbCOcmYG5030/6QIa9IcKyyfchewlecdnYcsbeUMUtdIiU9lWqhroQp2H/O7auxBA==", - "dev": true, - "dependencies": { - "@github/browserslist-config": "^1.0.0", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", - "aria-query": "^5.3.0", - "eslint-config-prettier": ">=8.0.0", - "eslint-plugin-escompat": "^3.3.3", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-filenames": "^1.3.2", - "eslint-plugin-i18n-text": "^1.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-no-only-tests": "^3.0.0", - "eslint-plugin-prettier": "^5.0.0", - "eslint-rule-documentation": ">=1.0.0", - "jsx-ast-utils": "^3.3.2", - "prettier": "^3.0.0", - "svg-element-attributes": "^1.3.1" - }, - "bin": { - "eslint-ignore-errors": "bin/eslint-ignore-errors.js" - }, - "peerDependencies": { - "eslint": "^8.0.1" - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz", - "integrity": "sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.4.0", - "@typescript-eslint/type-utils": "6.4.0", - "@typescript-eslint/utils": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/parser": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.0.tgz", - "integrity": "sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.4.0", - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/typescript-estree": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/scope-manager": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz", - "integrity": "sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/type-utils": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz", - "integrity": "sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.4.0", - "@typescript-eslint/utils": "6.4.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/types": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.0.tgz", - "integrity": "sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz", - "integrity": "sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/utils": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.0.tgz", - "integrity": "sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.4.0", - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/typescript-estree": "6.4.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz", - "integrity": "sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.4.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-i18n-text": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", - "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", - "dev": true, - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-no-only-tests": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", - "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", - "dev": true, - "engines": { - "node": ">=5.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", - "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.5" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-security": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", - "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", - "dev": true, - "dependencies": { - "safe-regex": "^2.1.1" - } - }, - "node_modules/eslint-plugin-sonarjs": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", - "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-rule-documentation": { - "version": "1.0.23", - "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", - "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", - "dev": true, - "dependencies": { - "fill-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.6.2", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fast-memoize": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", - "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "dependencies": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "peer": true - }, - "node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", - "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", - "dev": true, - "dependencies": { - "ansi-red": "^0.1.1", - "coffee-script": "^1.12.4", - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.1", - "toml": "^2.3.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gulp-header": { - "version": "1.8.12", - "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", - "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", - "deprecated": "Removed event-stream from gulp-header", - "dev": true, - "dependencies": { - "concat-with-sourcemaps": "*", - "lodash.template": "^4.4.0", - "through2": "^2.0.0" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-wsl/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", - "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.6.2", - "@jest/types": "^29.6.1", - "import-local": "^3.0.2", - "jest-cli": "^29.6.2" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-cli": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", - "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", - "dev": true, - "dependencies": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-config/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", - "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsep": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", - "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==", - "engines": { - "node": ">= 10.16.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-migrate": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-0.2.0.tgz", - "integrity": "sha512-dq4/oHWmtw/+0ytnXsDqVn+VsVweTEmzm5jLgguPn9BjSzn6/q58ZiZx3BHiQyJs612f0T5Z+MrUEUUY5DHsRg==", - "dependencies": { - "ajv": "^5.0.0" - } - }, - "node_modules/json-schema-migrate/node_modules/ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", - "dependencies": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "node_modules/json-schema-migrate/node_modules/fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" - }, - "node_modules/json-schema-migrate/node_modules/json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/jsonpath-plus": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", - "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dev": true, - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", - "dev": true, - "dependencies": { - "set-getter": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/list-item": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", - "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", - "dev": true, - "dependencies": { - "expand-range": "^1.8.1", - "extend-shallow": "^2.0.1", - "is-number": "^2.1.0", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.topath": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/markdown-link": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", - "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-toc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", - "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.2", - "diacritics-map": "^0.1.0", - "gray-matter": "^2.1.0", - "lazy-cache": "^2.0.2", - "list-item": "^1.1.1", - "markdown-link": "^0.1.1", - "minimist": "^1.2.0", - "mixin-deep": "^1.1.3", - "object.pick": "^1.2.0", - "remarkable": "^1.7.1", - "repeat-string": "^1.6.1", - "strip-color": "^0.1.0" - }, - "bin": { - "markdown-toc": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "peer": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true - }, - "node_modules/nimma": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", - "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", - "dependencies": { - "@jsep-plugin/regex": "^1.0.1", - "@jsep-plugin/ternary": "^1.0.2", - "astring": "^1.8.1", - "jsep": "^1.2.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - }, - "optionalDependencies": { - "jsonpath-plus": "^6.0.1", - "lodash.topath": "^4.5.2" - } - }, - "node_modules/nimma/node_modules/jsonpath-plus": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", - "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", - "optional": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, - "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parserapiv1": { - "name": "@asyncapi/parser", - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.1.tgz", - "integrity": "sha512-FnJ5Du9iMu9MEb5mF90gF7z1ZkdnazisBsm3GHVFr7VaiF8luAoB+bklGYFwoMb+9QWKWr1099orY5VyXULAcQ==", - "dependencies": { - "@asyncapi/specs": "^5.1.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", - "@stoplight/json-ref-readers": "^1.2.2", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@stoplight/spectral-ref-resolver": "^1.0.3", - "@stoplight/types": "^13.12.0", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - } - }, - "node_modules/parserapiv1/node_modules/@asyncapi/specs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", - "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", - "dependencies": { - "@types/json-schema": "^7.0.11" - } - }, - "node_modules/parserapiv1/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/parserapiv1/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/parserapiv1/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/parserapiv2": { - "name": "@asyncapi/parser", - "version": "3.0.0-next-major-spec.8", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.8.tgz", - "integrity": "sha512-d8ebYM08BCsx3Q4AeLke6naU/NrcAXFEVpS6b3EWcKRdUDce+v0X5k9aDH+YXWCaQApEF28UzcxhlSOJvhIFgQ==", - "dependencies": { - "@asyncapi/specs": "^6.0.0-next-major-spec.9", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - } - }, - "node_modules/parserapiv2/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/parserapiv2/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/parserapiv2/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/parserapiv3": { - "name": "@asyncapi/parser", - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", - "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", - "dependencies": { - "@asyncapi/specs": "^6.7.1", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", - "@stoplight/json-ref-readers": "^1.2.2", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@stoplight/spectral-ref-resolver": "^1.0.3", - "@stoplight/types": "^13.12.0", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7" - } - }, - "node_modules/parserapiv3/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/parserapiv3/node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/parserapiv3/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pony-cause": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", - "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", - "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ramldt2jsonschema": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ramldt2jsonschema/-/ramldt2jsonschema-1.2.3.tgz", - "integrity": "sha512-+wLDAV2NNv9NkfEUOYStaDu/6RYgYXeC1zLtXE+dMU/jDfjpN4iJnBGycDwFTFaIQGosOQhxph7fEX6Mpwxdug==", - "dependencies": { - "commander": "^5.0.0", - "js-yaml": "^3.14.0", - "json-schema-migrate": "^0.2.0", - "webapi-parser": "^0.5.0" - }, - "bin": { - "dt2js": "bin/dt2js.js", - "js2dt": "bin/js2dt.js" - } - }, - "node_modules/ramldt2jsonschema/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/ramldt2jsonschema/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/ramldt2jsonschema/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "dependencies": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/randomatic/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/randomatic/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true - }, - "node_modules/regexp-tree": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", - "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", - "dev": true, - "bin": { - "regexp-tree": "bin/regexp-tree" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/remarkable": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", - "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", - "dev": true, - "dependencies": { - "argparse": "^1.0.10", - "autolinker": "~0.28.0" - }, - "bin": { - "remarkable": "bin/remarkable.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/remarkable/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, - "node_modules/safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "dependencies": { - "regexp-tree": "~0.1.1" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", - "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "peer": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-getter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", - "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", - "dev": true, - "dependencies": { - "to-object-path": "^0.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/simple-eval": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", - "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", - "dependencies": { - "jsep": "^1.1.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-color": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", - "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-element-attributes": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", - "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/synckit": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", - "dev": true, - "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/to-regex-range/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/toml": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", - "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", - "dev": true - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/ts-api-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", - "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", - "dev": true, - "engines": { - "node": ">=16.13.0" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/urijs": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", - "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "peer": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webapi-parser": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/webapi-parser/-/webapi-parser-0.5.0.tgz", - "integrity": "sha512-fPt6XuMqLSvBz8exwX4QE1UT+pROLHa00EMDCdO0ybICduwQ1V4f7AWX4pNOpCp+x+0FjczEsOxtQU0d8L3QKw==", - "dependencies": { - "ajv": "6.5.2" - } - }, - "node_modules/webapi-parser/node_modules/ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dependencies": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" - } - }, - "node_modules/webapi-parser/node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@asyncapi/avro-schema-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.3.tgz", - "integrity": "sha512-XprbDYPFJ0nc963hPCjbEmM3iu6ypKg/70EFVl0MZJCLbLw/+gBbPy95uV3Qaofm5UQgSI+aTobGhc8rMre4VA==", - "requires": { - "@asyncapi/parser": "^2.1.0", - "@types/json-schema": "^7.0.11", - "avsc": "^5.7.6" - } - }, - "@asyncapi/openapi-schema-parser": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.4.tgz", - "integrity": "sha512-nfZbL3dTpIQ3K+/V05FBpgOPi7dDWZkqZG8e7pKwtNhwZ0YLBFWTw6RpocztlBlcieFggxZqLm4BT5I1cQbK+Q==", - "requires": { - "@asyncapi/parser": "^2.1.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "@asyncapi/parser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.0.tgz", - "integrity": "sha512-78jjN3eW4ZmgJEa6Ap15lofzADCeItO4wHcAY2Jod3qLB1xf1zFDZQdtm3VSHYLeLhwoC1A33bAtzEf7M5P2bg==", - "requires": { - "@asyncapi/specs": "^5.1.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - }, - "dependencies": { - "@asyncapi/specs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", - "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", - "requires": { - "@types/json-schema": "^7.0.11" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "@asyncapi/protobuf-schema-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/protobuf-schema-parser/-/protobuf-schema-parser-3.0.0.tgz", - "integrity": "sha512-kjoLrll611K+xYC/iBUlSnZsCHbrhL999ItVHZhObUOjUB991XgonqbSAaihiiDXTYgceOLhJKAN5llkV/LOOA==", - "requires": { - "@asyncapi/parser": "^2.1.0", - "@types/protocol-buffers-schema": "^3.4.1", - "protocol-buffers-schema": "^3.6.0" - } - }, - "@asyncapi/raml-dt-schema-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.4.tgz", - "integrity": "sha512-kKam4jwYYdwqoV5zkEb3YEb8VOrN0785fc4ByazxRd+BT/RnkQTLspjTY/akdDs9DLmU4ChP73Z0vqpek6wojA==", - "requires": { - "@asyncapi/parser": "^2.1.0", - "js-yaml": "^4.1.0", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - } - }, - "@asyncapi/specs": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.7.1.tgz", - "integrity": "sha512-jEaW2vgAwD9GboCdO/TI1zN2k+iowL8YFYwiZwTIr4U4KDmsgo3BLypScl6Jl4+IvY9RdsWE67nuzVX7jooiqQ==", - "requires": { - "@types/json-schema": "^7.0.11" - } - }, - "@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.10", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true - }, - "@babel/core": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.10", - "@babel/parser": "^7.22.10", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", - "dev": true, - "requires": { - "@babel/types": "^7.22.10", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10" - } - }, - "@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.10", - "@babel/types": "^7.22.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true - }, - "@github/browserslist-config": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", - "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@jest/create-cache-key-function": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", - "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" - } - }, - "@jest/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", - "dev": true, - "requires": { - "expect": "^29.6.2", - "jest-snapshot": "^29.6.2" - } - }, - "@jest/expect-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", - "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3" - } - }, - "@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - } - }, - "@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" - } - }, - "@jest/reporters": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", - "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - } - } - }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@jsep-plugin/regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", - "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", - "requires": {} - }, - "@jsep-plugin/ternary": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", - "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", - "requires": {} - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@openapi-contrib/openapi-schema-to-json-schema": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", - "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "@pkgr/utils": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", - "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@stoplight/json": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", - "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", - "requires": { - "@stoplight/ordered-object-literal": "^1.0.3", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^13.6.0", - "jsonc-parser": "~2.2.1", - "lodash": "^4.17.21", - "safe-stable-stringify": "^1.1" - }, - "dependencies": { - "jsonc-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", - "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" - } - } - }, - "@stoplight/json-ref-readers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", - "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", - "requires": { - "node-fetch": "^2.6.0", - "tslib": "^1.14.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@stoplight/json-ref-resolver": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", - "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", - "requires": { - "@stoplight/json": "^3.21.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0 || ^13.0.0", - "@types/urijs": "^1.19.19", - "dependency-graph": "~0.11.0", - "fast-memoize": "^2.5.2", - "immer": "^9.0.6", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "urijs": "^1.19.11" - } - }, - "@stoplight/ordered-object-literal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.4.tgz", - "integrity": "sha512-OF8uib1jjDs5/cCU+iOVy+GJjU3X7vk/qJIkIJFqwmlJKrrtijFmqwbu8XToXrwTYLQTP+Hebws5gtZEmk9jag==" - }, - "@stoplight/path": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", - "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==" - }, - "@stoplight/spectral-core": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz", - "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==", - "requires": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "~3.21.0", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-parsers": "^1.0.0", - "@stoplight/spectral-ref-resolver": "^1.0.0", - "@stoplight/spectral-runtime": "^1.0.0", - "@stoplight/types": "~13.6.0", - "@types/es-aggregate-error": "^1.0.2", - "@types/json-schema": "^7.0.11", - "ajv": "^8.6.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "es-aggregate-error": "^1.0.7", - "jsonpath-plus": "7.1.0", - "lodash": "~4.17.21", - "lodash.topath": "^4.5.2", - "minimatch": "3.1.2", - "nimma": "0.2.2", - "pony-cause": "^1.0.0", - "simple-eval": "1.0.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "@stoplight/better-ajv-errors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", - "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", - "requires": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "@stoplight/types": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", - "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", - "requires": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "jsonpath-plus": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", - "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==" - } - } - }, - "@stoplight/spectral-formats": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.5.0.tgz", - "integrity": "sha512-VskkdU3qBSvI1dfJ79ysjvTssfNlbA6wrf/XkXK6iTyjfIVqOAWVtjypTb2U95tN/X8IjIBBhNWtZ4tNVZilrA==", - "requires": { - "@stoplight/json": "^3.17.0", - "@stoplight/spectral-core": "^1.8.0", - "@types/json-schema": "^7.0.7", - "tslib": "^2.3.1" - } - }, - "@stoplight/spectral-functions": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.7.2.tgz", - "integrity": "sha512-f+61/FtIkQeIo+a269CeaeqjpyRsgDyIk6DGr7iS4hyuk1PPk7Uf6MNRDs9FEIBh7CpdEJ+HSHbMLwgpymWTIw==", - "requires": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "^3.17.1", - "@stoplight/spectral-core": "^1.7.0", - "@stoplight/spectral-formats": "^1.0.0", - "@stoplight/spectral-runtime": "^1.1.0", - "ajv": "^8.6.3", - "ajv-draft-04": "~1.0.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "lodash": "~4.17.21", - "tslib": "^2.3.0" - }, - "dependencies": { - "@stoplight/better-ajv-errors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", - "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", - "requires": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-draft-04": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", - "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", - "requires": {} - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "@stoplight/spectral-parsers": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.3.tgz", - "integrity": "sha512-J0KW5Rh5cHWnJQ3yN+cr/ijNFVirPSR0pkQbdrNX30VboEl083UEDrQ3yov9kjLVIWEk9t9kKE7Eo3QT/k4JLA==", - "requires": { - "@stoplight/json": "~3.21.0", - "@stoplight/types": "^13.6.0", - "@stoplight/yaml": "~4.2.3", - "tslib": "^2.3.1" - } - }, - "@stoplight/spectral-ref-resolver": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.4.tgz", - "integrity": "sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==", - "requires": { - "@stoplight/json-ref-readers": "1.2.2", - "@stoplight/json-ref-resolver": "~3.1.6", - "@stoplight/spectral-runtime": "^1.1.2", - "dependency-graph": "0.11.0", - "tslib": "^2.3.1" - } - }, - "@stoplight/spectral-runtime": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", - "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", - "requires": { - "@stoplight/json": "^3.17.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0", - "abort-controller": "^3.0.0", - "lodash": "^4.17.21", - "node-fetch": "^2.6.7", - "tslib": "^2.3.1" - }, - "dependencies": { - "@stoplight/types": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", - "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", - "requires": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - } - } - } - }, - "@stoplight/types": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.19.0.tgz", - "integrity": "sha512-HvbH6fbvNcTJZVRGV1Xb87cwnXXuc94XYTg4SOvKOL4F9cc4UMw7Q40oaIgJ8iewkMnOSIlLExdmTkjF/QH2pg==", - "requires": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - } - }, - "@stoplight/yaml": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.2.3.tgz", - "integrity": "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw==", - "requires": { - "@stoplight/ordered-object-literal": "^1.0.1", - "@stoplight/types": "^13.0.0", - "@stoplight/yaml-ast-parser": "0.0.48", - "tslib": "^2.2.0" - } - }, - "@stoplight/yaml-ast-parser": { - "version": "0.0.48", - "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", - "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==" - }, - "@swc/core": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.78.tgz", - "integrity": "sha512-y6DQP571v7fbUUY7nz5G4lNIRGofuO48K5pGhD9VnuOCTuptfooCdi8wnigIrIhM/M4zQ53m/YCMDCbOtDgEww==", - "dev": true, - "requires": { - "@swc/core-darwin-arm64": "1.3.78", - "@swc/core-darwin-x64": "1.3.78", - "@swc/core-linux-arm-gnueabihf": "1.3.78", - "@swc/core-linux-arm64-gnu": "1.3.78", - "@swc/core-linux-arm64-musl": "1.3.78", - "@swc/core-linux-x64-gnu": "1.3.78", - "@swc/core-linux-x64-musl": "1.3.78", - "@swc/core-win32-arm64-msvc": "1.3.78", - "@swc/core-win32-ia32-msvc": "1.3.78", - "@swc/core-win32-x64-msvc": "1.3.78" - } - }, - "@swc/core-darwin-arm64": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.78.tgz", - "integrity": "sha512-596KRua/d5Gx1buHKKchSyHuwoIL4S1BRD/wCvYNLNZ3xOzcuBBmXOjrDVigKi1ztNDeS07p30RO5UyYur0XAA==", - "dev": true, - "optional": true - }, - "@swc/core-darwin-x64": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.78.tgz", - "integrity": "sha512-w0RsD1onQAj0vuLAoOVi48HgnW6D6oBEIZP17l0HYejCDBZ+FRZLjml7wgNAWMqHcd2qNRqgtZ+v7aLza2JtBQ==", - "dev": true, - "optional": true - }, - "@swc/core-linux-arm-gnueabihf": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.78.tgz", - "integrity": "sha512-v1CpRn+H6fha1WIqmdRvJM40pFdjUHrGfhf4Ygci72nlAU41l5XimN8Iwkm8FgIwf2wnv0lLzedSM4IHvpq/yA==", - "dev": true, - "optional": true - }, - "@swc/core-linux-arm64-gnu": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.78.tgz", - "integrity": "sha512-Sis17dz9joJRFVvR/gteOZSUNrrrioo81RQzani0Zr5ZZOfWLMTB9DA+0MVlfnVa2taYcsJHJZFoAv9JkLwbzg==", - "dev": true, - "optional": true - }, - "@swc/core-linux-arm64-musl": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.78.tgz", - "integrity": "sha512-E5F8/qp+QupnfBnsP4vN1PKyCmAHYHDG1GMyPE/zLFOUYLgw+jK4C9rfyLBR0o2bWo1ay2WCIjusBZD9XHGOSA==", - "dev": true, - "optional": true - }, - "@swc/core-linux-x64-gnu": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.78.tgz", - "integrity": "sha512-iDxa+RknnTQlyy+WfPor1FM6y44ERNI2E0xiUV6gV6uPwegCngi8LFC+E7IvP6+p+yXtAkesunAaiZ8nn0s+rw==", - "dev": true, - "optional": true - }, - "@swc/core-linux-x64-musl": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.78.tgz", - "integrity": "sha512-dWtIYUFL5sMTE2UKshkXTusHcK8+zAhhGzvqWq1wJS45pqTlrAbzpyqB780fle880x3A6DMitWmsAFARdNzpuQ==", - "dev": true, - "optional": true - }, - "@swc/core-win32-arm64-msvc": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.78.tgz", - "integrity": "sha512-CXFaGEc2M9Su3UoUMC8AnzKb9g+GwPxXfakLWZsjwS448h6jcreExq3nwtBNdVGzQ26xqeVLMFfb1l/oK99Hwg==", - "dev": true, - "optional": true - }, - "@swc/core-win32-ia32-msvc": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.78.tgz", - "integrity": "sha512-FaH1jwWnJpWkdImpMoiZpMg9oy9UUyZwltzN7hFwjR48e3Li82cRFb+9PifIBHCUSBM+CrrsJXbHP213IMVAyw==", - "dev": true, - "optional": true - }, - "@swc/core-win32-x64-msvc": { - "version": "1.3.78", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.78.tgz", - "integrity": "sha512-oYxa+tPdhlx1aH14AIoF6kvVjo49tEOW0drNqoEaVHufvgH0y43QU2Jum3b2+xXztmMRtzK2CSN3GPOAXDKKKg==", - "dev": true, - "optional": true - }, - "@swc/jest": { - "version": "0.2.29", - "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.29.tgz", - "integrity": "sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==", - "dev": true, - "requires": { - "@jest/create-cache-key-function": "^27.4.2", - "jsonc-parser": "^3.2.0" - } - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/es-aggregate-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.2.tgz", - "integrity": "sha512-erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==", - "requires": { - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", - "dev": true, - "peer": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "peer": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true, - "peer": true - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", - "dev": true, - "requires": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/node": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", - "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==" - }, - "@types/protocol-buffers-schema": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@types/protocol-buffers-schema/-/protocol-buffers-schema-3.4.1.tgz", - "integrity": "sha512-CBpqIDa1+/F3Z5EL8Uz/t+1eygIinJiMS37KP8O9TN+n38OlckYQhU+t/vYpsF7XhSDuiZS0zAJyfRrAeDKDUw==", - "requires": { - "@types/node": "*" - } - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/urijs": { - "version": "1.19.19", - "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.19.tgz", - "integrity": "sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg==" - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true, - "peer": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true, - "peer": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true, - "peer": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true, - "peer": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "peer": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "peer": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true, - "peer": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "peer": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "peer": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peer": true, - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", - "dev": true - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "requires": { - "dequal": "^2.0.3" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==" - }, - "autolinker": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", - "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", - "dev": true, - "requires": { - "gulp-header": "^1.7.1" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "avsc": { - "version": "5.7.7", - "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", - "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==" - }, - "axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", - "dev": true - }, - "axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dev": true, - "requires": { - "dequal": "^2.0.3" - } - }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "dev": true - }, - "bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, - "requires": { - "big-integer": "^1.6.44" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - } - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - }, - "dependencies": { - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - } - } - }, - "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "dev": true, - "requires": { - "run-applescript": "^5.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001521", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", - "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "peer": true - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "peer": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "requires": {} - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "dev": true, - "requires": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "dependencies": { - "execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - } - }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - } - } - }, - "default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dev": true, - "requires": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - } - }, - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diacritics-map": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", - "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.495", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", - "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", - "dev": true - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "es-aggregate-error": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.9.tgz", - "integrity": "sha512-fvnX40sb538wdU6r4s35cq4EY6Lr09Upj40BEVem4LEsuW8XgQep9yD5Q1U2KftokNp1rWODFJ2qwZSsAjFpbg==", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "function-bind": "^1.1.1", - "functions-have-names": "^1.2.3", - "get-intrinsic": "^1.1.3", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0" - } - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true, - "peer": true - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-escompat": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", - "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", - "dev": true, - "requires": { - "browserslist": "^4.21.0" - } - }, - "eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - } - } - }, - "eslint-plugin-filenames": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", - "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", - "dev": true, - "requires": { - "lodash.camelcase": "4.3.0", - "lodash.kebabcase": "4.1.1", - "lodash.snakecase": "4.1.1", - "lodash.upperfirst": "4.3.1" - } - }, - "eslint-plugin-github": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.9.2.tgz", - "integrity": "sha512-osez6Sio/fLr/3QkW5HE1wbCOcmYG5030/6QIa9IcKyyfchewlecdnYcsbeUMUtdIiU9lWqhroQp2H/O7auxBA==", - "dev": true, - "requires": { - "@github/browserslist-config": "^1.0.0", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", - "aria-query": "^5.3.0", - "eslint-config-prettier": ">=8.0.0", - "eslint-plugin-escompat": "^3.3.3", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-filenames": "^1.3.2", - "eslint-plugin-i18n-text": "^1.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-no-only-tests": "^3.0.0", - "eslint-plugin-prettier": "^5.0.0", - "eslint-rule-documentation": ">=1.0.0", - "jsx-ast-utils": "^3.3.2", - "prettier": "^3.0.0", - "svg-element-attributes": "^1.3.1" - }, - "dependencies": { - "@typescript-eslint/eslint-plugin": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz", - "integrity": "sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.4.0", - "@typescript-eslint/type-utils": "6.4.0", - "@typescript-eslint/utils": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/parser": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.0.tgz", - "integrity": "sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "6.4.0", - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/typescript-estree": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz", - "integrity": "sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz", - "integrity": "sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "6.4.0", - "@typescript-eslint/utils": "6.4.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/types": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.0.tgz", - "integrity": "sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz", - "integrity": "sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/visitor-keys": "6.4.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/utils": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.0.tgz", - "integrity": "sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.4.0", - "@typescript-eslint/types": "6.4.0", - "@typescript-eslint/typescript-estree": "6.4.0", - "semver": "^7.5.4" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz", - "integrity": "sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.4.0", - "eslint-visitor-keys": "^3.4.1" - } - } - } - }, - "eslint-plugin-i18n-text": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", - "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", - "dev": true, - "requires": {} - }, - "eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-no-only-tests": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", - "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", - "dev": true - }, - "eslint-plugin-prettier": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", - "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.5" - } - }, - "eslint-plugin-security": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", - "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", - "dev": true, - "requires": { - "safe-regex": "^2.1.1" - } - }, - "eslint-plugin-sonarjs": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", - "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", - "dev": true, - "requires": {} - }, - "eslint-rule-documentation": { - "version": "1.0.23", - "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", - "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.6.2", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true - }, - "jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fast-memoize": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", - "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "peer": true - }, - "globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", - "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", - "dev": true, - "requires": { - "ansi-red": "^0.1.1", - "coffee-script": "^1.12.4", - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.1", - "toml": "^2.3.2" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "gulp-header": { - "version": "1.8.12", - "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", - "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", - "dev": true, - "requires": { - "concat-with-sourcemaps": "*", - "lodash.template": "^4.4.0", - "through2": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "requires": { - "is-docker": "^3.0.0" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - }, - "dependencies": { - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - } - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", - "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", - "dev": true, - "requires": { - "@jest/core": "^29.6.2", - "@jest/types": "^29.6.1", - "import-local": "^3.0.2", - "jest-cli": "^29.6.2" - } - }, - "jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true - }, - "jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-cli": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", - "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", - "dev": true, - "requires": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - } - } - }, - "jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - } - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - } - } - }, - "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true - }, - "jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", - "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", - "dev": true, - "requires": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.2" - } - }, - "jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - } - }, - "jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true - }, - "jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsep": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", - "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-migrate": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-0.2.0.tgz", - "integrity": "sha512-dq4/oHWmtw/+0ytnXsDqVn+VsVweTEmzm5jLgguPn9BjSzn6/q58ZiZx3BHiQyJs612f0T5Z+MrUEUUY5DHsRg==", - "requires": { - "ajv": "^5.0.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" - } - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "jsonpath-plus": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", - "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==" - }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" - }, - "jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dev": true, - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", - "dev": true, - "requires": { - "set-getter": "^0.1.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "list-item": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", - "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "extend-shallow": "^2.0.1", - "is-number": "^2.1.0", - "repeat-string": "^1.5.2" - } - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "peer": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.topath": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "markdown-link": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", - "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", - "dev": true - }, - "markdown-toc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", - "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", - "dev": true, - "requires": { - "concat-stream": "^1.5.2", - "diacritics-map": "^0.1.0", - "gray-matter": "^2.1.0", - "lazy-cache": "^2.0.2", - "list-item": "^1.1.1", - "markdown-link": "^0.1.1", - "minimist": "^1.2.0", - "mixin-deep": "^1.1.3", - "object.pick": "^1.2.0", - "remarkable": "^1.7.1", - "repeat-string": "^1.6.1", - "strip-color": "^0.1.0" - } - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "peer": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "peer": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true - }, - "nimma": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", - "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", - "requires": { - "@jsep-plugin/regex": "^1.0.1", - "@jsep-plugin/ternary": "^1.0.2", - "astring": "^1.8.1", - "jsep": "^1.2.0", - "jsonpath-plus": "^6.0.1", - "lodash.topath": "^4.5.2" - }, - "dependencies": { - "jsonpath-plus": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", - "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", - "optional": true - } - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, - "requires": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parserapiv1": { - "version": "npm:@asyncapi/parser@2.1.1", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.1.tgz", - "integrity": "sha512-FnJ5Du9iMu9MEb5mF90gF7z1ZkdnazisBsm3GHVFr7VaiF8luAoB+bklGYFwoMb+9QWKWr1099orY5VyXULAcQ==", - "requires": { - "@asyncapi/specs": "^5.1.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", - "@stoplight/json-ref-readers": "^1.2.2", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@stoplight/spectral-ref-resolver": "^1.0.3", - "@stoplight/types": "^13.12.0", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - }, - "dependencies": { - "@asyncapi/specs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", - "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", - "requires": { - "@types/json-schema": "^7.0.11" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "parserapiv2": { - "version": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.8.tgz", - "integrity": "sha512-d8ebYM08BCsx3Q4AeLke6naU/NrcAXFEVpS6b3EWcKRdUDce+v0X5k9aDH+YXWCaQApEF28UzcxhlSOJvhIFgQ==", - "requires": { - "@asyncapi/specs": "^6.0.0-next-major-spec.9", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7", - "ramldt2jsonschema": "^1.2.3", - "webapi-parser": "^0.5.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "parserapiv3": { - "version": "npm:@asyncapi/parser@3.1.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", - "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", - "requires": { - "@asyncapi/specs": "^6.7.1", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", - "@stoplight/json-ref-readers": "^1.2.2", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@stoplight/spectral-ref-resolver": "^1.0.3", - "@stoplight/types": "^13.12.0", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pony-cause": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", - "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", - "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "ramldt2jsonschema": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ramldt2jsonschema/-/ramldt2jsonschema-1.2.3.tgz", - "integrity": "sha512-+wLDAV2NNv9NkfEUOYStaDu/6RYgYXeC1zLtXE+dMU/jDfjpN4iJnBGycDwFTFaIQGosOQhxph7fEX6Mpwxdug==", - "requires": { - "commander": "^5.0.0", - "js-yaml": "^3.14.0", - "json-schema-migrate": "^0.2.0", - "webapi-parser": "^0.5.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "peer": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true - }, - "regexp-tree": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", - "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "remarkable": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", - "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", - "dev": true, - "requires": { - "argparse": "^1.0.10", - "autolinker": "~0.28.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - } - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "peer": true - }, - "safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "requires": { - "regexp-tree": "~0.1.1" - } - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safe-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", - "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "peer": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "peer": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-getter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", - "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", - "dev": true, - "requires": { - "to-object-path": "^0.3.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "simple-eval": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", - "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", - "requires": { - "jsep": "^1.1.2" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - } - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-color": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", - "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "svg-element-attributes": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", - "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", - "dev": true - }, - "synckit": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", - "dev": true, - "requires": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "peer": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "peer": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "dependencies": { - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "peer": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - }, - "dependencies": { - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - } - } - }, - "toml": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", - "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", - "dev": true - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "ts-api-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", - "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", - "dev": true, - "requires": {} - }, - "ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - } - }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "dependencies": { - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - } - } - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - } - } - }, - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - } - } - }, - "urijs": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", - "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - } - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "peer": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webapi-parser": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/webapi-parser/-/webapi-parser-0.5.0.tgz", - "integrity": "sha512-fPt6XuMqLSvBz8exwX4QE1UT+pROLHa00EMDCdO0ybICduwQ1V4f7AWX4pNOpCp+x+0FjczEsOxtQU0d8L3QKw==", - "requires": { - "ajv": "6.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" - } - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", - "dev": true, - "peer": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true - } - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "peer": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/.editorconfig b/packages/multi-parser/.editorconfig similarity index 100% rename from .editorconfig rename to packages/multi-parser/.editorconfig diff --git a/.eslintignore b/packages/multi-parser/.eslintignore similarity index 100% rename from .eslintignore rename to packages/multi-parser/.eslintignore diff --git a/.eslintrc b/packages/multi-parser/.eslintrc similarity index 100% rename from .eslintrc rename to packages/multi-parser/.eslintrc diff --git a/.github/workflows/if-nodejs-pr-testing.yml b/packages/multi-parser/.github/workflows/if-nodejs-pr-testing.yml similarity index 100% rename from .github/workflows/if-nodejs-pr-testing.yml rename to packages/multi-parser/.github/workflows/if-nodejs-pr-testing.yml diff --git a/.github/workflows/if-nodejs-release.yml b/packages/multi-parser/.github/workflows/if-nodejs-release.yml similarity index 100% rename from .github/workflows/if-nodejs-release.yml rename to packages/multi-parser/.github/workflows/if-nodejs-release.yml diff --git a/.github/workflows/lint-pr-title.yml b/packages/multi-parser/.github/workflows/lint-pr-title.yml similarity index 100% rename from .github/workflows/lint-pr-title.yml rename to packages/multi-parser/.github/workflows/lint-pr-title.yml diff --git a/.gitignore b/packages/multi-parser/.gitignore similarity index 100% rename from .gitignore rename to packages/multi-parser/.gitignore diff --git a/.npmignore b/packages/multi-parser/.npmignore similarity index 100% rename from .npmignore rename to packages/multi-parser/.npmignore diff --git a/.releaserc b/packages/multi-parser/.releaserc similarity index 100% rename from .releaserc rename to packages/multi-parser/.releaserc diff --git a/.sonarcloud.properties b/packages/multi-parser/.sonarcloud.properties similarity index 100% rename from .sonarcloud.properties rename to packages/multi-parser/.sonarcloud.properties diff --git a/LICENSE b/packages/multi-parser/LICENSE similarity index 100% rename from LICENSE rename to packages/multi-parser/LICENSE diff --git a/README.md b/packages/multi-parser/README.md similarity index 100% rename from README.md rename to packages/multi-parser/README.md diff --git a/jest.config.ts b/packages/multi-parser/jest.config.ts similarity index 100% rename from jest.config.ts rename to packages/multi-parser/jest.config.ts diff --git a/package.json b/packages/multi-parser/package.json similarity index 100% rename from package.json rename to packages/multi-parser/package.json diff --git a/src/convert.ts b/packages/multi-parser/src/convert.ts similarity index 100% rename from src/convert.ts rename to packages/multi-parser/src/convert.ts diff --git a/src/index.ts b/packages/multi-parser/src/index.ts similarity index 100% rename from src/index.ts rename to packages/multi-parser/src/index.ts diff --git a/src/parse.ts b/packages/multi-parser/src/parse.ts similarity index 100% rename from src/parse.ts rename to packages/multi-parser/src/parse.ts diff --git a/test/convert.spec.ts b/packages/multi-parser/test/convert.spec.ts similarity index 100% rename from test/convert.spec.ts rename to packages/multi-parser/test/convert.spec.ts diff --git a/test/parse.spec.ts b/packages/multi-parser/test/parse.spec.ts similarity index 100% rename from test/parse.spec.ts rename to packages/multi-parser/test/parse.spec.ts diff --git a/tsconfig.cjs.json b/packages/multi-parser/tsconfig.cjs.json similarity index 100% rename from tsconfig.cjs.json rename to packages/multi-parser/tsconfig.cjs.json diff --git a/tsconfig.json b/packages/multi-parser/tsconfig.json similarity index 100% rename from tsconfig.json rename to packages/multi-parser/tsconfig.json From fd70676334ea999956c2fd73cdfcdcfea1eb6436 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 23 Jun 2024 10:42:07 +0530 Subject: [PATCH 062/107] Added the files for the multiparser. --- package-lock.json | 7931 ++++---- package.json | 5 +- packages/multi-parser/.eslintignore | 9 - packages/multi-parser/.eslintrc | 134 - packages/multi-parser/.releaserc | 22 - packages/multi-parser/LICENSE | 201 - packages/multi-parser/package.json | 10 +- packages/multi-parser/src/convert.ts | 6 +- packages/multi-parser/src/parse.ts | 4 +- packages/multi-parser/test/convert.spec.ts | 2 +- packages/multi-parser/test/parse.spec.ts | 2 +- packages/parser/package-lock.json | 19618 ------------------- packages/parser/package.json | 6 +- turbo.json | 17 +- 14 files changed, 4568 insertions(+), 23399 deletions(-) delete mode 100644 packages/multi-parser/.eslintignore delete mode 100644 packages/multi-parser/.eslintrc delete mode 100644 packages/multi-parser/.releaserc delete mode 100644 packages/multi-parser/LICENSE delete mode 100644 packages/parser/package-lock.json diff --git a/package-lock.json b/package-lock.json index cbcb4cfda..6c8ceb651 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,12 +19,35 @@ "node": ">=18" } }, - "apps/parser": { - "name": "@ayushnautiyal706020/parser", - "version": "3.0.14", - "license": "Apache-2.0", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, "dependencies": { - "@asyncapi/specs": "^6.6.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@asyncapi/avro-schema-parser": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.24.tgz", + "integrity": "sha512-YMyr2S2heMrWHRyECknjHeejlZl5exUSv9nD1gTejAT13fSf0PqIRydZ9ZuoglCLBg55AeehypR2zLIBu/9kHQ==", + "dependencies": { + "@asyncapi/parser": "^3.1.0", + "@types/json-schema": "^7.0.11", + "avsc": "^5.7.6" + } + }, + "node_modules/@asyncapi/avro-schema-parser/node_modules/@asyncapi/parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", + "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", + "dependencies": { + "@asyncapi/specs": "^6.7.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "^3.20.2", "@stoplight/json-ref-readers": "^1.2.2", @@ -43,312 +66,201 @@ "js-yaml": "^4.1.0", "jsonpath-plus": "^7.2.0", "node-fetch": "2.6.7" - }, - "devDependencies": { - "@asyncapi/avro-schema-parser": "^3.0.22", - "@jest/types": "^29.0.2", - "@swc/core": "^1.2.248", - "@swc/jest": "^0.2.22", - "@types/jest": "^27.4.1", - "@types/js-yaml": "^4.0.5", - "@types/node": "^18.16.1", - "@types/node-fetch": "^2.6.2", - "@typescript-eslint/eslint-plugin": "^5.36.2", - "@typescript-eslint/parser": "^5.36.2", - "browserify": "^16.3.0", - "browserify-shim": "^3.8.14", - "cross-env": "^7.0.3", - "eslint": "^8.23.0", - "eslint-plugin-github": "^4.3.7", - "eslint-plugin-security": "^1.5.0", - "eslint-plugin-sonarjs": "^0.15.0", - "jest": "^29.0.2", - "markdown-toc": "^1.2.0", - "path-browserify": "^1.0.1", - "puppeteer": "^17.1.1", - "ts-loader": "^9.3.1", - "ts-node": "^10.9.1", - "typescript": "^4.8.2", - "webpack": "^5.74.0", - "webpack-bundle-analyzer": "^4.6.1", - "webpack-cli": "^4.10.0" } }, - "apps/parser/node_modules/@types/node": { - "version": "18.19.31", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } + "node_modules/@asyncapi/avro-schema-parser/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "apps/parser/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "dev": true, - "license": "MIT", + "node_modules/@asyncapi/avro-schema-parser/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "argparse": "^2.0.1" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "apps/parser/node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@asyncapi/openapi-schema-parser": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.24.tgz", + "integrity": "sha512-7wz2yVDedJMS+TzOuqCvRWJMc6pNHICKZcOhnW6ZvyVLAh7hYIqQE1WA4OoXT4cKVbwSU3V2Q4bZagSsAIQd6Q==", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@asyncapi/parser": "^3.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1" } }, - "apps/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "dev": true, - "license": "MIT", + "node_modules/@asyncapi/openapi-schema-parser/node_modules/@asyncapi/parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", + "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@asyncapi/specs": "^6.7.1", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7" } }, - "apps/parser/node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "dev": true, - "license": "MIT", + "node_modules/@asyncapi/openapi-schema-parser/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@asyncapi/openapi-schema-parser/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "argparse": "^2.0.1" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "apps/parser/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } + "node_modules/@asyncapi/parser": { + "resolved": "packages/parser", + "link": true }, - "apps/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@asyncapi/protobuf-schema-parser": { + "version": "3.2.14", + "resolved": "https://registry.npmjs.org/@asyncapi/protobuf-schema-parser/-/protobuf-schema-parser-3.2.14.tgz", + "integrity": "sha512-7v64Jxhz2IBfaQECUhfwuLRMFQTysvmqtvT+Esgd9NooIPRnkEzgCbBnC25oGjzSB6Sju28G406lQpO15HHaEw==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@asyncapi/parser": "^3.1.0", + "@types/protocol-buffers-schema": "^3.4.1", + "protobufjs": "^7.2.6" } }, - "apps/parser/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "dev": true, - "license": "MIT", + "node_modules/@asyncapi/protobuf-schema-parser/node_modules/@asyncapi/parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", + "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@asyncapi/specs": "^6.7.1", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7" } }, - "apps/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } + "node_modules/@asyncapi/protobuf-schema-parser/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "apps/parser/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "node_modules/@asyncapi/protobuf-schema-parser/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "argparse": "^2.0.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "apps/parser/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "apps/parser/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "apps/parser/node_modules/typescript": { - "version": "4.9.5", - "dev": true, - "license": "Apache-2.0", "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/@asyncapi/raml-dt-schema-parser": { + "version": "4.0.24", + "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.24.tgz", + "integrity": "sha512-Fy9IwCXPpXoG4Mkm7sXgWucSwYg8POwdx16xuHAmV6AerpcM8nk5mT/tARLtR3wrMst3OBwReEVYzwT3esSb8g==", + "dependencies": { + "@asyncapi/parser": "^3.1.0", + "js-yaml": "^4.1.0", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@asyncapi/raml-dt-schema-parser/node_modules/@asyncapi/parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.1.0.tgz", + "integrity": "sha512-rUd+fsPRE68o+F3gLqk7OaBj5J5VgBiLk9eJBGEXolNmKbVd45mxJm2aBpMkphQEmYHuBvxZyiNYlSCyr1D2fA==", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" + "@asyncapi/specs": "^6.7.1", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7" } }, - "node_modules/@asyncapi/avro-schema-parser": { - "version": "3.0.22", - "dev": true, - "license": "Apache-2.0", + "node_modules/@asyncapi/raml-dt-schema-parser/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@asyncapi/raml-dt-schema-parser/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "@asyncapi/parser": "^3.0.14", - "@types/json-schema": "^7.0.11", - "avsc": "^5.7.6" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@asyncapi/parser": { - "resolved": "apps/parser", - "link": true - }, "node_modules/@asyncapi/specs": { - "version": "6.6.0", - "license": "Apache-2.0", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.7.1.tgz", + "integrity": "sha512-jEaW2vgAwD9GboCdO/TI1zN2k+iowL8YFYwiZwTIr4U4KDmsgo3BLypScl6Jl4+IvY9RdsWE67nuzVX7jooiqQ==", "dependencies": { "@types/json-schema": "^7.0.11" } }, - "node_modules/@ayushnautiyal706020/parser": { - "resolved": "apps/parser", - "link": true - }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "license": "MIT", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { @@ -356,28 +268,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.4", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.4", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -392,20 +306,28 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.24.4", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0", + "@babel/types": "^7.24.7", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -415,12 +337,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -431,64 +354,74 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.23.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -498,76 +431,84 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "license": "MIT", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.4", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.2", - "license": "MIT", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -577,9 +518,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.4", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -589,8 +531,9 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -600,8 +543,9 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -611,8 +555,9 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -622,8 +567,9 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -633,8 +579,9 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -643,11 +590,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -658,8 +606,9 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -669,8 +618,9 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -680,8 +630,9 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -691,8 +642,9 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -702,8 +654,9 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -713,8 +666,9 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -724,8 +678,9 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -737,11 +692,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -751,8 +707,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.4", - "license": "MIT", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -761,31 +718,33 @@ } }, "node_modules/@babel/template": { - "version": "7.24.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -793,13 +752,23 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.24.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -808,8 +777,9 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, "node_modules/@changesets/apply-release-plan": { "version": "7.0.3", @@ -832,28 +802,6 @@ "semver": "^7.5.3" } }, - "node_modules/@changesets/apply-release-plan/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, "node_modules/@changesets/assemble-release-plan": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.2.tgz", @@ -919,28 +867,6 @@ "changeset": "bin.js" } }, - "node_modules/@changesets/cli/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@changesets/cli/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, "node_modules/@changesets/config": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.1.tgz", @@ -1025,26 +951,6 @@ "js-yaml": "^3.13.1" } }, - "node_modules/@changesets/parse/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@changesets/parse/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@changesets/pre": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.0.tgz", @@ -1099,24 +1005,11 @@ "prettier": "^2.7.1" } }, - "node_modules/@changesets/write/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -1126,8 +1019,9 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1135,16 +1029,18 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -1156,17 +1052,19 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -1185,68 +1083,67 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "argparse": "^2.0.1" }, - "engines": { - "node": "*" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/@eslint/js": { "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@github/browserslist-config": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", + "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", + "dev": true }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, - "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -1256,30 +1153,11 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -1290,13 +1168,16 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -1308,94 +1189,20 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -1410,8 +1217,9 @@ }, "node_modules/@jest/console/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1424,8 +1232,9 @@ }, "node_modules/@jest/console/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1439,8 +1248,9 @@ }, "node_modules/@jest/console/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1450,21 +1260,24 @@ }, "node_modules/@jest/console/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/@jest/console/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1474,8 +1287,9 @@ }, "node_modules/@jest/core": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -1520,8 +1334,9 @@ }, "node_modules/@jest/core/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1534,8 +1349,9 @@ }, "node_modules/@jest/core/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1549,8 +1365,9 @@ }, "node_modules/@jest/core/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1560,21 +1377,24 @@ }, "node_modules/@jest/core/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/core/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -1586,8 +1406,9 @@ }, "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -1596,14 +1417,16 @@ } }, "node_modules/@jest/core/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/@jest/core/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1613,8 +1436,9 @@ }, "node_modules/@jest/create-cache-key-function": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3" }, @@ -1624,8 +1448,9 @@ }, "node_modules/@jest/environment": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -1638,8 +1463,9 @@ }, "node_modules/@jest/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, - "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -1650,8 +1476,9 @@ }, "node_modules/@jest/expect-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1661,8 +1488,9 @@ }, "node_modules/@jest/fake-timers": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1677,8 +1505,9 @@ }, "node_modules/@jest/globals": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1691,8 +1520,9 @@ }, "node_modules/@jest/reporters": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, - "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1733,8 +1563,9 @@ }, "node_modules/@jest/reporters/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1745,19 +1576,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1771,8 +1594,9 @@ }, "node_modules/@jest/reporters/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1782,51 +1606,24 @@ }, "node_modules/@jest/reporters/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@jest/reporters/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1836,8 +1633,9 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, - "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1847,8 +1645,9 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1860,8 +1659,9 @@ }, "node_modules/@jest/test-result": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1874,8 +1674,9 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1888,8 +1689,9 @@ }, "node_modules/@jest/transform": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1913,8 +1715,9 @@ }, "node_modules/@jest/transform/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1927,8 +1730,9 @@ }, "node_modules/@jest/transform/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1942,8 +1746,9 @@ }, "node_modules/@jest/transform/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1953,21 +1758,30 @@ }, "node_modules/@jest/transform/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/transform/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1977,8 +1791,9 @@ }, "node_modules/@jest/types": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1993,8 +1808,9 @@ }, "node_modules/@jest/types/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2007,8 +1823,9 @@ }, "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2022,8 +1839,9 @@ }, "node_modules/@jest/types/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2033,21 +1851,24 @@ }, "node_modules/@jest/types/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/types/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2057,8 +1878,9 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -2070,24 +1892,27 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -2095,13 +1920,15 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -2109,7 +1936,8 @@ }, "node_modules/@jsep-plugin/regex": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", + "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", "engines": { "node": ">= 10.16.0" }, @@ -2119,7 +1947,8 @@ }, "node_modules/@jsep-plugin/ternary": { "version": "1.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", + "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", "engines": { "node": ">= 10.16.0" }, @@ -2143,18 +1972,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" }, - "node_modules/@manypkg/find-root/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@manypkg/find-root/node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -2168,42 +1985,6 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/@manypkg/find-root/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@manypkg/find-root/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@manypkg/get-packages": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", @@ -2237,7 +2018,8 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2248,14 +2030,16 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2266,15 +2050,17 @@ }, "node_modules/@openapi-contrib/openapi-schema-to-json-schema": { "version": "3.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", + "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", "dependencies": { "fast-deep-equal": "^3.1.3" } }, "node_modules/@pkgr/core": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, @@ -2284,33 +2070,111 @@ }, "node_modules/@polka/url": { "version": "1.0.0-next.25", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true }, "node_modules/@sinonjs/commons": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@smoya/multi-parser": { + "resolved": "packages/multi-parser", + "link": true + }, + "node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dependencies": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, "node_modules/@stoplight/json": { "version": "3.21.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", + "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", "dependencies": { "@stoplight/ordered-object-literal": "^1.0.3", "@stoplight/path": "^1.3.2", @@ -2325,7 +2189,8 @@ }, "node_modules/@stoplight/json-ref-readers": { "version": "1.2.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", + "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", "dependencies": { "node-fetch": "^2.6.0", "tslib": "^1.14.1" @@ -2334,13 +2199,10 @@ "node": ">=8.3.0" } }, - "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, "node_modules/@stoplight/json-ref-resolver": { "version": "3.1.6", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", + "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", "dependencies": { "@stoplight/json": "^3.21.0", "@stoplight/path": "^1.3.2", @@ -2357,23 +2219,31 @@ "node": ">=8.3.0" } }, + "node_modules/@stoplight/json-ref-resolver/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/ordered-object-literal": { "version": "1.0.5", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.5.tgz", + "integrity": "sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==", "engines": { "node": ">=8" } }, "node_modules/@stoplight/path": { "version": "1.3.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", + "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", "engines": { "node": ">=8" } }, "node_modules/@stoplight/spectral-core": { "version": "1.18.3", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz", + "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==", "dependencies": { "@stoplight/better-ajv-errors": "1.0.3", "@stoplight/json": "~3.21.0", @@ -2401,23 +2271,10 @@ "node": "^12.20 || >= 14.13" } }, - "node_modules/@stoplight/spectral-core/node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", - "license": "Apache-2.0", - "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { "version": "13.6.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", + "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -2426,59 +2283,23 @@ "node": "^12.20 || >=14.13" } }, - "node_modules/@stoplight/spectral-core/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/@stoplight/spectral-core/node_modules/jsonpath-plus": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", + "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==", "engines": { "node": ">=12.0.0" } }, - "node_modules/@stoplight/spectral-core/node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "node_modules/@stoplight/spectral-core/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/@stoplight/spectral-formats": { "version": "1.6.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.6.0.tgz", + "integrity": "sha512-X27qhUfNluiduH0u/QwJqhOd8Wk5YKdxVmKM03Aijlx0AH1H5mYt3l9r7t2L4iyJrsBaFPnMGt7UYJDGxszbNA==", "dependencies": { "@stoplight/json": "^3.17.0", "@stoplight/spectral-core": "^1.8.0", @@ -2489,9 +2310,15 @@ "node": ">=12" } }, + "node_modules/@stoplight/spectral-formats/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/spectral-functions": { - "version": "1.7.2", - "license": "Apache-2.0", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.8.0.tgz", + "integrity": "sha512-ZrAkYA/ZGbuQ6EyG1gisF4yQ5nWP/+glcqVoGmS6kH6ekaynz2Yp6FL0oIamWj3rWedFUN7ppwTRUdo+9f/uCw==", "dependencies": { "@stoplight/better-ajv-errors": "1.0.3", "@stoplight/json": "^3.17.1", @@ -2500,69 +2327,24 @@ "@stoplight/spectral-runtime": "^1.1.0", "ajv": "^8.6.3", "ajv-draft-04": "~1.0.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "lodash": "~4.17.21", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", - "license": "Apache-2.0", - "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv-draft-04": { - "version": "1.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.5.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.0", + "lodash": "~4.17.21", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@stoplight/spectral-functions/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" + "node_modules/@stoplight/spectral-functions/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/@stoplight/spectral-parsers": { "version": "1.0.4", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.4.tgz", + "integrity": "sha512-nCTVvtX6q71M8o5Uvv9kxU31Gk1TRmgD6/k8HBhdCmKG6FWcwgjiZouA/R3xHLn/VwTI/9k8SdG5Mkdy0RBqbQ==", "dependencies": { "@stoplight/json": "~3.21.0", "@stoplight/types": "^14.1.1", @@ -2575,7 +2357,8 @@ }, "node_modules/@stoplight/spectral-parsers/node_modules/@stoplight/types": { "version": "14.1.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -2584,9 +2367,15 @@ "node": "^12.20 || >=14.13" } }, + "node_modules/@stoplight/spectral-parsers/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/spectral-ref-resolver": { "version": "1.0.4", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.4.tgz", + "integrity": "sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==", "dependencies": { "@stoplight/json-ref-readers": "1.2.2", "@stoplight/json-ref-resolver": "~3.1.6", @@ -2598,9 +2387,15 @@ "node": ">=12" } }, + "node_modules/@stoplight/spectral-ref-resolver/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/spectral-runtime": { "version": "1.1.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", + "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", "dependencies": { "@stoplight/json": "^3.17.0", "@stoplight/path": "^1.3.2", @@ -2616,7 +2411,8 @@ }, "node_modules/@stoplight/spectral-runtime/node_modules/@stoplight/types": { "version": "12.5.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", + "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -2625,9 +2421,15 @@ "node": ">=8" } }, + "node_modules/@stoplight/spectral-runtime/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/types": { "version": "13.20.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.20.0.tgz", + "integrity": "sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -2638,7 +2440,8 @@ }, "node_modules/@stoplight/yaml": { "version": "4.3.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.3.0.tgz", + "integrity": "sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==", "dependencies": { "@stoplight/ordered-object-literal": "^1.0.5", "@stoplight/types": "^14.1.1", @@ -2651,11 +2454,13 @@ }, "node_modules/@stoplight/yaml-ast-parser": { "version": "0.0.50", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.50.tgz", + "integrity": "sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==" }, "node_modules/@stoplight/yaml/node_modules/@stoplight/types": { "version": "14.1.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -2664,14 +2469,20 @@ "node": "^12.20 || >=14.13" } }, + "node_modules/@stoplight/yaml/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@swc/core": { - "version": "1.4.16", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.6.5.tgz", + "integrity": "sha512-tyVvUK/HDOUUsK6/GmWvnqUtD9oDpPUA4f7f7JCOV8hXxtfjMtAZeBKf93yrB1XZet69TDR7EN0hFC6i4MF0Ig==", "dev": true, "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { - "@swc/counter": "^0.1.2", - "@swc/types": "^0.1.5" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.9" }, "engines": { "node": ">=10" @@ -2681,19 +2492,19 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.4.16", - "@swc/core-darwin-x64": "1.4.16", - "@swc/core-linux-arm-gnueabihf": "1.4.16", - "@swc/core-linux-arm64-gnu": "1.4.16", - "@swc/core-linux-arm64-musl": "1.4.16", - "@swc/core-linux-x64-gnu": "1.4.16", - "@swc/core-linux-x64-musl": "1.4.16", - "@swc/core-win32-arm64-msvc": "1.4.16", - "@swc/core-win32-ia32-msvc": "1.4.16", - "@swc/core-win32-x64-msvc": "1.4.16" + "@swc/core-darwin-arm64": "1.6.5", + "@swc/core-darwin-x64": "1.6.5", + "@swc/core-linux-arm-gnueabihf": "1.6.5", + "@swc/core-linux-arm64-gnu": "1.6.5", + "@swc/core-linux-arm64-musl": "1.6.5", + "@swc/core-linux-x64-gnu": "1.6.5", + "@swc/core-linux-x64-musl": "1.6.5", + "@swc/core-win32-arm64-msvc": "1.6.5", + "@swc/core-win32-ia32-msvc": "1.6.5", + "@swc/core-win32-x64-msvc": "1.6.5" }, "peerDependencies": { - "@swc/helpers": "^0.5.0" + "@swc/helpers": "*" }, "peerDependenciesMeta": { "@swc/helpers": { @@ -2702,12 +2513,13 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.4.16", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.6.5.tgz", + "integrity": "sha512-RGQhMdni2v1/ANQ/2K+F+QYdzaucekYBewZcX1ogqJ8G5sbPaBdYdDN1qQ4kHLCIkPtGP6qC7c71qPEqL2RidQ==", "cpu": [ "arm64" ], "dev": true, - "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -2716,26 +2528,161 @@ "node": ">=10" } }, - "node_modules/@swc/counter": { - "version": "0.1.3", + "node_modules/@swc/core-darwin-x64": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.6.5.tgz", + "integrity": "sha512-/pSN0/Jtcbbb9+ovS9rKxR3qertpFAM3OEJr/+Dh/8yy7jK5G5EFPIrfsw/7Q5987ERPIJIH6BspK2CBB2tgcg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.6.5.tgz", + "integrity": "sha512-B0g/dROCE747RRegs/jPHuKJgwXLracDhnqQa80kFdgWEMjlcb7OMCgs5OX86yJGRS4qcYbiMGD0Pp7Kbqn3yw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "Apache-2.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } }, - "node_modules/@swc/helpers": { - "version": "0.5.5", + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.6.5.tgz", + "integrity": "sha512-W8meapgXTq8AOtSvDG4yKR8ant2WWD++yOjgzAleB5VAC+oC+aa8YJROGxj8HepurU8kurqzcialwoMeq5SZZQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", "optional": true, - "peer": true, - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.6.5.tgz", + "integrity": "sha512-jyCKqoX50Fg8rJUQqh4u5PqnE7nqYKXHjVH2WcYr114/MU21zlsI+YL6aOQU1XP8bJQ2gPQ1rnlnGJdEHiKS/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" } }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.6.5.tgz", + "integrity": "sha512-G6HmUn/RRIlXC0YYFfBz2qh6OZkHS/KUPkhoG4X9ADcgWXXjOFh6JrefwsYj8VBAJEnr5iewzjNfj+nztwHaeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.6.5.tgz", + "integrity": "sha512-AQpBjBnelQDSbeTJA50AXdS6+CP66LsXIMNTwhPSgUfE7Bx1ggZV11Fsi4Q5SGcs6a8Qw1cuYKN57ZfZC5QOuA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.6.5.tgz", + "integrity": "sha512-MZTWM8kUwS30pVrtbzSGEXtek46aXNb/mT9D6rsS7NvOuv2w+qZhjR1rzf4LNbbn5f8VnR4Nac1WIOYZmfC5ng==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.6.5.tgz", + "integrity": "sha512-WZdu4gISAr3yOm1fVwKhhk6+MrP7kVX0KMP7+ZQFTN5zXQEiDSDunEJKVgjMVj3vlR+6mnAqa/L0V9Qa8+zKlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.6.5.tgz", + "integrity": "sha512-ezXgucnMTzlFIxQZw7ls/5r2hseFaRoDL04cuXUOs97E8r+nJSmFsRQm/ygH5jBeXNo59nyZCalrjJAjwfgACA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true + }, "node_modules/@swc/jest": { "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz", + "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/create-cache-key-function": "^29.7.0", "@swc/counter": "^0.1.3", @@ -2750,41 +2697,48 @@ }, "node_modules/@swc/jest/node_modules/jsonc-parser": { "version": "3.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true }, "node_modules/@swc/types": { - "version": "0.1.6", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.9.tgz", + "integrity": "sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, "node_modules/@tsconfig/node10": { "version": "1.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true }, "node_modules/@types/babel__core": { "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -2795,40 +2749,45 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.5", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/es-aggregate-error": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.6.tgz", + "integrity": "sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/eslint": { "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2836,8 +2795,9 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2845,42 +2805,48 @@ }, "node_modules/@types/estree": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/graceful-fs": { "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", "dev": true, - "license": "MIT", "dependencies": { "jest-matcher-utils": "^27.0.0", "pretty-format": "^27.0.0" @@ -2888,17 +2854,20 @@ }, "node_modules/@types/js-yaml": { "version": "4.0.9", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "dev": true }, "node_modules/@types/json-schema": { "version": "7.0.15", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, "node_modules/@types/minimist": { "version": "1.2.5", @@ -2906,16 +2875,18 @@ "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" }, "node_modules/@types/node": { - "version": "20.12.7", - "license": "MIT", + "version": "18.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.39.tgz", + "integrity": "sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/node-fetch": { "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -2926,68 +2897,82 @@ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" }, + "node_modules/@types/protocol-buffers-schema": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/protocol-buffers-schema/-/protocol-buffers-schema-3.4.3.tgz", + "integrity": "sha512-8cCg6BiIj4jS0LXUFq3sndmd46yyPLYqMzvXLcTM1MRubh3sfZlQiehoCjGDxSHTqGSjjx8EtVNryIAl0njQWg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/semver": { "version": "7.5.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "node_modules/@types/stack-utils": { "version": "2.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true }, "node_modules/@types/urijs": { "version": "1.19.25", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.25.tgz", + "integrity": "sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==" }, "node_modules/@types/yargs": { "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true }, "node_modules/@types/yauzl": { "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/type-utils": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -2996,25 +2981,25 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -3023,15 +3008,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3039,24 +3025,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/utils": "7.7.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "tsutils": "^3.21.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "*" }, "peerDependenciesMeta": { "typescript": { @@ -3065,11 +3052,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3077,21 +3065,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3104,39 +3092,42 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "semver": "^7.6.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.7.0", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.7.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3145,13 +3136,15 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -3159,23 +3152,27 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -3184,13 +3181,15 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -3200,29 +3199,33 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -3236,8 +3239,9 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -3248,8 +3252,9 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -3259,8 +3264,9 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -3272,8 +3278,9 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" @@ -3281,8 +3288,9 @@ }, "node_modules/@webpack-cli/configtest": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack": "4.x.x || 5.x.x", "webpack-cli": "4.x.x" @@ -3290,8 +3298,9 @@ }, "node_modules/@webpack-cli/info": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, - "license": "MIT", "dependencies": { "envinfo": "^7.7.3" }, @@ -3301,8 +3310,9 @@ }, "node_modules/@webpack-cli/serve": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack-cli": "4.x.x" }, @@ -3314,17 +3324,20 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/abort-controller": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -3334,23 +3347,20 @@ }, "node_modules/accessory": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", + "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", "dev": true, - "license": "MIT", "dependencies": { "ap": "~0.2.0", "balanced-match": "~0.2.0", "dot-parts": "~1.0.0" } }, - "node_modules/accessory/node_modules/balanced-match": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/acorn": { - "version": "8.11.3", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3358,26 +3368,29 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^8" } }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-node": { "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, - "license": "Apache-2.0", "dependencies": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -3386,8 +3399,9 @@ }, "node_modules/acorn-node/node_modules/acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3395,40 +3409,67 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-node/node_modules/acorn-walk": { + "node_modules/acorn-walk": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.2", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "license": "MIT", + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 6.0.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", + "node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, "node_modules/ajv-formats": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dependencies": { "ajv": "^8.0.0" }, @@ -3441,36 +3482,11 @@ } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, "node_modules/amdefine": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", "dev": true, - "license": "BSD-3-Clause OR MIT", "optional": true, "engines": { "node": ">=0.4.2" @@ -3486,8 +3502,9 @@ }, "node_modules/ansi-escapes": { "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -3498,10 +3515,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-red": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", "dev": true, - "license": "MIT", "dependencies": { "ansi-wrap": "0.1.0" }, @@ -3511,14 +3541,16 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "3.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { "color-convert": "^1.9.0" }, @@ -3528,16 +3560,18 @@ }, "node_modules/ansi-wrap": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3548,29 +3582,37 @@ }, "node_modules/ap": { "version": "0.2.0", - "dev": true, - "license": "MIT/X11" + "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", + "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", + "dev": true }, "node_modules/arg": { "version": "4.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } }, "node_modules/aria-query": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, - "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" @@ -3584,8 +3626,9 @@ }, "node_modules/array-includes": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3603,15 +3646,17 @@ }, "node_modules/array-union": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "engines": { "node": ">=8" } }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3629,7 +3674,8 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -3645,8 +3691,9 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -3662,7 +3709,8 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -3690,8 +3738,9 @@ }, "node_modules/asn1.js": { "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -3700,13 +3749,15 @@ }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/assert": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", "dev": true, - "license": "MIT", "dependencies": { "object.assign": "^4.1.4", "util": "^0.10.4" @@ -3714,32 +3765,37 @@ }, "node_modules/ast-types-flow": { "version": "0.0.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true }, "node_modules/astring": { "version": "1.8.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", "bin": { "astring": "bin/astring" } }, "node_modules/asynckit": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/autolinker": { "version": "0.28.1", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", + "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", "dev": true, - "license": "MIT", "dependencies": { "gulp-header": "^1.7.1" } }, "node_modules/available-typed-arrays": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -3752,31 +3808,35 @@ }, "node_modules/avsc": { "version": "5.7.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", + "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==", "engines": { "node": ">=0.11" } }, "node_modules/axe-core": { - "version": "4.7.0", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz", + "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==", "dev": true, - "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "3.2.1", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/babel-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -3795,8 +3855,9 @@ }, "node_modules/babel-jest/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3809,8 +3870,9 @@ }, "node_modules/babel-jest/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3824,8 +3886,9 @@ }, "node_modules/babel-jest/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3835,21 +3898,24 @@ }, "node_modules/babel-jest/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/babel-jest/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/babel-jest/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3859,8 +3925,9 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -3874,8 +3941,9 @@ }, "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -3889,16 +3957,18 @@ }, "node_modules/babel-plugin-istanbul/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -3911,8 +3981,9 @@ }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -3933,8 +4004,9 @@ }, "node_modules/babel-preset-jest": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, - "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -3947,11 +4019,15 @@ } }, "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", + "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", + "dev": true }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -3966,8 +4042,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/better-path-resolve": { "version": "1.0.0", @@ -3982,32 +4057,90 @@ }, "node_modules/bl": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bn.js": { "version": "5.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true }, "node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, + "node_modules/brace-expansion/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "node_modules/braces": { - "version": "3.0.2", - "license": "MIT", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" @@ -4023,13 +4156,15 @@ }, "node_modules/brorand": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true }, "node_modules/browser-pack": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, - "license": "MIT", "dependencies": { "combine-source-map": "~0.8.0", "defined": "^1.0.0", @@ -4044,16 +4179,18 @@ }, "node_modules/browser-resolve": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.17.0" } }, "node_modules/browserify": { "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", "dev": true, - "license": "MIT", "dependencies": { "assert": "^1.4.0", "browser-pack": "^6.0.1", @@ -4113,8 +4250,9 @@ }, "node_modules/browserify-aes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -4126,8 +4264,9 @@ }, "node_modules/browserify-cipher": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, - "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -4136,201 +4275,88 @@ }, "node_modules/browserify-des": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-shim": { - "version": "3.8.16", - "dev": true, - "license": "MIT", - "dependencies": { - "exposify": "~0.5.0", - "mothership": "~0.3.0", - "rename-function-calls": "~0.1.0", - "resolve": "~0.6.1", - "through": "~2.3.4" - }, - "peerDependencies": { - "browserify": ">= 2.3" - } - }, - "node_modules/browserify-shim/node_modules/resolve": { - "version": "0.6.3", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-sign": { - "version": "4.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.5", - "hash-base": "~3.0", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.7", - "readable-stream": "^2.3.8", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/browserify-sign/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-sign/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserify/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/browserify/node_modules/buffer": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/browserify/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "safe-buffer": "^5.1.2" } }, - "node_modules/browserify/node_modules/isarray": { - "version": "1.0.0", + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, - "license": "MIT" + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } }, - "node_modules/browserify/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/browserify-shim": { + "version": "3.8.16", + "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", + "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "exposify": "~0.5.0", + "mothership": "~0.3.0", + "rename-function-calls": "~0.1.0", + "resolve": "~0.6.1", + "through": "~2.3.4" }, - "engines": { - "node": "*" + "peerDependencies": { + "browserify": ">= 2.3" } }, - "node_modules/browserify/node_modules/path-browserify": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify/node_modules/punycode": { - "version": "1.4.1", - "dev": true, - "license": "MIT" + "node_modules/browserify-shim/node_modules/resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "dev": true }, - "node_modules/browserify/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.12" } }, - "node_modules/browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "pako": "~1.0.5" } }, + "node_modules/browserify/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, "node_modules/browserslist": { - "version": "4.23.0", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", "dev": true, "funding": [ { @@ -4346,12 +4372,11 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.0.16" }, "bin": { "browserslist": "cli.js" @@ -4362,66 +4387,60 @@ }, "node_modules/bser": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/buffer": { - "version": "5.7.1", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, "node_modules/buffer-crc32": { "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/buffer-xor": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true }, "node_modules/builtin-status-codes": { "version": "3.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true }, "node_modules/cached-path-relative": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true }, "node_modules/call-bind": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -4438,15 +4457,17 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { "node": ">=6" } @@ -4479,7 +4500,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001611", + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", "dev": true, "funding": [ { @@ -4494,12 +4517,12 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chalk": { "version": "2.4.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -4511,8 +4534,9 @@ }, "node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } @@ -4524,47 +4548,53 @@ }, "node_modules/chownr": { "version": "1.1.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "node_modules/chrome-trace-event": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cipher-base": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "dev": true, - "license": "MIT" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", + "dev": true }, "node_modules/cliui": { "version": "8.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -4584,8 +4614,9 @@ }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -4597,16 +4628,17 @@ }, "node_modules/clone-deep/node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/co": { "version": "4.6.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -4614,8 +4646,10 @@ }, "node_modules/coffee-script": { "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", "dev": true, - "license": "MIT", "bin": { "cake": "bin/cake", "coffee": "bin/coffee" @@ -4626,29 +4660,34 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true }, "node_modules/color-convert": { "version": "1.9.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/colorette": { "version": "2.0.20", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, "node_modules/combine-source-map": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", "dev": true, - "license": "MIT", "dependencies": { "convert-source-map": "~1.1.0", "inline-source-map": "~0.6.0", @@ -4656,23 +4695,11 @@ "source-map": "~0.5.3" } }, - "node_modules/combine-source-map/node_modules/convert-source-map": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/combine-source-map/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4680,17 +4707,25 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -4698,69 +4733,53 @@ "typedarray": "^0.0.6" } }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/concat-with-sourcemaps": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", "dev": true, - "license": "ISC", "dependencies": { "source-map": "^0.6.1" } }, + "node_modules/concat-with-sourcemaps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/console-browserify": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "node_modules/constants-browserify": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true }, "node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true }, "node_modules/core-util-is": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "node_modules/create-ecdh": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -4768,13 +4787,15 @@ }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/create-hash": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -4785,8 +4806,9 @@ }, "node_modules/create-hmac": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -4798,8 +4820,9 @@ }, "node_modules/create-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -4818,8 +4841,9 @@ }, "node_modules/create-jest/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4832,8 +4856,9 @@ }, "node_modules/create-jest/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4847,8 +4872,9 @@ }, "node_modules/create-jest/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4858,21 +4884,24 @@ }, "node_modules/create-jest/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/create-jest/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/create-jest/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4882,13 +4911,15 @@ }, "node_modules/create-require": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "node_modules/cross-env": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.1" }, @@ -4904,16 +4935,18 @@ }, "node_modules/cross-fetch": { "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dev": true, - "license": "MIT", "dependencies": { "node-fetch": "2.6.7" } }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4925,8 +4958,9 @@ }, "node_modules/crypto-browserify": { "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, - "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -4975,17 +5009,20 @@ }, "node_modules/damerau-levenshtein": { "version": "1.0.8", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true }, "node_modules/dash-ast": { "version": "1.0.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true }, "node_modules/data-view-buffer": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -5000,7 +5037,8 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -5015,7 +5053,8 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -5030,13 +5069,15 @@ }, "node_modules/debounce": { "version": "1.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true }, "node_modules/debug": { - "version": "4.3.4", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -5074,8 +5115,9 @@ }, "node_modules/dedent": { "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, - "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -5085,15 +5127,49 @@ } } }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, "node_modules/deepmerge": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5111,7 +5187,8 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -5126,7 +5203,8 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -5141,31 +5219,35 @@ }, "node_modules/defined": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/delayed-stream": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/dependency-graph": { "version": "0.11.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "engines": { "node": ">= 0.6.0" } }, "node_modules/deps-sort": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", "dev": true, - "license": "MIT", "dependencies": { "JSONStream": "^1.0.3", "shasum-object": "^1.0.0", @@ -5178,16 +5260,18 @@ }, "node_modules/dequal": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/des.js": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -5201,10 +5285,20 @@ "node": ">=8" } }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/detective": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", "dev": true, - "license": "MIT", "dependencies": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -5219,37 +5313,42 @@ }, "node_modules/devtools-protocol": { "version": "0.0.1036444", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz", + "integrity": "sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw==", + "dev": true }, "node_modules/diacritics-map": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", + "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/diff": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/diff-sequences": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/diffie-hellman": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -5258,12 +5357,14 @@ }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/dir-glob": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dependencies": { "path-type": "^4.0.0" }, @@ -5273,8 +5374,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5284,8 +5386,9 @@ }, "node_modules/domain-browser": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -5293,63 +5396,36 @@ }, "node_modules/dot-parts": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", + "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", + "dev": true }, "node_modules/duplexer": { "version": "0.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true }, "node_modules/duplexer2": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "readable-stream": "^2.0.2" } }, - "node_modules/duplexer2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexer2/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/electron-to-chromium": { - "version": "1.4.745", - "dev": true, - "license": "ISC" + "version": "1.4.810", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz", + "integrity": "sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==", + "dev": true }, "node_modules/elliptic": { "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -5362,13 +5438,15 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/emittery": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -5378,21 +5456,24 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/end-of-stream": { "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -5414,9 +5495,10 @@ } }, "node_modules/envinfo": { - "version": "7.12.0", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -5426,14 +5508,16 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.23.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -5491,7 +5575,8 @@ }, "node_modules/es-aggregate-error": { "version": "1.0.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.13.tgz", + "integrity": "sha512-KkzhUUuD2CUMqEc8JEqsXEMDHzDPE8RCjZeUBitsnB1eNcAJWQPiciKsMXe3Yytj4Flw1XLl46Qcf9OxvZha7A==", "dependencies": { "define-data-property": "^1.1.4", "define-properties": "^1.2.1", @@ -5511,7 +5596,8 @@ }, "node_modules/es-define-property": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -5521,19 +5607,41 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { "node": ">= 0.4" } }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-iterator-helpers": { - "version": "1.0.18", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", @@ -5551,13 +5659,15 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.0", - "dev": true, - "license": "MIT" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", + "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==", + "dev": true }, "node_modules/es-object-atoms": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dependencies": { "es-errors": "^1.3.0" }, @@ -5567,7 +5677,8 @@ }, "node_modules/es-set-tostringtag": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", @@ -5579,14 +5690,16 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dependencies": { "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -5601,22 +5714,90 @@ }, "node_modules/escalade": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", + "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", + "dev": true, + "dependencies": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": "~0.1.30" + } + }, + "node_modules/escodegen/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/escodegen/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -5669,8 +5850,9 @@ }, "node_modules/eslint-config-prettier": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -5680,8 +5862,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -5690,16 +5873,18 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -5714,16 +5899,18 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-escompat": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", + "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", "dev": true, - "license": "MIT", "dependencies": { "browserslist": "^4.21.0" }, @@ -5733,8 +5920,9 @@ }, "node_modules/eslint-plugin-eslint-comments": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5", "ignore": "^5.0.5" @@ -5751,8 +5939,9 @@ }, "node_modules/eslint-plugin-filenames": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", "dev": true, - "license": "MIT", "dependencies": { "lodash.camelcase": "4.3.0", "lodash.kebabcase": "4.1.1", @@ -5765,8 +5954,9 @@ }, "node_modules/eslint-plugin-github": { "version": "4.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.10.2.tgz", + "integrity": "sha512-F1F5aAFgi1Y5hYoTFzGQACBkw5W1hu2Fu5FSTrMlXqrojJnKl1S2pWO/rprlowRQpt+hzHhqSpsfnodJEVd5QA==", "dev": true, - "license": "MIT", "dependencies": { "@github/browserslist-config": "^1.0.0", "@typescript-eslint/eslint-plugin": "^7.0.1", @@ -5789,22 +5979,284 @@ "bin": { "eslint-ignore-errors": "bin/eslint-ignore-errors.js" }, - "peerDependencies": { - "eslint": "^8.0.1" + "peerDependencies": { + "eslint": "^8.0.1" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.13.1.tgz", + "integrity": "sha512-kZqi+WZQaZfPKnsflLJQCz6Ze9FFSMfXrrIOcyargekQxG37ES7DJNpJUE9Q/X5n3yTIP/WPutVNzgknQ7biLg==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.13.1", + "@typescript-eslint/type-utils": "7.13.1", + "@typescript-eslint/utils": "7.13.1", + "@typescript-eslint/visitor-keys": "7.13.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/parser": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.13.1.tgz", + "integrity": "sha512-1ELDPlnLvDQ5ybTSrMhRTFDfOQEOXNM+eP+3HT/Yq7ruWpciQw+Avi73pdEbA4SooCawEWo3dtYbF68gN7Ed1A==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.13.1", + "@typescript-eslint/types": "7.13.1", + "@typescript-eslint/typescript-estree": "7.13.1", + "@typescript-eslint/visitor-keys": "7.13.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/scope-manager": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.13.1.tgz", + "integrity": "sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.13.1", + "@typescript-eslint/visitor-keys": "7.13.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/type-utils": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.13.1.tgz", + "integrity": "sha512-aWDbLu1s9bmgPGXSzNCxELu+0+HQOapV/y+60gPXafR8e2g1Bifxzevaa+4L2ytCWm+CHqpELq4CSoN9ELiwCg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.13.1", + "@typescript-eslint/utils": "7.13.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/types": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.13.1.tgz", + "integrity": "sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.13.1.tgz", + "integrity": "sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.13.1", + "@typescript-eslint/visitor-keys": "7.13.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/utils": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.13.1.tgz", + "integrity": "sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.13.1", + "@typescript-eslint/types": "7.13.1", + "@typescript-eslint/typescript-estree": "7.13.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.1.tgz", + "integrity": "sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.13.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-github/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/eslint-plugin-github/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/eslint-plugin-github/node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-github/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslint-plugin-github/node_modules/prettier": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/eslint-plugin-i18n-text": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", + "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", "dev": true, - "license": "MIT", "peerDependencies": { "eslint": ">=5.0.0" } }, "node_modules/eslint-plugin-import": { "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -5831,27 +6283,20 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5859,46 +6304,37 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", + "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" }, "engines": { "node": ">=4.0" @@ -5907,90 +6343,38 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "deep-equal": "^2.0.5" } }, "node_modules/eslint-plugin-no-only-tests": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", "dev": true, - "license": "MIT", "engines": { "node": ">=5.0.0" } }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-prettier/node_modules/synckit": { - "version": "0.8.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/eslint-plugin-security": { "version": "1.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", + "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "safe-regex": "^2.1.1" } }, "node_modules/eslint-plugin-sonarjs": { "version": "0.15.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", + "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", "dev": true, - "license": "LGPL-3.0", "engines": { "node": ">=12" }, @@ -6000,16 +6384,18 @@ }, "node_modules/eslint-rule-documentation": { "version": "1.0.23", + "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", + "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -6018,18 +6404,11 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -6037,10 +6416,27 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -6051,19 +6447,17 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6077,8 +6471,9 @@ }, "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -6088,13 +6483,15 @@ }, "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -6104,8 +6501,9 @@ }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -6117,15 +6515,26 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6133,38 +6542,69 @@ }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { "node": ">=10" }, @@ -6172,10 +6612,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/espree": { "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -6190,7 +6643,8 @@ }, "node_modules/esprima": { "version": "4.0.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -6200,7 +6654,9 @@ } }, "node_modules/esprima-fb": { - "version": "3001.0001.0000-dev-harmony-fb", + "version": "3001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", + "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", "dev": true, "bin": { "esparse": "bin/esparse.js", @@ -6212,8 +6668,9 @@ }, "node_modules/esquery": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -6221,10 +6678,20 @@ "node": ">=0.10" } }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -6232,41 +6699,55 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/event-target-shim": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "engines": { "node": ">=6" } }, "node_modules/events": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.x" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -6274,8 +6755,9 @@ }, "node_modules/execa": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -6296,6 +6778,8 @@ }, "node_modules/exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -6303,8 +6787,9 @@ }, "node_modules/expand-range": { "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^2.1.0" }, @@ -6312,52 +6797,11 @@ "node": ">=0.10.0" } }, - "node_modules/expand-range/node_modules/fill-range": { - "version": "2.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/is-number": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/expand-range/node_modules/isobject": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -6371,8 +6815,9 @@ }, "node_modules/expect/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -6385,8 +6830,9 @@ }, "node_modules/expect/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6400,8 +6846,9 @@ }, "node_modules/expect/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -6411,29 +6858,33 @@ }, "node_modules/expect/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/expect/node_modules/diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/expect/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/expect/node_modules/jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -6446,8 +6897,9 @@ }, "node_modules/expect/node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -6460,8 +6912,9 @@ }, "node_modules/expect/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -6473,8 +6926,9 @@ }, "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -6483,14 +6937,16 @@ } }, "node_modules/expect/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/expect/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -6500,8 +6956,9 @@ }, "node_modules/exposify": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", + "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", "dev": true, - "license": "MIT", "dependencies": { "globo": "~1.1.0", "map-obj": "~1.0.1", @@ -6512,18 +6969,21 @@ }, "node_modules/exposify/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true }, "node_modules/exposify/node_modules/object-keys": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", + "dev": true }, "node_modules/exposify/node_modules/readable-stream": { "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -6533,13 +6993,15 @@ }, "node_modules/exposify/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true }, "node_modules/exposify/node_modules/through2": { "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~1.0.17", "xtend": "~2.1.1" @@ -6547,6 +7009,8 @@ }, "node_modules/exposify/node_modules/xtend": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", "dev": true, "dependencies": { "object-keys": "~0.4.0" @@ -6557,8 +7021,9 @@ }, "node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -6586,8 +7051,9 @@ }, "node_modules/extract-zip": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -6605,8 +7071,9 @@ }, "node_modules/extract-zip/node_modules/get-stream": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, - "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -6619,16 +7086,19 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6642,7 +7112,8 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" }, @@ -6652,58 +7123,66 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, "node_modules/fast-memoize": { "version": "2.5.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true }, "node_modules/fastest-levenshtein": { "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.9.1" } }, "node_modules/fastq": { "version": "1.17.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/fd-slicer": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "license": "MIT", "dependencies": { "pend": "~1.2.0" } }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -6712,32 +7191,37 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "license": "MIT", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/find-parent-dir": { "version": "0.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", + "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", + "dev": true }, "node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/find-yarn-workspace-root2": { @@ -6751,16 +7235,18 @@ }, "node_modules/flat": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -6772,28 +7258,32 @@ }, "node_modules/flatted": { "version": "3.3.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true }, "node_modules/for-each": { "version": "0.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/for-in": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/form-data": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, - "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -6805,8 +7295,9 @@ }, "node_modules/fs-constants": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true }, "node_modules/fs-extra": { "version": "7.0.1", @@ -6823,13 +7314,16 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "license": "MIT", + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -6840,14 +7334,16 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/function.prototype.name": { "version": "1.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6863,34 +7359,39 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-assigned-identifiers": { "version": "1.2.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true }, "node_modules/get-caller-file": { "version": "2.0.5", - "license": "ISC", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -6907,16 +7408,18 @@ }, "node_modules/get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -6926,7 +7429,8 @@ }, "node_modules/get-symbol-description": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -6939,10 +7443,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -6952,22 +7478,32 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/globals": { - "version": "11.12.0", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { - "version": "1.0.3", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -6978,7 +7514,8 @@ }, "node_modules/globby": { "version": "11.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6996,8 +7533,9 @@ }, "node_modules/globo": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", + "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", "dev": true, - "license": "MIT", "dependencies": { "accessory": "~1.1.0", "is-defined": "~1.0.0", @@ -7009,7 +7547,8 @@ }, "node_modules/gopd": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -7019,7 +7558,8 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/grapheme-splitter": { "version": "1.0.4", @@ -7028,13 +7568,15 @@ }, "node_modules/graphemer": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, "node_modules/gray-matter": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", + "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-red": "^0.1.1", "coffee-script": "^1.12.4", @@ -7046,30 +7588,12 @@ "node": ">=0.10.0" } }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/gulp-header": { "version": "1.8.12", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", + "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", + "deprecated": "Removed event-stream from gulp-header", "dev": true, - "license": "MIT", "dependencies": { "concat-with-sourcemaps": "*", "lodash.template": "^4.4.0", @@ -7078,8 +7602,9 @@ }, "node_modules/gzip-size": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, - "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -7100,29 +7625,33 @@ }, "node_modules/has": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/has-bigints": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" } }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { "es-define-property": "^1.0.0" }, @@ -7132,7 +7661,8 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -7142,15 +7672,17 @@ }, "node_modules/has-require": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", + "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.3" } }, "node_modules/has-symbols": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -7160,7 +7692,8 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { "has-symbols": "^1.0.3" }, @@ -7173,8 +7706,9 @@ }, "node_modules/hash-base": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -7185,8 +7719,9 @@ }, "node_modules/hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -7194,7 +7729,8 @@ }, "node_modules/hasown": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -7204,8 +7740,9 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, - "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -7219,21 +7756,37 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, "node_modules/htmlescape": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/https-browserify": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "license": "MIT" + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/human-id": { "version": "1.0.2", @@ -7242,8 +7795,9 @@ }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -7261,6 +7815,8 @@ }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -7275,19 +7831,20 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { "version": "5.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "engines": { "node": ">= 4" } }, "node_modules/immer": { "version": "9.0.21", - "license": "MIT", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -7295,8 +7852,9 @@ }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -7308,10 +7866,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/import-local": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -7328,8 +7896,9 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -7344,8 +7913,10 @@ }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -7353,29 +7924,24 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/inline-source-map": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.3.tgz", + "integrity": "sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==", "dev": true, - "license": "MIT", "dependencies": { "source-map": "~0.5.3" } }, - "node_modules/inline-source-map/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/insert-module-globals": { "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", "dev": true, - "license": "MIT", "dependencies": { "acorn-node": "^1.5.2", "combine-source-map": "^0.8.0", @@ -7394,7 +7960,8 @@ }, "node_modules/internal-slot": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -7406,15 +7973,33 @@ }, "node_modules/interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -7428,12 +8013,14 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-async-function": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7446,7 +8033,8 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { "has-bigints": "^1.0.1" }, @@ -7456,7 +8044,8 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7470,12 +8059,14 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "node_modules/is-callable": { "version": "1.2.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { "node": ">= 0.4" }, @@ -7484,10 +8075,14 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "license": "MIT", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7495,7 +8090,8 @@ }, "node_modules/is-data-view": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dependencies": { "is-typed-array": "^1.1.13" }, @@ -7508,7 +8104,8 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7521,28 +8118,32 @@ }, "node_modules/is-defined": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", + "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", + "dev": true }, "node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-extglob": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -7552,23 +8153,26 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-generator-function": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7581,7 +8185,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" }, @@ -7591,8 +8196,9 @@ }, "node_modules/is-map": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7602,7 +8208,8 @@ }, "node_modules/is-negative-zero": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "engines": { "node": ">= 0.4" }, @@ -7611,15 +8218,21 @@ } }, "node_modules/is-number": { - "version": "7.0.0", - "license": "MIT", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=0.12.0" + "node": ">=0.10.0" } }, "node_modules/is-number-object": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7632,8 +8245,9 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -7648,8 +8262,9 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -7657,9 +8272,19 @@ "node": ">=0.10.0" } }, + "node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-regex": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7673,8 +8298,9 @@ }, "node_modules/is-set": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7684,7 +8310,8 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { "call-bind": "^1.0.7" }, @@ -7697,8 +8324,9 @@ }, "node_modules/is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -7708,7 +8336,8 @@ }, "node_modules/is-string": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7732,7 +8361,8 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { "has-symbols": "^1.0.2" }, @@ -7745,7 +8375,8 @@ }, "node_modules/is-typed-array": { "version": "1.1.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { "which-typed-array": "^1.1.14" }, @@ -7758,8 +8389,9 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7769,7 +8401,8 @@ }, "node_modules/is-weakref": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { "call-bind": "^1.0.2" }, @@ -7779,8 +8412,9 @@ }, "node_modules/is-weakset": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4" @@ -7802,32 +8436,46 @@ }, "node_modules/isarray": { "version": "2.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/isexe": { "version": "2.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/isobject": { - "version": "3.0.1", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, - "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, "engines": { "node": ">=0.10.0" } }, + "node_modules/isobject/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -7841,8 +8489,9 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -7854,16 +8503,18 @@ }, "node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -7873,8 +8524,9 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -7884,10 +8536,20 @@ "node": ">=10" } }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/istanbul-reports": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -7898,8 +8560,9 @@ }, "node_modules/iterator.prototype": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, - "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", @@ -7910,8 +8573,9 @@ }, "node_modules/jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -7935,8 +8599,9 @@ }, "node_modules/jest-changed-files": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -7946,10 +8611,26 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-changed-files/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jest-circus": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -7978,8 +8659,9 @@ }, "node_modules/jest-circus/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -7992,8 +8674,9 @@ }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8007,8 +8690,9 @@ }, "node_modules/jest-circus/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8018,29 +8702,33 @@ }, "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-circus/node_modules/diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-circus/node_modules/jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -8053,8 +8741,9 @@ }, "node_modules/jest-circus/node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -8065,10 +8754,26 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-circus/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jest-circus/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8080,8 +8785,9 @@ }, "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8090,14 +8796,16 @@ } }, "node_modules/jest-circus/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-circus/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8107,8 +8815,9 @@ }, "node_modules/jest-cli": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -8139,8 +8848,9 @@ }, "node_modules/jest-cli/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8153,8 +8863,9 @@ }, "node_modules/jest-cli/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8168,8 +8879,9 @@ }, "node_modules/jest-cli/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8179,21 +8891,24 @@ }, "node_modules/jest-cli/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-cli/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-cli/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8203,8 +8918,9 @@ }, "node_modules/jest-config": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -8247,8 +8963,9 @@ }, "node_modules/jest-config/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8259,19 +8976,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8285,62 +8994,36 @@ }, "node_modules/jest-config/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=7.0.0" } }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-config/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/jest-config/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8352,8 +9035,9 @@ }, "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8362,14 +9046,16 @@ } }, "node_modules/jest-config/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-config/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8379,8 +9065,9 @@ }, "node_modules/jest-diff": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -8393,8 +9080,9 @@ }, "node_modules/jest-diff/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8407,8 +9095,9 @@ }, "node_modules/jest-diff/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8422,8 +9111,9 @@ }, "node_modules/jest-diff/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8433,29 +9123,33 @@ }, "node_modules/jest-diff/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-diff/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-diff/node_modules/jest-get-type": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-diff/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8465,8 +9159,9 @@ }, "node_modules/jest-docblock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, - "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -8474,18 +9169,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-docblock/node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-each": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -8499,8 +9187,9 @@ }, "node_modules/jest-each/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8513,8 +9202,9 @@ }, "node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8528,8 +9218,9 @@ }, "node_modules/jest-each/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8539,21 +9230,24 @@ }, "node_modules/jest-each/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-each/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-each/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8565,8 +9259,9 @@ }, "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8575,14 +9270,16 @@ } }, "node_modules/jest-each/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-each/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8592,8 +9289,9 @@ }, "node_modules/jest-environment-node": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -8608,16 +9306,18 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -8640,8 +9340,9 @@ }, "node_modules/jest-leak-detector": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -8652,8 +9353,9 @@ }, "node_modules/jest-leak-detector/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8663,8 +9365,9 @@ }, "node_modules/jest-leak-detector/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8675,14 +9378,16 @@ } }, "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-matcher-utils": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -8695,8 +9400,9 @@ }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8709,8 +9415,9 @@ }, "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8724,8 +9431,9 @@ }, "node_modules/jest-matcher-utils/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8735,29 +9443,33 @@ }, "node_modules/jest-matcher-utils/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-matcher-utils/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-matcher-utils/node_modules/jest-get-type": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-matcher-utils/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8767,8 +9479,9 @@ }, "node_modules/jest-message-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -8786,8 +9499,9 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8800,8 +9514,9 @@ }, "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8815,8 +9530,9 @@ }, "node_modules/jest-message-util/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8826,21 +9542,24 @@ }, "node_modules/jest-message-util/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-message-util/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8852,8 +9571,9 @@ }, "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8862,14 +9582,16 @@ } }, "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-message-util/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8879,8 +9601,9 @@ }, "node_modules/jest-mock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -8892,8 +9615,9 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -8908,16 +9632,18 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -8935,8 +9661,9 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, - "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -8947,8 +9674,9 @@ }, "node_modules/jest-resolve/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8961,8 +9689,9 @@ }, "node_modules/jest-resolve/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8976,8 +9705,9 @@ }, "node_modules/jest-resolve/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8987,21 +9717,24 @@ }, "node_modules/jest-resolve/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-resolve/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-resolve/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9011,8 +9744,9 @@ }, "node_modules/jest-runner": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -9042,8 +9776,9 @@ }, "node_modules/jest-runner/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9056,8 +9791,9 @@ }, "node_modules/jest-runner/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9071,8 +9807,9 @@ }, "node_modules/jest-runner/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9082,21 +9819,39 @@ }, "node_modules/jest-runner/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-runner/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/jest-runner/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jest-runner/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9106,8 +9861,9 @@ }, "node_modules/jest-runtime": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -9138,8 +9894,9 @@ }, "node_modules/jest-runtime/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9150,19 +9907,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/jest-runtime/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9176,8 +9925,9 @@ }, "node_modules/jest-runtime/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9187,59 +9937,24 @@ }, "node_modules/jest-runtime/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-runtime/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9249,8 +9964,9 @@ }, "node_modules/jest-snapshot": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -9279,8 +9995,9 @@ }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9293,8 +10010,9 @@ }, "node_modules/jest-snapshot/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9308,8 +10026,9 @@ }, "node_modules/jest-snapshot/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9319,29 +10038,33 @@ }, "node_modules/jest-snapshot/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-snapshot/node_modules/diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-snapshot/node_modules/jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -9354,8 +10077,9 @@ }, "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -9368,8 +10092,9 @@ }, "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -9381,8 +10106,9 @@ }, "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -9391,14 +10117,16 @@ } }, "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9408,8 +10136,9 @@ }, "node_modules/jest-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -9424,8 +10153,9 @@ }, "node_modules/jest-util/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9438,8 +10168,9 @@ }, "node_modules/jest-util/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9453,8 +10184,9 @@ }, "node_modules/jest-util/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9464,21 +10196,24 @@ }, "node_modules/jest-util/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-util/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-util/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9488,8 +10223,9 @@ }, "node_modules/jest-validate": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -9504,8 +10240,9 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9518,8 +10255,9 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -9529,8 +10267,9 @@ }, "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9544,8 +10283,9 @@ }, "node_modules/jest-validate/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9555,21 +10295,24 @@ }, "node_modules/jest-validate/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-validate/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-validate/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -9581,8 +10324,9 @@ }, "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -9591,14 +10335,16 @@ } }, "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9608,8 +10354,9 @@ }, "node_modules/jest-watcher": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, - "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -9626,8 +10373,9 @@ }, "node_modules/jest-watcher/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9640,8 +10388,9 @@ }, "node_modules/jest-watcher/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9655,8 +10404,9 @@ }, "node_modules/jest-watcher/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9666,21 +10416,24 @@ }, "node_modules/jest-watcher/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-watcher/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-watcher/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9690,8 +10443,9 @@ }, "node_modules/jest-worker": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -9704,16 +10458,18 @@ }, "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9726,13 +10482,16 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "4.1.0", - "license": "MIT", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -9740,15 +10499,17 @@ }, "node_modules/jsep": { "version": "1.3.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", + "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==", "engines": { "node": ">= 10.16.0" } }, "node_modules/jsesc": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -9758,35 +10519,69 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-migrate": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-0.2.0.tgz", + "integrity": "sha512-dq4/oHWmtw/+0ytnXsDqVn+VsVweTEmzm5jLgguPn9BjSzn6/q58ZiZx3BHiQyJs612f0T5Z+MrUEUUY5DHsRg==", + "dependencies": { + "ajv": "^5.0.0" + } + }, + "node_modules/json-schema-migrate/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/json-schema-migrate/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "license": "MIT" + "node_modules/json-schema-migrate/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" }, "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json-stable-stringify": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", "dev": true, - "license": "MIT", "dependencies": { "jsonify": "~0.0.0" } }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -9796,7 +10591,8 @@ }, "node_modules/jsonc-parser": { "version": "2.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", + "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" }, "node_modules/jsonfile": { "version": "4.0.0", @@ -9808,38 +10604,43 @@ }, "node_modules/jsonify": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "dev": true, - "license": "Public Domain", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" - ], - "license": "MIT" + ] }, "node_modules/jsonpath-plus": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", + "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", "engines": { "node": ">=12.0.0" } }, "node_modules/jsonpointer": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/JSONStream": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, - "license": "(MIT OR Apache-2.0)", "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -9853,8 +10654,9 @@ }, "node_modules/jsx-ast-utils": { "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -9867,16 +10669,18 @@ }, "node_modules/keyv": { "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, - "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -9886,30 +10690,34 @@ }, "node_modules/kleur": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/labeled-stream-splicer": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "stream-splicer": "^2.0.0" } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "dev": true, - "license": "CC0-1.0" + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true }, "node_modules/language-tags": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dev": true, - "license": "MIT", "dependencies": { "language-subtag-registry": "^0.3.20" }, @@ -9919,8 +10727,9 @@ }, "node_modules/lazy-cache": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", "dev": true, - "license": "MIT", "dependencies": { "set-getter": "^0.1.0" }, @@ -9930,15 +10739,17 @@ }, "node_modules/leven": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -9949,12 +10760,14 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/list-item": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", + "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", "dev": true, - "license": "MIT", "dependencies": { "expand-range": "^1.8.1", "extend-shallow": "^2.0.1", @@ -9965,17 +10778,6 @@ "node": ">=0.10.0" } }, - "node_modules/list-item/node_modules/is-number": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/load-yaml-file": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", @@ -9990,80 +10792,74 @@ "node": ">=6" } }, - "node_modules/load-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/load-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "node_modules/load-yaml-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" } }, "node_modules/loader-runner": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/lodash": { "version": "4.17.21", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash._reinterpolate": { "version": "3.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true }, "node_modules/lodash.kebabcase": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true }, "node_modules/lodash.memoize": { "version": "3.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/lodash.snakecase": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true }, "node_modules/lodash.startcase": { "version": "4.4.0", @@ -10072,8 +10868,9 @@ }, "node_modules/lodash.template": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, - "license": "MIT", "dependencies": { "lodash._reinterpolate": "^3.0.0", "lodash.templatesettings": "^4.0.0" @@ -10081,33 +10878,43 @@ }, "node_modules/lodash.templatesettings": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, - "license": "MIT", "dependencies": { "lodash._reinterpolate": "^3.0.0" } }, "node_modules/lodash.topath": { "version": "4.5.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" }, "node_modules/lodash.upperfirst": { "version": "4.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -10120,36 +10927,41 @@ }, "node_modules/make-error": { "version": "1.3.6", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "node_modules/makeerror": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/map-obj": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "engines": { "node": ">=0.10.0" } }, "node_modules/markdown-link": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", + "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/markdown-toc": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", + "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", "dev": true, - "license": "MIT", "dependencies": { "concat-stream": "^1.5.2", "diacritics-map": "^0.1.0", @@ -10173,13 +10985,15 @@ }, "node_modules/math-random": { "version": "1.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true }, "node_modules/md5.js": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -10221,35 +11035,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -10258,8 +11063,9 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -10270,21 +11076,24 @@ }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/mime-db": { "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -10294,8 +11103,9 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -10310,32 +11120,32 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true }, "node_modules/minimatch": { - "version": "9.0.4", - "dev": true, - "license": "ISC", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10363,8 +11173,9 @@ }, "node_modules/mixin-deep": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "license": "MIT", "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -10375,8 +11186,9 @@ }, "node_modules/mixin-deep/node_modules/is-extendable": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -10394,13 +11206,15 @@ }, "node_modules/mkdirp-classic": { "version": "0.5.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true }, "node_modules/module-deps": { "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, - "license": "MIT", "dependencies": { "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", @@ -10425,77 +11239,52 @@ "node": ">= 0.8.0" } }, - "node_modules/module-deps/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/module-deps/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/module-deps/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/module-deps/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/mothership": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", + "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", "dev": true, - "license": "MIT", "dependencies": { "find-parent-dir": "~0.3.0" } }, "node_modules/mrmime": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, "node_modules/natural-compare-lite": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/nimma": { "version": "0.2.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", + "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", "dependencies": { "@jsep-plugin/regex": "^1.0.1", "@jsep-plugin/ternary": "^1.0.2", @@ -10512,7 +11301,8 @@ }, "node_modules/nimma/node_modules/jsonpath-plus": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", + "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", "optional": true, "engines": { "node": ">=10.0.0" @@ -10520,7 +11310,8 @@ }, "node_modules/node-fetch": { "version": "2.6.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -10538,13 +11329,15 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true }, "node_modules/node-releases": { "version": "2.0.14", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true }, "node_modules/normalize-package-data": { "version": "2.5.0", @@ -10567,16 +11360,18 @@ }, "node_modules/normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -10585,22 +11380,44 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "license": "MIT", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -10614,23 +11431,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/object.fromentries": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -10646,8 +11451,9 @@ }, "node_modules/object.groupby": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -10659,8 +11465,9 @@ }, "node_modules/object.pick": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -10668,10 +11475,20 @@ "node": ">=0.10.0" } }, + "node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.values": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -10686,16 +11503,18 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -10708,23 +11527,25 @@ }, "node_modules/opener": { "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, - "license": "(WTFPL OR MIT)", "bin": { "opener": "bin/opener-bin.js" } }, "node_modules/optionator": { - "version": "0.9.3", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -10732,8 +11553,9 @@ }, "node_modules/os-browserify": { "version": "0.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true }, "node_modules/os-tmpdir": { "version": "1.0.2", @@ -10760,29 +11582,28 @@ } }, "node_modules/p-limit": { - "version": "3.1.0", - "license": "MIT", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "license": "MIT", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-map": { @@ -10795,20 +11616,23 @@ }, "node_modules/p-try": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "engines": { "node": ">=6" } }, "node_modules/pako": { "version": "1.0.11", - "dev": true, - "license": "(MIT AND Zlib)" + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -10818,103 +11642,207 @@ }, "node_modules/parents": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "dev": true, + "dependencies": { + "path-platform": "~0.11.15" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", "dev": true, - "license": "MIT", "dependencies": { - "path-platform": "~0.11.15" + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parserapiv1": { + "name": "@asyncapi/parser", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.2.tgz", + "integrity": "sha512-2pHKnr2P8EujcrvZo4x4zNwsEIAg5vb1ZEhl2+OH0YBg8EYH/Xx73XZ+bbwLaYIg1gvFjm29jNB9UL3CMeDU5w==", + "dependencies": { + "@asyncapi/specs": "^5.1.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7" + } + }, + "node_modules/parserapiv1/node_modules/@asyncapi/specs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", + "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, + "node_modules/parserapiv1/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/parserapiv1/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/parse-asn1": { - "version": "5.1.7", - "dev": true, - "license": "ISC", + "node_modules/parserapiv2": { + "name": "@asyncapi/parser", + "version": "3.0.0-next-major-spec.8", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.8.tgz", + "integrity": "sha512-d8ebYM08BCsx3Q4AeLke6naU/NrcAXFEVpS6b3EWcKRdUDce+v0X5k9aDH+YXWCaQApEF28UzcxhlSOJvhIFgQ==", "dependencies": { - "asn1.js": "^4.10.1", - "browserify-aes": "^1.2.0", - "evp_bytestokey": "^1.0.3", - "hash-base": "~3.0", - "pbkdf2": "^3.1.2", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.10" + "@asyncapi/specs": "^6.0.0-next-major-spec.9", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7", + "ramldt2jsonschema": "^1.2.3", + "webapi-parser": "^0.5.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "license": "MIT", + "node_modules/parserapiv2/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/parserapiv2/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/patch-text": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", + "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-browserify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true }, "node_modules/path-exists": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-platform": { "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/path-type": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "engines": { "node": ">=8" } }, "node_modules/pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, - "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -10928,16 +11856,19 @@ }, "node_modules/pend": { "version": "1.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, "node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { "node": ">=8.6" }, @@ -10955,15 +11886,17 @@ }, "node_modules/pirates": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "4.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dependencies": { "find-up": "^4.0.0" }, @@ -10971,95 +11904,111 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "node_modules/pony-cause": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", + "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", "engines": { - "node": ">=8" + "node": ">=12.0.0" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "license": "MIT", + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/preferred-pm": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.3.tgz", + "integrity": "sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==", "dependencies": { - "p-locate": "^4.1.0" + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "license": "MIT", + "node_modules/preferred-pm/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dependencies": { - "p-try": "^2.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "license": "MIT", + "node_modules/preferred-pm/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dependencies": { - "p-limit": "^2.2.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/pony-cause": { - "version": "1.1.1", - "license": "0BSD", - "engines": { - "node": ">=12.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "license": "MIT", + "node_modules/preferred-pm/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/preferred-pm": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.3.tgz", - "integrity": "sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==", + "node_modules/preferred-pm/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dependencies": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" + "p-limit": "^3.0.2" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "3.2.5", - "dev": true, - "license": "MIT", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "bin": { - "prettier": "bin/prettier.cjs" + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=14" + "node": ">=10.13.0" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -11067,8 +12016,9 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -11078,8 +12028,9 @@ }, "node_modules/pretty-format": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -11091,8 +12042,9 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -11100,36 +12052,35 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, "node_modules/process": { "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/prompts": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -11138,10 +12089,34 @@ "node": ">= 6" } }, + "node_modules/protobufjs": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz", + "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, "node_modules/pseudomap": { "version": "1.0.2", @@ -11150,8 +12125,9 @@ }, "node_modules/public-encrypt": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -11163,30 +12139,33 @@ }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/pump": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, - "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true }, "node_modules/puppeteer": { "version": "17.1.3", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.1.3.tgz", + "integrity": "sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw==", + "deprecated": "< 22.6.4 is no longer supported", "dev": true, "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { "cross-fetch": "3.1.5", "debug": "4.3.4", @@ -11204,31 +12183,27 @@ "node": ">=14.1.0" } }, - "node_modules/puppeteer/node_modules/agent-base": { - "version": "6.0.2", + "node_modules/puppeteer/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "4" + "ms": "2.1.2" }, "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/puppeteer/node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" + "node": ">=6.0" }, - "engines": { - "node": ">= 6" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/pure-rand": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -11239,13 +12214,13 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ], - "license": "MIT" + ] }, "node_modules/qs": { "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" }, @@ -11258,6 +12233,8 @@ }, "node_modules/querystring-es3": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, "engines": { "node": ">=0.4.x" @@ -11265,6 +12242,8 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { "type": "github", @@ -11278,8 +12257,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/quick-lru": { "version": "4.0.1", @@ -11289,10 +12267,34 @@ "node": ">=8" } }, + "node_modules/ramldt2jsonschema": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ramldt2jsonschema/-/ramldt2jsonschema-1.2.3.tgz", + "integrity": "sha512-+wLDAV2NNv9NkfEUOYStaDu/6RYgYXeC1zLtXE+dMU/jDfjpN4iJnBGycDwFTFaIQGosOQhxph7fEX6Mpwxdug==", + "dependencies": { + "commander": "^5.0.0", + "js-yaml": "^3.14.0", + "json-schema-migrate": "^0.2.0", + "webapi-parser": "^0.5.0" + }, + "bin": { + "dt2js": "bin/dt2js.js", + "js2dt": "bin/js2dt.js" + } + }, + "node_modules/ramldt2jsonschema/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, "node_modules/randomatic": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^4.0.0", "kind-of": "^6.0.0", @@ -11304,77 +12306,56 @@ }, "node_modules/randomatic/node_modules/is-number": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/randomatic/node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomfill": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, - "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, "node_modules/read-only-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "^2.0.2" } }, - "node_modules/read-only-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/read-only-stream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/read-only-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/read-only-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -11396,63 +12377,15 @@ "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" + "type-fest": "^0.8.1" }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -11483,43 +12416,55 @@ "node": ">=6" } }, - "node_modules/read-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" + "node_modules/read-yaml-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" } }, - "node_modules/read-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "safe-buffer": "~5.1.0" } }, "node_modules/rechoir": { "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -11541,8 +12486,9 @@ }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -11561,19 +12507,22 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regexp-tree": { "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, - "license": "MIT", "bin": { "regexp-tree": "bin/regexp-tree" } }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dependencies": { "call-bind": "^1.0.6", "define-properties": "^1.2.1", @@ -11589,8 +12538,9 @@ }, "node_modules/remarkable": { "version": "1.7.4", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", + "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.10", "autolinker": "~0.28.0" @@ -11602,106 +12552,48 @@ "node": ">= 0.10.0" } }, - "node_modules/remarkable/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/rename-function-calls": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", + "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", "dev": true, - "license": "MIT", "dependencies": { "detective": "~3.1.0" } }, "node_modules/rename-function-calls/node_modules/detective": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", + "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", "dev": true, - "license": "MIT", "dependencies": { "escodegen": "~1.1.0", "esprima-fb": "3001.1.0-dev-harmony-fb" } }, - "node_modules/rename-function-calls/node_modules/escodegen": { - "version": "1.1.0", - "dev": true, - "dependencies": { - "esprima": "~1.0.4", - "estraverse": "~1.5.0", - "esutils": "~1.0.0" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=0.4.0" - }, - "optionalDependencies": { - "source-map": "~0.1.30" - } - }, - "node_modules/rename-function-calls/node_modules/esprima": { - "version": "1.0.4", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/rename-function-calls/node_modules/estraverse": { - "version": "1.5.1", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/rename-function-calls/node_modules/esutils": { - "version": "1.0.0", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rename-function-calls/node_modules/source-map": { - "version": "0.1.43", - "dev": true, - "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/repeat-element": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/replace-requires": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", + "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", "dev": true, - "license": "MIT", "dependencies": { "detective": "^4.5.0", "has-require": "~1.2.1", @@ -11714,8 +12606,9 @@ }, "node_modules/replace-requires/node_modules/acorn": { "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -11725,8 +12618,9 @@ }, "node_modules/replace-requires/node_modules/detective": { "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "dev": true, - "license": "MIT", "dependencies": { "acorn": "^5.2.1", "defined": "^1.0.0" @@ -11734,14 +12628,16 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "engines": { "node": ">=0.10.0" } @@ -11753,7 +12649,8 @@ }, "node_modules/resolve": { "version": "1.22.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -11768,8 +12665,9 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -11777,33 +12675,27 @@ "node": ">=8" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { + "node_modules/resolve-from": { "version": "5.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { "node": ">=8" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/resolve.exports": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/reusify": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -11811,8 +12703,10 @@ }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -11823,49 +12717,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -11873,6 +12729,8 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -11887,14 +12745,14 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-array-concat": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -11910,6 +12768,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -11924,20 +12784,21 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safe-regex": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", "dev": true, - "license": "MIT", "dependencies": { "regexp-tree": "~0.1.1" } }, "node_modules/safe-regex-test": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -11952,7 +12813,8 @@ }, "node_modules/safe-stable-stringify": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -11961,8 +12823,9 @@ }, "node_modules/schema-utils": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -11976,37 +12839,53 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/semver": { - "version": "7.6.0", - "license": "ISC", + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=10" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/serialize-javascript": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -12018,7 +12897,8 @@ }, "node_modules/set-function-length": { "version": "1.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -12033,7 +12913,8 @@ }, "node_modules/set-function-name": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -12046,8 +12927,9 @@ }, "node_modules/set-getter": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", + "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", "dev": true, - "license": "MIT", "dependencies": { "to-object-path": "^0.3.0" }, @@ -12057,8 +12939,9 @@ }, "node_modules/sha.js": { "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -12069,8 +12952,9 @@ }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -12080,16 +12964,18 @@ }, "node_modules/shallow-clone/node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/shasum": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", "dev": true, - "license": "MIT", "dependencies": { "json-stable-stringify": "~0.0.0", "sha.js": "~2.4.4" @@ -12097,16 +12983,18 @@ }, "node_modules/shasum-object": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "fast-safe-stringify": "^2.0.7" } }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -12116,23 +13004,26 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/side-channel": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -12148,10 +13039,13 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/simple-concat": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true, "funding": [ { @@ -12166,12 +13060,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/simple-eval": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", + "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", "dependencies": { "jsep": "^1.1.2" }, @@ -12181,8 +13075,9 @@ }, "node_modules/sirv": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, - "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", @@ -12194,12 +13089,14 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, "node_modules/slash": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" } @@ -12220,97 +13117,49 @@ "smartwrap": "src/terminal-adapter.js" }, "engines": { - "node": ">=6" - } - }, - "node_modules/smartwrap/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/smartwrap/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/smartwrap/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/smartwrap/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/smartwrap/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/smartwrap/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/smartwrap/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "p-try": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/smartwrap/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/smartwrap/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dependencies": { - "p-limit": "^2.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/smartwrap/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, + "node_modules/smartwrap/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/smartwrap/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -12350,35 +13199,34 @@ "node": ">=8" } }, - "node_modules/smartwrap/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/source-map": { - "version": "0.6.1", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/spawndamnit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", @@ -12477,8 +13325,9 @@ }, "node_modules/stack-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -12488,98 +13337,50 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-browserify/node_modules/isarray": { + "node_modules/stop-iteration-iterator": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, - "license": "MIT" - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/stream-browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "node_modules/stream-combiner2": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, - "license": "MIT", "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, - "node_modules/stream-combiner2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-combiner2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-combiner2/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-combiner2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-http": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", "dev": true, - "license": "MIT", "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.4", @@ -12587,45 +13388,28 @@ "xtend": "^4.0.2" } }, - "node_modules/stream-splicer": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-splicer/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-splicer/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/stream-http/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/stream-splicer/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-splicer/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "node_modules/stream-transform": { @@ -12638,16 +13422,18 @@ }, "node_modules/string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string-length": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -12658,7 +13444,8 @@ }, "node_modules/string-width": { "version": "4.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -12670,11 +13457,23 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, "node_modules/string.prototype.trim": { "version": "1.2.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12690,7 +13489,8 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12702,7 +13502,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12717,7 +13518,8 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12726,24 +13528,28 @@ } }, "node_modules/strip-bom": { - "version": "3.0.0", - "license": "MIT", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-color": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -12761,8 +13567,9 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -12772,15 +13579,17 @@ }, "node_modules/subarg": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.1.0" } }, "node_modules/supports-color": { "version": "5.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { "has-flag": "^3.0.0" }, @@ -12790,7 +13599,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" }, @@ -12800,33 +13610,59 @@ }, "node_modules/svg-element-attributes": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", + "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/synckit/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, "node_modules/syntax-error": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, - "license": "MIT", "dependencies": { "acorn-node": "^1.2.0" } }, "node_modules/tapable": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tar-fs": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, - "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -12836,8 +13672,9 @@ }, "node_modules/tar-stream": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, - "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -12849,6 +13686,20 @@ "node": ">=6" } }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/term-size": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", @@ -12862,13 +13713,15 @@ }, "node_modules/ternary": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", + "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", + "dev": true }, "node_modules/terser": { - "version": "5.30.3", + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -12884,8 +13737,9 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -12917,16 +13771,18 @@ }, "node_modules/terser-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -12938,8 +13794,9 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12950,15 +13807,20 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -12966,8 +13828,9 @@ }, "node_modules/test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -12977,98 +13840,32 @@ "node": ">=8" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/through": { "version": "2.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/through2": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, "node_modules/timers-browserify": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", "dev": true, "dependencies": { "process": "~0.11.0" @@ -13090,21 +13887,24 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true }, "node_modules/to-fast-properties": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-object-path": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -13114,7 +13914,8 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { "is-number": "^7.0.0" }, @@ -13122,40 +13923,54 @@ "node": ">=8.0" } }, + "node_modules/to-regex-range/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/toml": { "version": "2.3.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true }, "node_modules/totalist": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/transformify": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", + "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~1.1.9" } }, "node_modules/transformify/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true }, "node_modules/transformify/node_modules/readable-stream": { "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -13165,8 +13980,9 @@ }, "node_modules/transformify/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true }, "node_modules/trim-newlines": { "version": "3.0.1", @@ -13178,8 +13994,9 @@ }, "node_modules/ts-api-utils": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=16" }, @@ -13189,8 +14006,9 @@ }, "node_modules/ts-loader": { "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -13208,8 +14026,9 @@ }, "node_modules/ts-loader/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -13222,8 +14041,9 @@ }, "node_modules/ts-loader/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13237,8 +14057,9 @@ }, "node_modules/ts-loader/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -13248,29 +14069,33 @@ }, "node_modules/ts-loader/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/ts-loader/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ts-loader/node_modules/source-map": { "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/ts-loader/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -13280,8 +14105,9 @@ }, "node_modules/ts-node": { "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, - "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -13320,10 +14146,23 @@ } } }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -13333,8 +14172,9 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -13342,14 +14182,25 @@ "json5": "lib/cli.js" } }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/tsutils": { "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -13360,15 +14211,11 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, "node_modules/tty-browserify": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true }, "node_modules/tty-table": { "version": "4.2.3", @@ -13464,8 +14311,9 @@ }, "node_modules/turbo": { "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.3.tgz", + "integrity": "sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==", "dev": true, - "license": "MPL-2.0", "bin": { "turbo": "bin/turbo" }, @@ -13478,22 +14326,89 @@ "turbo-windows-arm64": "1.13.3" } }, + "node_modules/turbo-darwin-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.13.3.tgz", + "integrity": "sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, "node_modules/turbo-darwin-arm64": { "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.3.tgz", + "integrity": "sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==", "cpu": [ "arm64" ], "dev": true, - "license": "MPL-2.0", "optional": true, "os": [ "darwin" ] }, + "node_modules/turbo-linux-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.13.3.tgz", + "integrity": "sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.13.3.tgz", + "integrity": "sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.13.3.tgz", + "integrity": "sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.13.3.tgz", + "integrity": "sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -13503,16 +14418,18 @@ }, "node_modules/type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { - "version": "0.21.3", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -13522,7 +14439,8 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -13534,7 +14452,8 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -13551,7 +14470,8 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -13569,7 +14489,8 @@ }, "node_modules/typed-array-length": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -13587,33 +14508,36 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true }, "node_modules/typescript": { - "version": "5.4.5", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, - "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/umd": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", "dev": true, - "license": "MIT", "bin": { "umd": "bin/cli.js" } }, "node_modules/unbox-primitive": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -13626,8 +14550,9 @@ }, "node_modules/unbzip2-stream": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" @@ -13635,8 +14560,9 @@ }, "node_modules/undeclared-identifiers": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "acorn-node": "^1.3.0", "dash-ast": "^1.0.0", @@ -13650,7 +14576,8 @@ }, "node_modules/undici-types": { "version": "5.26.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/universalify": { "version": "0.1.2", @@ -13661,7 +14588,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", "dev": true, "funding": [ { @@ -13677,10 +14606,9 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -13691,63 +14619,75 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, "node_modules/urijs": { "version": "1.19.11", - "license": "MIT" + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" }, "node_modules/url": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dev": true, - "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.11.2" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "dev": true, - "license": "MIT" - }, "node_modules/util": { "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "2.0.3" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true }, "node_modules/utility-types": { "version": "3.11.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "engines": { "node": ">= 4" } }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.2.0", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, - "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -13757,6 +14697,12 @@ "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -13768,21 +14714,24 @@ }, "node_modules/vm-browserify": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true }, "node_modules/walker": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watchpack": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -13799,14 +14748,45 @@ "defaults": "^1.0.3" } }, + "node_modules/webapi-parser": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webapi-parser/-/webapi-parser-0.5.0.tgz", + "integrity": "sha512-fPt6XuMqLSvBz8exwX4QE1UT+pROLHa00EMDCdO0ybICduwQ1V4f7AWX4pNOpCp+x+0FjczEsOxtQU0d8L3QKw==", + "dependencies": { + "ajv": "6.5.2" + } + }, + "node_modules/webapi-parser/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/webapi-parser/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + }, + "node_modules/webapi-parser/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, "node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.91.0", + "version": "5.92.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -13814,10 +14794,10 @@ "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -13851,8 +14831,9 @@ }, "node_modules/webpack-bundle-analyzer": { "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -13874,18 +14855,32 @@ "node": ">= 10.13.0" } }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/webpack-bundle-analyzer/node_modules/commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -13894,9 +14889,10 @@ } }, "node_modules/webpack-bundle-analyzer/node_modules/ws": { - "version": "7.5.9", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -13915,8 +14911,9 @@ }, "node_modules/webpack-cli": { "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^1.2.0", @@ -13961,16 +14958,18 @@ }, "node_modules/webpack-cli/node_modules/commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-merge": { "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -13982,23 +14981,26 @@ }, "node_modules/webpack-sources": { "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/webpack/node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14006,8 +15008,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -14020,7 +15023,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -14034,8 +15038,9 @@ }, "node_modules/which-builtin-type": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", "dev": true, - "license": "MIT", "dependencies": { "function.prototype.name": "^1.1.5", "has-tostringtag": "^1.0.0", @@ -14059,8 +15064,9 @@ }, "node_modules/which-collection": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, - "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -14093,7 +15099,8 @@ }, "node_modules/which-typed-array": { "version": "1.1.15", - "license": "MIT", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -14110,12 +15117,23 @@ }, "node_modules/wildcard": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, "node_modules/wrap-ansi": { "version": "7.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -14130,7 +15148,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" }, @@ -14143,7 +15162,8 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" }, @@ -14153,17 +15173,20 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/write-file-atomic": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -14174,8 +15197,9 @@ }, "node_modules/ws": { "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -14194,27 +15218,31 @@ }, "node_modules/xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "5.0.8", - "license": "ISC", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "node_modules/yargs": { "version": "17.7.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -14229,16 +15257,30 @@ } }, "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { "version": "21.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { "node": ">=12" } }, "node_modules/yauzl": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, - "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -14246,21 +15288,126 @@ }, "node_modules/yn": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/yocto-queue": { "version": "0.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "packages/multi-parser": { + "name": "@smoya/multi-parser", + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { + "@asyncapi/avro-schema-parser": "^3.0.3", + "@asyncapi/openapi-schema-parser": "^3.0.4", + "@asyncapi/protobuf-schema-parser": "^3.0.0", + "@asyncapi/raml-dt-schema-parser": "^4.0.4", + "parserapiv1": "npm:@asyncapi/parser@^2.1.0", + "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8" + }, + "devDependencies": { + "@asyncapi/parser": "file:../parser", + "@jest/types": "^29.0.2", + "@swc/core": "^1.2.248", + "@swc/jest": "^0.2.22", + "@types/jest": "^27.4.1", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "cross-env": "^7.0.3", + "eslint": "^8.23.0", + "eslint-plugin-github": "^4.3.7", + "eslint-plugin-security": "^1.5.0", + "eslint-plugin-sonarjs": "^0.15.0", + "jest": "^29.0.2", + "markdown-toc": "^1.2.0", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "typescript": "^4.8.2" + } + }, + "packages/parser": { + "name": "@asyncapi/parser", + "version": "3.0.14", + "license": "Apache-2.0", + "dependencies": { + "@asyncapi/specs": "^6.6.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7" + }, + "devDependencies": { + "@asyncapi/avro-schema-parser": "^3.0.22", + "@jest/types": "^29.0.2", + "@swc/core": "^1.2.248", + "@swc/jest": "^0.2.22", + "@types/jest": "^27.4.1", + "@types/js-yaml": "^4.0.5", + "@types/node": "^18.16.1", + "@types/node-fetch": "^2.6.2", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "browserify": "^16.3.0", + "browserify-shim": "^3.8.14", + "cross-env": "^7.0.3", + "eslint": "^8.23.0", + "eslint-plugin-github": "^4.3.7", + "eslint-plugin-security": "^1.5.0", + "eslint-plugin-sonarjs": "^0.15.0", + "jest": "^29.0.2", + "markdown-toc": "^1.2.0", + "path-browserify": "^1.0.1", + "puppeteer": "^17.1.1", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "typescript": "^4.8.2", + "webpack": "^5.74.0", + "webpack-bundle-analyzer": "^4.6.1", + "webpack-cli": "^4.10.0" + } + }, + "packages/parser/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "packages/parser/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } } } } diff --git a/package.json b/package.json index b44a4683e..38f2e5332 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,10 @@ "parser:build": "turbo run build --filter=@asyncapi/parser", "changeset": "changeset", "version-packages": "changeset version", - "publish-packages": "turbo run build && changeset publish" + "publish-packages": "turbo run build && changeset publish", + "multi-parser:build":"turbo run build --filter=@asyncapi/multi-parser", + "multi-parser:test:unit":"turbo run test:unit --filter=@asyncapi/multi-parser", + "multi-parser:test":"turbo run test --filter=@asyncapi/multi-parser" }, "devDependencies": { "turbo": "1.13.3" diff --git a/packages/multi-parser/.eslintignore b/packages/multi-parser/.eslintignore deleted file mode 100644 index 329c07896..000000000 --- a/packages/multi-parser/.eslintignore +++ /dev/null @@ -1,9 +0,0 @@ -node_modules -.vscode -.DS_Store -/docs -/coverage -/lib -/esm -/cjs -/browser \ No newline at end of file diff --git a/packages/multi-parser/.eslintrc b/packages/multi-parser/.eslintrc deleted file mode 100644 index 6ddc11a44..000000000 --- a/packages/multi-parser/.eslintrc +++ /dev/null @@ -1,134 +0,0 @@ -parser: "@typescript-eslint/parser" - -env: - node: true - es6: true - jest: true - mocha: true - browser: true - -plugins: - - "@typescript-eslint" - - sonarjs - - security - - github - -extends: - - eslint:recommended - - plugin:@typescript-eslint/eslint-recommended - - plugin:@typescript-eslint/recommended - - plugin:sonarjs/recommended - - plugin:security/recommended - -parserOptions: - ecmaVersion: 2018 - -rules: - # Ignore Rules - strict: 0 - no-underscore-dangle: 0 - no-mixed-requires: 0 - no-process-exit: 0 - no-warning-comments: 0 - no-use-before-define: 0 - curly: 0 - no-multi-spaces: 0 - no-alert: 0 - consistent-return: 0 - consistent-this: [0, self] - func-style: 0 - max-nested-callbacks: 0 - camelcase: 0 - no-dupe-class-members: 0 - security/detect-object-injection: 0 - sonarjs/no-small-switch: 0 - sonarjs/no-nested-template-literals: 0 - - # Warnings - no-debugger: 1 - no-empty: 1 - no-invalid-regexp: 1 - no-unused-expressions: 1 - no-native-reassign: 1 - no-fallthrough: 1 - sonarjs/cognitive-complexity: 1 - - # Errors - eqeqeq: 2 - no-undef: 2 - no-dupe-keys: 2 - no-empty-character-class: 2 - no-self-compare: 2 - valid-typeof: 2 - handle-callback-err: 2 - no-shadow-restricted-names: 2 - no-new-require: 2 - no-mixed-spaces-and-tabs: 2 - block-scoped-var: 2 - no-else-return: 2 - no-throw-literal: 2 - no-void: 2 - radix: 2 - wrap-iife: [2, outside] - no-shadow: 0 - no-path-concat: 2 - valid-jsdoc: [0, {requireReturn: false, requireParamDescription: false, requireReturnDescription: false}] - - # stylistic errors - no-spaced-func: 2 - semi-spacing: 2 - quotes: [2, 'single'] - key-spacing: [2, { beforeColon: false, afterColon: true }] - indent: [2, 2] - no-lonely-if: 2 - no-floating-decimal: 2 - brace-style: [2, 1tbs, { allowSingleLine: true }] - comma-style: [2, last] - no-multiple-empty-lines: [2, {max: 1}] - no-nested-ternary: 2 - operator-assignment: [2, always] - padded-blocks: [2, never] - quote-props: [2, as-needed] - keyword-spacing: [2, {'before': true, 'after': true, 'overrides': {}}] - space-before-blocks: [2, always] - array-bracket-spacing: [2, never] - computed-property-spacing: [2, never] - space-in-parens: [2, never] - space-unary-ops: [2, {words: true, nonwords: false}] - wrap-regex: 2 - linebreak-style: 0 - semi: [2, always] - arrow-spacing: [2, {before: true, after: true}] - no-class-assign: 2 - no-const-assign: 2 - no-this-before-super: 2 - no-var: 2 - object-shorthand: [2, always] - prefer-arrow-callback: 2 - prefer-const: 2 - prefer-spread: 2 - prefer-template: 2 - - # TypeScript - "@typescript-eslint/no-empty-interface": "off" - "@typescript-eslint/no-use-before-define": ["off"] - "@typescript-eslint/no-empty-function": "off" - "@typescript-eslint/ban-ts-comment": "off" - "@typescript-eslint/no-explicit-any": "off" - "@typescript-eslint/explicit-module-boundary-types": "off" - "@typescript-eslint/no-this-alias": "off" - "@typescript-eslint/no-unnecessary-type-constraint": "off" - "@typescript-eslint/ban-types": "off" - -overrides: - - files: - - "test/**" - - "*.spec.ts" - - "*.test.ts" - rules: - prefer-arrow-callback: 0 - sonarjs/no-duplicate-string: 0 - security/detect-object-injection: 0 - security/detect-non-literal-fs-filename: 0 - "@typescript-eslint/no-non-null-assertion": 0 - "@typescript-eslint/no-unused-vars": 0 diff --git a/packages/multi-parser/.releaserc b/packages/multi-parser/.releaserc deleted file mode 100644 index 8034f0602..000000000 --- a/packages/multi-parser/.releaserc +++ /dev/null @@ -1,22 +0,0 @@ ---- -branches: -- main -# by default release workflow reacts on push not only to master. -#This is why out of the box sematic release is configured for all these branches -- name: next-spec - prerelease: true -- name: next-major - prerelease: true -- name: next-major-spec - prerelease: true -- name: beta - prerelease: true -- name: alpha - prerelease: true -plugins: -- - "@semantic-release/commit-analyzer" - - preset: conventionalcommits -- - "@semantic-release/release-notes-generator" - - preset: conventionalcommits -- "@semantic-release/npm" -- "@semantic-release/github" diff --git a/packages/multi-parser/LICENSE b/packages/multi-parser/LICENSE deleted file mode 100644 index 261eeb9e9..000000000 --- a/packages/multi-parser/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - 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 [yyyy] [name of copyright owner] - - 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/packages/multi-parser/package.json b/packages/multi-parser/package.json index e1e933fdd..264b21d95 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -30,8 +30,8 @@ "build:cjs": "tsc --project ./tsconfig.cjs.json", "test": "npm run test:unit", "test:unit": "cross-env CI=true jest --coverage", - "lint": "eslint --max-warnings 0 --config .eslintrc .", - "lint:fix": "eslint --max-warnings 0 --config .eslintrc . --fix", + "lint": "eslint --max-warnings 0 --config .eslintrc --ignore-path ../../.eslintignore .", + "lint:fix": "eslint --max-warnings 0 --config .eslintrc --ignore-path ../../.eslintignore . --fix", "generate:readme:toc": "markdown-toc -i \"README.md\"", "generate:assets": "npm run build && npm run generate:readme:toc", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", @@ -43,8 +43,7 @@ "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", - "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "parserapiv3": "npm:@asyncapi/parser@^3.1.0" + "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8" }, "devDependencies": { "@jest/types": "^29.0.2", @@ -62,6 +61,7 @@ "markdown-toc": "^1.2.0", "ts-loader": "^9.3.1", "ts-node": "^10.9.1", - "typescript": "^4.8.2" + "typescript": "^4.8.2", + "@asyncapi/parser": "file:../parser" } } diff --git a/packages/multi-parser/src/convert.ts b/packages/multi-parser/src/convert.ts index bb13e0f90..a41fa238b 100644 --- a/packages/multi-parser/src/convert.ts +++ b/packages/multi-parser/src/convert.ts @@ -1,14 +1,14 @@ import { createAsyncAPIDocument as createAsyncAPIDocumentParserV1 } from 'parserapiv1'; import { createAsyncAPIDocument as createAsyncAPIDocumentParserV2 } from 'parserapiv2'; -import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from 'parserapiv3'; +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from '@asyncapi/parser'; import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV1 } from 'parserapiv1'; import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV2 } from 'parserapiv2'; -import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from 'parserapiv3'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from '@asyncapi/parser'; import type { DetailedAsyncAPI as DetailedAsyncAPIParserV1 } from 'parserapiv1/esm/types'; import type { DetailedAsyncAPI as DetailedAsyncAPIParserV2 } from 'parserapiv2/esm/types'; -import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from 'parserapiv3/esm/types'; +import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from '@asyncapi/parser/esm/types'; export type AsyncAPIDocument = AsyncAPIDocumentInterfaceParserV1 | AsyncAPIDocumentInterfaceParserV2 | AsyncAPIDocumentInterfaceParserV3; diff --git a/packages/multi-parser/src/parse.ts b/packages/multi-parser/src/parse.ts index 5de041d88..a23a87316 100644 --- a/packages/multi-parser/src/parse.ts +++ b/packages/multi-parser/src/parse.ts @@ -1,6 +1,6 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from 'parserapiv3'; +import { Parser as ParserV3 } from '@asyncapi/parser'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; @@ -9,7 +9,7 @@ import { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser'; import type { ParserOptions as ParserOptionsParserV1 } from 'parserapiv1/esm/parser'; import type { ParserOptions as ParserOptionsParserV2 } from 'parserapiv2/esm/parser'; -import type { ParserOptions as ParserOptionsParserV3 } from 'parserapiv3/esm/parser'; +import type { ParserOptions as ParserOptionsParserV3 } from '@asyncapi/parser/esm/parser'; export type ParserOptions = ParserOptionsParserV1 | ParserOptionsParserV2 | ParserOptionsParserV3; export type Options = { diff --git a/packages/multi-parser/test/convert.spec.ts b/packages/multi-parser/test/convert.spec.ts index c183fe22e..11e491e0b 100644 --- a/packages/multi-parser/test/convert.spec.ts +++ b/packages/multi-parser/test/convert.spec.ts @@ -1,7 +1,7 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from 'parserapiv3'; +import { Parser as ParserV3 } from '@asyncapi/parser'; import { AsyncAPIDocument, ConvertDocumentParserAPIVersion } from '../src/convert'; diff --git a/packages/multi-parser/test/parse.spec.ts b/packages/multi-parser/test/parse.spec.ts index 8e714cf4b..1cc8b6150 100644 --- a/packages/multi-parser/test/parse.spec.ts +++ b/packages/multi-parser/test/parse.spec.ts @@ -1,7 +1,7 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from 'parserapiv3'; +import { Parser as ParserV3 } from '@asyncapi/parser'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; diff --git a/packages/parser/package-lock.json b/packages/parser/package-lock.json deleted file mode 100644 index 4be751121..000000000 --- a/packages/parser/package-lock.json +++ /dev/null @@ -1,19618 +0,0 @@ -{ - "name": "@asyncapi/parser", - "version": "3.0.14", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@asyncapi/parser", - "version": "3.0.14", - "license": "Apache-2.0", - "dependencies": { - "@asyncapi/specs": "^6.6.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", - "@stoplight/json-ref-readers": "^1.2.2", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@stoplight/spectral-ref-resolver": "^1.0.3", - "@stoplight/types": "^13.12.0", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7" - }, - "devDependencies": { - "@asyncapi/avro-schema-parser": "^3.0.22", - "@jest/types": "^29.0.2", - "@swc/core": "^1.2.248", - "@swc/jest": "^0.2.22", - "@types/jest": "^27.4.1", - "@types/js-yaml": "^4.0.5", - "@types/node": "^18.16.1", - "@types/node-fetch": "^2.6.2", - "@typescript-eslint/eslint-plugin": "^5.36.2", - "@typescript-eslint/parser": "^5.36.2", - "browserify": "^16.3.0", - "browserify-shim": "^3.8.14", - "cross-env": "^7.0.3", - "eslint": "^8.23.0", - "eslint-plugin-github": "^4.3.7", - "eslint-plugin-security": "^1.5.0", - "eslint-plugin-sonarjs": "^0.15.0", - "jest": "^29.0.2", - "markdown-toc": "^1.2.0", - "path-browserify": "^1.0.1", - "puppeteer": "^17.1.1", - "ts-loader": "^9.3.1", - "ts-node": "^10.9.1", - "typescript": "^4.8.2", - "webpack": "^5.74.0", - "webpack-bundle-analyzer": "^4.6.1", - "webpack-cli": "^4.10.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@asyncapi/avro-schema-parser": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.22.tgz", - "integrity": "sha512-nrrIIPehHoS1+Zc0eCO3+ijo7VJhWaFqVTupFYJVxxiwNrx7HpldLiTt1awIUDU6rJTm9czGLQq8MIgtXb/Dqg==", - "dev": true, - "dependencies": { - "@asyncapi/parser": "^3.0.14", - "@types/json-schema": "^7.0.11", - "avsc": "^5.7.6" - } - }, - "node_modules/@asyncapi/parser": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.14.tgz", - "integrity": "sha512-tC2gmKkw28PWWMcGUXHQjTfVftiZdr+FQtsfapaHh36spX9uwe13iYzkcTyCkwSJAHibtg7wvStuHsiufP8xng==", - "dev": true, - "dependencies": { - "@asyncapi/specs": "^6.6.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", - "@stoplight/json-ref-readers": "^1.2.2", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@stoplight/spectral-ref-resolver": "^1.0.3", - "@stoplight/types": "^13.12.0", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7" - } - }, - "node_modules/@asyncapi/specs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.6.0.tgz", - "integrity": "sha512-pXJa0sCeBpif5al5CSa0f3HvwVBQXzd96/Xgq8Jsh6KM4CYxCe7p6paaC9fDjdBVXyWAioQmZiGRxEVUMINbUw==", - "dependencies": { - "@types/json-schema": "^7.0.11" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@github/browserslist-config": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", - "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", - "dev": true - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.1.tgz", - "integrity": "sha512-Aj772AYgwTSr5w8qnyoJ0eDYvN6bMsH3ORH1ivMotrInHLKdUz6BDlaEXHdM6kODaBIkNIyQGzsMvRdOv7VG7Q==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.1.tgz", - "integrity": "sha512-CcowHypRSm5oYQ1obz1wfvkjZZ2qoQlrKKvlfPwh5jUXVU12TWr2qMeH8chLMuTFzHh5a1g2yaqlqDICbr+ukQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.1", - "@jest/reporters": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.1", - "jest-haste-map": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.1", - "jest-resolve-dependencies": "^29.6.1", - "jest-runner": "^29.6.1", - "jest-runtime": "^29.6.1", - "jest-snapshot": "^29.6.1", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "jest-watcher": "^29.6.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@jest/create-cache-key-function": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", - "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/environment": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.1.tgz", - "integrity": "sha512-RMMXx4ws+Gbvw3DfLSuo2cfQlK7IwGbpuEWXCqyYDcqYTI+9Ju3a5hDnXaxjNsa6uKh9PQF2v+qg+RLe63tz5A==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.1.tgz", - "integrity": "sha512-N5xlPrAYaRNyFgVf2s9Uyyvr795jnB6rObuPx4QFvNJz8aAjpZUDfO4bh5G/xuplMID8PrnuF1+SfSyDxhsgYg==", - "dev": true, - "dependencies": { - "expect": "^29.6.1", - "jest-snapshot": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.1.tgz", - "integrity": "sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.4.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.1.tgz", - "integrity": "sha512-RdgHgbXyosCDMVYmj7lLpUwXA4c69vcNzhrt69dJJdf8azUrpRh3ckFCaTPNjsEeRi27Cig0oKDGxy5j7hOgHg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.1", - "jest-mock": "^29.6.1", - "jest-util": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.1.tgz", - "integrity": "sha512-2VjpaGy78JY9n9370H8zGRCFbYVWwjY6RdDMhoJHa1sYfwe6XM/azGN0SjY8kk7BOZApIejQ1BFPyH7FPG0w3A==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.1", - "@jest/expect": "^29.6.1", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.1.tgz", - "integrity": "sha512-9zuaI9QKr9JnoZtFQlw4GREQbxgmNYXU6QuWtmuODvk5nvPUeBYapVR/VYMyi2WSx3jXTLJTJji8rN6+Cm4+FA==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1", - "jest-worker": "^29.6.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.1.tgz", - "integrity": "sha512-Ynr13ZRcpX6INak0TPUukU8GWRfm/vAytE3JbJNGAvINySWYdfE7dGZMbk36oVuK4CigpbhMn8eg1dixZ7ZJOw==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.1.tgz", - "integrity": "sha512-oBkC36PCDf/wb6dWeQIhaviU0l5u6VCsXa119yqdUosYAt7/FbQU2M2UoziO3igj/HBDEgp57ONQ3fm0v9uyyg==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.6.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.1.tgz", - "integrity": "sha512-URnTneIU3ZjRSaf906cvf6Hpox3hIeJXRnz3VDSw5/X93gR8ycdfSIEy19FlVx8NFmpN7fe3Gb1xF+NjXaQLWg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jsep-plugin/regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", - "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" - } - }, - "node_modules/@jsep-plugin/ternary": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", - "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@openapi-contrib/openapi-schema-to-json-schema": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", - "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", - "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", - "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/@stoplight/json": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", - "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", - "dependencies": { - "@stoplight/ordered-object-literal": "^1.0.3", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^13.6.0", - "jsonc-parser": "~2.2.1", - "lodash": "^4.17.21", - "safe-stable-stringify": "^1.1" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/@stoplight/json-ref-readers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", - "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", - "dependencies": { - "node-fetch": "^2.6.0", - "tslib": "^1.14.1" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@stoplight/json-ref-resolver": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", - "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", - "dependencies": { - "@stoplight/json": "^3.21.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0 || ^13.0.0", - "@types/urijs": "^1.19.19", - "dependency-graph": "~0.11.0", - "fast-memoize": "^2.5.2", - "immer": "^9.0.6", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "urijs": "^1.19.11" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/@stoplight/ordered-object-literal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.4.tgz", - "integrity": "sha512-OF8uib1jjDs5/cCU+iOVy+GJjU3X7vk/qJIkIJFqwmlJKrrtijFmqwbu8XToXrwTYLQTP+Hebws5gtZEmk9jag==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@stoplight/path": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", - "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@stoplight/spectral-core": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.2.tgz", - "integrity": "sha512-bjNXo0VzXTDdFB3oKvVCAHW5rJ1/eMQzN6k1N5RW8tdEXMcEnI56MByRzADniVa+SvrutApK2u+9XwUZtIIT3w==", - "dependencies": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "~3.21.0", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-parsers": "^1.0.0", - "@stoplight/spectral-ref-resolver": "^1.0.0", - "@stoplight/spectral-runtime": "^1.0.0", - "@stoplight/types": "~13.6.0", - "@types/es-aggregate-error": "^1.0.2", - "@types/json-schema": "^7.0.11", - "ajv": "^8.6.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "es-aggregate-error": "^1.0.7", - "jsonpath-plus": "7.1.0", - "lodash": "~4.17.21", - "lodash.topath": "^4.5.2", - "minimatch": "3.1.2", - "nimma": "0.2.2", - "pony-cause": "^1.0.0", - "simple-eval": "1.0.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", - "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/jsonpath-plus": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", - "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@stoplight/spectral-formats": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.5.0.tgz", - "integrity": "sha512-VskkdU3qBSvI1dfJ79ysjvTssfNlbA6wrf/XkXK6iTyjfIVqOAWVtjypTb2U95tN/X8IjIBBhNWtZ4tNVZilrA==", - "dependencies": { - "@stoplight/json": "^3.17.0", - "@stoplight/spectral-core": "^1.8.0", - "@types/json-schema": "^7.0.7", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-functions": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.7.2.tgz", - "integrity": "sha512-f+61/FtIkQeIo+a269CeaeqjpyRsgDyIk6DGr7iS4hyuk1PPk7Uf6MNRDs9FEIBh7CpdEJ+HSHbMLwgpymWTIw==", - "dependencies": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "^3.17.1", - "@stoplight/spectral-core": "^1.7.0", - "@stoplight/spectral-formats": "^1.0.0", - "@stoplight/spectral-runtime": "^1.1.0", - "ajv": "^8.6.3", - "ajv-draft-04": "~1.0.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "lodash": "~4.17.21", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-parsers": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.3.tgz", - "integrity": "sha512-J0KW5Rh5cHWnJQ3yN+cr/ijNFVirPSR0pkQbdrNX30VboEl083UEDrQ3yov9kjLVIWEk9t9kKE7Eo3QT/k4JLA==", - "dependencies": { - "@stoplight/json": "~3.21.0", - "@stoplight/types": "^13.6.0", - "@stoplight/yaml": "~4.2.3", - "tslib": "^2.3.1" - }, - "engines": { - "node": "^12.20 || >=14.13" - } - }, - "node_modules/@stoplight/spectral-ref-resolver": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.3.tgz", - "integrity": "sha512-pj+bH4SH8hcWlnV787WD7P0/En7LA3EfZMvG1JUGMW/7bFd9AaZZXNkh5j0ve8qnPlwP8F4SH/2Cnr1tXOXCVw==", - "dependencies": { - "@stoplight/json-ref-readers": "1.2.2", - "@stoplight/json-ref-resolver": "~3.1.5", - "@stoplight/spectral-runtime": "^1.1.2", - "dependency-graph": "0.11.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-runtime": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", - "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", - "dependencies": { - "@stoplight/json": "^3.17.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0", - "abort-controller": "^3.0.0", - "lodash": "^4.17.21", - "node-fetch": "^2.6.7", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@stoplight/spectral-runtime/node_modules/@stoplight/types": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", - "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@stoplight/types": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.15.0.tgz", - "integrity": "sha512-pBLjVRrWGVd+KzTbL3qrmufSKIEp0UfziDBdt/nrTHPKrlrtVwaHdrrQMcpM23yJDU1Wcg4cHvhIuGtKCT5OmA==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - } - }, - "node_modules/@stoplight/yaml": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.2.3.tgz", - "integrity": "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw==", - "dependencies": { - "@stoplight/ordered-object-literal": "^1.0.1", - "@stoplight/types": "^13.0.0", - "@stoplight/yaml-ast-parser": "0.0.48", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=10.8" - } - }, - "node_modules/@stoplight/yaml-ast-parser": { - "version": "0.0.48", - "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", - "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==" - }, - "node_modules/@swc/core": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.69.tgz", - "integrity": "sha512-Khc/DE9D5+2tYTHgAIp5DZARbs8kldWg3b0Jp6l8FQLjelcLFmlQWSwKhVZrgv4oIbgZydIp8jInsvTalMHqnQ==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.69", - "@swc/core-darwin-x64": "1.3.69", - "@swc/core-linux-arm-gnueabihf": "1.3.69", - "@swc/core-linux-arm64-gnu": "1.3.69", - "@swc/core-linux-arm64-musl": "1.3.69", - "@swc/core-linux-x64-gnu": "1.3.69", - "@swc/core-linux-x64-musl": "1.3.69", - "@swc/core-win32-arm64-msvc": "1.3.69", - "@swc/core-win32-ia32-msvc": "1.3.69", - "@swc/core-win32-x64-msvc": "1.3.69" - }, - "peerDependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.69.tgz", - "integrity": "sha512-IjZTf12zIPWkV3D7toaLDoJPSkLhQ4fDH8G6/yCJUI27cBFOI3L8LXqptYmISoN5yYdrcnNpdqdapD09JPuNJg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.69.tgz", - "integrity": "sha512-/wBO0Rn5oS5dJI/L9kJRkPAdksVwl5H9nleW/NM3A40N98VV8T7h/i1nO051mxIjq0R6qXVGOWFbBoLrPYucJg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.69.tgz", - "integrity": "sha512-NShCjMv6Xn8ckMKBRqmprXvUF14+jXY0TcNKXwjYErzoIUFOnG72M36HxT4QEeAtKZ4Eg4CZFE4zlJ27fDp1gg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.69.tgz", - "integrity": "sha512-VRPOJj4idopSHIj1bOVXX0SgaB18R8yZNunb7eXS5ZcjVxAcdvqyIz3RdQX1zaJFCGzcdPLzBRP32DZWWGE8Ng==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.69.tgz", - "integrity": "sha512-QxeSiZqo5x1X8vq8oUWLibq+IZJcxl9vy0sLUmzdjF2b/Z+qxKP3gutxnb2tzJaHqPVBbEZaILERIGy1qWdumQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.69.tgz", - "integrity": "sha512-b+DUlVxYox3BwD3PyTwhLvqtu6TYZtW+S6O0FnttH11o4skHN0XyJ/cUZSI0X2biSmfDsizRDUt1PWPFM+F7SA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.69.tgz", - "integrity": "sha512-QXjsI+f8n9XPZHUvmGgkABpzN4M9kdSbhqBOZmv3o0AsDGNCA4uVowQqgZoPFAqlJTpwHeDmrv5sQ13HN+LOGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.69.tgz", - "integrity": "sha512-wn7A8Ws1fyviuCUB2Vg6IotiZeuqiO1Mz3d+YDae2EYyNpj1kNHvjBip8GHkfGzZG+jVrvG6NHsDo0KO/pGb8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.69.tgz", - "integrity": "sha512-LsFBXtXqxEcVaaOGEZ9X3qdMzobVoJqKv8DnksuDsWcBk+9WCeTz2u/iB+7yZ2HGuPXkCqTRqhFo6FX9aC00kQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.69.tgz", - "integrity": "sha512-ieBscU0gUgKjaseFI07tAaGqHvKyweNknPeSYEZOasVZUczhD6fK2GRnVREhv2RB2qdKC/VGFBsgRDMgzq1VLw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/jest": { - "version": "0.2.26", - "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.26.tgz", - "integrity": "sha512-7lAi7q7ShTO3E5Gt1Xqf3pIhRbERxR1DUxvtVa9WKzIB+HGQ7wZP5sYx86zqnaEoKKGhmOoZ7gyW0IRu8Br5+A==", - "dev": true, - "dependencies": { - "@jest/create-cache-key-function": "^27.4.2", - "jsonc-parser": "^3.2.0" - }, - "engines": { - "npm": ">= 7.0.0" - }, - "peerDependencies": { - "@swc/core": "*" - } - }, - "node_modules/@swc/jest/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/es-aggregate-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.2.tgz", - "integrity": "sha512-erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/es-aggregate-error/node_modules/@types/node": { - "version": "20.4.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", - "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==" - }, - "node_modules/@types/eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-gsF+c/0XOguWgaOgvFs+xnnRqt9GwgTvIks36WpE6ueeI4KCEHHd8K/CKHqhOqrJKsYH8m27kRzQEvWXAwXUTw==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", - "dev": true, - "dependencies": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.16.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", - "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", - "dev": true - }, - "node_modules/@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/urijs": { - "version": "1.19.19", - "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.19.tgz", - "integrity": "sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg==" - }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/accessory": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", - "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", - "dev": true, - "dependencies": { - "ap": "~0.2.0", - "balanced-match": "~0.2.0", - "dot-parts": "~1.0.0" - } - }, - "node_modules/accessory/node_modules/balanced-match": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", - "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-draft-04": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", - "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", - "peerDependencies": { - "ajv": "^8.5.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", - "dev": true, - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/ap": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", - "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", - "dev": true - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/autolinker": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", - "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", - "dev": true, - "dependencies": { - "gulp-header": "^1.7.1" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/avsc": { - "version": "5.7.7", - "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", - "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==", - "engines": { - "node": ">=0.11" - } - }, - "node_modules/axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/babel-jest": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", - "integrity": "sha512-qu+3bdPEQC6KZSPz+4Fyjbga5OODNcp49j6GKzG1EKbkfyJBxEYGVUmVGpwCSeGouG52R4EgYMLb6p9YeEEQ4A==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.6.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "node_modules/browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "dev": true, - "dependencies": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - }, - "bin": { - "browser-pack": "bin/cmd.js" - } - }, - "node_modules/browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", - "dev": true, - "dependencies": { - "resolve": "^1.17.0" - } - }, - "node_modules/browserify": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", - "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", - "dev": true, - "dependencies": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "browserify": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-shim": { - "version": "3.8.16", - "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", - "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", - "dev": true, - "dependencies": { - "exposify": "~0.5.0", - "mothership": "~0.3.0", - "rename-function-calls": "~0.1.0", - "resolve": "~0.6.1", - "through": "~2.3.4" - }, - "peerDependencies": { - "browserify": ">= 2.3" - } - }, - "node_modules/browserify-shim/node_modules/resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", - "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", - "dev": true, - "dependencies": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.4", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.6", - "readable-stream": "^3.6.2", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserify/node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/browserify/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "node_modules/cached-path-relative": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", - "dev": true - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001515", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz", - "integrity": "sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", - "dev": true, - "bin": { - "cake": "bin/cake", - "coffee": "bin/coffee" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", - "dev": true, - "dependencies": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/concat-with-sourcemaps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "node_modules/dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "dependencies": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - }, - "bin": { - "deps-sort": "bin/cmd.js" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/devtools-protocol": { - "version": "0.0.1036444", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz", - "integrity": "sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw==", - "dev": true - }, - "node_modules/diacritics-map": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", - "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/doctrine/node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/dot-parts": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", - "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", - "dev": true - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.460", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.460.tgz", - "integrity": "sha512-kKiHnbrHME7z8E6AYaw0ehyxY5+hdaRmeUbjBO22LZMdqTYCO29EvF0T1cQ3pJ1RN5fyMcHl1Lmcsdt9WWJpJQ==", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.3.tgz", - "integrity": "sha512-ZU4miiY1j3sGPFLJ34VJXEqhpmL+HGByCinGHv4HC+Fxl2fI2Z4yR6tl0mORnDr6PA8eihWo4LmSWDbvhALckg==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-aggregate-error": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.9.tgz", - "integrity": "sha512-fvnX40sb538wdU6r4s35cq4EY6Lr09Upj40BEVem4LEsuW8XgQep9yD5Q1U2KftokNp1rWODFJ2qwZSsAjFpbg==", - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "function-bind": "^1.1.1", - "functions-have-names": "^1.2.3", - "get-intrinsic": "^1.1.3", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", - "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", - "dev": true, - "dependencies": { - "esprima": "~1.0.4", - "estraverse": "~1.5.0", - "esutils": "~1.0.0" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=0.4.0" - }, - "optionalDependencies": { - "source-map": "~0.1.30" - } - }, - "node_modules/escodegen/node_modules/esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", - "dev": true, - "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-escompat": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", - "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.0" - }, - "peerDependencies": { - "eslint": ">=5.14.1" - } - }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - }, - "engines": { - "node": ">=6.5.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-filenames": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", - "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", - "dev": true, - "dependencies": { - "lodash.camelcase": "4.3.0", - "lodash.kebabcase": "4.1.1", - "lodash.snakecase": "4.1.1", - "lodash.upperfirst": "4.3.1" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/eslint-plugin-github": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.9.0.tgz", - "integrity": "sha512-c4jnJXJzHy8lzdYjOXlXcY7jX4b2ciGh+ugZM5b6vs6q2+m+6BrNl20u5WxloJvH6Q8CbZ0+Lnh7lDJxUd3WkQ==", - "dev": true, - "dependencies": { - "@github/browserslist-config": "^1.0.0", - "@typescript-eslint/eslint-plugin": "^5.1.0", - "@typescript-eslint/parser": "^5.1.0", - "aria-query": "^5.3.0", - "eslint-config-prettier": ">=8.0.0", - "eslint-plugin-escompat": "^3.3.3", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-filenames": "^1.3.2", - "eslint-plugin-i18n-text": "^1.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-no-only-tests": "^3.0.0", - "eslint-plugin-prettier": "^4.0.0", - "eslint-rule-documentation": ">=1.0.0", - "jsx-ast-utils": "^3.3.2", - "prettier": "^2.2.1", - "svg-element-attributes": "^1.3.1" - }, - "bin": { - "eslint-ignore-errors": "bin/eslint-ignore-errors.js" - }, - "peerDependencies": { - "eslint": "^8.0.1" - } - }, - "node_modules/eslint-plugin-i18n-text": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", - "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", - "dev": true, - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-no-only-tests": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", - "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", - "dev": true, - "engines": { - "node": ">=5.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-security": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", - "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", - "dev": true, - "dependencies": { - "safe-regex": "^2.1.1" - } - }, - "node_modules/eslint-plugin-sonarjs": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", - "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-rule-documentation": { - "version": "1.0.23", - "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", - "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/espree": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", - "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", - "dev": true, - "dependencies": { - "fill-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "dependencies": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expect": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.1.tgz", - "integrity": "sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.6.1", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/jest-diff": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", - "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/jest-matcher-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", - "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/exposify": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", - "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", - "dev": true, - "dependencies": { - "globo": "~1.1.0", - "map-obj": "~1.0.1", - "replace-requires": "~1.0.3", - "through2": "~0.4.0", - "transformify": "~0.1.1" - } - }, - "node_modules/exposify/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/exposify/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", - "dev": true - }, - "node_modules/exposify/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/exposify/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, - "node_modules/exposify/node_modules/through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", - "dev": true, - "dependencies": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" - } - }, - "node_modules/exposify/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dev": true, - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fast-memoize": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", - "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-parent-dir": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", - "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", - "dev": true - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", - "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", - "dev": true, - "dependencies": { - "accessory": "~1.1.0", - "is-defined": "~1.0.0", - "ternary": "~1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", - "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", - "dev": true, - "dependencies": { - "ansi-red": "^0.1.1", - "coffee-script": "^1.12.4", - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.1", - "toml": "^2.3.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gulp-header": { - "version": "1.8.12", - "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", - "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", - "deprecated": "Removed event-stream from gulp-header", - "dev": true, - "dependencies": { - "concat-with-sourcemaps": "*", - "lodash.template": "^4.4.0", - "through2": "^2.0.0" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-require": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", - "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.3" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", - "dev": true, - "dependencies": { - "source-map": "~0.5.3" - } - }, - "node_modules/insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", - "dev": true, - "dependencies": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - }, - "bin": { - "insert-module-globals": "bin/cmd.js" - } - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", - "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", - "dev": true - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.1.tgz", - "integrity": "sha512-Nirw5B4nn69rVUZtemCQhwxOBhm0nsp3hmtF4rzCeWD7BkjAXRIji7xWQfnTNbz9g0aVsBX6aZK3n+23LM6uDw==", - "dev": true, - "dependencies": { - "@jest/core": "^29.6.1", - "@jest/types": "^29.6.1", - "import-local": "^3.0.2", - "jest-cli": "^29.6.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.1.tgz", - "integrity": "sha512-tPbYLEiBU4MYAL2XoZme/bgfUeotpDBd81lgHLCbDZZFaGmECk0b+/xejPFtmiBP87GgP/y4jplcRpbH+fgCzQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.1", - "@jest/expect": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.1", - "jest-matcher-utils": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-runtime": "^29.6.1", - "jest-snapshot": "^29.6.1", - "jest-util": "^29.6.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.1", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/jest-diff": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", - "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", - "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-config": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.1.tgz", - "integrity": "sha512-XdjYV2fy2xYixUiV2Wc54t3Z4oxYPAELUzWnV6+mcbq0rh742X2p52pii5A3oeRzYjLnQxCsZmp0qpI6klE2cQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.1", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.1", - "jest-environment-node": "^29.6.1", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.1", - "jest-runner": "^29.6.1", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-config/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.1.tgz", - "integrity": "sha512-n5eoj5eiTHpKQCAVcNTT7DRqeUmJ01hsAL0Q1SMiBHcBcvTKDELixQOGMCpqhbIuTcfC4kMfSnpmDqRgRJcLNQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.1", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-environment-node": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.1.tgz", - "integrity": "sha512-ZNIfAiE+foBog24W+2caIldl4Irh8Lx1PUhg/GZ0odM1d/h2qORAsejiFc7zb+SEmYPn1yDZzEDSU5PmDkmVLQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.1", - "@jest/fake-timers": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.1", - "jest-util": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.1.tgz", - "integrity": "sha512-0m7f9PZXxOCk1gRACiVgX85knUKPKLPg4oRCjLoqIm9brTHXaorMA0JpmtmVkQiT8nmXyIVoZd/nnH1cfC33ig==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.1", - "jest-worker": "^29.6.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.1.tgz", - "integrity": "sha512-OrxMNyZirpOEwkF3UHnIkAiZbtkBWiye+hhBweCHkVbCgyEy71Mwbb5zgeTNYWJBi1qgDVfPC1IwO9dVEeTLwQ==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-leak-detector/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.1.tgz", - "integrity": "sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-mock": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.1.tgz", - "integrity": "sha512-brovyV9HBkjXAEdRooaTQK42n8usKoSRR3gihzUpYeV/vwqgSoNfrksO7UfSACnPmxasO/8TmHM3w9Hp3G1dgw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.1.tgz", - "integrity": "sha512-AeRkyS8g37UyJiP9w3mmI/VXU/q8l/IH52vj/cDAyScDcemRbSBhfX/NMYIGilQgSVwsjxrCHf3XJu4f+lxCMg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.1.tgz", - "integrity": "sha512-BbFvxLXtcldaFOhNMXmHRWx1nXQO5LoXiKSGQcA1LxxirYceZT6ch8KTE1bK3X31TNG/JbkI7OkS/ABexVahiw==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.1.tgz", - "integrity": "sha512-tw0wb2Q9yhjAQ2w8rHRDxteryyIck7gIzQE4Reu3JuOBpGp96xWgF0nY8MDdejzrLCZKDcp8JlZrBN/EtkQvPQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.1", - "@jest/environment": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.1", - "jest-haste-map": "^29.6.1", - "jest-leak-detector": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-resolve": "^29.6.1", - "jest-runtime": "^29.6.1", - "jest-util": "^29.6.1", - "jest-watcher": "^29.6.1", - "jest-worker": "^29.6.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.1.tgz", - "integrity": "sha512-D6/AYOA+Lhs5e5il8+5pSLemjtJezUr+8zx+Sn8xlmOux3XOqx4d8l/2udBea8CRPqqrzhsKUsN/gBDE/IcaPQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.1", - "@jest/fake-timers": "^29.6.1", - "@jest/globals": "^29.6.1", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-mock": "^29.6.1", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.1", - "jest-snapshot": "^29.6.1", - "jest-util": "^29.6.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.1.tgz", - "integrity": "sha512-G4UQE1QQ6OaCgfY+A0uR1W2AY0tGXUPQpoUClhWHq1Xdnx1H6JOrC2nH5lqnOEqaDgbHFgIwZ7bNq24HpB180A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.1", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", - "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", - "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-util": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.1.tgz", - "integrity": "sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.1.tgz", - "integrity": "sha512-r3Ds69/0KCN4vx4sYAbGL1EVpZ7MSS0vLmd3gV78O+NAx3PDQQukRU5hNHPXlyqCgFY8XUk7EuTMLugh0KzahA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-watcher": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.1.tgz", - "integrity": "sha512-d4wpjWTS7HEZPaaj8m36QiaP856JthRZkrgcIY/7ISoUWPIillrXM23WPboZVLbiwZBt4/qn2Jke84Sla6JhFA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.1.tgz", - "integrity": "sha512-U+Wrbca7S8ZAxAe9L6nb6g8kPdia5hj32Puu5iOqBCMTMWFHXuK6dOV2IFrpedbTV8fjMFLdWNttQTBL6u2MRA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.1.tgz", - "integrity": "sha512-607dSgTA4ODIN6go9w6xY3EYkyPFGicx51a69H7yfvt7lN53xNswEVLovq+E77VsTRi5fWprLH0yl4DJgE8Ing==", - "dev": true, - "dependencies": { - "@jest/core": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.1", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsep": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", - "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==", - "engines": { - "node": ">= 10.16.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", - "dev": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsonc-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", - "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" - }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/jsonpath-plus": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", - "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", - "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dev": true, - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", - "dev": true, - "dependencies": { - "set-getter": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/list-item": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", - "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", - "dev": true, - "dependencies": { - "expand-range": "^1.8.1", - "extend-shallow": "^2.0.1", - "is-number": "^2.1.0", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/list-item/node_modules/is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.topath": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-link": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", - "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-toc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", - "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.2", - "diacritics-map": "^0.1.0", - "gray-matter": "^2.1.0", - "lazy-cache": "^2.0.2", - "list-item": "^1.1.1", - "markdown-link": "^0.1.1", - "minimist": "^1.2.0", - "mixin-deep": "^1.1.3", - "object.pick": "^1.2.0", - "remarkable": "^1.7.1", - "repeat-string": "^1.6.1", - "strip-color": "^0.1.0" - }, - "bin": { - "markdown-toc": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "dependencies": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "module-deps": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/mothership": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", - "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", - "dev": true, - "dependencies": { - "find-parent-dir": "~0.3.0" - } - }, - "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nimma": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", - "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", - "dependencies": { - "@jsep-plugin/regex": "^1.0.1", - "@jsep-plugin/ternary": "^1.0.2", - "astring": "^1.8.1", - "jsep": "^1.2.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - }, - "optionalDependencies": { - "jsonpath-plus": "^6.0.1", - "lodash.topath": "^4.5.2" - } - }, - "node_modules/nimma/node_modules/jsonpath-plus": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", - "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", - "optional": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", - "dev": true, - "dependencies": { - "path-platform": "~0.11.15" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/patch-text": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", - "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pony-cause": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", - "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/puppeteer": { - "version": "17.1.3", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.1.3.tgz", - "integrity": "sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw==", - "deprecated": "< 19.4.0 is no longer supported", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "cross-fetch": "3.1.5", - "debug": "4.3.4", - "devtools-protocol": "0.0.1036444", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.8.1" - }, - "engines": { - "node": ">=14.1.0" - } - }, - "node_modules/pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "dependencies": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/randomatic/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/randomatic/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/regexp-tree": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", - "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", - "dev": true, - "bin": { - "regexp-tree": "bin/regexp-tree" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/remarkable": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", - "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", - "dev": true, - "dependencies": { - "argparse": "^1.0.10", - "autolinker": "~0.28.0" - }, - "bin": { - "remarkable": "bin/remarkable.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/remarkable/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/rename-function-calls": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", - "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", - "dev": true, - "dependencies": { - "detective": "~3.1.0" - } - }, - "node_modules/rename-function-calls/node_modules/detective": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", - "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", - "dev": true, - "dependencies": { - "escodegen": "~1.1.0", - "esprima-fb": "3001.1.0-dev-harmony-fb" - } - }, - "node_modules/rename-function-calls/node_modules/esprima-fb": { - "version": "3001.1.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", - "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/replace-requires": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", - "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", - "dev": true, - "dependencies": { - "detective": "^4.5.0", - "has-require": "~1.2.1", - "patch-text": "~1.0.2", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/replace-requires/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/replace-requires/node_modules/detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "dev": true, - "dependencies": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "dependencies": { - "regexp-tree": "~0.1.1" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", - "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-getter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", - "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", - "dev": true, - "dependencies": { - "to-object-path": "^0.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", - "dev": true, - "dependencies": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "node_modules/shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "dev": true, - "dependencies": { - "fast-safe-stringify": "^2.0.7" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-eval": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", - "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", - "dependencies": { - "jsep": "^1.1.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", - "dev": true, - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-color": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", - "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", - "dev": true, - "dependencies": { - "minimist": "^1.1.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-element-attributes": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", - "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "dependencies": { - "acorn-node": "^1.2.0" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ternary": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", - "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", - "dev": true - }, - "node_modules/terser": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.0.tgz", - "integrity": "sha512-JpcpGOQLOXm2jsomozdMDpd5f8ZHh1rR48OFgWUH3QsyZcfPgv2qDCYbcDEAYNd4OZRj2bWYKpwdll/udZCk/Q==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", - "dev": true, - "dependencies": { - "process": "~0.11.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toml": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", - "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", - "dev": true - }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/transformify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", - "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", - "dev": true, - "dependencies": { - "readable-stream": "~1.1.9" - } - }, - "node_modules/transformify/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/transformify/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/transformify/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, - "node_modules/ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true, - "bin": { - "umd": "bin/cli.js" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - }, - "bin": { - "undeclared-identifiers": "bin.js" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urijs": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", - "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" - }, - "node_modules/url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", - "dev": true, - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/webpack": { - "version": "5.88.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz", - "integrity": "sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.10.tgz", - "integrity": "sha512-uxoA5vLUfRPdjCuJ1h5LlYdmTLbYfums398v3WLkM+i/Wltl2/XyZpQWKbN++ck5L64SR/grOHqtXCUKmlZPNA==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@asyncapi/avro-schema-parser": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.22.tgz", - "integrity": "sha512-nrrIIPehHoS1+Zc0eCO3+ijo7VJhWaFqVTupFYJVxxiwNrx7HpldLiTt1awIUDU6rJTm9czGLQq8MIgtXb/Dqg==", - "dev": true, - "requires": { - "@asyncapi/parser": "^3.0.14", - "@types/json-schema": "^7.0.11", - "avsc": "^5.7.6" - } - }, - "@asyncapi/parser": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.14.tgz", - "integrity": "sha512-tC2gmKkw28PWWMcGUXHQjTfVftiZdr+FQtsfapaHh36spX9uwe13iYzkcTyCkwSJAHibtg7wvStuHsiufP8xng==", - "dev": true, - "requires": { - "@asyncapi/specs": "^6.6.0", - "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", - "@stoplight/json-ref-readers": "^1.2.2", - "@stoplight/json-ref-resolver": "^3.1.5", - "@stoplight/spectral-core": "^1.16.1", - "@stoplight/spectral-functions": "^1.7.2", - "@stoplight/spectral-parsers": "^1.0.2", - "@stoplight/spectral-ref-resolver": "^1.0.3", - "@stoplight/types": "^13.12.0", - "@types/json-schema": "^7.0.11", - "@types/urijs": "^1.19.19", - "ajv": "^8.11.0", - "ajv-errors": "^3.0.0", - "ajv-formats": "^2.1.1", - "avsc": "^5.7.5", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "2.6.7" - } - }, - "@asyncapi/specs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.6.0.tgz", - "integrity": "sha512-pXJa0sCeBpif5al5CSa0f3HvwVBQXzd96/Xgq8Jsh6KM4CYxCe7p6paaC9fDjdBVXyWAioQmZiGRxEVUMINbUw==", - "requires": { - "@types/json-schema": "^7.0.11" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true - }, - "@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", - "dev": true - }, - "@github/browserslist-config": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", - "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.1.tgz", - "integrity": "sha512-Aj772AYgwTSr5w8qnyoJ0eDYvN6bMsH3ORH1ivMotrInHLKdUz6BDlaEXHdM6kODaBIkNIyQGzsMvRdOv7VG7Q==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.1.tgz", - "integrity": "sha512-CcowHypRSm5oYQ1obz1wfvkjZZ2qoQlrKKvlfPwh5jUXVU12TWr2qMeH8chLMuTFzHh5a1g2yaqlqDICbr+ukQ==", - "dev": true, - "requires": { - "@jest/console": "^29.6.1", - "@jest/reporters": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.1", - "jest-haste-map": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.1", - "jest-resolve-dependencies": "^29.6.1", - "jest-runner": "^29.6.1", - "jest-runtime": "^29.6.1", - "jest-snapshot": "^29.6.1", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "jest-watcher": "^29.6.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@jest/create-cache-key-function": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", - "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/environment": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.1.tgz", - "integrity": "sha512-RMMXx4ws+Gbvw3DfLSuo2cfQlK7IwGbpuEWXCqyYDcqYTI+9Ju3a5hDnXaxjNsa6uKh9PQF2v+qg+RLe63tz5A==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.1" - } - }, - "@jest/expect": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.1.tgz", - "integrity": "sha512-N5xlPrAYaRNyFgVf2s9Uyyvr795jnB6rObuPx4QFvNJz8aAjpZUDfO4bh5G/xuplMID8PrnuF1+SfSyDxhsgYg==", - "dev": true, - "requires": { - "expect": "^29.6.1", - "jest-snapshot": "^29.6.1" - } - }, - "@jest/expect-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.1.tgz", - "integrity": "sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3" - }, - "dependencies": { - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - } - } - }, - "@jest/fake-timers": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.1.tgz", - "integrity": "sha512-RdgHgbXyosCDMVYmj7lLpUwXA4c69vcNzhrt69dJJdf8azUrpRh3ckFCaTPNjsEeRi27Cig0oKDGxy5j7hOgHg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.1", - "jest-mock": "^29.6.1", - "jest-util": "^29.6.1" - } - }, - "@jest/globals": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.1.tgz", - "integrity": "sha512-2VjpaGy78JY9n9370H8zGRCFbYVWwjY6RdDMhoJHa1sYfwe6XM/azGN0SjY8kk7BOZApIejQ1BFPyH7FPG0w3A==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.1", - "@jest/expect": "^29.6.1", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.1" - } - }, - "@jest/reporters": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.1.tgz", - "integrity": "sha512-9zuaI9QKr9JnoZtFQlw4GREQbxgmNYXU6QuWtmuODvk5nvPUeBYapVR/VYMyi2WSx3jXTLJTJji8rN6+Cm4+FA==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1", - "jest-worker": "^29.6.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.1.tgz", - "integrity": "sha512-Ynr13ZRcpX6INak0TPUukU8GWRfm/vAytE3JbJNGAvINySWYdfE7dGZMbk36oVuK4CigpbhMn8eg1dixZ7ZJOw==", - "dev": true, - "requires": { - "@jest/console": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.1.tgz", - "integrity": "sha512-oBkC36PCDf/wb6dWeQIhaviU0l5u6VCsXa119yqdUosYAt7/FbQU2M2UoziO3igj/HBDEgp57ONQ3fm0v9uyyg==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.1.tgz", - "integrity": "sha512-URnTneIU3ZjRSaf906cvf6Hpox3hIeJXRnz3VDSw5/X93gR8ycdfSIEy19FlVx8NFmpN7fe3Gb1xF+NjXaQLWg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - } - } - }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } - } - }, - "@jsep-plugin/regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", - "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", - "requires": {} - }, - "@jsep-plugin/ternary": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", - "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", - "requires": {} - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@openapi-contrib/openapi-schema-to-json-schema": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", - "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@stoplight/better-ajv-errors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", - "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", - "requires": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "@stoplight/json": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", - "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", - "requires": { - "@stoplight/ordered-object-literal": "^1.0.3", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^13.6.0", - "jsonc-parser": "~2.2.1", - "lodash": "^4.17.21", - "safe-stable-stringify": "^1.1" - } - }, - "@stoplight/json-ref-readers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", - "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", - "requires": { - "node-fetch": "^2.6.0", - "tslib": "^1.14.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@stoplight/json-ref-resolver": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", - "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", - "requires": { - "@stoplight/json": "^3.21.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0 || ^13.0.0", - "@types/urijs": "^1.19.19", - "dependency-graph": "~0.11.0", - "fast-memoize": "^2.5.2", - "immer": "^9.0.6", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "urijs": "^1.19.11" - } - }, - "@stoplight/ordered-object-literal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.4.tgz", - "integrity": "sha512-OF8uib1jjDs5/cCU+iOVy+GJjU3X7vk/qJIkIJFqwmlJKrrtijFmqwbu8XToXrwTYLQTP+Hebws5gtZEmk9jag==" - }, - "@stoplight/path": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", - "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==" - }, - "@stoplight/spectral-core": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.2.tgz", - "integrity": "sha512-bjNXo0VzXTDdFB3oKvVCAHW5rJ1/eMQzN6k1N5RW8tdEXMcEnI56MByRzADniVa+SvrutApK2u+9XwUZtIIT3w==", - "requires": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "~3.21.0", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-parsers": "^1.0.0", - "@stoplight/spectral-ref-resolver": "^1.0.0", - "@stoplight/spectral-runtime": "^1.0.0", - "@stoplight/types": "~13.6.0", - "@types/es-aggregate-error": "^1.0.2", - "@types/json-schema": "^7.0.11", - "ajv": "^8.6.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "es-aggregate-error": "^1.0.7", - "jsonpath-plus": "7.1.0", - "lodash": "~4.17.21", - "lodash.topath": "^4.5.2", - "minimatch": "3.1.2", - "nimma": "0.2.2", - "pony-cause": "^1.0.0", - "simple-eval": "1.0.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "@stoplight/types": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", - "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", - "requires": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - } - }, - "jsonpath-plus": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", - "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==" - } - } - }, - "@stoplight/spectral-formats": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.5.0.tgz", - "integrity": "sha512-VskkdU3qBSvI1dfJ79ysjvTssfNlbA6wrf/XkXK6iTyjfIVqOAWVtjypTb2U95tN/X8IjIBBhNWtZ4tNVZilrA==", - "requires": { - "@stoplight/json": "^3.17.0", - "@stoplight/spectral-core": "^1.8.0", - "@types/json-schema": "^7.0.7", - "tslib": "^2.3.1" - } - }, - "@stoplight/spectral-functions": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.7.2.tgz", - "integrity": "sha512-f+61/FtIkQeIo+a269CeaeqjpyRsgDyIk6DGr7iS4hyuk1PPk7Uf6MNRDs9FEIBh7CpdEJ+HSHbMLwgpymWTIw==", - "requires": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "^3.17.1", - "@stoplight/spectral-core": "^1.7.0", - "@stoplight/spectral-formats": "^1.0.0", - "@stoplight/spectral-runtime": "^1.1.0", - "ajv": "^8.6.3", - "ajv-draft-04": "~1.0.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.0", - "lodash": "~4.17.21", - "tslib": "^2.3.0" - } - }, - "@stoplight/spectral-parsers": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.3.tgz", - "integrity": "sha512-J0KW5Rh5cHWnJQ3yN+cr/ijNFVirPSR0pkQbdrNX30VboEl083UEDrQ3yov9kjLVIWEk9t9kKE7Eo3QT/k4JLA==", - "requires": { - "@stoplight/json": "~3.21.0", - "@stoplight/types": "^13.6.0", - "@stoplight/yaml": "~4.2.3", - "tslib": "^2.3.1" - } - }, - "@stoplight/spectral-ref-resolver": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.3.tgz", - "integrity": "sha512-pj+bH4SH8hcWlnV787WD7P0/En7LA3EfZMvG1JUGMW/7bFd9AaZZXNkh5j0ve8qnPlwP8F4SH/2Cnr1tXOXCVw==", - "requires": { - "@stoplight/json-ref-readers": "1.2.2", - "@stoplight/json-ref-resolver": "~3.1.5", - "@stoplight/spectral-runtime": "^1.1.2", - "dependency-graph": "0.11.0", - "tslib": "^2.3.1" - } - }, - "@stoplight/spectral-runtime": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", - "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", - "requires": { - "@stoplight/json": "^3.17.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0", - "abort-controller": "^3.0.0", - "lodash": "^4.17.21", - "node-fetch": "^2.6.7", - "tslib": "^2.3.1" - }, - "dependencies": { - "@stoplight/types": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", - "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", - "requires": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - } - } - } - }, - "@stoplight/types": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.15.0.tgz", - "integrity": "sha512-pBLjVRrWGVd+KzTbL3qrmufSKIEp0UfziDBdt/nrTHPKrlrtVwaHdrrQMcpM23yJDU1Wcg4cHvhIuGtKCT5OmA==", - "requires": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - } - }, - "@stoplight/yaml": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.2.3.tgz", - "integrity": "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw==", - "requires": { - "@stoplight/ordered-object-literal": "^1.0.1", - "@stoplight/types": "^13.0.0", - "@stoplight/yaml-ast-parser": "0.0.48", - "tslib": "^2.2.0" - } - }, - "@stoplight/yaml-ast-parser": { - "version": "0.0.48", - "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", - "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==" - }, - "@swc/core": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.69.tgz", - "integrity": "sha512-Khc/DE9D5+2tYTHgAIp5DZARbs8kldWg3b0Jp6l8FQLjelcLFmlQWSwKhVZrgv4oIbgZydIp8jInsvTalMHqnQ==", - "dev": true, - "requires": { - "@swc/core-darwin-arm64": "1.3.69", - "@swc/core-darwin-x64": "1.3.69", - "@swc/core-linux-arm-gnueabihf": "1.3.69", - "@swc/core-linux-arm64-gnu": "1.3.69", - "@swc/core-linux-arm64-musl": "1.3.69", - "@swc/core-linux-x64-gnu": "1.3.69", - "@swc/core-linux-x64-musl": "1.3.69", - "@swc/core-win32-arm64-msvc": "1.3.69", - "@swc/core-win32-ia32-msvc": "1.3.69", - "@swc/core-win32-x64-msvc": "1.3.69" - } - }, - "@swc/core-darwin-arm64": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.69.tgz", - "integrity": "sha512-IjZTf12zIPWkV3D7toaLDoJPSkLhQ4fDH8G6/yCJUI27cBFOI3L8LXqptYmISoN5yYdrcnNpdqdapD09JPuNJg==", - "dev": true, - "optional": true - }, - "@swc/core-darwin-x64": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.69.tgz", - "integrity": "sha512-/wBO0Rn5oS5dJI/L9kJRkPAdksVwl5H9nleW/NM3A40N98VV8T7h/i1nO051mxIjq0R6qXVGOWFbBoLrPYucJg==", - "dev": true, - "optional": true - }, - "@swc/core-linux-arm-gnueabihf": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.69.tgz", - "integrity": "sha512-NShCjMv6Xn8ckMKBRqmprXvUF14+jXY0TcNKXwjYErzoIUFOnG72M36HxT4QEeAtKZ4Eg4CZFE4zlJ27fDp1gg==", - "dev": true, - "optional": true - }, - "@swc/core-linux-arm64-gnu": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.69.tgz", - "integrity": "sha512-VRPOJj4idopSHIj1bOVXX0SgaB18R8yZNunb7eXS5ZcjVxAcdvqyIz3RdQX1zaJFCGzcdPLzBRP32DZWWGE8Ng==", - "dev": true, - "optional": true - }, - "@swc/core-linux-arm64-musl": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.69.tgz", - "integrity": "sha512-QxeSiZqo5x1X8vq8oUWLibq+IZJcxl9vy0sLUmzdjF2b/Z+qxKP3gutxnb2tzJaHqPVBbEZaILERIGy1qWdumQ==", - "dev": true, - "optional": true - }, - "@swc/core-linux-x64-gnu": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.69.tgz", - "integrity": "sha512-b+DUlVxYox3BwD3PyTwhLvqtu6TYZtW+S6O0FnttH11o4skHN0XyJ/cUZSI0X2biSmfDsizRDUt1PWPFM+F7SA==", - "dev": true, - "optional": true - }, - "@swc/core-linux-x64-musl": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.69.tgz", - "integrity": "sha512-QXjsI+f8n9XPZHUvmGgkABpzN4M9kdSbhqBOZmv3o0AsDGNCA4uVowQqgZoPFAqlJTpwHeDmrv5sQ13HN+LOGw==", - "dev": true, - "optional": true - }, - "@swc/core-win32-arm64-msvc": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.69.tgz", - "integrity": "sha512-wn7A8Ws1fyviuCUB2Vg6IotiZeuqiO1Mz3d+YDae2EYyNpj1kNHvjBip8GHkfGzZG+jVrvG6NHsDo0KO/pGb8A==", - "dev": true, - "optional": true - }, - "@swc/core-win32-ia32-msvc": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.69.tgz", - "integrity": "sha512-LsFBXtXqxEcVaaOGEZ9X3qdMzobVoJqKv8DnksuDsWcBk+9WCeTz2u/iB+7yZ2HGuPXkCqTRqhFo6FX9aC00kQ==", - "dev": true, - "optional": true - }, - "@swc/core-win32-x64-msvc": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.69.tgz", - "integrity": "sha512-ieBscU0gUgKjaseFI07tAaGqHvKyweNknPeSYEZOasVZUczhD6fK2GRnVREhv2RB2qdKC/VGFBsgRDMgzq1VLw==", - "dev": true, - "optional": true - }, - "@swc/jest": { - "version": "0.2.26", - "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.26.tgz", - "integrity": "sha512-7lAi7q7ShTO3E5Gt1Xqf3pIhRbERxR1DUxvtVa9WKzIB+HGQ7wZP5sYx86zqnaEoKKGhmOoZ7gyW0IRu8Br5+A==", - "dev": true, - "requires": { - "@jest/create-cache-key-function": "^27.4.2", - "jsonc-parser": "^3.2.0" - }, - "dependencies": { - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - } - } - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/es-aggregate-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.2.tgz", - "integrity": "sha512-erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==", - "requires": { - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "20.4.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", - "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==" - } - } - }, - "@types/eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-gsF+c/0XOguWgaOgvFs+xnnRqt9GwgTvIks36WpE6ueeI4KCEHHd8K/CKHqhOqrJKsYH8m27kRzQEvWXAwXUTw==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", - "dev": true, - "requires": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/node": { - "version": "18.16.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", - "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", - "dev": true - }, - "@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", - "dev": true, - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/urijs": { - "version": "1.19.19", - "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.19.tgz", - "integrity": "sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg==" - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "accessory": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", - "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", - "dev": true, - "requires": { - "ap": "~0.2.0", - "balanced-match": "~0.2.0", - "dot-parts": "~1.0.0" - }, - "dependencies": { - "balanced-match": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", - "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", - "dev": true - } - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-draft-04": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", - "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", - "requires": {} - }, - "ajv-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", - "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", - "requires": {} - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", - "dev": true - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "ap": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", - "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "requires": { - "dequal": "^2.0.3" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "autolinker": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", - "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", - "dev": true, - "requires": { - "gulp-header": "^1.7.1" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "avsc": { - "version": "5.7.7", - "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", - "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==" - }, - "axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", - "dev": true - }, - "axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dev": true, - "requires": { - "dequal": "^2.0.3" - } - }, - "babel-jest": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", - "integrity": "sha512-qu+3bdPEQC6KZSPz+4Fyjbga5OODNcp49j6GKzG1EKbkfyJBxEYGVUmVGpwCSeGouG52R4EgYMLb6p9YeEEQ4A==", - "dev": true, - "requires": { - "@jest/transform": "^29.6.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "dev": true, - "requires": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - } - }, - "browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", - "dev": true, - "requires": { - "resolve": "^1.17.0" - } - }, - "browserify": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", - "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", - "dev": true, - "requires": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-shim": { - "version": "3.8.16", - "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", - "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", - "dev": true, - "requires": { - "exposify": "~0.5.0", - "mothership": "~0.3.0", - "rename-function-calls": "~0.1.0", - "resolve": "~0.6.1", - "through": "~2.3.4" - }, - "dependencies": { - "resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", - "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.4", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.6", - "readable-stream": "^3.6.2", - "safe-buffer": "^5.2.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "cached-path-relative": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001515", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz", - "integrity": "sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", - "dev": true, - "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", - "dev": true - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.1" - } - }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "requires": { - "node-fetch": "2.6.7" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" - }, - "deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "requires": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - } - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true - }, - "des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, - "requires": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - } - }, - "devtools-protocol": { - "version": "0.0.1036444", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz", - "integrity": "sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw==", - "dev": true - }, - "diacritics-map": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", - "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - }, - "dependencies": { - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "dot-parts": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", - "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.460", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.460.tgz", - "integrity": "sha512-kKiHnbrHME7z8E6AYaw0ehyxY5+hdaRmeUbjBO22LZMdqTYCO29EvF0T1cQ3pJ1RN5fyMcHl1Lmcsdt9WWJpJQ==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.3.tgz", - "integrity": "sha512-ZU4miiY1j3sGPFLJ34VJXEqhpmL+HGByCinGHv4HC+Fxl2fI2Z4yR6tl0mORnDr6PA8eihWo4LmSWDbvhALckg==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "es-aggregate-error": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.9.tgz", - "integrity": "sha512-fvnX40sb538wdU6r4s35cq4EY6Lr09Upj40BEVem4LEsuW8XgQep9yD5Q1U2KftokNp1rWODFJ2qwZSsAjFpbg==", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "function-bind": "^1.1.1", - "functions-have-names": "^1.2.3", - "get-intrinsic": "^1.1.3", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0" - } - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "escodegen": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", - "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", - "dev": true, - "requires": { - "esprima": "~1.0.4", - "estraverse": "~1.5.0", - "esutils": "~1.0.0", - "source-map": "~0.1.30" - }, - "dependencies": { - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", - "dev": true - }, - "estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-escompat": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", - "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", - "dev": true, - "requires": { - "browserslist": "^4.21.0" - } - }, - "eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - } - }, - "eslint-plugin-filenames": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", - "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", - "dev": true, - "requires": { - "lodash.camelcase": "4.3.0", - "lodash.kebabcase": "4.1.1", - "lodash.snakecase": "4.1.1", - "lodash.upperfirst": "4.3.1" - } - }, - "eslint-plugin-github": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.9.0.tgz", - "integrity": "sha512-c4jnJXJzHy8lzdYjOXlXcY7jX4b2ciGh+ugZM5b6vs6q2+m+6BrNl20u5WxloJvH6Q8CbZ0+Lnh7lDJxUd3WkQ==", - "dev": true, - "requires": { - "@github/browserslist-config": "^1.0.0", - "@typescript-eslint/eslint-plugin": "^5.1.0", - "@typescript-eslint/parser": "^5.1.0", - "aria-query": "^5.3.0", - "eslint-config-prettier": ">=8.0.0", - "eslint-plugin-escompat": "^3.3.3", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-filenames": "^1.3.2", - "eslint-plugin-i18n-text": "^1.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-no-only-tests": "^3.0.0", - "eslint-plugin-prettier": "^4.0.0", - "eslint-rule-documentation": ">=1.0.0", - "jsx-ast-utils": "^3.3.2", - "prettier": "^2.2.1", - "svg-element-attributes": "^1.3.1" - } - }, - "eslint-plugin-i18n-text": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", - "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", - "dev": true, - "requires": {} - }, - "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-no-only-tests": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", - "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", - "dev": true - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-security": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", - "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", - "dev": true, - "requires": { - "safe-regex": "^2.1.1" - } - }, - "eslint-plugin-sonarjs": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", - "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", - "dev": true, - "requires": {} - }, - "eslint-rule-documentation": { - "version": "1.0.23", - "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", - "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, - "espree": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", - "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", - "dev": true - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - } - } - }, - "expect": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.1.tgz", - "integrity": "sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.6.1", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true - }, - "jest-diff": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", - "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - } - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "jest-matcher-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", - "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - } - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "exposify": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", - "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", - "dev": true, - "requires": { - "globo": "~1.1.0", - "map-obj": "~1.0.1", - "replace-requires": "~1.0.3", - "through2": "~0.4.0", - "transformify": "~0.1.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, - "through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", - "dev": true, - "requires": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dev": true, - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fast-memoize": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", - "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-parent-dir": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", - "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "globo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", - "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", - "dev": true, - "requires": { - "accessory": "~1.1.0", - "is-defined": "~1.0.0", - "ternary": "~1.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", - "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", - "dev": true, - "requires": { - "ansi-red": "^0.1.1", - "coffee-script": "^1.12.4", - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.1", - "toml": "^2.3.2" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "gulp-header": { - "version": "1.8.12", - "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", - "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", - "dev": true, - "requires": { - "concat-with-sourcemaps": "*", - "lodash.template": "^4.4.0", - "through2": "^2.0.0" - } - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "requires": { - "duplexer": "^0.1.2" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-require": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", - "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.3" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", - "dev": true - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", - "dev": true, - "requires": { - "source-map": "~0.5.3" - } - }, - "insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", - "dev": true, - "requires": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - } - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", - "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.1.tgz", - "integrity": "sha512-Nirw5B4nn69rVUZtemCQhwxOBhm0nsp3hmtF4rzCeWD7BkjAXRIji7xWQfnTNbz9g0aVsBX6aZK3n+23LM6uDw==", - "dev": true, - "requires": { - "@jest/core": "^29.6.1", - "@jest/types": "^29.6.1", - "import-local": "^3.0.2", - "jest-cli": "^29.6.1" - }, - "dependencies": { - "jest-cli": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.1.tgz", - "integrity": "sha512-607dSgTA4ODIN6go9w6xY3EYkyPFGicx51a69H7yfvt7lN53xNswEVLovq+E77VsTRi5fWprLH0yl4DJgE8Ing==", - "dev": true, - "requires": { - "@jest/core": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.1", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - } - } - } - }, - "jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.1.tgz", - "integrity": "sha512-tPbYLEiBU4MYAL2XoZme/bgfUeotpDBd81lgHLCbDZZFaGmECk0b+/xejPFtmiBP87GgP/y4jplcRpbH+fgCzQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.1", - "@jest/expect": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.1", - "jest-matcher-utils": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-runtime": "^29.6.1", - "jest-snapshot": "^29.6.1", - "jest-util": "^29.6.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.1", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true - }, - "jest-diff": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", - "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - } - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "jest-matcher-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", - "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - } - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-config": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.1.tgz", - "integrity": "sha512-XdjYV2fy2xYixUiV2Wc54t3Z4oxYPAELUzWnV6+mcbq0rh742X2p52pii5A3oeRzYjLnQxCsZmp0qpI6klE2cQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.1", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.1", - "jest-environment-node": "^29.6.1", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.1", - "jest-runner": "^29.6.1", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.1.tgz", - "integrity": "sha512-n5eoj5eiTHpKQCAVcNTT7DRqeUmJ01hsAL0Q1SMiBHcBcvTKDELixQOGMCpqhbIuTcfC4kMfSnpmDqRgRJcLNQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.1", - "pretty-format": "^29.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-environment-node": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.1.tgz", - "integrity": "sha512-ZNIfAiE+foBog24W+2caIldl4Irh8Lx1PUhg/GZ0odM1d/h2qORAsejiFc7zb+SEmYPn1yDZzEDSU5PmDkmVLQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.1", - "@jest/fake-timers": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.1", - "jest-util": "^29.6.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - }, - "jest-haste-map": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.1.tgz", - "integrity": "sha512-0m7f9PZXxOCk1gRACiVgX85knUKPKLPg4oRCjLoqIm9brTHXaorMA0JpmtmVkQiT8nmXyIVoZd/nnH1cfC33ig==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.1", - "jest-worker": "^29.6.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.1.tgz", - "integrity": "sha512-OrxMNyZirpOEwkF3UHnIkAiZbtkBWiye+hhBweCHkVbCgyEy71Mwbb5zgeTNYWJBi1qgDVfPC1IwO9dVEeTLwQ==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-message-util": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.1.tgz", - "integrity": "sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-mock": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.1.tgz", - "integrity": "sha512-brovyV9HBkjXAEdRooaTQK42n8usKoSRR3gihzUpYeV/vwqgSoNfrksO7UfSACnPmxasO/8TmHM3w9Hp3G1dgw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.1" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true - }, - "jest-resolve": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.1.tgz", - "integrity": "sha512-AeRkyS8g37UyJiP9w3mmI/VXU/q8l/IH52vj/cDAyScDcemRbSBhfX/NMYIGilQgSVwsjxrCHf3XJu4f+lxCMg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.1", - "jest-validate": "^29.6.1", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.1.tgz", - "integrity": "sha512-BbFvxLXtcldaFOhNMXmHRWx1nXQO5LoXiKSGQcA1LxxirYceZT6ch8KTE1bK3X31TNG/JbkI7OkS/ABexVahiw==", - "dev": true, - "requires": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.1" - } - }, - "jest-runner": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.1.tgz", - "integrity": "sha512-tw0wb2Q9yhjAQ2w8rHRDxteryyIck7gIzQE4Reu3JuOBpGp96xWgF0nY8MDdejzrLCZKDcp8JlZrBN/EtkQvPQ==", - "dev": true, - "requires": { - "@jest/console": "^29.6.1", - "@jest/environment": "^29.6.1", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.1", - "jest-haste-map": "^29.6.1", - "jest-leak-detector": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-resolve": "^29.6.1", - "jest-runtime": "^29.6.1", - "jest-util": "^29.6.1", - "jest-watcher": "^29.6.1", - "jest-worker": "^29.6.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.1.tgz", - "integrity": "sha512-D6/AYOA+Lhs5e5il8+5pSLemjtJezUr+8zx+Sn8xlmOux3XOqx4d8l/2udBea8CRPqqrzhsKUsN/gBDE/IcaPQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.1", - "@jest/fake-timers": "^29.6.1", - "@jest/globals": "^29.6.1", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-mock": "^29.6.1", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.1", - "jest-snapshot": "^29.6.1", - "jest-util": "^29.6.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - } - } - }, - "jest-snapshot": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.1.tgz", - "integrity": "sha512-G4UQE1QQ6OaCgfY+A0uR1W2AY0tGXUPQpoUClhWHq1Xdnx1H6JOrC2nH5lqnOEqaDgbHFgIwZ7bNq24HpB180A==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.1", - "@jest/transform": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.1", - "jest-message-util": "^29.6.1", - "jest-util": "^29.6.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.1", - "semver": "^7.5.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true - }, - "jest-diff": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", - "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - } - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "jest-matcher-utils": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", - "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.1", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.1" - } - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-util": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.1.tgz", - "integrity": "sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.1.tgz", - "integrity": "sha512-r3Ds69/0KCN4vx4sYAbGL1EVpZ7MSS0vLmd3gV78O+NAx3PDQQukRU5hNHPXlyqCgFY8XUk7EuTMLugh0KzahA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true - }, - "pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.1.tgz", - "integrity": "sha512-d4wpjWTS7HEZPaaj8m36QiaP856JthRZkrgcIY/7ISoUWPIillrXM23WPboZVLbiwZBt4/qn2Jke84Sla6JhFA==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.1", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.1", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.1.tgz", - "integrity": "sha512-U+Wrbca7S8ZAxAe9L6nb6g8kPdia5hj32Puu5iOqBCMTMWFHXuK6dOV2IFrpedbTV8fjMFLdWNttQTBL6u2MRA==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.6.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsep": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", - "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonc-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", - "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" - }, - "jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true - }, - "jsonpath-plus": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", - "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==" - }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsx-ast-utils": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", - "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dev": true, - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", - "dev": true, - "requires": { - "set-getter": "^0.1.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "list-item": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", - "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "extend-shallow": "^2.0.1", - "is-number": "^2.1.0", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - } - } - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true - }, - "lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.topath": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - }, - "markdown-link": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", - "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", - "dev": true - }, - "markdown-toc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", - "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", - "dev": true, - "requires": { - "concat-stream": "^1.5.2", - "diacritics-map": "^0.1.0", - "gray-matter": "^2.1.0", - "lazy-cache": "^2.0.2", - "list-item": "^1.1.1", - "markdown-link": "^0.1.1", - "minimist": "^1.2.0", - "mixin-deep": "^1.1.3", - "object.pick": "^1.2.0", - "remarkable": "^1.7.1", - "repeat-string": "^1.6.1", - "strip-color": "^0.1.0" - } - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "requires": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "mothership": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", - "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", - "dev": true, - "requires": { - "find-parent-dir": "~0.3.0" - } - }, - "mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "nimma": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", - "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", - "requires": { - "@jsep-plugin/regex": "^1.0.1", - "@jsep-plugin/ternary": "^1.0.2", - "astring": "^1.8.1", - "jsep": "^1.2.0", - "jsonpath-plus": "^6.0.1", - "lodash.topath": "^4.5.2" - }, - "dependencies": { - "jsonpath-plus": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", - "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", - "optional": true - } - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", - "dev": true, - "requires": { - "path-platform": "~0.11.15" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "patch-text": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", - "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", - "dev": true - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pony-cause": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", - "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "puppeteer": { - "version": "17.1.3", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.1.3.tgz", - "integrity": "sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw==", - "dev": true, - "requires": { - "cross-fetch": "3.1.5", - "debug": "4.3.4", - "devtools-protocol": "0.0.1036444", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.8.1" - } - }, - "pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "regexp-tree": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", - "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "remarkable": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", - "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", - "dev": true, - "requires": { - "argparse": "^1.0.10", - "autolinker": "~0.28.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - } - } - }, - "rename-function-calls": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", - "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", - "dev": true, - "requires": { - "detective": "~3.1.0" - }, - "dependencies": { - "detective": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", - "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", - "dev": true, - "requires": { - "escodegen": "~1.1.0", - "esprima-fb": "3001.1.0-dev-harmony-fb" - } - }, - "esprima-fb": { - "version": "3001.1.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", - "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", - "dev": true - } - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true - }, - "replace-requires": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", - "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", - "dev": true, - "requires": { - "detective": "^4.5.0", - "has-require": "~1.2.1", - "patch-text": "~1.0.2", - "xtend": "~4.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - }, - "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "dev": true, - "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "requires": { - "regexp-tree": "~0.1.1" - } - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safe-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", - "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-getter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", - "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", - "dev": true, - "requires": { - "to-object-path": "^0.3.0" - } - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", - "dev": true, - "requires": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "dev": true, - "requires": { - "fast-safe-stringify": "^2.0.7" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true - }, - "simple-eval": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", - "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", - "requires": { - "jsep": "^1.1.2" - } - }, - "sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", - "dev": true, - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - } - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-color": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", - "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", - "dev": true, - "requires": { - "minimist": "^1.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "svg-element-attributes": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", - "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", - "dev": true - }, - "syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "requires": { - "acorn-node": "^1.2.0" - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ternary": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", - "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", - "dev": true - }, - "terser": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.0.tgz", - "integrity": "sha512-JpcpGOQLOXm2jsomozdMDpd5f8ZHh1rR48OFgWUH3QsyZcfPgv2qDCYbcDEAYNd4OZRj2bWYKpwdll/udZCk/Q==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "dependencies": { - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", - "dev": true, - "requires": { - "process": "~0.11.0" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toml": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", - "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", - "dev": true - }, - "totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "transformify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", - "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", - "dev": true, - "requires": { - "readable-stream": "~1.1.9" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - } - } - }, - "ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - } - }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "dependencies": { - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - } - } - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "requires": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urijs": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", - "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" - }, - "url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", - "dev": true, - "requires": { - "punycode": "^1.4.1", - "qs": "^6.11.0" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - } - } - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - } - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "webpack": { - "version": "5.88.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz", - "integrity": "sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - } - } - }, - "webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "dependencies": { - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - } - } - }, - "webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.10.tgz", - "integrity": "sha512-uxoA5vLUfRPdjCuJ1h5LlYdmTLbYfums398v3WLkM+i/Wltl2/XyZpQWKbN++ck5L64SR/grOHqtXCUKmlZPNA==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", - "dev": true, - "requires": {} - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/packages/parser/package.json b/packages/parser/package.json index d623f8611..3652f8667 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,5 +1,5 @@ { - "name": "@ayushnautiyal706020/parser", + "name": "@asyncapi/parser", "version": "3.0.14", "description": "JavaScript AsyncAPI parser.", "private": false, @@ -34,8 +34,8 @@ "test": "npm run test:unit && npm run test:browser", "test:unit": "cross-env CI=true jest --coverage --testPathIgnorePatterns=test/browser/*", "test:browser": "npm run build:browser && cross-env CI=true jest -- ./test/browser/*", - "lint": "eslint --max-warnings 0 --config .eslintrc .", - "lint:fix": "eslint --max-warnings 0 --config .eslintrc . --fix", + "lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .", + "lint:fix": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore . --fix", "generate:readme:toc": "markdown-toc -i \"README.md\"", "generate:assets": "npm run build && npm run generate:readme:toc", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", diff --git a/turbo.json b/turbo.json index 04a9f5dd6..36dffb94d 100644 --- a/turbo.json +++ b/turbo.json @@ -1,12 +1,15 @@ { "$schema": "https://turbo.build/schema.json", "pipeline": { - "test": { "cache": false }, - "test:unit": {}, - "test:integration": {}, - "test:browser": {}, - "lint": {}, - "lint:fix": {}, - "build": {} + "test": {"cache": false}, + "test:unit": {"cache": false}, + "test:integration": {"cache": false}, + "test:browser": {"cache": false}, + "lint": {"cache": false}, + "lint:fix": {"cache": false}, + "build": {"cache": false , "dependsOn": ["@asyncapi/parser#build"]}, + "@asyncapi/parser#build":{"cache": false}, + "multi-parser:build":{"cache":false, "dependsOn": ["@asyncapi/parser#build"]} + } } From c399bf26f5a72b98a267e39ec84a96b12f831023 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 22 Jun 2024 19:28:25 +0530 Subject: [PATCH 063/107] udpated the file. updated the files updated the files . of changesets. updated the fiels udpate the files commits. updated th files. updated the files. changed the apps to packages. update the readmd file. updated the files --- .changeset/wise-laws-retire.md | 4 +- .github/workflows/release-with-changesets.yml | 4 +- README.md | 132 +++++++++--------- {apps => packages}/parser/.eslintignore | 0 {apps => packages}/parser/.eslintrc | 0 {apps => packages}/parser/.gitignore | 0 {apps => packages}/parser/LICENSE | 0 .../parser/docs/migrations/v1-to-v2.md | 0 .../parser/docs/migrations/v2-to-v3.md | 0 .../parser/docs/ruleset/README.md | 0 .../parser/docs/ruleset/core-ruleset.md | 0 .../docs/ruleset/recommended-ruleset.md | 0 .../parser/docs/ruleset/v2-core-ruleset.md | 0 .../docs/ruleset/v2-recommended-ruleset.md | 0 {apps => packages}/parser/jest.config.ts | 0 {apps => packages}/parser/package-lock.json | 0 {apps => packages}/parser/package.json | 2 +- {apps => packages}/parser/src/constants.ts | 0 .../src/custom-operations/anonymous-naming.ts | 0 .../src/custom-operations/apply-traits.ts | 0 .../src/custom-operations/apply-unique-ids.ts | 0 .../custom-operations/check-circular-refs.ts | 0 .../parser/src/custom-operations/index.ts | 0 .../src/custom-operations/parse-schema.ts | 0 .../resolve-circular-refs.ts | 0 {apps => packages}/parser/src/document.ts | 0 {apps => packages}/parser/src/from.ts | 0 {apps => packages}/parser/src/index.ts | 0 {apps => packages}/parser/src/iterator.ts | 0 .../parser/src/models/asyncapi.ts | 0 {apps => packages}/parser/src/models/base.ts | 0 .../parser/src/models/binding.ts | 0 .../parser/src/models/bindings.ts | 0 .../parser/src/models/channel-parameter.ts | 0 .../parser/src/models/channel-parameters.ts | 0 .../parser/src/models/channel.ts | 0 .../parser/src/models/channels.ts | 0 .../parser/src/models/collection.ts | 0 .../parser/src/models/components.ts | 0 .../parser/src/models/contact.ts | 0 .../parser/src/models/correlation-id.ts | 0 .../parser/src/models/correlation-ids.ts | 0 .../parser/src/models/extension.ts | 0 .../parser/src/models/extensions.ts | 0 .../parser/src/models/external-docs.ts | 0 .../src/models/external-documentation.ts | 0 .../src/models/external-documentations.ts | 0 {apps => packages}/parser/src/models/index.ts | 0 {apps => packages}/parser/src/models/info.ts | 0 .../parser/src/models/license.ts | 0 .../parser/src/models/message-example.ts | 0 .../parser/src/models/message-examples.ts | 0 .../parser/src/models/message-trait.ts | 0 .../parser/src/models/message-traits.ts | 0 .../parser/src/models/message.ts | 0 .../parser/src/models/messages.ts | 0 .../parser/src/models/mixins.ts | 0 .../parser/src/models/oauth-flow.ts | 0 .../parser/src/models/oauth-flows.ts | 0 .../parser/src/models/operation-replies.ts | 0 .../src/models/operation-reply-address.ts | 0 .../src/models/operation-reply-addresses.ts | 0 .../parser/src/models/operation-reply.ts | 0 .../parser/src/models/operation-trait.ts | 0 .../parser/src/models/operation-traits.ts | 0 .../parser/src/models/operation.ts | 0 .../parser/src/models/operations.ts | 0 .../parser/src/models/schema.ts | 0 .../parser/src/models/schemas.ts | 0 .../parser/src/models/security-requirement.ts | 0 .../src/models/security-requirements.ts | 0 .../parser/src/models/security-scheme.ts | 0 .../parser/src/models/security-schemes.ts | 0 .../parser/src/models/server-variable.ts | 0 .../parser/src/models/server-variables.ts | 0 .../parser/src/models/server.ts | 0 .../parser/src/models/servers.ts | 0 {apps => packages}/parser/src/models/tag.ts | 0 {apps => packages}/parser/src/models/tags.ts | 0 {apps => packages}/parser/src/models/utils.ts | 0 .../parser/src/models/v2/asyncapi.ts | 0 .../parser/src/models/v2/binding.ts | 0 .../parser/src/models/v2/bindings.ts | 0 .../parser/src/models/v2/channel-parameter.ts | 0 .../src/models/v2/channel-parameters.ts | 0 .../parser/src/models/v2/channel.ts | 0 .../parser/src/models/v2/channels.ts | 0 .../parser/src/models/v2/components.ts | 0 .../parser/src/models/v2/contact.ts | 0 .../parser/src/models/v2/correlation-id.ts | 0 .../parser/src/models/v2/correlation-ids.ts | 0 .../parser/src/models/v2/extension.ts | 0 .../parser/src/models/v2/extensions.ts | 0 .../parser/src/models/v2/external-docs.ts | 0 .../parser/src/models/v2/index.ts | 0 .../parser/src/models/v2/info.ts | 0 .../parser/src/models/v2/license.ts | 0 .../parser/src/models/v2/message-example.ts | 0 .../parser/src/models/v2/message-examples.ts | 0 .../parser/src/models/v2/message-trait.ts | 0 .../parser/src/models/v2/message-traits.ts | 0 .../parser/src/models/v2/message.ts | 0 .../parser/src/models/v2/messages.ts | 0 .../parser/src/models/v2/mixins.ts | 0 .../parser/src/models/v2/oauth-flow.ts | 0 .../parser/src/models/v2/oauth-flows.ts | 0 .../parser/src/models/v2/operation-trait.ts | 0 .../parser/src/models/v2/operation-traits.ts | 0 .../parser/src/models/v2/operation.ts | 0 .../parser/src/models/v2/operations.ts | 0 .../parser/src/models/v2/schema.ts | 0 .../parser/src/models/v2/schemas.ts | 0 .../src/models/v2/security-requirement.ts | 0 .../src/models/v2/security-requirements.ts | 0 .../parser/src/models/v2/security-scheme.ts | 0 .../parser/src/models/v2/security-schemes.ts | 0 .../parser/src/models/v2/server-variable.ts | 0 .../parser/src/models/v2/server-variables.ts | 0 .../parser/src/models/v2/server.ts | 0 .../parser/src/models/v2/servers.ts | 0 .../parser/src/models/v2/tag.ts | 0 .../parser/src/models/v2/tags.ts | 0 .../parser/src/models/v3/asyncapi.ts | 0 .../parser/src/models/v3/binding.ts | 0 .../parser/src/models/v3/bindings.ts | 0 .../parser/src/models/v3/channel-parameter.ts | 0 .../src/models/v3/channel-parameters.ts | 0 .../parser/src/models/v3/channel.ts | 0 .../parser/src/models/v3/channels.ts | 0 .../parser/src/models/v3/components.ts | 0 .../parser/src/models/v3/contact.ts | 0 .../parser/src/models/v3/correlation-id.ts | 0 .../parser/src/models/v3/correlation-ids.ts | 0 .../parser/src/models/v3/extension.ts | 0 .../parser/src/models/v3/extensions.ts | 0 .../parser/src/models/v3/external-docs.ts | 0 .../parser/src/models/v3/index.ts | 0 .../parser/src/models/v3/info.ts | 0 .../parser/src/models/v3/license.ts | 0 .../parser/src/models/v3/message-example.ts | 0 .../parser/src/models/v3/message-examples.ts | 0 .../parser/src/models/v3/message-trait.ts | 0 .../parser/src/models/v3/message-traits.ts | 0 .../parser/src/models/v3/message.ts | 0 .../parser/src/models/v3/messages.ts | 0 .../parser/src/models/v3/mixins.ts | 0 .../parser/src/models/v3/oauth-flow.ts | 0 .../parser/src/models/v3/oauth-flows.ts | 0 .../parser/src/models/v3/operation-replies.ts | 0 .../src/models/v3/operation-reply-address.ts | 0 .../models/v3/operation-reply-addresses.ts | 0 .../parser/src/models/v3/operation-reply.ts | 0 .../parser/src/models/v3/operation-trait.ts | 0 .../parser/src/models/v3/operation-traits.ts | 0 .../parser/src/models/v3/operation.ts | 0 .../parser/src/models/v3/operations.ts | 0 .../parser/src/models/v3/schema.ts | 0 .../parser/src/models/v3/schemas.ts | 0 .../src/models/v3/security-requirement.ts | 0 .../src/models/v3/security-requirements.ts | 0 .../parser/src/models/v3/security-scheme.ts | 0 .../parser/src/models/v3/security-schemes.ts | 0 .../parser/src/models/v3/server-variable.ts | 0 .../parser/src/models/v3/server-variables.ts | 0 .../parser/src/models/v3/server.ts | 0 .../parser/src/models/v3/servers.ts | 0 .../parser/src/models/v3/tag.ts | 0 .../parser/src/models/v3/tags.ts | 0 .../parser/src/old-api/asyncapi.ts | 0 {apps => packages}/parser/src/old-api/base.ts | 0 .../parser/src/old-api/channel-parameter.ts | 0 .../parser/src/old-api/channel.ts | 0 .../parser/src/old-api/components.ts | 0 .../parser/src/old-api/contact.ts | 0 .../parser/src/old-api/converter.ts | 0 .../parser/src/old-api/correlation-id.ts | 0 .../parser/src/old-api/external-docs.ts | 0 .../parser/src/old-api/index.ts | 0 {apps => packages}/parser/src/old-api/info.ts | 0 .../parser/src/old-api/iterator.ts | 0 .../parser/src/old-api/license.ts | 0 .../parser/src/old-api/message-trait.ts | 0 .../parser/src/old-api/message.ts | 0 .../parser/src/old-api/mixins.ts | 0 .../parser/src/old-api/oauth-flow.ts | 0 .../parser/src/old-api/operation-trait.ts | 0 .../parser/src/old-api/operation.ts | 0 .../parser/src/old-api/schema.ts | 0 .../src/old-api/security-requirement.ts | 0 .../parser/src/old-api/security-scheme.ts | 0 .../parser/src/old-api/server-variable.ts | 0 .../parser/src/old-api/server.ts | 0 {apps => packages}/parser/src/old-api/tag.ts | 0 {apps => packages}/parser/src/parse.ts | 0 {apps => packages}/parser/src/parser.ts | 0 {apps => packages}/parser/src/resolver.ts | 0 .../parser/src/ruleset/formats.ts | 0 .../ruleset/functions/documentStructure.ts | 0 .../parser/src/ruleset/functions/internal.ts | 0 .../ruleset/functions/isAsyncAPIDocument.ts | 0 .../src/ruleset/functions/uniquenessTags.ts | 0 .../src/ruleset/functions/unusedComponent.ts | 0 .../parser/src/ruleset/index.ts | 0 .../parser/src/ruleset/ruleset.ts | 0 .../src/ruleset/utils/getMissingProps.ts | 0 .../src/ruleset/utils/getRedundantProps.ts | 0 .../parser/src/ruleset/utils/index.ts | 0 .../parser/src/ruleset/utils/mergeTraits.ts | 0 .../src/ruleset/utils/parseUrlVariables.ts | 0 .../ruleset/v2/functions/channelParameters.ts | 0 .../ruleset/v2/functions/channelServers.ts | 0 .../src/ruleset/v2/functions/checkId.ts | 0 .../messageExamples-spectral-rule-v2.ts | 0 .../ruleset/v2/functions/messageExamples.ts | 0 .../v2/functions/messageIdUniqueness.ts | 0 .../v2/functions/operationIdUniqueness.ts | 0 .../ruleset/v2/functions/schemaValidation.ts | 0 .../src/ruleset/v2/functions/security.ts | 0 .../ruleset/v2/functions/serverVariables.ts | 0 .../v2/functions/unusedSecuritySchemes.ts | 0 .../parser/src/ruleset/v2/index.ts | 0 .../parser/src/ruleset/v2/ruleset.ts | 0 .../src/ruleset/v2/utils/getAllMessages.ts | 0 .../src/ruleset/v2/utils/getAllOperations.ts | 0 .../parser/src/ruleset/v2/utils/index.ts | 0 .../functions/operationMessagesUnambiguity.ts | 0 .../parser/src/ruleset/v3/index.ts | 0 .../parser/src/ruleset/v3/ruleset.ts | 0 .../schema-parser/asyncapi-schema-parser.ts | 0 .../parser/src/schema-parser/index.ts | 0 .../src/schema-parser/spectral-rule-v2.ts | 0 .../parser/src/spec-types/index.ts | 0 .../parser/src/spec-types/v2.ts | 0 .../parser/src/spec-types/v3.ts | 0 {apps => packages}/parser/src/spectral.ts | 0 {apps => packages}/parser/src/stringify.ts | 0 {apps => packages}/parser/src/types.ts | 0 {apps => packages}/parser/src/utils.ts | 0 {apps => packages}/parser/src/validate.ts | 0 .../parser/test/browser/browser.spec.ts | 0 .../parser/test/browser/sample-page.html | 0 .../anonymous-naming.spec.ts | 0 .../custom-operations/apply-traits-v2.spec.ts | 0 .../custom-operations/apply-traits-v3.spec.ts | 0 .../custom-operations/apply-traits.spec.ts | 0 .../apply-unique-ids.spec.ts | 0 .../check-circular-refs.spec.ts | 0 .../custom-operations/parse-schema-v2.spec.ts | 0 .../custom-operations/parse-schema-v3.spec.ts | 0 .../resolve-circular-refs.spec.ts | 0 .../parser/test/document.spec.ts | 0 {apps => packages}/parser/test/from.spec.ts | 0 .../parser/test/iterator.spec.ts | 0 .../parser/test/mocks/circular-refs.yaml | 0 .../parser/test/mocks/nested-schemas.yaml | 0 .../test/mocks/parse/circular-ref-deep.yaml | 0 .../parser/test/mocks/parse/circular-ref.yaml | 0 .../parser/test/mocks/refs-1.yaml | 0 .../parser/test/mocks/refs-2.yaml | 0 .../parser/test/mocks/simple-message.yaml | 0 .../parser/test/mocks/simple-with-refs.yaml | 0 .../parser/test/mocks/simple.yaml | 0 .../parser/test/models/base.spec.ts | 0 .../parser/test/models/collection.spec.ts | 0 .../parser/test/models/v2/asyncapi.spec.ts | 0 .../parser/test/models/v2/bindings.spec.ts | 0 .../test/models/v2/channel-parameter.spec.ts | 0 .../test/models/v2/channel-parameters.spec.ts | 0 .../parser/test/models/v2/channel.spec.ts | 0 .../parser/test/models/v2/channels.spec.ts | 0 .../parser/test/models/v2/components.spec.ts | 0 .../parser/test/models/v2/contact.spec.ts | 0 .../test/models/v2/correlation-id.spec.ts | 0 .../test/models/v2/external-docs.spec.ts | 0 .../models/v2/external-documentation.spec.ts | 0 .../parser/test/models/v2/info.spec.ts | 0 .../parser/test/models/v2/license.spec.ts | 0 .../test/models/v2/message-example.spec.ts | 0 .../test/models/v2/message-examples.spec.ts | 0 .../test/models/v2/message-trait.spec.ts | 0 .../test/models/v2/message-traits.spec.ts | 0 .../parser/test/models/v2/message.spec.ts | 0 .../parser/test/models/v2/messages.spec.ts | 0 .../parser/test/models/v2/mixins.spec.ts | 0 .../parser/test/models/v2/oauth-flow.spec.ts | 0 .../parser/test/models/v2/oauth-flows.spec.ts | 0 .../test/models/v2/operation-trait.spec.ts | 0 .../test/models/v2/operation-traits.spec.ts | 0 .../parser/test/models/v2/operation.spec.ts | 0 .../parser/test/models/v2/operations.spec.ts | 0 .../parser/test/models/v2/schema.spec.ts | 0 .../models/v2/security-requirement.spec.ts | 0 .../models/v2/security-requirements.spec.ts | 0 .../test/models/v2/security-scheme.spec.ts | 0 .../test/models/v2/server-variable.spec.ts | 0 .../parser/test/models/v2/server.spec.ts | 0 .../parser/test/models/v2/servers.spec.ts | 0 .../parser/test/models/v2/tag.spec.ts | 0 .../parser/test/models/v2/tags.spec.ts | 0 .../parser/test/models/v2/utils.ts | 0 .../parser/test/models/v3/asyncapi.spec.ts | 0 .../parser/test/models/v3/bindings.spec.ts | 0 .../test/models/v3/channel-parameter.spec.ts | 0 .../parser/test/models/v3/channel.spec.ts | 0 .../parser/test/models/v3/components.spec.ts | 0 .../parser/test/models/v3/contact.spec.ts | 0 .../test/models/v3/correlation-id.spec.ts | 0 .../models/v3/external-documentation.spec.ts | 0 .../parser/test/models/v3/info.spec.ts | 0 .../parser/test/models/v3/license.spec.ts | 0 .../test/models/v3/message-example.spec.ts | 0 .../test/models/v3/message-trait.spec.ts | 0 .../parser/test/models/v3/message.spec.ts | 0 .../parser/test/models/v3/oauth-flow.spec.ts | 0 .../parser/test/models/v3/oauth-flows.spec.ts | 0 .../models/v3/operation-reply-address.spec.ts | 0 .../test/models/v3/operation-reply.spec.ts | 0 .../test/models/v3/operation-trait.spec.ts | 0 .../parser/test/models/v3/operation.spec.ts | 0 .../parser/test/models/v3/schema.spec.ts | 0 .../test/models/v3/server-variable.spec.ts | 0 .../parser/test/models/v3/server.spec.ts | 0 .../parser/test/models/v3/tag.spec.ts | 0 .../parser/test/models/v3/utils.ts | 0 .../parser/test/old-api/asyncapi.spec.ts | 0 .../parser/test/old-api/base.spec.ts | 0 .../test/old-api/channel-parameter.spec.ts | 0 .../parser/test/old-api/channel.spec.ts | 0 .../parser/test/old-api/components.spec.ts | 0 .../parser/test/old-api/contact.spec.ts | 0 .../parser/test/old-api/converter.spec.ts | 0 .../test/old-api/correlation-id.spec.ts | 0 .../parser/test/old-api/external-docs.spec.ts | 0 .../parser/test/old-api/info.spec.ts | 0 .../parser/test/old-api/iterator.spec.ts | 0 .../parser/test/old-api/license.spec.ts | 0 .../parser/test/old-api/message-trait.spec.ts | 0 .../parser/test/old-api/message.spec.ts | 0 .../parser/test/old-api/mixins.spec.ts | 0 .../parser/test/old-api/mixins.ts | 0 .../parser/test/old-api/oauth-flow.spec.ts | 0 .../test/old-api/operation-trait.spec.ts | 0 .../parser/test/old-api/operation.spec.ts | 0 .../parser/test/old-api/schema.spec.ts | 0 .../test/old-api/security-scheme.spec.ts | 0 .../test/old-api/server-variable.spec.ts | 0 .../parser/test/old-api/server.spec.ts | 0 .../parser/test/old-api/tag.spec.ts | 0 {apps => packages}/parser/test/parse.spec.ts | 0 {apps => packages}/parser/test/parser.spec.ts | 0 .../parser/test/resolver.spec.ts | 0 .../parser/test/ruleset/formats.spec.ts | 0 .../rules/asyncapi-defaultContentType.spec.ts | 0 .../rules/asyncapi-document-resolved.spec.ts | 0 .../asyncapi-document-unresolved.spec.ts | 0 .../test/ruleset/rules/asyncapi-id.spec.ts | 0 .../asyncapi-info-contact-properties.spec.ts | 0 .../rules/asyncapi-info-contact.spec.ts | 0 .../rules/asyncapi-info-description.spec.ts | 0 .../rules/asyncapi-info-license-url.spec.ts | 0 .../rules/asyncapi-info-license.spec.ts | 0 .../rules/asyncapi-is-asyncapi.spec.ts | 0 .../rules/asyncapi-latest-version.spec.ts | 0 .../ruleset/rules/asyncapi-servers.spec.ts | 0 .../rules/asyncapi-unused-component.spec.ts | 0 ...yncapi2-channel-no-empty-parameter.spec.ts | 0 ...api2-channel-no-query-nor-fragment.spec.ts | 0 ...syncapi2-channel-no-trailing-slash.spec.ts | 0 .../v2/asyncapi2-channel-parameters.spec.ts | 0 .../v2/asyncapi2-channel-servers.spec.ts | 0 ...capi2-message-examples-spectral-v2.spec.ts | 0 .../v2/asyncapi2-message-examples.spec.ts | 0 ...capi2-message-messageId-uniqueness.spec.ts | 0 .../v2/asyncapi2-message-messageId.spec.ts | 0 ...2-operation-operationId-uniqueness.spec.ts | 0 .../asyncapi2-operation-operationId.test.ts | 0 .../v2/asyncapi2-operation-security.spec.ts | 0 .../rules/v2/asyncapi2-schema-default.spec.ts | 0 .../v2/asyncapi2-schema-examples.spec.ts | 0 .../rules/v2/asyncapi2-schemas.spec.ts | 0 ...asyncapi2-server-no-empty-variable.spec.ts | 0 ...asyncapi2-server-no-trailing-slash.spec.ts | 0 .../v2/asyncapi2-server-security.spec.ts | 0 .../v2/asyncapi2-server-variables.spec.ts | 0 .../v2/asyncapi2-tags-uniqueness.spec.ts | 0 .../ruleset/rules/v2/asyncapi2-tags.spec.ts | 0 .../asyncapi2-unused-securityScheme.spec.ts | 0 ...ion-messages-from-referred-channel.spec.ts | 0 ...quired-channel-servers-unambiguity.spec.ts | 0 ...ired-operation-channel-unambiguity.spec.ts | 0 .../parser/test/ruleset/tester.ts | 0 .../test/sample_browser/main/asyncapi.yaml | 0 .../test/sample_browser/refs/refed.yaml | 0 .../asyncapi-schema-parser.spec.ts | 0 .../schema-parser/spectral-rule-v2.spec.ts | 0 .../parser/test/spectral.spec.ts | 0 .../parser/test/stringify.spec.ts | 0 {apps => packages}/parser/test/utils.spec.ts | 0 {apps => packages}/parser/test/utils.ts | 0 .../parser/test/validate.spec.ts | 0 {apps => packages}/parser/tsconfig.cjs.json | 0 {apps => packages}/parser/tsconfig.json | 0 {apps => packages}/parser/webpack.config.js | 0 403 files changed, 74 insertions(+), 68 deletions(-) rename {apps => packages}/parser/.eslintignore (100%) rename {apps => packages}/parser/.eslintrc (100%) rename {apps => packages}/parser/.gitignore (100%) rename {apps => packages}/parser/LICENSE (100%) rename {apps => packages}/parser/docs/migrations/v1-to-v2.md (100%) rename {apps => packages}/parser/docs/migrations/v2-to-v3.md (100%) rename {apps => packages}/parser/docs/ruleset/README.md (100%) rename {apps => packages}/parser/docs/ruleset/core-ruleset.md (100%) rename {apps => packages}/parser/docs/ruleset/recommended-ruleset.md (100%) rename {apps => packages}/parser/docs/ruleset/v2-core-ruleset.md (100%) rename {apps => packages}/parser/docs/ruleset/v2-recommended-ruleset.md (100%) rename {apps => packages}/parser/jest.config.ts (100%) rename {apps => packages}/parser/package-lock.json (100%) rename {apps => packages}/parser/package.json (98%) rename {apps => packages}/parser/src/constants.ts (100%) rename {apps => packages}/parser/src/custom-operations/anonymous-naming.ts (100%) rename {apps => packages}/parser/src/custom-operations/apply-traits.ts (100%) rename {apps => packages}/parser/src/custom-operations/apply-unique-ids.ts (100%) rename {apps => packages}/parser/src/custom-operations/check-circular-refs.ts (100%) rename {apps => packages}/parser/src/custom-operations/index.ts (100%) rename {apps => packages}/parser/src/custom-operations/parse-schema.ts (100%) rename {apps => packages}/parser/src/custom-operations/resolve-circular-refs.ts (100%) rename {apps => packages}/parser/src/document.ts (100%) rename {apps => packages}/parser/src/from.ts (100%) rename {apps => packages}/parser/src/index.ts (100%) rename {apps => packages}/parser/src/iterator.ts (100%) rename {apps => packages}/parser/src/models/asyncapi.ts (100%) rename {apps => packages}/parser/src/models/base.ts (100%) rename {apps => packages}/parser/src/models/binding.ts (100%) rename {apps => packages}/parser/src/models/bindings.ts (100%) rename {apps => packages}/parser/src/models/channel-parameter.ts (100%) rename {apps => packages}/parser/src/models/channel-parameters.ts (100%) rename {apps => packages}/parser/src/models/channel.ts (100%) rename {apps => packages}/parser/src/models/channels.ts (100%) rename {apps => packages}/parser/src/models/collection.ts (100%) rename {apps => packages}/parser/src/models/components.ts (100%) rename {apps => packages}/parser/src/models/contact.ts (100%) rename {apps => packages}/parser/src/models/correlation-id.ts (100%) rename {apps => packages}/parser/src/models/correlation-ids.ts (100%) rename {apps => packages}/parser/src/models/extension.ts (100%) rename {apps => packages}/parser/src/models/extensions.ts (100%) rename {apps => packages}/parser/src/models/external-docs.ts (100%) rename {apps => packages}/parser/src/models/external-documentation.ts (100%) rename {apps => packages}/parser/src/models/external-documentations.ts (100%) rename {apps => packages}/parser/src/models/index.ts (100%) rename {apps => packages}/parser/src/models/info.ts (100%) rename {apps => packages}/parser/src/models/license.ts (100%) rename {apps => packages}/parser/src/models/message-example.ts (100%) rename {apps => packages}/parser/src/models/message-examples.ts (100%) rename {apps => packages}/parser/src/models/message-trait.ts (100%) rename {apps => packages}/parser/src/models/message-traits.ts (100%) rename {apps => packages}/parser/src/models/message.ts (100%) rename {apps => packages}/parser/src/models/messages.ts (100%) rename {apps => packages}/parser/src/models/mixins.ts (100%) rename {apps => packages}/parser/src/models/oauth-flow.ts (100%) rename {apps => packages}/parser/src/models/oauth-flows.ts (100%) rename {apps => packages}/parser/src/models/operation-replies.ts (100%) rename {apps => packages}/parser/src/models/operation-reply-address.ts (100%) rename {apps => packages}/parser/src/models/operation-reply-addresses.ts (100%) rename {apps => packages}/parser/src/models/operation-reply.ts (100%) rename {apps => packages}/parser/src/models/operation-trait.ts (100%) rename {apps => packages}/parser/src/models/operation-traits.ts (100%) rename {apps => packages}/parser/src/models/operation.ts (100%) rename {apps => packages}/parser/src/models/operations.ts (100%) rename {apps => packages}/parser/src/models/schema.ts (100%) rename {apps => packages}/parser/src/models/schemas.ts (100%) rename {apps => packages}/parser/src/models/security-requirement.ts (100%) rename {apps => packages}/parser/src/models/security-requirements.ts (100%) rename {apps => packages}/parser/src/models/security-scheme.ts (100%) rename {apps => packages}/parser/src/models/security-schemes.ts (100%) rename {apps => packages}/parser/src/models/server-variable.ts (100%) rename {apps => packages}/parser/src/models/server-variables.ts (100%) rename {apps => packages}/parser/src/models/server.ts (100%) rename {apps => packages}/parser/src/models/servers.ts (100%) rename {apps => packages}/parser/src/models/tag.ts (100%) rename {apps => packages}/parser/src/models/tags.ts (100%) rename {apps => packages}/parser/src/models/utils.ts (100%) rename {apps => packages}/parser/src/models/v2/asyncapi.ts (100%) rename {apps => packages}/parser/src/models/v2/binding.ts (100%) rename {apps => packages}/parser/src/models/v2/bindings.ts (100%) rename {apps => packages}/parser/src/models/v2/channel-parameter.ts (100%) rename {apps => packages}/parser/src/models/v2/channel-parameters.ts (100%) rename {apps => packages}/parser/src/models/v2/channel.ts (100%) rename {apps => packages}/parser/src/models/v2/channels.ts (100%) rename {apps => packages}/parser/src/models/v2/components.ts (100%) rename {apps => packages}/parser/src/models/v2/contact.ts (100%) rename {apps => packages}/parser/src/models/v2/correlation-id.ts (100%) rename {apps => packages}/parser/src/models/v2/correlation-ids.ts (100%) rename {apps => packages}/parser/src/models/v2/extension.ts (100%) rename {apps => packages}/parser/src/models/v2/extensions.ts (100%) rename {apps => packages}/parser/src/models/v2/external-docs.ts (100%) rename {apps => packages}/parser/src/models/v2/index.ts (100%) rename {apps => packages}/parser/src/models/v2/info.ts (100%) rename {apps => packages}/parser/src/models/v2/license.ts (100%) rename {apps => packages}/parser/src/models/v2/message-example.ts (100%) rename {apps => packages}/parser/src/models/v2/message-examples.ts (100%) rename {apps => packages}/parser/src/models/v2/message-trait.ts (100%) rename {apps => packages}/parser/src/models/v2/message-traits.ts (100%) rename {apps => packages}/parser/src/models/v2/message.ts (100%) rename {apps => packages}/parser/src/models/v2/messages.ts (100%) rename {apps => packages}/parser/src/models/v2/mixins.ts (100%) rename {apps => packages}/parser/src/models/v2/oauth-flow.ts (100%) rename {apps => packages}/parser/src/models/v2/oauth-flows.ts (100%) rename {apps => packages}/parser/src/models/v2/operation-trait.ts (100%) rename {apps => packages}/parser/src/models/v2/operation-traits.ts (100%) rename {apps => packages}/parser/src/models/v2/operation.ts (100%) rename {apps => packages}/parser/src/models/v2/operations.ts (100%) rename {apps => packages}/parser/src/models/v2/schema.ts (100%) rename {apps => packages}/parser/src/models/v2/schemas.ts (100%) rename {apps => packages}/parser/src/models/v2/security-requirement.ts (100%) rename {apps => packages}/parser/src/models/v2/security-requirements.ts (100%) rename {apps => packages}/parser/src/models/v2/security-scheme.ts (100%) rename {apps => packages}/parser/src/models/v2/security-schemes.ts (100%) rename {apps => packages}/parser/src/models/v2/server-variable.ts (100%) rename {apps => packages}/parser/src/models/v2/server-variables.ts (100%) rename {apps => packages}/parser/src/models/v2/server.ts (100%) rename {apps => packages}/parser/src/models/v2/servers.ts (100%) rename {apps => packages}/parser/src/models/v2/tag.ts (100%) rename {apps => packages}/parser/src/models/v2/tags.ts (100%) rename {apps => packages}/parser/src/models/v3/asyncapi.ts (100%) rename {apps => packages}/parser/src/models/v3/binding.ts (100%) rename {apps => packages}/parser/src/models/v3/bindings.ts (100%) rename {apps => packages}/parser/src/models/v3/channel-parameter.ts (100%) rename {apps => packages}/parser/src/models/v3/channel-parameters.ts (100%) rename {apps => packages}/parser/src/models/v3/channel.ts (100%) rename {apps => packages}/parser/src/models/v3/channels.ts (100%) rename {apps => packages}/parser/src/models/v3/components.ts (100%) rename {apps => packages}/parser/src/models/v3/contact.ts (100%) rename {apps => packages}/parser/src/models/v3/correlation-id.ts (100%) rename {apps => packages}/parser/src/models/v3/correlation-ids.ts (100%) rename {apps => packages}/parser/src/models/v3/extension.ts (100%) rename {apps => packages}/parser/src/models/v3/extensions.ts (100%) rename {apps => packages}/parser/src/models/v3/external-docs.ts (100%) rename {apps => packages}/parser/src/models/v3/index.ts (100%) rename {apps => packages}/parser/src/models/v3/info.ts (100%) rename {apps => packages}/parser/src/models/v3/license.ts (100%) rename {apps => packages}/parser/src/models/v3/message-example.ts (100%) rename {apps => packages}/parser/src/models/v3/message-examples.ts (100%) rename {apps => packages}/parser/src/models/v3/message-trait.ts (100%) rename {apps => packages}/parser/src/models/v3/message-traits.ts (100%) rename {apps => packages}/parser/src/models/v3/message.ts (100%) rename {apps => packages}/parser/src/models/v3/messages.ts (100%) rename {apps => packages}/parser/src/models/v3/mixins.ts (100%) rename {apps => packages}/parser/src/models/v3/oauth-flow.ts (100%) rename {apps => packages}/parser/src/models/v3/oauth-flows.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-replies.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-reply-address.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-reply-addresses.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-reply.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-trait.ts (100%) rename {apps => packages}/parser/src/models/v3/operation-traits.ts (100%) rename {apps => packages}/parser/src/models/v3/operation.ts (100%) rename {apps => packages}/parser/src/models/v3/operations.ts (100%) rename {apps => packages}/parser/src/models/v3/schema.ts (100%) rename {apps => packages}/parser/src/models/v3/schemas.ts (100%) rename {apps => packages}/parser/src/models/v3/security-requirement.ts (100%) rename {apps => packages}/parser/src/models/v3/security-requirements.ts (100%) rename {apps => packages}/parser/src/models/v3/security-scheme.ts (100%) rename {apps => packages}/parser/src/models/v3/security-schemes.ts (100%) rename {apps => packages}/parser/src/models/v3/server-variable.ts (100%) rename {apps => packages}/parser/src/models/v3/server-variables.ts (100%) rename {apps => packages}/parser/src/models/v3/server.ts (100%) rename {apps => packages}/parser/src/models/v3/servers.ts (100%) rename {apps => packages}/parser/src/models/v3/tag.ts (100%) rename {apps => packages}/parser/src/models/v3/tags.ts (100%) rename {apps => packages}/parser/src/old-api/asyncapi.ts (100%) rename {apps => packages}/parser/src/old-api/base.ts (100%) rename {apps => packages}/parser/src/old-api/channel-parameter.ts (100%) rename {apps => packages}/parser/src/old-api/channel.ts (100%) rename {apps => packages}/parser/src/old-api/components.ts (100%) rename {apps => packages}/parser/src/old-api/contact.ts (100%) rename {apps => packages}/parser/src/old-api/converter.ts (100%) rename {apps => packages}/parser/src/old-api/correlation-id.ts (100%) rename {apps => packages}/parser/src/old-api/external-docs.ts (100%) rename {apps => packages}/parser/src/old-api/index.ts (100%) rename {apps => packages}/parser/src/old-api/info.ts (100%) rename {apps => packages}/parser/src/old-api/iterator.ts (100%) rename {apps => packages}/parser/src/old-api/license.ts (100%) rename {apps => packages}/parser/src/old-api/message-trait.ts (100%) rename {apps => packages}/parser/src/old-api/message.ts (100%) rename {apps => packages}/parser/src/old-api/mixins.ts (100%) rename {apps => packages}/parser/src/old-api/oauth-flow.ts (100%) rename {apps => packages}/parser/src/old-api/operation-trait.ts (100%) rename {apps => packages}/parser/src/old-api/operation.ts (100%) rename {apps => packages}/parser/src/old-api/schema.ts (100%) rename {apps => packages}/parser/src/old-api/security-requirement.ts (100%) rename {apps => packages}/parser/src/old-api/security-scheme.ts (100%) rename {apps => packages}/parser/src/old-api/server-variable.ts (100%) rename {apps => packages}/parser/src/old-api/server.ts (100%) rename {apps => packages}/parser/src/old-api/tag.ts (100%) rename {apps => packages}/parser/src/parse.ts (100%) rename {apps => packages}/parser/src/parser.ts (100%) rename {apps => packages}/parser/src/resolver.ts (100%) rename {apps => packages}/parser/src/ruleset/formats.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/documentStructure.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/internal.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/isAsyncAPIDocument.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/uniquenessTags.ts (100%) rename {apps => packages}/parser/src/ruleset/functions/unusedComponent.ts (100%) rename {apps => packages}/parser/src/ruleset/index.ts (100%) rename {apps => packages}/parser/src/ruleset/ruleset.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/getMissingProps.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/getRedundantProps.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/index.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/mergeTraits.ts (100%) rename {apps => packages}/parser/src/ruleset/utils/parseUrlVariables.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/channelParameters.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/channelServers.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/checkId.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/messageExamples.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/messageIdUniqueness.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/operationIdUniqueness.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/schemaValidation.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/security.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/serverVariables.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/index.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/ruleset.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/utils/getAllMessages.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/utils/getAllOperations.ts (100%) rename {apps => packages}/parser/src/ruleset/v2/utils/index.ts (100%) rename {apps => packages}/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts (100%) rename {apps => packages}/parser/src/ruleset/v3/index.ts (100%) rename {apps => packages}/parser/src/ruleset/v3/ruleset.ts (100%) rename {apps => packages}/parser/src/schema-parser/asyncapi-schema-parser.ts (100%) rename {apps => packages}/parser/src/schema-parser/index.ts (100%) rename {apps => packages}/parser/src/schema-parser/spectral-rule-v2.ts (100%) rename {apps => packages}/parser/src/spec-types/index.ts (100%) rename {apps => packages}/parser/src/spec-types/v2.ts (100%) rename {apps => packages}/parser/src/spec-types/v3.ts (100%) rename {apps => packages}/parser/src/spectral.ts (100%) rename {apps => packages}/parser/src/stringify.ts (100%) rename {apps => packages}/parser/src/types.ts (100%) rename {apps => packages}/parser/src/utils.ts (100%) rename {apps => packages}/parser/src/validate.ts (100%) rename {apps => packages}/parser/test/browser/browser.spec.ts (100%) rename {apps => packages}/parser/test/browser/sample-page.html (100%) rename {apps => packages}/parser/test/custom-operations/anonymous-naming.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-traits-v2.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-traits-v3.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-traits.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/apply-unique-ids.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/check-circular-refs.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/parse-schema-v2.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/parse-schema-v3.spec.ts (100%) rename {apps => packages}/parser/test/custom-operations/resolve-circular-refs.spec.ts (100%) rename {apps => packages}/parser/test/document.spec.ts (100%) rename {apps => packages}/parser/test/from.spec.ts (100%) rename {apps => packages}/parser/test/iterator.spec.ts (100%) rename {apps => packages}/parser/test/mocks/circular-refs.yaml (100%) rename {apps => packages}/parser/test/mocks/nested-schemas.yaml (100%) rename {apps => packages}/parser/test/mocks/parse/circular-ref-deep.yaml (100%) rename {apps => packages}/parser/test/mocks/parse/circular-ref.yaml (100%) rename {apps => packages}/parser/test/mocks/refs-1.yaml (100%) rename {apps => packages}/parser/test/mocks/refs-2.yaml (100%) rename {apps => packages}/parser/test/mocks/simple-message.yaml (100%) rename {apps => packages}/parser/test/mocks/simple-with-refs.yaml (100%) rename {apps => packages}/parser/test/mocks/simple.yaml (100%) rename {apps => packages}/parser/test/models/base.spec.ts (100%) rename {apps => packages}/parser/test/models/collection.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/bindings.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channel-parameter.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channel-parameters.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channel.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/channels.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/components.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/contact.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/correlation-id.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/external-docs.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/external-documentation.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/info.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/license.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-example.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-examples.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message-traits.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/message.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/messages.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/mixins.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/oauth-flow.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/oauth-flows.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operation-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operation-traits.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operation.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/operations.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/schema.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/security-requirement.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/security-requirements.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/security-scheme.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/server-variable.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/server.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/servers.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/tag.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/tags.spec.ts (100%) rename {apps => packages}/parser/test/models/v2/utils.ts (100%) rename {apps => packages}/parser/test/models/v3/asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/bindings.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/channel-parameter.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/channel.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/components.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/contact.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/correlation-id.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/external-documentation.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/info.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/license.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/message-example.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/message-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/message.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/oauth-flow.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/oauth-flows.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation-reply-address.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation-reply.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation-trait.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/operation.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/schema.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/server-variable.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/server.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/tag.spec.ts (100%) rename {apps => packages}/parser/test/models/v3/utils.ts (100%) rename {apps => packages}/parser/test/old-api/asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/old-api/base.spec.ts (100%) rename {apps => packages}/parser/test/old-api/channel-parameter.spec.ts (100%) rename {apps => packages}/parser/test/old-api/channel.spec.ts (100%) rename {apps => packages}/parser/test/old-api/components.spec.ts (100%) rename {apps => packages}/parser/test/old-api/contact.spec.ts (100%) rename {apps => packages}/parser/test/old-api/converter.spec.ts (100%) rename {apps => packages}/parser/test/old-api/correlation-id.spec.ts (100%) rename {apps => packages}/parser/test/old-api/external-docs.spec.ts (100%) rename {apps => packages}/parser/test/old-api/info.spec.ts (100%) rename {apps => packages}/parser/test/old-api/iterator.spec.ts (100%) rename {apps => packages}/parser/test/old-api/license.spec.ts (100%) rename {apps => packages}/parser/test/old-api/message-trait.spec.ts (100%) rename {apps => packages}/parser/test/old-api/message.spec.ts (100%) rename {apps => packages}/parser/test/old-api/mixins.spec.ts (100%) rename {apps => packages}/parser/test/old-api/mixins.ts (100%) rename {apps => packages}/parser/test/old-api/oauth-flow.spec.ts (100%) rename {apps => packages}/parser/test/old-api/operation-trait.spec.ts (100%) rename {apps => packages}/parser/test/old-api/operation.spec.ts (100%) rename {apps => packages}/parser/test/old-api/schema.spec.ts (100%) rename {apps => packages}/parser/test/old-api/security-scheme.spec.ts (100%) rename {apps => packages}/parser/test/old-api/server-variable.spec.ts (100%) rename {apps => packages}/parser/test/old-api/server.spec.ts (100%) rename {apps => packages}/parser/test/old-api/tag.spec.ts (100%) rename {apps => packages}/parser/test/parse.spec.ts (100%) rename {apps => packages}/parser/test/parser.spec.ts (100%) rename {apps => packages}/parser/test/resolver.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/formats.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-id.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-description.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-info-license.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-servers.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts (100%) rename {apps => packages}/parser/test/ruleset/tester.ts (100%) rename {apps => packages}/parser/test/sample_browser/main/asyncapi.yaml (100%) rename {apps => packages}/parser/test/sample_browser/refs/refed.yaml (100%) rename {apps => packages}/parser/test/schema-parser/asyncapi-schema-parser.spec.ts (100%) rename {apps => packages}/parser/test/schema-parser/spectral-rule-v2.spec.ts (100%) rename {apps => packages}/parser/test/spectral.spec.ts (100%) rename {apps => packages}/parser/test/stringify.spec.ts (100%) rename {apps => packages}/parser/test/utils.spec.ts (100%) rename {apps => packages}/parser/test/utils.ts (100%) rename {apps => packages}/parser/test/validate.spec.ts (100%) rename {apps => packages}/parser/tsconfig.cjs.json (100%) rename {apps => packages}/parser/tsconfig.json (100%) rename {apps => packages}/parser/webpack.config.js (100%) diff --git a/.changeset/wise-laws-retire.md b/.changeset/wise-laws-retire.md index 4d2f05207..056c0bfee 100644 --- a/.changeset/wise-laws-retire.md +++ b/.changeset/wise-laws-retire.md @@ -1,5 +1,5 @@ --- -"@ayushnautiyal706020/parser": minor +"@asyncapi/parser": minor --- -something is changed. +Turning Parser-JS into monorepo by integrating Turborepo. No new features or bugfixes were introduced. diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index a20a7c73e..fde21edbf 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -109,9 +109,9 @@ jobs: id: release with: version: npm run changeset version - commit: "version packages" + commit: version packages title: "chore: version packages" - run: npm run turbo run build && changeset publish + publish: npm run turbo run build && npm changeset publish env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/README.md b/README.md index 2aaee4f4f..af564f512 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains the following package: -1. [Parser-js](apps/parser): Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. +1. [Parser-js](packages/parser): Use this package to validate and parse AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. Validation is powered by [Spectral](https://github.com/stoplightio/spectral). Updated bundle for the browser is always attached to the GitHub Release. @@ -18,7 +18,6 @@ Updated bundle for the browser is always attached to the GitHub Release. > **Note** > Read the [migration guide from v2 to v3](./docs/migrations/v2-to-v3.md). - @@ -26,26 +25,26 @@ Updated bundle for the browser is always attached to the GitHub Release. - [Installation](#installation) - [Usage](#usage) - [Examples](#examples) - * [Example with parsing](#example-with-parsing) - * [Example with validation](#example-with-validation) - * [Example using Avro schemas](#example-using-avro-schemas) - * [Example using OpenAPI schemas](#example-using-openapi-schemas) - * [Example using RAML data types](#example-using-raml-data-types) - * [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) - * [Example with performing actions on file source](#example-with-performing-actions-on-file-source) - * [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) + - [Example with parsing](#example-with-parsing) + - [Example with validation](#example-with-validation) + - [Example using Avro schemas](#example-using-avro-schemas) + - [Example using OpenAPI schemas](#example-using-openapi-schemas) + - [Example using RAML data types](#example-using-raml-data-types) + - [Example with performing actions on HTTP source](#example-with-performing-actions-on-http-source) + - [Example with performing actions on file source](#example-with-performing-actions-on-file-source) + - [Example with stringify and unstringify parsed document](#example-with-stringify-and-unstringify-parsed-document) - [API documentation](#api-documentation) - [Spectral rulesets](#spectral-rulesets) - [Using in the browser/SPA applications](#using-in-the-browserspa-applications) - [Custom schema parsers](#custom-schema-parsers) - * [Official supported custom schema parsers](#official-supported-custom-schema-parsers) + - [Official supported custom schema parsers](#official-supported-custom-schema-parsers) - [Custom extensions](#custom-extensions) - [Circular references](#circular-references) - [Stringify](#stringify) - [Convert to the old API](#convert-to-the-old-api) - [Notes](#notes) - * [Using with Webpack](#using-with-webpack) - * [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) + - [Using with Webpack](#using-with-webpack) + - [Testing with [Jest](https://jestjs.io/)](#testing-with-jesthttpsjestjsio) - [Develop](#develop) - [Contributing](#contributing) - [Contributors](#contributors) @@ -74,17 +73,17 @@ The package exposes the main class `Parser`, which has two main functions: Natively `Parser` class does not contain methods that operate on the source (AsyncAPI document) from a file or URL. However, the package exposes utils that make this possible: ```ts -import { fromURL, fromFile } from '@asyncapi/parser'; +import { fromURL, fromFile } from "@asyncapi/parser"; ``` Check out the [examples](#examples) of using the above mentioned functionalities. -## Examples +## Examples ### Example with parsing ```ts -import { Parser } from '@asyncapi/parser'; +import { Parser } from "@asyncapi/parser"; const parser = new Parser(); const { document } = await parser.parse(` asyncapi: '2.4.0' @@ -116,7 +115,7 @@ if (document) { ### Example with validation ```ts -import { Parser } from '@asyncapi/parser'; +import { Parser } from "@asyncapi/parser"; const parser = new Parser(); @@ -158,27 +157,33 @@ Head over to [asyncapi/raml-dt-schema-parser](https://www.github.com/asyncapi/ra ### Example with performing actions on HTTP source ```ts -import { Parser, fromURL } from '@asyncapi/parser'; +import { Parser, fromURL } from "@asyncapi/parser"; const parser = new Parser(); -const { document, diagnostics } = await fromURL(parser, 'https://example.com/').parse(); +const { document, diagnostics } = await fromURL( + parser, + "https://example.com/", +).parse(); ``` ### Example with performing actions on file source ```ts -import { Parser, fromFile } from '@asyncapi/parser'; +import { Parser, fromFile } from "@asyncapi/parser"; const parser = new Parser(); -const { document, diagnostics } = await fromFile(parser, './asyncapi.yaml').parse(); +const { document, diagnostics } = await fromFile( + parser, + "./asyncapi.yaml", +).parse(); ``` ### [Example with stringify and unstringify parsed document](#stringify) ```ts -import { Parser, stringify, unstringify } from '@asyncapi/parser'; +import { Parser, stringify, unstringify } from "@asyncapi/parser"; const parser = new Parser(); @@ -218,7 +223,7 @@ Parser-JS API implements a global API definition for all AsyncAPI parser impleme The following table shows a compatibility matrix between this parser, and the [Parser-API](https://github.com/asyncapi/parser-api), as well as the AsyncAPI spec version supported by each release of this parser. | Parser-JS | Parser-API | Spec 2.x | Spec 3.x | -|-----------|-----------------------------------------------------------------------|----------|----------| +| --------- | --------------------------------------------------------------------- | -------- | -------- | | 2.x | [1.x](https://github.com/asyncapi/parser-api/blob/v1.0.0/docs/v1.md) | ✓ | | | 3.x | [3.x](https://github.com/asyncapi/parser-api/blob/v3.0.0/docs/api.md) | ✓ | ✓ | @@ -234,7 +239,7 @@ Additionally to all the methods declared in the [Parser-API](https://github.com/ ## Spectral rulesets -[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. +[Spectral](https://github.com/stoplightio/spectral) powers the validation of AsyncAPI documents within ParserJS. The default [built-in rulesets](src/ruleset) are: - Core ruleset: @@ -246,26 +251,27 @@ The default [built-in rulesets](src/ruleset) are: - Core rulesets: Rules that generate validation errors if not fulfilled by a particular Spec version. - Recommended rulesets: Best practices for a particular Spec version -It is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: +It is possible to use your rulesets/rules or overwrite existing ones, passing the `ruleset` option to the Parser instance: ```ts -import { Parser, stringify, unstringify } from '@asyncapi/parser'; +import { Parser, stringify, unstringify } from "@asyncapi/parser"; const parser = new Parser({ ruleset: { extends: [], rules: { - 'asyncapi-defaultContentType': 'off', - 'asyncapi-termsOfService': { - description: 'Info "termsOfService" should be present and non-empty string.', + "asyncapi-defaultContentType": "off", + "asyncapi-termsOfService": { + description: + 'Info "termsOfService" should be present and non-empty string.', recommended: true, - given: '$', + given: "$", then: { - field: 'info.termsOfService', - function: 'truthy', + field: "info.termsOfService", + function: "truthy", }, }, - } - } + }, + }, }); // The returned diagnostics object will include `asyncapi-termsOfService` diagnostic with `warning` (`recommended: true`) severity because `$.info.termsOfService` is not defined in the following AsyncAPI document. // On the other hand, since we turned it off, we won't see the diagnostics related to the `defaultContentType` field. @@ -278,8 +284,7 @@ const diagnostics = await parser.validate(` `); ``` -[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. - +[ParserJS has some built-in Spectral rulesets](./docs/ruleset) that validate AsyncAPI documents and inform on good practices. ## Using in the browser/SPA applications @@ -326,34 +331,34 @@ AsyncAPI doesn't enforce one schema format. The payload of the messages can be d 1. Create custom parser module that exports three functions: - - `validate` - function that validates (its syntax) used schema. - - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). - - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. - - Example: - - ```ts - export default { - validate(input) { ... }, - parse(input) { ... }, - getMimeTypes() { - return [ - 'application/vnd.custom.type;version=1.0.0', - 'application/vnd.custom.type+json;version=1.0.0', - ] - } - } - ``` + - `validate` - function that validates (its syntax) used schema. + - `parse` - function that parses the given schema to the [AsyncAPI Schema Format](https://github.com/asyncapi/spec/blob/master/spec/asyncapi.md#schemaObject). + - `getMimeTypes` - function that returns the list of mime types that will be used as the `schemaFormat` property to determine the mime type of a given schema. + + Example: + + ```ts + export default { + validate(input) { ... }, + parse(input) { ... }, + getMimeTypes() { + return [ + 'application/vnd.custom.type;version=1.0.0', + 'application/vnd.custom.type+json;version=1.0.0', + ] + } + } + ``` 2. Before parsing/validating an AsyncAPI document with a parser, register the additional custom schema parser: - ```ts - import { Parser } from '@asyncapi/parser'; - import myCustomSchemaParser from './my-custom-schema-parser'; + ```ts + import { Parser } from "@asyncapi/parser"; + import myCustomSchemaParser from "./my-custom-schema-parser"; - const parser = new Parser(); - parser.registerSchemaParser(myCustomSchemaParser); - ``` + const parser = new Parser(); + parser.registerSchemaParser(myCustomSchemaParser); + ``` ### Official supported custom schema parsers @@ -421,7 +426,7 @@ For that, the Parser supports the ability to stringify a parsed AsyncAPI documen "foo": "$ref:$.some.path.to.the.bar" } ``` - + To parse a stringified document into an AsyncAPIDocument instance, you must use the `unstringify` function (also exposed by package). It isn't compatible with the native `JSON.parse()` method. It replaces the given references pointed by the [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) path, with an `$ref:` prefix to the original objects. A few advantages of this solution: @@ -449,6 +454,7 @@ const oldAsyncAPIDocument = convertToOldAPI(document); ## Notes ### Using with Webpack + Versions `<5` of Webpack should handle bundling without problems. Due to the fact that Webpack 5 no longer does fallbacks to native NodeJS modules by default we need to install `buffer` package and add fallbacks: ```js @@ -466,7 +472,7 @@ Versions `<5` of Webpack should handle bundling without problems. Due to the fac ### Testing with [Jest](https://jestjs.io/) -Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: +Using a Parser in an application that is tested using [Jest](https://jestjs.io/), there will probably an error like: ```bash Cannot find module 'nimma/legacy' from 'node_modules/@stoplight/spectral-core/dist/runner/runner.js @@ -488,6 +494,7 @@ moduleNameMapper: { 3. Make sure all tests pass `npm test` For Windows environments, some tests might still fail randomly during local development even when you made no changes to the tests. The reason for this from file endings are different than expected and this comes from Git defaulting to an unexpected file ending. If you encounter this issue you can run the following commands to set Git to use the expected one: + ``` git config --global core.autocrlf false git config --global core.eol lf @@ -495,7 +502,6 @@ git config --global core.eol lf 4. Make sure code is well formatted and secure `npm run lint` - ## Contributing Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide. diff --git a/apps/parser/.eslintignore b/packages/parser/.eslintignore similarity index 100% rename from apps/parser/.eslintignore rename to packages/parser/.eslintignore diff --git a/apps/parser/.eslintrc b/packages/parser/.eslintrc similarity index 100% rename from apps/parser/.eslintrc rename to packages/parser/.eslintrc diff --git a/apps/parser/.gitignore b/packages/parser/.gitignore similarity index 100% rename from apps/parser/.gitignore rename to packages/parser/.gitignore diff --git a/apps/parser/LICENSE b/packages/parser/LICENSE similarity index 100% rename from apps/parser/LICENSE rename to packages/parser/LICENSE diff --git a/apps/parser/docs/migrations/v1-to-v2.md b/packages/parser/docs/migrations/v1-to-v2.md similarity index 100% rename from apps/parser/docs/migrations/v1-to-v2.md rename to packages/parser/docs/migrations/v1-to-v2.md diff --git a/apps/parser/docs/migrations/v2-to-v3.md b/packages/parser/docs/migrations/v2-to-v3.md similarity index 100% rename from apps/parser/docs/migrations/v2-to-v3.md rename to packages/parser/docs/migrations/v2-to-v3.md diff --git a/apps/parser/docs/ruleset/README.md b/packages/parser/docs/ruleset/README.md similarity index 100% rename from apps/parser/docs/ruleset/README.md rename to packages/parser/docs/ruleset/README.md diff --git a/apps/parser/docs/ruleset/core-ruleset.md b/packages/parser/docs/ruleset/core-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/core-ruleset.md rename to packages/parser/docs/ruleset/core-ruleset.md diff --git a/apps/parser/docs/ruleset/recommended-ruleset.md b/packages/parser/docs/ruleset/recommended-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/recommended-ruleset.md rename to packages/parser/docs/ruleset/recommended-ruleset.md diff --git a/apps/parser/docs/ruleset/v2-core-ruleset.md b/packages/parser/docs/ruleset/v2-core-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/v2-core-ruleset.md rename to packages/parser/docs/ruleset/v2-core-ruleset.md diff --git a/apps/parser/docs/ruleset/v2-recommended-ruleset.md b/packages/parser/docs/ruleset/v2-recommended-ruleset.md similarity index 100% rename from apps/parser/docs/ruleset/v2-recommended-ruleset.md rename to packages/parser/docs/ruleset/v2-recommended-ruleset.md diff --git a/apps/parser/jest.config.ts b/packages/parser/jest.config.ts similarity index 100% rename from apps/parser/jest.config.ts rename to packages/parser/jest.config.ts diff --git a/apps/parser/package-lock.json b/packages/parser/package-lock.json similarity index 100% rename from apps/parser/package-lock.json rename to packages/parser/package-lock.json diff --git a/apps/parser/package.json b/packages/parser/package.json similarity index 98% rename from apps/parser/package.json rename to packages/parser/package.json index d623f8611..cb0ef4f23 100644 --- a/apps/parser/package.json +++ b/packages/parser/package.json @@ -1,5 +1,5 @@ { - "name": "@ayushnautiyal706020/parser", + "name": "@asyncapi/parser", "version": "3.0.14", "description": "JavaScript AsyncAPI parser.", "private": false, diff --git a/apps/parser/src/constants.ts b/packages/parser/src/constants.ts similarity index 100% rename from apps/parser/src/constants.ts rename to packages/parser/src/constants.ts diff --git a/apps/parser/src/custom-operations/anonymous-naming.ts b/packages/parser/src/custom-operations/anonymous-naming.ts similarity index 100% rename from apps/parser/src/custom-operations/anonymous-naming.ts rename to packages/parser/src/custom-operations/anonymous-naming.ts diff --git a/apps/parser/src/custom-operations/apply-traits.ts b/packages/parser/src/custom-operations/apply-traits.ts similarity index 100% rename from apps/parser/src/custom-operations/apply-traits.ts rename to packages/parser/src/custom-operations/apply-traits.ts diff --git a/apps/parser/src/custom-operations/apply-unique-ids.ts b/packages/parser/src/custom-operations/apply-unique-ids.ts similarity index 100% rename from apps/parser/src/custom-operations/apply-unique-ids.ts rename to packages/parser/src/custom-operations/apply-unique-ids.ts diff --git a/apps/parser/src/custom-operations/check-circular-refs.ts b/packages/parser/src/custom-operations/check-circular-refs.ts similarity index 100% rename from apps/parser/src/custom-operations/check-circular-refs.ts rename to packages/parser/src/custom-operations/check-circular-refs.ts diff --git a/apps/parser/src/custom-operations/index.ts b/packages/parser/src/custom-operations/index.ts similarity index 100% rename from apps/parser/src/custom-operations/index.ts rename to packages/parser/src/custom-operations/index.ts diff --git a/apps/parser/src/custom-operations/parse-schema.ts b/packages/parser/src/custom-operations/parse-schema.ts similarity index 100% rename from apps/parser/src/custom-operations/parse-schema.ts rename to packages/parser/src/custom-operations/parse-schema.ts diff --git a/apps/parser/src/custom-operations/resolve-circular-refs.ts b/packages/parser/src/custom-operations/resolve-circular-refs.ts similarity index 100% rename from apps/parser/src/custom-operations/resolve-circular-refs.ts rename to packages/parser/src/custom-operations/resolve-circular-refs.ts diff --git a/apps/parser/src/document.ts b/packages/parser/src/document.ts similarity index 100% rename from apps/parser/src/document.ts rename to packages/parser/src/document.ts diff --git a/apps/parser/src/from.ts b/packages/parser/src/from.ts similarity index 100% rename from apps/parser/src/from.ts rename to packages/parser/src/from.ts diff --git a/apps/parser/src/index.ts b/packages/parser/src/index.ts similarity index 100% rename from apps/parser/src/index.ts rename to packages/parser/src/index.ts diff --git a/apps/parser/src/iterator.ts b/packages/parser/src/iterator.ts similarity index 100% rename from apps/parser/src/iterator.ts rename to packages/parser/src/iterator.ts diff --git a/apps/parser/src/models/asyncapi.ts b/packages/parser/src/models/asyncapi.ts similarity index 100% rename from apps/parser/src/models/asyncapi.ts rename to packages/parser/src/models/asyncapi.ts diff --git a/apps/parser/src/models/base.ts b/packages/parser/src/models/base.ts similarity index 100% rename from apps/parser/src/models/base.ts rename to packages/parser/src/models/base.ts diff --git a/apps/parser/src/models/binding.ts b/packages/parser/src/models/binding.ts similarity index 100% rename from apps/parser/src/models/binding.ts rename to packages/parser/src/models/binding.ts diff --git a/apps/parser/src/models/bindings.ts b/packages/parser/src/models/bindings.ts similarity index 100% rename from apps/parser/src/models/bindings.ts rename to packages/parser/src/models/bindings.ts diff --git a/apps/parser/src/models/channel-parameter.ts b/packages/parser/src/models/channel-parameter.ts similarity index 100% rename from apps/parser/src/models/channel-parameter.ts rename to packages/parser/src/models/channel-parameter.ts diff --git a/apps/parser/src/models/channel-parameters.ts b/packages/parser/src/models/channel-parameters.ts similarity index 100% rename from apps/parser/src/models/channel-parameters.ts rename to packages/parser/src/models/channel-parameters.ts diff --git a/apps/parser/src/models/channel.ts b/packages/parser/src/models/channel.ts similarity index 100% rename from apps/parser/src/models/channel.ts rename to packages/parser/src/models/channel.ts diff --git a/apps/parser/src/models/channels.ts b/packages/parser/src/models/channels.ts similarity index 100% rename from apps/parser/src/models/channels.ts rename to packages/parser/src/models/channels.ts diff --git a/apps/parser/src/models/collection.ts b/packages/parser/src/models/collection.ts similarity index 100% rename from apps/parser/src/models/collection.ts rename to packages/parser/src/models/collection.ts diff --git a/apps/parser/src/models/components.ts b/packages/parser/src/models/components.ts similarity index 100% rename from apps/parser/src/models/components.ts rename to packages/parser/src/models/components.ts diff --git a/apps/parser/src/models/contact.ts b/packages/parser/src/models/contact.ts similarity index 100% rename from apps/parser/src/models/contact.ts rename to packages/parser/src/models/contact.ts diff --git a/apps/parser/src/models/correlation-id.ts b/packages/parser/src/models/correlation-id.ts similarity index 100% rename from apps/parser/src/models/correlation-id.ts rename to packages/parser/src/models/correlation-id.ts diff --git a/apps/parser/src/models/correlation-ids.ts b/packages/parser/src/models/correlation-ids.ts similarity index 100% rename from apps/parser/src/models/correlation-ids.ts rename to packages/parser/src/models/correlation-ids.ts diff --git a/apps/parser/src/models/extension.ts b/packages/parser/src/models/extension.ts similarity index 100% rename from apps/parser/src/models/extension.ts rename to packages/parser/src/models/extension.ts diff --git a/apps/parser/src/models/extensions.ts b/packages/parser/src/models/extensions.ts similarity index 100% rename from apps/parser/src/models/extensions.ts rename to packages/parser/src/models/extensions.ts diff --git a/apps/parser/src/models/external-docs.ts b/packages/parser/src/models/external-docs.ts similarity index 100% rename from apps/parser/src/models/external-docs.ts rename to packages/parser/src/models/external-docs.ts diff --git a/apps/parser/src/models/external-documentation.ts b/packages/parser/src/models/external-documentation.ts similarity index 100% rename from apps/parser/src/models/external-documentation.ts rename to packages/parser/src/models/external-documentation.ts diff --git a/apps/parser/src/models/external-documentations.ts b/packages/parser/src/models/external-documentations.ts similarity index 100% rename from apps/parser/src/models/external-documentations.ts rename to packages/parser/src/models/external-documentations.ts diff --git a/apps/parser/src/models/index.ts b/packages/parser/src/models/index.ts similarity index 100% rename from apps/parser/src/models/index.ts rename to packages/parser/src/models/index.ts diff --git a/apps/parser/src/models/info.ts b/packages/parser/src/models/info.ts similarity index 100% rename from apps/parser/src/models/info.ts rename to packages/parser/src/models/info.ts diff --git a/apps/parser/src/models/license.ts b/packages/parser/src/models/license.ts similarity index 100% rename from apps/parser/src/models/license.ts rename to packages/parser/src/models/license.ts diff --git a/apps/parser/src/models/message-example.ts b/packages/parser/src/models/message-example.ts similarity index 100% rename from apps/parser/src/models/message-example.ts rename to packages/parser/src/models/message-example.ts diff --git a/apps/parser/src/models/message-examples.ts b/packages/parser/src/models/message-examples.ts similarity index 100% rename from apps/parser/src/models/message-examples.ts rename to packages/parser/src/models/message-examples.ts diff --git a/apps/parser/src/models/message-trait.ts b/packages/parser/src/models/message-trait.ts similarity index 100% rename from apps/parser/src/models/message-trait.ts rename to packages/parser/src/models/message-trait.ts diff --git a/apps/parser/src/models/message-traits.ts b/packages/parser/src/models/message-traits.ts similarity index 100% rename from apps/parser/src/models/message-traits.ts rename to packages/parser/src/models/message-traits.ts diff --git a/apps/parser/src/models/message.ts b/packages/parser/src/models/message.ts similarity index 100% rename from apps/parser/src/models/message.ts rename to packages/parser/src/models/message.ts diff --git a/apps/parser/src/models/messages.ts b/packages/parser/src/models/messages.ts similarity index 100% rename from apps/parser/src/models/messages.ts rename to packages/parser/src/models/messages.ts diff --git a/apps/parser/src/models/mixins.ts b/packages/parser/src/models/mixins.ts similarity index 100% rename from apps/parser/src/models/mixins.ts rename to packages/parser/src/models/mixins.ts diff --git a/apps/parser/src/models/oauth-flow.ts b/packages/parser/src/models/oauth-flow.ts similarity index 100% rename from apps/parser/src/models/oauth-flow.ts rename to packages/parser/src/models/oauth-flow.ts diff --git a/apps/parser/src/models/oauth-flows.ts b/packages/parser/src/models/oauth-flows.ts similarity index 100% rename from apps/parser/src/models/oauth-flows.ts rename to packages/parser/src/models/oauth-flows.ts diff --git a/apps/parser/src/models/operation-replies.ts b/packages/parser/src/models/operation-replies.ts similarity index 100% rename from apps/parser/src/models/operation-replies.ts rename to packages/parser/src/models/operation-replies.ts diff --git a/apps/parser/src/models/operation-reply-address.ts b/packages/parser/src/models/operation-reply-address.ts similarity index 100% rename from apps/parser/src/models/operation-reply-address.ts rename to packages/parser/src/models/operation-reply-address.ts diff --git a/apps/parser/src/models/operation-reply-addresses.ts b/packages/parser/src/models/operation-reply-addresses.ts similarity index 100% rename from apps/parser/src/models/operation-reply-addresses.ts rename to packages/parser/src/models/operation-reply-addresses.ts diff --git a/apps/parser/src/models/operation-reply.ts b/packages/parser/src/models/operation-reply.ts similarity index 100% rename from apps/parser/src/models/operation-reply.ts rename to packages/parser/src/models/operation-reply.ts diff --git a/apps/parser/src/models/operation-trait.ts b/packages/parser/src/models/operation-trait.ts similarity index 100% rename from apps/parser/src/models/operation-trait.ts rename to packages/parser/src/models/operation-trait.ts diff --git a/apps/parser/src/models/operation-traits.ts b/packages/parser/src/models/operation-traits.ts similarity index 100% rename from apps/parser/src/models/operation-traits.ts rename to packages/parser/src/models/operation-traits.ts diff --git a/apps/parser/src/models/operation.ts b/packages/parser/src/models/operation.ts similarity index 100% rename from apps/parser/src/models/operation.ts rename to packages/parser/src/models/operation.ts diff --git a/apps/parser/src/models/operations.ts b/packages/parser/src/models/operations.ts similarity index 100% rename from apps/parser/src/models/operations.ts rename to packages/parser/src/models/operations.ts diff --git a/apps/parser/src/models/schema.ts b/packages/parser/src/models/schema.ts similarity index 100% rename from apps/parser/src/models/schema.ts rename to packages/parser/src/models/schema.ts diff --git a/apps/parser/src/models/schemas.ts b/packages/parser/src/models/schemas.ts similarity index 100% rename from apps/parser/src/models/schemas.ts rename to packages/parser/src/models/schemas.ts diff --git a/apps/parser/src/models/security-requirement.ts b/packages/parser/src/models/security-requirement.ts similarity index 100% rename from apps/parser/src/models/security-requirement.ts rename to packages/parser/src/models/security-requirement.ts diff --git a/apps/parser/src/models/security-requirements.ts b/packages/parser/src/models/security-requirements.ts similarity index 100% rename from apps/parser/src/models/security-requirements.ts rename to packages/parser/src/models/security-requirements.ts diff --git a/apps/parser/src/models/security-scheme.ts b/packages/parser/src/models/security-scheme.ts similarity index 100% rename from apps/parser/src/models/security-scheme.ts rename to packages/parser/src/models/security-scheme.ts diff --git a/apps/parser/src/models/security-schemes.ts b/packages/parser/src/models/security-schemes.ts similarity index 100% rename from apps/parser/src/models/security-schemes.ts rename to packages/parser/src/models/security-schemes.ts diff --git a/apps/parser/src/models/server-variable.ts b/packages/parser/src/models/server-variable.ts similarity index 100% rename from apps/parser/src/models/server-variable.ts rename to packages/parser/src/models/server-variable.ts diff --git a/apps/parser/src/models/server-variables.ts b/packages/parser/src/models/server-variables.ts similarity index 100% rename from apps/parser/src/models/server-variables.ts rename to packages/parser/src/models/server-variables.ts diff --git a/apps/parser/src/models/server.ts b/packages/parser/src/models/server.ts similarity index 100% rename from apps/parser/src/models/server.ts rename to packages/parser/src/models/server.ts diff --git a/apps/parser/src/models/servers.ts b/packages/parser/src/models/servers.ts similarity index 100% rename from apps/parser/src/models/servers.ts rename to packages/parser/src/models/servers.ts diff --git a/apps/parser/src/models/tag.ts b/packages/parser/src/models/tag.ts similarity index 100% rename from apps/parser/src/models/tag.ts rename to packages/parser/src/models/tag.ts diff --git a/apps/parser/src/models/tags.ts b/packages/parser/src/models/tags.ts similarity index 100% rename from apps/parser/src/models/tags.ts rename to packages/parser/src/models/tags.ts diff --git a/apps/parser/src/models/utils.ts b/packages/parser/src/models/utils.ts similarity index 100% rename from apps/parser/src/models/utils.ts rename to packages/parser/src/models/utils.ts diff --git a/apps/parser/src/models/v2/asyncapi.ts b/packages/parser/src/models/v2/asyncapi.ts similarity index 100% rename from apps/parser/src/models/v2/asyncapi.ts rename to packages/parser/src/models/v2/asyncapi.ts diff --git a/apps/parser/src/models/v2/binding.ts b/packages/parser/src/models/v2/binding.ts similarity index 100% rename from apps/parser/src/models/v2/binding.ts rename to packages/parser/src/models/v2/binding.ts diff --git a/apps/parser/src/models/v2/bindings.ts b/packages/parser/src/models/v2/bindings.ts similarity index 100% rename from apps/parser/src/models/v2/bindings.ts rename to packages/parser/src/models/v2/bindings.ts diff --git a/apps/parser/src/models/v2/channel-parameter.ts b/packages/parser/src/models/v2/channel-parameter.ts similarity index 100% rename from apps/parser/src/models/v2/channel-parameter.ts rename to packages/parser/src/models/v2/channel-parameter.ts diff --git a/apps/parser/src/models/v2/channel-parameters.ts b/packages/parser/src/models/v2/channel-parameters.ts similarity index 100% rename from apps/parser/src/models/v2/channel-parameters.ts rename to packages/parser/src/models/v2/channel-parameters.ts diff --git a/apps/parser/src/models/v2/channel.ts b/packages/parser/src/models/v2/channel.ts similarity index 100% rename from apps/parser/src/models/v2/channel.ts rename to packages/parser/src/models/v2/channel.ts diff --git a/apps/parser/src/models/v2/channels.ts b/packages/parser/src/models/v2/channels.ts similarity index 100% rename from apps/parser/src/models/v2/channels.ts rename to packages/parser/src/models/v2/channels.ts diff --git a/apps/parser/src/models/v2/components.ts b/packages/parser/src/models/v2/components.ts similarity index 100% rename from apps/parser/src/models/v2/components.ts rename to packages/parser/src/models/v2/components.ts diff --git a/apps/parser/src/models/v2/contact.ts b/packages/parser/src/models/v2/contact.ts similarity index 100% rename from apps/parser/src/models/v2/contact.ts rename to packages/parser/src/models/v2/contact.ts diff --git a/apps/parser/src/models/v2/correlation-id.ts b/packages/parser/src/models/v2/correlation-id.ts similarity index 100% rename from apps/parser/src/models/v2/correlation-id.ts rename to packages/parser/src/models/v2/correlation-id.ts diff --git a/apps/parser/src/models/v2/correlation-ids.ts b/packages/parser/src/models/v2/correlation-ids.ts similarity index 100% rename from apps/parser/src/models/v2/correlation-ids.ts rename to packages/parser/src/models/v2/correlation-ids.ts diff --git a/apps/parser/src/models/v2/extension.ts b/packages/parser/src/models/v2/extension.ts similarity index 100% rename from apps/parser/src/models/v2/extension.ts rename to packages/parser/src/models/v2/extension.ts diff --git a/apps/parser/src/models/v2/extensions.ts b/packages/parser/src/models/v2/extensions.ts similarity index 100% rename from apps/parser/src/models/v2/extensions.ts rename to packages/parser/src/models/v2/extensions.ts diff --git a/apps/parser/src/models/v2/external-docs.ts b/packages/parser/src/models/v2/external-docs.ts similarity index 100% rename from apps/parser/src/models/v2/external-docs.ts rename to packages/parser/src/models/v2/external-docs.ts diff --git a/apps/parser/src/models/v2/index.ts b/packages/parser/src/models/v2/index.ts similarity index 100% rename from apps/parser/src/models/v2/index.ts rename to packages/parser/src/models/v2/index.ts diff --git a/apps/parser/src/models/v2/info.ts b/packages/parser/src/models/v2/info.ts similarity index 100% rename from apps/parser/src/models/v2/info.ts rename to packages/parser/src/models/v2/info.ts diff --git a/apps/parser/src/models/v2/license.ts b/packages/parser/src/models/v2/license.ts similarity index 100% rename from apps/parser/src/models/v2/license.ts rename to packages/parser/src/models/v2/license.ts diff --git a/apps/parser/src/models/v2/message-example.ts b/packages/parser/src/models/v2/message-example.ts similarity index 100% rename from apps/parser/src/models/v2/message-example.ts rename to packages/parser/src/models/v2/message-example.ts diff --git a/apps/parser/src/models/v2/message-examples.ts b/packages/parser/src/models/v2/message-examples.ts similarity index 100% rename from apps/parser/src/models/v2/message-examples.ts rename to packages/parser/src/models/v2/message-examples.ts diff --git a/apps/parser/src/models/v2/message-trait.ts b/packages/parser/src/models/v2/message-trait.ts similarity index 100% rename from apps/parser/src/models/v2/message-trait.ts rename to packages/parser/src/models/v2/message-trait.ts diff --git a/apps/parser/src/models/v2/message-traits.ts b/packages/parser/src/models/v2/message-traits.ts similarity index 100% rename from apps/parser/src/models/v2/message-traits.ts rename to packages/parser/src/models/v2/message-traits.ts diff --git a/apps/parser/src/models/v2/message.ts b/packages/parser/src/models/v2/message.ts similarity index 100% rename from apps/parser/src/models/v2/message.ts rename to packages/parser/src/models/v2/message.ts diff --git a/apps/parser/src/models/v2/messages.ts b/packages/parser/src/models/v2/messages.ts similarity index 100% rename from apps/parser/src/models/v2/messages.ts rename to packages/parser/src/models/v2/messages.ts diff --git a/apps/parser/src/models/v2/mixins.ts b/packages/parser/src/models/v2/mixins.ts similarity index 100% rename from apps/parser/src/models/v2/mixins.ts rename to packages/parser/src/models/v2/mixins.ts diff --git a/apps/parser/src/models/v2/oauth-flow.ts b/packages/parser/src/models/v2/oauth-flow.ts similarity index 100% rename from apps/parser/src/models/v2/oauth-flow.ts rename to packages/parser/src/models/v2/oauth-flow.ts diff --git a/apps/parser/src/models/v2/oauth-flows.ts b/packages/parser/src/models/v2/oauth-flows.ts similarity index 100% rename from apps/parser/src/models/v2/oauth-flows.ts rename to packages/parser/src/models/v2/oauth-flows.ts diff --git a/apps/parser/src/models/v2/operation-trait.ts b/packages/parser/src/models/v2/operation-trait.ts similarity index 100% rename from apps/parser/src/models/v2/operation-trait.ts rename to packages/parser/src/models/v2/operation-trait.ts diff --git a/apps/parser/src/models/v2/operation-traits.ts b/packages/parser/src/models/v2/operation-traits.ts similarity index 100% rename from apps/parser/src/models/v2/operation-traits.ts rename to packages/parser/src/models/v2/operation-traits.ts diff --git a/apps/parser/src/models/v2/operation.ts b/packages/parser/src/models/v2/operation.ts similarity index 100% rename from apps/parser/src/models/v2/operation.ts rename to packages/parser/src/models/v2/operation.ts diff --git a/apps/parser/src/models/v2/operations.ts b/packages/parser/src/models/v2/operations.ts similarity index 100% rename from apps/parser/src/models/v2/operations.ts rename to packages/parser/src/models/v2/operations.ts diff --git a/apps/parser/src/models/v2/schema.ts b/packages/parser/src/models/v2/schema.ts similarity index 100% rename from apps/parser/src/models/v2/schema.ts rename to packages/parser/src/models/v2/schema.ts diff --git a/apps/parser/src/models/v2/schemas.ts b/packages/parser/src/models/v2/schemas.ts similarity index 100% rename from apps/parser/src/models/v2/schemas.ts rename to packages/parser/src/models/v2/schemas.ts diff --git a/apps/parser/src/models/v2/security-requirement.ts b/packages/parser/src/models/v2/security-requirement.ts similarity index 100% rename from apps/parser/src/models/v2/security-requirement.ts rename to packages/parser/src/models/v2/security-requirement.ts diff --git a/apps/parser/src/models/v2/security-requirements.ts b/packages/parser/src/models/v2/security-requirements.ts similarity index 100% rename from apps/parser/src/models/v2/security-requirements.ts rename to packages/parser/src/models/v2/security-requirements.ts diff --git a/apps/parser/src/models/v2/security-scheme.ts b/packages/parser/src/models/v2/security-scheme.ts similarity index 100% rename from apps/parser/src/models/v2/security-scheme.ts rename to packages/parser/src/models/v2/security-scheme.ts diff --git a/apps/parser/src/models/v2/security-schemes.ts b/packages/parser/src/models/v2/security-schemes.ts similarity index 100% rename from apps/parser/src/models/v2/security-schemes.ts rename to packages/parser/src/models/v2/security-schemes.ts diff --git a/apps/parser/src/models/v2/server-variable.ts b/packages/parser/src/models/v2/server-variable.ts similarity index 100% rename from apps/parser/src/models/v2/server-variable.ts rename to packages/parser/src/models/v2/server-variable.ts diff --git a/apps/parser/src/models/v2/server-variables.ts b/packages/parser/src/models/v2/server-variables.ts similarity index 100% rename from apps/parser/src/models/v2/server-variables.ts rename to packages/parser/src/models/v2/server-variables.ts diff --git a/apps/parser/src/models/v2/server.ts b/packages/parser/src/models/v2/server.ts similarity index 100% rename from apps/parser/src/models/v2/server.ts rename to packages/parser/src/models/v2/server.ts diff --git a/apps/parser/src/models/v2/servers.ts b/packages/parser/src/models/v2/servers.ts similarity index 100% rename from apps/parser/src/models/v2/servers.ts rename to packages/parser/src/models/v2/servers.ts diff --git a/apps/parser/src/models/v2/tag.ts b/packages/parser/src/models/v2/tag.ts similarity index 100% rename from apps/parser/src/models/v2/tag.ts rename to packages/parser/src/models/v2/tag.ts diff --git a/apps/parser/src/models/v2/tags.ts b/packages/parser/src/models/v2/tags.ts similarity index 100% rename from apps/parser/src/models/v2/tags.ts rename to packages/parser/src/models/v2/tags.ts diff --git a/apps/parser/src/models/v3/asyncapi.ts b/packages/parser/src/models/v3/asyncapi.ts similarity index 100% rename from apps/parser/src/models/v3/asyncapi.ts rename to packages/parser/src/models/v3/asyncapi.ts diff --git a/apps/parser/src/models/v3/binding.ts b/packages/parser/src/models/v3/binding.ts similarity index 100% rename from apps/parser/src/models/v3/binding.ts rename to packages/parser/src/models/v3/binding.ts diff --git a/apps/parser/src/models/v3/bindings.ts b/packages/parser/src/models/v3/bindings.ts similarity index 100% rename from apps/parser/src/models/v3/bindings.ts rename to packages/parser/src/models/v3/bindings.ts diff --git a/apps/parser/src/models/v3/channel-parameter.ts b/packages/parser/src/models/v3/channel-parameter.ts similarity index 100% rename from apps/parser/src/models/v3/channel-parameter.ts rename to packages/parser/src/models/v3/channel-parameter.ts diff --git a/apps/parser/src/models/v3/channel-parameters.ts b/packages/parser/src/models/v3/channel-parameters.ts similarity index 100% rename from apps/parser/src/models/v3/channel-parameters.ts rename to packages/parser/src/models/v3/channel-parameters.ts diff --git a/apps/parser/src/models/v3/channel.ts b/packages/parser/src/models/v3/channel.ts similarity index 100% rename from apps/parser/src/models/v3/channel.ts rename to packages/parser/src/models/v3/channel.ts diff --git a/apps/parser/src/models/v3/channels.ts b/packages/parser/src/models/v3/channels.ts similarity index 100% rename from apps/parser/src/models/v3/channels.ts rename to packages/parser/src/models/v3/channels.ts diff --git a/apps/parser/src/models/v3/components.ts b/packages/parser/src/models/v3/components.ts similarity index 100% rename from apps/parser/src/models/v3/components.ts rename to packages/parser/src/models/v3/components.ts diff --git a/apps/parser/src/models/v3/contact.ts b/packages/parser/src/models/v3/contact.ts similarity index 100% rename from apps/parser/src/models/v3/contact.ts rename to packages/parser/src/models/v3/contact.ts diff --git a/apps/parser/src/models/v3/correlation-id.ts b/packages/parser/src/models/v3/correlation-id.ts similarity index 100% rename from apps/parser/src/models/v3/correlation-id.ts rename to packages/parser/src/models/v3/correlation-id.ts diff --git a/apps/parser/src/models/v3/correlation-ids.ts b/packages/parser/src/models/v3/correlation-ids.ts similarity index 100% rename from apps/parser/src/models/v3/correlation-ids.ts rename to packages/parser/src/models/v3/correlation-ids.ts diff --git a/apps/parser/src/models/v3/extension.ts b/packages/parser/src/models/v3/extension.ts similarity index 100% rename from apps/parser/src/models/v3/extension.ts rename to packages/parser/src/models/v3/extension.ts diff --git a/apps/parser/src/models/v3/extensions.ts b/packages/parser/src/models/v3/extensions.ts similarity index 100% rename from apps/parser/src/models/v3/extensions.ts rename to packages/parser/src/models/v3/extensions.ts diff --git a/apps/parser/src/models/v3/external-docs.ts b/packages/parser/src/models/v3/external-docs.ts similarity index 100% rename from apps/parser/src/models/v3/external-docs.ts rename to packages/parser/src/models/v3/external-docs.ts diff --git a/apps/parser/src/models/v3/index.ts b/packages/parser/src/models/v3/index.ts similarity index 100% rename from apps/parser/src/models/v3/index.ts rename to packages/parser/src/models/v3/index.ts diff --git a/apps/parser/src/models/v3/info.ts b/packages/parser/src/models/v3/info.ts similarity index 100% rename from apps/parser/src/models/v3/info.ts rename to packages/parser/src/models/v3/info.ts diff --git a/apps/parser/src/models/v3/license.ts b/packages/parser/src/models/v3/license.ts similarity index 100% rename from apps/parser/src/models/v3/license.ts rename to packages/parser/src/models/v3/license.ts diff --git a/apps/parser/src/models/v3/message-example.ts b/packages/parser/src/models/v3/message-example.ts similarity index 100% rename from apps/parser/src/models/v3/message-example.ts rename to packages/parser/src/models/v3/message-example.ts diff --git a/apps/parser/src/models/v3/message-examples.ts b/packages/parser/src/models/v3/message-examples.ts similarity index 100% rename from apps/parser/src/models/v3/message-examples.ts rename to packages/parser/src/models/v3/message-examples.ts diff --git a/apps/parser/src/models/v3/message-trait.ts b/packages/parser/src/models/v3/message-trait.ts similarity index 100% rename from apps/parser/src/models/v3/message-trait.ts rename to packages/parser/src/models/v3/message-trait.ts diff --git a/apps/parser/src/models/v3/message-traits.ts b/packages/parser/src/models/v3/message-traits.ts similarity index 100% rename from apps/parser/src/models/v3/message-traits.ts rename to packages/parser/src/models/v3/message-traits.ts diff --git a/apps/parser/src/models/v3/message.ts b/packages/parser/src/models/v3/message.ts similarity index 100% rename from apps/parser/src/models/v3/message.ts rename to packages/parser/src/models/v3/message.ts diff --git a/apps/parser/src/models/v3/messages.ts b/packages/parser/src/models/v3/messages.ts similarity index 100% rename from apps/parser/src/models/v3/messages.ts rename to packages/parser/src/models/v3/messages.ts diff --git a/apps/parser/src/models/v3/mixins.ts b/packages/parser/src/models/v3/mixins.ts similarity index 100% rename from apps/parser/src/models/v3/mixins.ts rename to packages/parser/src/models/v3/mixins.ts diff --git a/apps/parser/src/models/v3/oauth-flow.ts b/packages/parser/src/models/v3/oauth-flow.ts similarity index 100% rename from apps/parser/src/models/v3/oauth-flow.ts rename to packages/parser/src/models/v3/oauth-flow.ts diff --git a/apps/parser/src/models/v3/oauth-flows.ts b/packages/parser/src/models/v3/oauth-flows.ts similarity index 100% rename from apps/parser/src/models/v3/oauth-flows.ts rename to packages/parser/src/models/v3/oauth-flows.ts diff --git a/apps/parser/src/models/v3/operation-replies.ts b/packages/parser/src/models/v3/operation-replies.ts similarity index 100% rename from apps/parser/src/models/v3/operation-replies.ts rename to packages/parser/src/models/v3/operation-replies.ts diff --git a/apps/parser/src/models/v3/operation-reply-address.ts b/packages/parser/src/models/v3/operation-reply-address.ts similarity index 100% rename from apps/parser/src/models/v3/operation-reply-address.ts rename to packages/parser/src/models/v3/operation-reply-address.ts diff --git a/apps/parser/src/models/v3/operation-reply-addresses.ts b/packages/parser/src/models/v3/operation-reply-addresses.ts similarity index 100% rename from apps/parser/src/models/v3/operation-reply-addresses.ts rename to packages/parser/src/models/v3/operation-reply-addresses.ts diff --git a/apps/parser/src/models/v3/operation-reply.ts b/packages/parser/src/models/v3/operation-reply.ts similarity index 100% rename from apps/parser/src/models/v3/operation-reply.ts rename to packages/parser/src/models/v3/operation-reply.ts diff --git a/apps/parser/src/models/v3/operation-trait.ts b/packages/parser/src/models/v3/operation-trait.ts similarity index 100% rename from apps/parser/src/models/v3/operation-trait.ts rename to packages/parser/src/models/v3/operation-trait.ts diff --git a/apps/parser/src/models/v3/operation-traits.ts b/packages/parser/src/models/v3/operation-traits.ts similarity index 100% rename from apps/parser/src/models/v3/operation-traits.ts rename to packages/parser/src/models/v3/operation-traits.ts diff --git a/apps/parser/src/models/v3/operation.ts b/packages/parser/src/models/v3/operation.ts similarity index 100% rename from apps/parser/src/models/v3/operation.ts rename to packages/parser/src/models/v3/operation.ts diff --git a/apps/parser/src/models/v3/operations.ts b/packages/parser/src/models/v3/operations.ts similarity index 100% rename from apps/parser/src/models/v3/operations.ts rename to packages/parser/src/models/v3/operations.ts diff --git a/apps/parser/src/models/v3/schema.ts b/packages/parser/src/models/v3/schema.ts similarity index 100% rename from apps/parser/src/models/v3/schema.ts rename to packages/parser/src/models/v3/schema.ts diff --git a/apps/parser/src/models/v3/schemas.ts b/packages/parser/src/models/v3/schemas.ts similarity index 100% rename from apps/parser/src/models/v3/schemas.ts rename to packages/parser/src/models/v3/schemas.ts diff --git a/apps/parser/src/models/v3/security-requirement.ts b/packages/parser/src/models/v3/security-requirement.ts similarity index 100% rename from apps/parser/src/models/v3/security-requirement.ts rename to packages/parser/src/models/v3/security-requirement.ts diff --git a/apps/parser/src/models/v3/security-requirements.ts b/packages/parser/src/models/v3/security-requirements.ts similarity index 100% rename from apps/parser/src/models/v3/security-requirements.ts rename to packages/parser/src/models/v3/security-requirements.ts diff --git a/apps/parser/src/models/v3/security-scheme.ts b/packages/parser/src/models/v3/security-scheme.ts similarity index 100% rename from apps/parser/src/models/v3/security-scheme.ts rename to packages/parser/src/models/v3/security-scheme.ts diff --git a/apps/parser/src/models/v3/security-schemes.ts b/packages/parser/src/models/v3/security-schemes.ts similarity index 100% rename from apps/parser/src/models/v3/security-schemes.ts rename to packages/parser/src/models/v3/security-schemes.ts diff --git a/apps/parser/src/models/v3/server-variable.ts b/packages/parser/src/models/v3/server-variable.ts similarity index 100% rename from apps/parser/src/models/v3/server-variable.ts rename to packages/parser/src/models/v3/server-variable.ts diff --git a/apps/parser/src/models/v3/server-variables.ts b/packages/parser/src/models/v3/server-variables.ts similarity index 100% rename from apps/parser/src/models/v3/server-variables.ts rename to packages/parser/src/models/v3/server-variables.ts diff --git a/apps/parser/src/models/v3/server.ts b/packages/parser/src/models/v3/server.ts similarity index 100% rename from apps/parser/src/models/v3/server.ts rename to packages/parser/src/models/v3/server.ts diff --git a/apps/parser/src/models/v3/servers.ts b/packages/parser/src/models/v3/servers.ts similarity index 100% rename from apps/parser/src/models/v3/servers.ts rename to packages/parser/src/models/v3/servers.ts diff --git a/apps/parser/src/models/v3/tag.ts b/packages/parser/src/models/v3/tag.ts similarity index 100% rename from apps/parser/src/models/v3/tag.ts rename to packages/parser/src/models/v3/tag.ts diff --git a/apps/parser/src/models/v3/tags.ts b/packages/parser/src/models/v3/tags.ts similarity index 100% rename from apps/parser/src/models/v3/tags.ts rename to packages/parser/src/models/v3/tags.ts diff --git a/apps/parser/src/old-api/asyncapi.ts b/packages/parser/src/old-api/asyncapi.ts similarity index 100% rename from apps/parser/src/old-api/asyncapi.ts rename to packages/parser/src/old-api/asyncapi.ts diff --git a/apps/parser/src/old-api/base.ts b/packages/parser/src/old-api/base.ts similarity index 100% rename from apps/parser/src/old-api/base.ts rename to packages/parser/src/old-api/base.ts diff --git a/apps/parser/src/old-api/channel-parameter.ts b/packages/parser/src/old-api/channel-parameter.ts similarity index 100% rename from apps/parser/src/old-api/channel-parameter.ts rename to packages/parser/src/old-api/channel-parameter.ts diff --git a/apps/parser/src/old-api/channel.ts b/packages/parser/src/old-api/channel.ts similarity index 100% rename from apps/parser/src/old-api/channel.ts rename to packages/parser/src/old-api/channel.ts diff --git a/apps/parser/src/old-api/components.ts b/packages/parser/src/old-api/components.ts similarity index 100% rename from apps/parser/src/old-api/components.ts rename to packages/parser/src/old-api/components.ts diff --git a/apps/parser/src/old-api/contact.ts b/packages/parser/src/old-api/contact.ts similarity index 100% rename from apps/parser/src/old-api/contact.ts rename to packages/parser/src/old-api/contact.ts diff --git a/apps/parser/src/old-api/converter.ts b/packages/parser/src/old-api/converter.ts similarity index 100% rename from apps/parser/src/old-api/converter.ts rename to packages/parser/src/old-api/converter.ts diff --git a/apps/parser/src/old-api/correlation-id.ts b/packages/parser/src/old-api/correlation-id.ts similarity index 100% rename from apps/parser/src/old-api/correlation-id.ts rename to packages/parser/src/old-api/correlation-id.ts diff --git a/apps/parser/src/old-api/external-docs.ts b/packages/parser/src/old-api/external-docs.ts similarity index 100% rename from apps/parser/src/old-api/external-docs.ts rename to packages/parser/src/old-api/external-docs.ts diff --git a/apps/parser/src/old-api/index.ts b/packages/parser/src/old-api/index.ts similarity index 100% rename from apps/parser/src/old-api/index.ts rename to packages/parser/src/old-api/index.ts diff --git a/apps/parser/src/old-api/info.ts b/packages/parser/src/old-api/info.ts similarity index 100% rename from apps/parser/src/old-api/info.ts rename to packages/parser/src/old-api/info.ts diff --git a/apps/parser/src/old-api/iterator.ts b/packages/parser/src/old-api/iterator.ts similarity index 100% rename from apps/parser/src/old-api/iterator.ts rename to packages/parser/src/old-api/iterator.ts diff --git a/apps/parser/src/old-api/license.ts b/packages/parser/src/old-api/license.ts similarity index 100% rename from apps/parser/src/old-api/license.ts rename to packages/parser/src/old-api/license.ts diff --git a/apps/parser/src/old-api/message-trait.ts b/packages/parser/src/old-api/message-trait.ts similarity index 100% rename from apps/parser/src/old-api/message-trait.ts rename to packages/parser/src/old-api/message-trait.ts diff --git a/apps/parser/src/old-api/message.ts b/packages/parser/src/old-api/message.ts similarity index 100% rename from apps/parser/src/old-api/message.ts rename to packages/parser/src/old-api/message.ts diff --git a/apps/parser/src/old-api/mixins.ts b/packages/parser/src/old-api/mixins.ts similarity index 100% rename from apps/parser/src/old-api/mixins.ts rename to packages/parser/src/old-api/mixins.ts diff --git a/apps/parser/src/old-api/oauth-flow.ts b/packages/parser/src/old-api/oauth-flow.ts similarity index 100% rename from apps/parser/src/old-api/oauth-flow.ts rename to packages/parser/src/old-api/oauth-flow.ts diff --git a/apps/parser/src/old-api/operation-trait.ts b/packages/parser/src/old-api/operation-trait.ts similarity index 100% rename from apps/parser/src/old-api/operation-trait.ts rename to packages/parser/src/old-api/operation-trait.ts diff --git a/apps/parser/src/old-api/operation.ts b/packages/parser/src/old-api/operation.ts similarity index 100% rename from apps/parser/src/old-api/operation.ts rename to packages/parser/src/old-api/operation.ts diff --git a/apps/parser/src/old-api/schema.ts b/packages/parser/src/old-api/schema.ts similarity index 100% rename from apps/parser/src/old-api/schema.ts rename to packages/parser/src/old-api/schema.ts diff --git a/apps/parser/src/old-api/security-requirement.ts b/packages/parser/src/old-api/security-requirement.ts similarity index 100% rename from apps/parser/src/old-api/security-requirement.ts rename to packages/parser/src/old-api/security-requirement.ts diff --git a/apps/parser/src/old-api/security-scheme.ts b/packages/parser/src/old-api/security-scheme.ts similarity index 100% rename from apps/parser/src/old-api/security-scheme.ts rename to packages/parser/src/old-api/security-scheme.ts diff --git a/apps/parser/src/old-api/server-variable.ts b/packages/parser/src/old-api/server-variable.ts similarity index 100% rename from apps/parser/src/old-api/server-variable.ts rename to packages/parser/src/old-api/server-variable.ts diff --git a/apps/parser/src/old-api/server.ts b/packages/parser/src/old-api/server.ts similarity index 100% rename from apps/parser/src/old-api/server.ts rename to packages/parser/src/old-api/server.ts diff --git a/apps/parser/src/old-api/tag.ts b/packages/parser/src/old-api/tag.ts similarity index 100% rename from apps/parser/src/old-api/tag.ts rename to packages/parser/src/old-api/tag.ts diff --git a/apps/parser/src/parse.ts b/packages/parser/src/parse.ts similarity index 100% rename from apps/parser/src/parse.ts rename to packages/parser/src/parse.ts diff --git a/apps/parser/src/parser.ts b/packages/parser/src/parser.ts similarity index 100% rename from apps/parser/src/parser.ts rename to packages/parser/src/parser.ts diff --git a/apps/parser/src/resolver.ts b/packages/parser/src/resolver.ts similarity index 100% rename from apps/parser/src/resolver.ts rename to packages/parser/src/resolver.ts diff --git a/apps/parser/src/ruleset/formats.ts b/packages/parser/src/ruleset/formats.ts similarity index 100% rename from apps/parser/src/ruleset/formats.ts rename to packages/parser/src/ruleset/formats.ts diff --git a/apps/parser/src/ruleset/functions/documentStructure.ts b/packages/parser/src/ruleset/functions/documentStructure.ts similarity index 100% rename from apps/parser/src/ruleset/functions/documentStructure.ts rename to packages/parser/src/ruleset/functions/documentStructure.ts diff --git a/apps/parser/src/ruleset/functions/internal.ts b/packages/parser/src/ruleset/functions/internal.ts similarity index 100% rename from apps/parser/src/ruleset/functions/internal.ts rename to packages/parser/src/ruleset/functions/internal.ts diff --git a/apps/parser/src/ruleset/functions/isAsyncAPIDocument.ts b/packages/parser/src/ruleset/functions/isAsyncAPIDocument.ts similarity index 100% rename from apps/parser/src/ruleset/functions/isAsyncAPIDocument.ts rename to packages/parser/src/ruleset/functions/isAsyncAPIDocument.ts diff --git a/apps/parser/src/ruleset/functions/uniquenessTags.ts b/packages/parser/src/ruleset/functions/uniquenessTags.ts similarity index 100% rename from apps/parser/src/ruleset/functions/uniquenessTags.ts rename to packages/parser/src/ruleset/functions/uniquenessTags.ts diff --git a/apps/parser/src/ruleset/functions/unusedComponent.ts b/packages/parser/src/ruleset/functions/unusedComponent.ts similarity index 100% rename from apps/parser/src/ruleset/functions/unusedComponent.ts rename to packages/parser/src/ruleset/functions/unusedComponent.ts diff --git a/apps/parser/src/ruleset/index.ts b/packages/parser/src/ruleset/index.ts similarity index 100% rename from apps/parser/src/ruleset/index.ts rename to packages/parser/src/ruleset/index.ts diff --git a/apps/parser/src/ruleset/ruleset.ts b/packages/parser/src/ruleset/ruleset.ts similarity index 100% rename from apps/parser/src/ruleset/ruleset.ts rename to packages/parser/src/ruleset/ruleset.ts diff --git a/apps/parser/src/ruleset/utils/getMissingProps.ts b/packages/parser/src/ruleset/utils/getMissingProps.ts similarity index 100% rename from apps/parser/src/ruleset/utils/getMissingProps.ts rename to packages/parser/src/ruleset/utils/getMissingProps.ts diff --git a/apps/parser/src/ruleset/utils/getRedundantProps.ts b/packages/parser/src/ruleset/utils/getRedundantProps.ts similarity index 100% rename from apps/parser/src/ruleset/utils/getRedundantProps.ts rename to packages/parser/src/ruleset/utils/getRedundantProps.ts diff --git a/apps/parser/src/ruleset/utils/index.ts b/packages/parser/src/ruleset/utils/index.ts similarity index 100% rename from apps/parser/src/ruleset/utils/index.ts rename to packages/parser/src/ruleset/utils/index.ts diff --git a/apps/parser/src/ruleset/utils/mergeTraits.ts b/packages/parser/src/ruleset/utils/mergeTraits.ts similarity index 100% rename from apps/parser/src/ruleset/utils/mergeTraits.ts rename to packages/parser/src/ruleset/utils/mergeTraits.ts diff --git a/apps/parser/src/ruleset/utils/parseUrlVariables.ts b/packages/parser/src/ruleset/utils/parseUrlVariables.ts similarity index 100% rename from apps/parser/src/ruleset/utils/parseUrlVariables.ts rename to packages/parser/src/ruleset/utils/parseUrlVariables.ts diff --git a/apps/parser/src/ruleset/v2/functions/channelParameters.ts b/packages/parser/src/ruleset/v2/functions/channelParameters.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/channelParameters.ts rename to packages/parser/src/ruleset/v2/functions/channelParameters.ts diff --git a/apps/parser/src/ruleset/v2/functions/channelServers.ts b/packages/parser/src/ruleset/v2/functions/channelServers.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/channelServers.ts rename to packages/parser/src/ruleset/v2/functions/channelServers.ts diff --git a/apps/parser/src/ruleset/v2/functions/checkId.ts b/packages/parser/src/ruleset/v2/functions/checkId.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/checkId.ts rename to packages/parser/src/ruleset/v2/functions/checkId.ts diff --git a/apps/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts b/packages/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts rename to packages/parser/src/ruleset/v2/functions/messageExamples-spectral-rule-v2.ts diff --git a/apps/parser/src/ruleset/v2/functions/messageExamples.ts b/packages/parser/src/ruleset/v2/functions/messageExamples.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/messageExamples.ts rename to packages/parser/src/ruleset/v2/functions/messageExamples.ts diff --git a/apps/parser/src/ruleset/v2/functions/messageIdUniqueness.ts b/packages/parser/src/ruleset/v2/functions/messageIdUniqueness.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/messageIdUniqueness.ts rename to packages/parser/src/ruleset/v2/functions/messageIdUniqueness.ts diff --git a/apps/parser/src/ruleset/v2/functions/operationIdUniqueness.ts b/packages/parser/src/ruleset/v2/functions/operationIdUniqueness.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/operationIdUniqueness.ts rename to packages/parser/src/ruleset/v2/functions/operationIdUniqueness.ts diff --git a/apps/parser/src/ruleset/v2/functions/schemaValidation.ts b/packages/parser/src/ruleset/v2/functions/schemaValidation.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/schemaValidation.ts rename to packages/parser/src/ruleset/v2/functions/schemaValidation.ts diff --git a/apps/parser/src/ruleset/v2/functions/security.ts b/packages/parser/src/ruleset/v2/functions/security.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/security.ts rename to packages/parser/src/ruleset/v2/functions/security.ts diff --git a/apps/parser/src/ruleset/v2/functions/serverVariables.ts b/packages/parser/src/ruleset/v2/functions/serverVariables.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/serverVariables.ts rename to packages/parser/src/ruleset/v2/functions/serverVariables.ts diff --git a/apps/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts b/packages/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts similarity index 100% rename from apps/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts rename to packages/parser/src/ruleset/v2/functions/unusedSecuritySchemes.ts diff --git a/apps/parser/src/ruleset/v2/index.ts b/packages/parser/src/ruleset/v2/index.ts similarity index 100% rename from apps/parser/src/ruleset/v2/index.ts rename to packages/parser/src/ruleset/v2/index.ts diff --git a/apps/parser/src/ruleset/v2/ruleset.ts b/packages/parser/src/ruleset/v2/ruleset.ts similarity index 100% rename from apps/parser/src/ruleset/v2/ruleset.ts rename to packages/parser/src/ruleset/v2/ruleset.ts diff --git a/apps/parser/src/ruleset/v2/utils/getAllMessages.ts b/packages/parser/src/ruleset/v2/utils/getAllMessages.ts similarity index 100% rename from apps/parser/src/ruleset/v2/utils/getAllMessages.ts rename to packages/parser/src/ruleset/v2/utils/getAllMessages.ts diff --git a/apps/parser/src/ruleset/v2/utils/getAllOperations.ts b/packages/parser/src/ruleset/v2/utils/getAllOperations.ts similarity index 100% rename from apps/parser/src/ruleset/v2/utils/getAllOperations.ts rename to packages/parser/src/ruleset/v2/utils/getAllOperations.ts diff --git a/apps/parser/src/ruleset/v2/utils/index.ts b/packages/parser/src/ruleset/v2/utils/index.ts similarity index 100% rename from apps/parser/src/ruleset/v2/utils/index.ts rename to packages/parser/src/ruleset/v2/utils/index.ts diff --git a/apps/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts b/packages/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts similarity index 100% rename from apps/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts rename to packages/parser/src/ruleset/v3/functions/operationMessagesUnambiguity.ts diff --git a/apps/parser/src/ruleset/v3/index.ts b/packages/parser/src/ruleset/v3/index.ts similarity index 100% rename from apps/parser/src/ruleset/v3/index.ts rename to packages/parser/src/ruleset/v3/index.ts diff --git a/apps/parser/src/ruleset/v3/ruleset.ts b/packages/parser/src/ruleset/v3/ruleset.ts similarity index 100% rename from apps/parser/src/ruleset/v3/ruleset.ts rename to packages/parser/src/ruleset/v3/ruleset.ts diff --git a/apps/parser/src/schema-parser/asyncapi-schema-parser.ts b/packages/parser/src/schema-parser/asyncapi-schema-parser.ts similarity index 100% rename from apps/parser/src/schema-parser/asyncapi-schema-parser.ts rename to packages/parser/src/schema-parser/asyncapi-schema-parser.ts diff --git a/apps/parser/src/schema-parser/index.ts b/packages/parser/src/schema-parser/index.ts similarity index 100% rename from apps/parser/src/schema-parser/index.ts rename to packages/parser/src/schema-parser/index.ts diff --git a/apps/parser/src/schema-parser/spectral-rule-v2.ts b/packages/parser/src/schema-parser/spectral-rule-v2.ts similarity index 100% rename from apps/parser/src/schema-parser/spectral-rule-v2.ts rename to packages/parser/src/schema-parser/spectral-rule-v2.ts diff --git a/apps/parser/src/spec-types/index.ts b/packages/parser/src/spec-types/index.ts similarity index 100% rename from apps/parser/src/spec-types/index.ts rename to packages/parser/src/spec-types/index.ts diff --git a/apps/parser/src/spec-types/v2.ts b/packages/parser/src/spec-types/v2.ts similarity index 100% rename from apps/parser/src/spec-types/v2.ts rename to packages/parser/src/spec-types/v2.ts diff --git a/apps/parser/src/spec-types/v3.ts b/packages/parser/src/spec-types/v3.ts similarity index 100% rename from apps/parser/src/spec-types/v3.ts rename to packages/parser/src/spec-types/v3.ts diff --git a/apps/parser/src/spectral.ts b/packages/parser/src/spectral.ts similarity index 100% rename from apps/parser/src/spectral.ts rename to packages/parser/src/spectral.ts diff --git a/apps/parser/src/stringify.ts b/packages/parser/src/stringify.ts similarity index 100% rename from apps/parser/src/stringify.ts rename to packages/parser/src/stringify.ts diff --git a/apps/parser/src/types.ts b/packages/parser/src/types.ts similarity index 100% rename from apps/parser/src/types.ts rename to packages/parser/src/types.ts diff --git a/apps/parser/src/utils.ts b/packages/parser/src/utils.ts similarity index 100% rename from apps/parser/src/utils.ts rename to packages/parser/src/utils.ts diff --git a/apps/parser/src/validate.ts b/packages/parser/src/validate.ts similarity index 100% rename from apps/parser/src/validate.ts rename to packages/parser/src/validate.ts diff --git a/apps/parser/test/browser/browser.spec.ts b/packages/parser/test/browser/browser.spec.ts similarity index 100% rename from apps/parser/test/browser/browser.spec.ts rename to packages/parser/test/browser/browser.spec.ts diff --git a/apps/parser/test/browser/sample-page.html b/packages/parser/test/browser/sample-page.html similarity index 100% rename from apps/parser/test/browser/sample-page.html rename to packages/parser/test/browser/sample-page.html diff --git a/apps/parser/test/custom-operations/anonymous-naming.spec.ts b/packages/parser/test/custom-operations/anonymous-naming.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/anonymous-naming.spec.ts rename to packages/parser/test/custom-operations/anonymous-naming.spec.ts diff --git a/apps/parser/test/custom-operations/apply-traits-v2.spec.ts b/packages/parser/test/custom-operations/apply-traits-v2.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-traits-v2.spec.ts rename to packages/parser/test/custom-operations/apply-traits-v2.spec.ts diff --git a/apps/parser/test/custom-operations/apply-traits-v3.spec.ts b/packages/parser/test/custom-operations/apply-traits-v3.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-traits-v3.spec.ts rename to packages/parser/test/custom-operations/apply-traits-v3.spec.ts diff --git a/apps/parser/test/custom-operations/apply-traits.spec.ts b/packages/parser/test/custom-operations/apply-traits.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-traits.spec.ts rename to packages/parser/test/custom-operations/apply-traits.spec.ts diff --git a/apps/parser/test/custom-operations/apply-unique-ids.spec.ts b/packages/parser/test/custom-operations/apply-unique-ids.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/apply-unique-ids.spec.ts rename to packages/parser/test/custom-operations/apply-unique-ids.spec.ts diff --git a/apps/parser/test/custom-operations/check-circular-refs.spec.ts b/packages/parser/test/custom-operations/check-circular-refs.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/check-circular-refs.spec.ts rename to packages/parser/test/custom-operations/check-circular-refs.spec.ts diff --git a/apps/parser/test/custom-operations/parse-schema-v2.spec.ts b/packages/parser/test/custom-operations/parse-schema-v2.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/parse-schema-v2.spec.ts rename to packages/parser/test/custom-operations/parse-schema-v2.spec.ts diff --git a/apps/parser/test/custom-operations/parse-schema-v3.spec.ts b/packages/parser/test/custom-operations/parse-schema-v3.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/parse-schema-v3.spec.ts rename to packages/parser/test/custom-operations/parse-schema-v3.spec.ts diff --git a/apps/parser/test/custom-operations/resolve-circular-refs.spec.ts b/packages/parser/test/custom-operations/resolve-circular-refs.spec.ts similarity index 100% rename from apps/parser/test/custom-operations/resolve-circular-refs.spec.ts rename to packages/parser/test/custom-operations/resolve-circular-refs.spec.ts diff --git a/apps/parser/test/document.spec.ts b/packages/parser/test/document.spec.ts similarity index 100% rename from apps/parser/test/document.spec.ts rename to packages/parser/test/document.spec.ts diff --git a/apps/parser/test/from.spec.ts b/packages/parser/test/from.spec.ts similarity index 100% rename from apps/parser/test/from.spec.ts rename to packages/parser/test/from.spec.ts diff --git a/apps/parser/test/iterator.spec.ts b/packages/parser/test/iterator.spec.ts similarity index 100% rename from apps/parser/test/iterator.spec.ts rename to packages/parser/test/iterator.spec.ts diff --git a/apps/parser/test/mocks/circular-refs.yaml b/packages/parser/test/mocks/circular-refs.yaml similarity index 100% rename from apps/parser/test/mocks/circular-refs.yaml rename to packages/parser/test/mocks/circular-refs.yaml diff --git a/apps/parser/test/mocks/nested-schemas.yaml b/packages/parser/test/mocks/nested-schemas.yaml similarity index 100% rename from apps/parser/test/mocks/nested-schemas.yaml rename to packages/parser/test/mocks/nested-schemas.yaml diff --git a/apps/parser/test/mocks/parse/circular-ref-deep.yaml b/packages/parser/test/mocks/parse/circular-ref-deep.yaml similarity index 100% rename from apps/parser/test/mocks/parse/circular-ref-deep.yaml rename to packages/parser/test/mocks/parse/circular-ref-deep.yaml diff --git a/apps/parser/test/mocks/parse/circular-ref.yaml b/packages/parser/test/mocks/parse/circular-ref.yaml similarity index 100% rename from apps/parser/test/mocks/parse/circular-ref.yaml rename to packages/parser/test/mocks/parse/circular-ref.yaml diff --git a/apps/parser/test/mocks/refs-1.yaml b/packages/parser/test/mocks/refs-1.yaml similarity index 100% rename from apps/parser/test/mocks/refs-1.yaml rename to packages/parser/test/mocks/refs-1.yaml diff --git a/apps/parser/test/mocks/refs-2.yaml b/packages/parser/test/mocks/refs-2.yaml similarity index 100% rename from apps/parser/test/mocks/refs-2.yaml rename to packages/parser/test/mocks/refs-2.yaml diff --git a/apps/parser/test/mocks/simple-message.yaml b/packages/parser/test/mocks/simple-message.yaml similarity index 100% rename from apps/parser/test/mocks/simple-message.yaml rename to packages/parser/test/mocks/simple-message.yaml diff --git a/apps/parser/test/mocks/simple-with-refs.yaml b/packages/parser/test/mocks/simple-with-refs.yaml similarity index 100% rename from apps/parser/test/mocks/simple-with-refs.yaml rename to packages/parser/test/mocks/simple-with-refs.yaml diff --git a/apps/parser/test/mocks/simple.yaml b/packages/parser/test/mocks/simple.yaml similarity index 100% rename from apps/parser/test/mocks/simple.yaml rename to packages/parser/test/mocks/simple.yaml diff --git a/apps/parser/test/models/base.spec.ts b/packages/parser/test/models/base.spec.ts similarity index 100% rename from apps/parser/test/models/base.spec.ts rename to packages/parser/test/models/base.spec.ts diff --git a/apps/parser/test/models/collection.spec.ts b/packages/parser/test/models/collection.spec.ts similarity index 100% rename from apps/parser/test/models/collection.spec.ts rename to packages/parser/test/models/collection.spec.ts diff --git a/apps/parser/test/models/v2/asyncapi.spec.ts b/packages/parser/test/models/v2/asyncapi.spec.ts similarity index 100% rename from apps/parser/test/models/v2/asyncapi.spec.ts rename to packages/parser/test/models/v2/asyncapi.spec.ts diff --git a/apps/parser/test/models/v2/bindings.spec.ts b/packages/parser/test/models/v2/bindings.spec.ts similarity index 100% rename from apps/parser/test/models/v2/bindings.spec.ts rename to packages/parser/test/models/v2/bindings.spec.ts diff --git a/apps/parser/test/models/v2/channel-parameter.spec.ts b/packages/parser/test/models/v2/channel-parameter.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channel-parameter.spec.ts rename to packages/parser/test/models/v2/channel-parameter.spec.ts diff --git a/apps/parser/test/models/v2/channel-parameters.spec.ts b/packages/parser/test/models/v2/channel-parameters.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channel-parameters.spec.ts rename to packages/parser/test/models/v2/channel-parameters.spec.ts diff --git a/apps/parser/test/models/v2/channel.spec.ts b/packages/parser/test/models/v2/channel.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channel.spec.ts rename to packages/parser/test/models/v2/channel.spec.ts diff --git a/apps/parser/test/models/v2/channels.spec.ts b/packages/parser/test/models/v2/channels.spec.ts similarity index 100% rename from apps/parser/test/models/v2/channels.spec.ts rename to packages/parser/test/models/v2/channels.spec.ts diff --git a/apps/parser/test/models/v2/components.spec.ts b/packages/parser/test/models/v2/components.spec.ts similarity index 100% rename from apps/parser/test/models/v2/components.spec.ts rename to packages/parser/test/models/v2/components.spec.ts diff --git a/apps/parser/test/models/v2/contact.spec.ts b/packages/parser/test/models/v2/contact.spec.ts similarity index 100% rename from apps/parser/test/models/v2/contact.spec.ts rename to packages/parser/test/models/v2/contact.spec.ts diff --git a/apps/parser/test/models/v2/correlation-id.spec.ts b/packages/parser/test/models/v2/correlation-id.spec.ts similarity index 100% rename from apps/parser/test/models/v2/correlation-id.spec.ts rename to packages/parser/test/models/v2/correlation-id.spec.ts diff --git a/apps/parser/test/models/v2/external-docs.spec.ts b/packages/parser/test/models/v2/external-docs.spec.ts similarity index 100% rename from apps/parser/test/models/v2/external-docs.spec.ts rename to packages/parser/test/models/v2/external-docs.spec.ts diff --git a/apps/parser/test/models/v2/external-documentation.spec.ts b/packages/parser/test/models/v2/external-documentation.spec.ts similarity index 100% rename from apps/parser/test/models/v2/external-documentation.spec.ts rename to packages/parser/test/models/v2/external-documentation.spec.ts diff --git a/apps/parser/test/models/v2/info.spec.ts b/packages/parser/test/models/v2/info.spec.ts similarity index 100% rename from apps/parser/test/models/v2/info.spec.ts rename to packages/parser/test/models/v2/info.spec.ts diff --git a/apps/parser/test/models/v2/license.spec.ts b/packages/parser/test/models/v2/license.spec.ts similarity index 100% rename from apps/parser/test/models/v2/license.spec.ts rename to packages/parser/test/models/v2/license.spec.ts diff --git a/apps/parser/test/models/v2/message-example.spec.ts b/packages/parser/test/models/v2/message-example.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-example.spec.ts rename to packages/parser/test/models/v2/message-example.spec.ts diff --git a/apps/parser/test/models/v2/message-examples.spec.ts b/packages/parser/test/models/v2/message-examples.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-examples.spec.ts rename to packages/parser/test/models/v2/message-examples.spec.ts diff --git a/apps/parser/test/models/v2/message-trait.spec.ts b/packages/parser/test/models/v2/message-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-trait.spec.ts rename to packages/parser/test/models/v2/message-trait.spec.ts diff --git a/apps/parser/test/models/v2/message-traits.spec.ts b/packages/parser/test/models/v2/message-traits.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message-traits.spec.ts rename to packages/parser/test/models/v2/message-traits.spec.ts diff --git a/apps/parser/test/models/v2/message.spec.ts b/packages/parser/test/models/v2/message.spec.ts similarity index 100% rename from apps/parser/test/models/v2/message.spec.ts rename to packages/parser/test/models/v2/message.spec.ts diff --git a/apps/parser/test/models/v2/messages.spec.ts b/packages/parser/test/models/v2/messages.spec.ts similarity index 100% rename from apps/parser/test/models/v2/messages.spec.ts rename to packages/parser/test/models/v2/messages.spec.ts diff --git a/apps/parser/test/models/v2/mixins.spec.ts b/packages/parser/test/models/v2/mixins.spec.ts similarity index 100% rename from apps/parser/test/models/v2/mixins.spec.ts rename to packages/parser/test/models/v2/mixins.spec.ts diff --git a/apps/parser/test/models/v2/oauth-flow.spec.ts b/packages/parser/test/models/v2/oauth-flow.spec.ts similarity index 100% rename from apps/parser/test/models/v2/oauth-flow.spec.ts rename to packages/parser/test/models/v2/oauth-flow.spec.ts diff --git a/apps/parser/test/models/v2/oauth-flows.spec.ts b/packages/parser/test/models/v2/oauth-flows.spec.ts similarity index 100% rename from apps/parser/test/models/v2/oauth-flows.spec.ts rename to packages/parser/test/models/v2/oauth-flows.spec.ts diff --git a/apps/parser/test/models/v2/operation-trait.spec.ts b/packages/parser/test/models/v2/operation-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operation-trait.spec.ts rename to packages/parser/test/models/v2/operation-trait.spec.ts diff --git a/apps/parser/test/models/v2/operation-traits.spec.ts b/packages/parser/test/models/v2/operation-traits.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operation-traits.spec.ts rename to packages/parser/test/models/v2/operation-traits.spec.ts diff --git a/apps/parser/test/models/v2/operation.spec.ts b/packages/parser/test/models/v2/operation.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operation.spec.ts rename to packages/parser/test/models/v2/operation.spec.ts diff --git a/apps/parser/test/models/v2/operations.spec.ts b/packages/parser/test/models/v2/operations.spec.ts similarity index 100% rename from apps/parser/test/models/v2/operations.spec.ts rename to packages/parser/test/models/v2/operations.spec.ts diff --git a/apps/parser/test/models/v2/schema.spec.ts b/packages/parser/test/models/v2/schema.spec.ts similarity index 100% rename from apps/parser/test/models/v2/schema.spec.ts rename to packages/parser/test/models/v2/schema.spec.ts diff --git a/apps/parser/test/models/v2/security-requirement.spec.ts b/packages/parser/test/models/v2/security-requirement.spec.ts similarity index 100% rename from apps/parser/test/models/v2/security-requirement.spec.ts rename to packages/parser/test/models/v2/security-requirement.spec.ts diff --git a/apps/parser/test/models/v2/security-requirements.spec.ts b/packages/parser/test/models/v2/security-requirements.spec.ts similarity index 100% rename from apps/parser/test/models/v2/security-requirements.spec.ts rename to packages/parser/test/models/v2/security-requirements.spec.ts diff --git a/apps/parser/test/models/v2/security-scheme.spec.ts b/packages/parser/test/models/v2/security-scheme.spec.ts similarity index 100% rename from apps/parser/test/models/v2/security-scheme.spec.ts rename to packages/parser/test/models/v2/security-scheme.spec.ts diff --git a/apps/parser/test/models/v2/server-variable.spec.ts b/packages/parser/test/models/v2/server-variable.spec.ts similarity index 100% rename from apps/parser/test/models/v2/server-variable.spec.ts rename to packages/parser/test/models/v2/server-variable.spec.ts diff --git a/apps/parser/test/models/v2/server.spec.ts b/packages/parser/test/models/v2/server.spec.ts similarity index 100% rename from apps/parser/test/models/v2/server.spec.ts rename to packages/parser/test/models/v2/server.spec.ts diff --git a/apps/parser/test/models/v2/servers.spec.ts b/packages/parser/test/models/v2/servers.spec.ts similarity index 100% rename from apps/parser/test/models/v2/servers.spec.ts rename to packages/parser/test/models/v2/servers.spec.ts diff --git a/apps/parser/test/models/v2/tag.spec.ts b/packages/parser/test/models/v2/tag.spec.ts similarity index 100% rename from apps/parser/test/models/v2/tag.spec.ts rename to packages/parser/test/models/v2/tag.spec.ts diff --git a/apps/parser/test/models/v2/tags.spec.ts b/packages/parser/test/models/v2/tags.spec.ts similarity index 100% rename from apps/parser/test/models/v2/tags.spec.ts rename to packages/parser/test/models/v2/tags.spec.ts diff --git a/apps/parser/test/models/v2/utils.ts b/packages/parser/test/models/v2/utils.ts similarity index 100% rename from apps/parser/test/models/v2/utils.ts rename to packages/parser/test/models/v2/utils.ts diff --git a/apps/parser/test/models/v3/asyncapi.spec.ts b/packages/parser/test/models/v3/asyncapi.spec.ts similarity index 100% rename from apps/parser/test/models/v3/asyncapi.spec.ts rename to packages/parser/test/models/v3/asyncapi.spec.ts diff --git a/apps/parser/test/models/v3/bindings.spec.ts b/packages/parser/test/models/v3/bindings.spec.ts similarity index 100% rename from apps/parser/test/models/v3/bindings.spec.ts rename to packages/parser/test/models/v3/bindings.spec.ts diff --git a/apps/parser/test/models/v3/channel-parameter.spec.ts b/packages/parser/test/models/v3/channel-parameter.spec.ts similarity index 100% rename from apps/parser/test/models/v3/channel-parameter.spec.ts rename to packages/parser/test/models/v3/channel-parameter.spec.ts diff --git a/apps/parser/test/models/v3/channel.spec.ts b/packages/parser/test/models/v3/channel.spec.ts similarity index 100% rename from apps/parser/test/models/v3/channel.spec.ts rename to packages/parser/test/models/v3/channel.spec.ts diff --git a/apps/parser/test/models/v3/components.spec.ts b/packages/parser/test/models/v3/components.spec.ts similarity index 100% rename from apps/parser/test/models/v3/components.spec.ts rename to packages/parser/test/models/v3/components.spec.ts diff --git a/apps/parser/test/models/v3/contact.spec.ts b/packages/parser/test/models/v3/contact.spec.ts similarity index 100% rename from apps/parser/test/models/v3/contact.spec.ts rename to packages/parser/test/models/v3/contact.spec.ts diff --git a/apps/parser/test/models/v3/correlation-id.spec.ts b/packages/parser/test/models/v3/correlation-id.spec.ts similarity index 100% rename from apps/parser/test/models/v3/correlation-id.spec.ts rename to packages/parser/test/models/v3/correlation-id.spec.ts diff --git a/apps/parser/test/models/v3/external-documentation.spec.ts b/packages/parser/test/models/v3/external-documentation.spec.ts similarity index 100% rename from apps/parser/test/models/v3/external-documentation.spec.ts rename to packages/parser/test/models/v3/external-documentation.spec.ts diff --git a/apps/parser/test/models/v3/info.spec.ts b/packages/parser/test/models/v3/info.spec.ts similarity index 100% rename from apps/parser/test/models/v3/info.spec.ts rename to packages/parser/test/models/v3/info.spec.ts diff --git a/apps/parser/test/models/v3/license.spec.ts b/packages/parser/test/models/v3/license.spec.ts similarity index 100% rename from apps/parser/test/models/v3/license.spec.ts rename to packages/parser/test/models/v3/license.spec.ts diff --git a/apps/parser/test/models/v3/message-example.spec.ts b/packages/parser/test/models/v3/message-example.spec.ts similarity index 100% rename from apps/parser/test/models/v3/message-example.spec.ts rename to packages/parser/test/models/v3/message-example.spec.ts diff --git a/apps/parser/test/models/v3/message-trait.spec.ts b/packages/parser/test/models/v3/message-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v3/message-trait.spec.ts rename to packages/parser/test/models/v3/message-trait.spec.ts diff --git a/apps/parser/test/models/v3/message.spec.ts b/packages/parser/test/models/v3/message.spec.ts similarity index 100% rename from apps/parser/test/models/v3/message.spec.ts rename to packages/parser/test/models/v3/message.spec.ts diff --git a/apps/parser/test/models/v3/oauth-flow.spec.ts b/packages/parser/test/models/v3/oauth-flow.spec.ts similarity index 100% rename from apps/parser/test/models/v3/oauth-flow.spec.ts rename to packages/parser/test/models/v3/oauth-flow.spec.ts diff --git a/apps/parser/test/models/v3/oauth-flows.spec.ts b/packages/parser/test/models/v3/oauth-flows.spec.ts similarity index 100% rename from apps/parser/test/models/v3/oauth-flows.spec.ts rename to packages/parser/test/models/v3/oauth-flows.spec.ts diff --git a/apps/parser/test/models/v3/operation-reply-address.spec.ts b/packages/parser/test/models/v3/operation-reply-address.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation-reply-address.spec.ts rename to packages/parser/test/models/v3/operation-reply-address.spec.ts diff --git a/apps/parser/test/models/v3/operation-reply.spec.ts b/packages/parser/test/models/v3/operation-reply.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation-reply.spec.ts rename to packages/parser/test/models/v3/operation-reply.spec.ts diff --git a/apps/parser/test/models/v3/operation-trait.spec.ts b/packages/parser/test/models/v3/operation-trait.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation-trait.spec.ts rename to packages/parser/test/models/v3/operation-trait.spec.ts diff --git a/apps/parser/test/models/v3/operation.spec.ts b/packages/parser/test/models/v3/operation.spec.ts similarity index 100% rename from apps/parser/test/models/v3/operation.spec.ts rename to packages/parser/test/models/v3/operation.spec.ts diff --git a/apps/parser/test/models/v3/schema.spec.ts b/packages/parser/test/models/v3/schema.spec.ts similarity index 100% rename from apps/parser/test/models/v3/schema.spec.ts rename to packages/parser/test/models/v3/schema.spec.ts diff --git a/apps/parser/test/models/v3/server-variable.spec.ts b/packages/parser/test/models/v3/server-variable.spec.ts similarity index 100% rename from apps/parser/test/models/v3/server-variable.spec.ts rename to packages/parser/test/models/v3/server-variable.spec.ts diff --git a/apps/parser/test/models/v3/server.spec.ts b/packages/parser/test/models/v3/server.spec.ts similarity index 100% rename from apps/parser/test/models/v3/server.spec.ts rename to packages/parser/test/models/v3/server.spec.ts diff --git a/apps/parser/test/models/v3/tag.spec.ts b/packages/parser/test/models/v3/tag.spec.ts similarity index 100% rename from apps/parser/test/models/v3/tag.spec.ts rename to packages/parser/test/models/v3/tag.spec.ts diff --git a/apps/parser/test/models/v3/utils.ts b/packages/parser/test/models/v3/utils.ts similarity index 100% rename from apps/parser/test/models/v3/utils.ts rename to packages/parser/test/models/v3/utils.ts diff --git a/apps/parser/test/old-api/asyncapi.spec.ts b/packages/parser/test/old-api/asyncapi.spec.ts similarity index 100% rename from apps/parser/test/old-api/asyncapi.spec.ts rename to packages/parser/test/old-api/asyncapi.spec.ts diff --git a/apps/parser/test/old-api/base.spec.ts b/packages/parser/test/old-api/base.spec.ts similarity index 100% rename from apps/parser/test/old-api/base.spec.ts rename to packages/parser/test/old-api/base.spec.ts diff --git a/apps/parser/test/old-api/channel-parameter.spec.ts b/packages/parser/test/old-api/channel-parameter.spec.ts similarity index 100% rename from apps/parser/test/old-api/channel-parameter.spec.ts rename to packages/parser/test/old-api/channel-parameter.spec.ts diff --git a/apps/parser/test/old-api/channel.spec.ts b/packages/parser/test/old-api/channel.spec.ts similarity index 100% rename from apps/parser/test/old-api/channel.spec.ts rename to packages/parser/test/old-api/channel.spec.ts diff --git a/apps/parser/test/old-api/components.spec.ts b/packages/parser/test/old-api/components.spec.ts similarity index 100% rename from apps/parser/test/old-api/components.spec.ts rename to packages/parser/test/old-api/components.spec.ts diff --git a/apps/parser/test/old-api/contact.spec.ts b/packages/parser/test/old-api/contact.spec.ts similarity index 100% rename from apps/parser/test/old-api/contact.spec.ts rename to packages/parser/test/old-api/contact.spec.ts diff --git a/apps/parser/test/old-api/converter.spec.ts b/packages/parser/test/old-api/converter.spec.ts similarity index 100% rename from apps/parser/test/old-api/converter.spec.ts rename to packages/parser/test/old-api/converter.spec.ts diff --git a/apps/parser/test/old-api/correlation-id.spec.ts b/packages/parser/test/old-api/correlation-id.spec.ts similarity index 100% rename from apps/parser/test/old-api/correlation-id.spec.ts rename to packages/parser/test/old-api/correlation-id.spec.ts diff --git a/apps/parser/test/old-api/external-docs.spec.ts b/packages/parser/test/old-api/external-docs.spec.ts similarity index 100% rename from apps/parser/test/old-api/external-docs.spec.ts rename to packages/parser/test/old-api/external-docs.spec.ts diff --git a/apps/parser/test/old-api/info.spec.ts b/packages/parser/test/old-api/info.spec.ts similarity index 100% rename from apps/parser/test/old-api/info.spec.ts rename to packages/parser/test/old-api/info.spec.ts diff --git a/apps/parser/test/old-api/iterator.spec.ts b/packages/parser/test/old-api/iterator.spec.ts similarity index 100% rename from apps/parser/test/old-api/iterator.spec.ts rename to packages/parser/test/old-api/iterator.spec.ts diff --git a/apps/parser/test/old-api/license.spec.ts b/packages/parser/test/old-api/license.spec.ts similarity index 100% rename from apps/parser/test/old-api/license.spec.ts rename to packages/parser/test/old-api/license.spec.ts diff --git a/apps/parser/test/old-api/message-trait.spec.ts b/packages/parser/test/old-api/message-trait.spec.ts similarity index 100% rename from apps/parser/test/old-api/message-trait.spec.ts rename to packages/parser/test/old-api/message-trait.spec.ts diff --git a/apps/parser/test/old-api/message.spec.ts b/packages/parser/test/old-api/message.spec.ts similarity index 100% rename from apps/parser/test/old-api/message.spec.ts rename to packages/parser/test/old-api/message.spec.ts diff --git a/apps/parser/test/old-api/mixins.spec.ts b/packages/parser/test/old-api/mixins.spec.ts similarity index 100% rename from apps/parser/test/old-api/mixins.spec.ts rename to packages/parser/test/old-api/mixins.spec.ts diff --git a/apps/parser/test/old-api/mixins.ts b/packages/parser/test/old-api/mixins.ts similarity index 100% rename from apps/parser/test/old-api/mixins.ts rename to packages/parser/test/old-api/mixins.ts diff --git a/apps/parser/test/old-api/oauth-flow.spec.ts b/packages/parser/test/old-api/oauth-flow.spec.ts similarity index 100% rename from apps/parser/test/old-api/oauth-flow.spec.ts rename to packages/parser/test/old-api/oauth-flow.spec.ts diff --git a/apps/parser/test/old-api/operation-trait.spec.ts b/packages/parser/test/old-api/operation-trait.spec.ts similarity index 100% rename from apps/parser/test/old-api/operation-trait.spec.ts rename to packages/parser/test/old-api/operation-trait.spec.ts diff --git a/apps/parser/test/old-api/operation.spec.ts b/packages/parser/test/old-api/operation.spec.ts similarity index 100% rename from apps/parser/test/old-api/operation.spec.ts rename to packages/parser/test/old-api/operation.spec.ts diff --git a/apps/parser/test/old-api/schema.spec.ts b/packages/parser/test/old-api/schema.spec.ts similarity index 100% rename from apps/parser/test/old-api/schema.spec.ts rename to packages/parser/test/old-api/schema.spec.ts diff --git a/apps/parser/test/old-api/security-scheme.spec.ts b/packages/parser/test/old-api/security-scheme.spec.ts similarity index 100% rename from apps/parser/test/old-api/security-scheme.spec.ts rename to packages/parser/test/old-api/security-scheme.spec.ts diff --git a/apps/parser/test/old-api/server-variable.spec.ts b/packages/parser/test/old-api/server-variable.spec.ts similarity index 100% rename from apps/parser/test/old-api/server-variable.spec.ts rename to packages/parser/test/old-api/server-variable.spec.ts diff --git a/apps/parser/test/old-api/server.spec.ts b/packages/parser/test/old-api/server.spec.ts similarity index 100% rename from apps/parser/test/old-api/server.spec.ts rename to packages/parser/test/old-api/server.spec.ts diff --git a/apps/parser/test/old-api/tag.spec.ts b/packages/parser/test/old-api/tag.spec.ts similarity index 100% rename from apps/parser/test/old-api/tag.spec.ts rename to packages/parser/test/old-api/tag.spec.ts diff --git a/apps/parser/test/parse.spec.ts b/packages/parser/test/parse.spec.ts similarity index 100% rename from apps/parser/test/parse.spec.ts rename to packages/parser/test/parse.spec.ts diff --git a/apps/parser/test/parser.spec.ts b/packages/parser/test/parser.spec.ts similarity index 100% rename from apps/parser/test/parser.spec.ts rename to packages/parser/test/parser.spec.ts diff --git a/apps/parser/test/resolver.spec.ts b/packages/parser/test/resolver.spec.ts similarity index 100% rename from apps/parser/test/resolver.spec.ts rename to packages/parser/test/resolver.spec.ts diff --git a/apps/parser/test/ruleset/formats.spec.ts b/packages/parser/test/ruleset/formats.spec.ts similarity index 100% rename from apps/parser/test/ruleset/formats.spec.ts rename to packages/parser/test/ruleset/formats.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-defaultContentType.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-document-unresolved.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-id.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-id.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-id.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-id.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-contact-properties.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-contact.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-description.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-description.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-description.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-description.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-license-url.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-info-license.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-info-license.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-info-license.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-info-license.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-is-asyncapi.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-latest-version.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-servers.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-servers.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-servers.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-servers.spec.ts diff --git a/apps/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts rename to packages/parser/test/ruleset/rules/asyncapi-unused-component.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-empty-parameter.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-query-nor-fragment.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-no-trailing-slash.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-parameters.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-channel-servers.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples-spectral-v2.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-examples.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId-uniqueness.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-message-messageId.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId-uniqueness.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-operation-operationId.test.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-operation-security.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-schema-default.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-schema-examples.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-schemas.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-empty-variable.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-no-trailing-slash.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-security.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-server-variables.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-tags-uniqueness.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-tags.spec.ts diff --git a/apps/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts b/packages/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts rename to packages/parser/test/ruleset/rules/v2/asyncapi2-unused-securityScheme.spec.ts diff --git a/apps/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts b/packages/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts rename to packages/parser/test/ruleset/rules/v3/asyncapi3-operation-messages-from-referred-channel.spec.ts diff --git a/apps/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts b/packages/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts rename to packages/parser/test/ruleset/rules/v3/asyncapi3-required-channel-servers-unambiguity.spec.ts diff --git a/apps/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts b/packages/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts similarity index 100% rename from apps/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts rename to packages/parser/test/ruleset/rules/v3/asyncapi3-required-operation-channel-unambiguity.spec.ts diff --git a/apps/parser/test/ruleset/tester.ts b/packages/parser/test/ruleset/tester.ts similarity index 100% rename from apps/parser/test/ruleset/tester.ts rename to packages/parser/test/ruleset/tester.ts diff --git a/apps/parser/test/sample_browser/main/asyncapi.yaml b/packages/parser/test/sample_browser/main/asyncapi.yaml similarity index 100% rename from apps/parser/test/sample_browser/main/asyncapi.yaml rename to packages/parser/test/sample_browser/main/asyncapi.yaml diff --git a/apps/parser/test/sample_browser/refs/refed.yaml b/packages/parser/test/sample_browser/refs/refed.yaml similarity index 100% rename from apps/parser/test/sample_browser/refs/refed.yaml rename to packages/parser/test/sample_browser/refs/refed.yaml diff --git a/apps/parser/test/schema-parser/asyncapi-schema-parser.spec.ts b/packages/parser/test/schema-parser/asyncapi-schema-parser.spec.ts similarity index 100% rename from apps/parser/test/schema-parser/asyncapi-schema-parser.spec.ts rename to packages/parser/test/schema-parser/asyncapi-schema-parser.spec.ts diff --git a/apps/parser/test/schema-parser/spectral-rule-v2.spec.ts b/packages/parser/test/schema-parser/spectral-rule-v2.spec.ts similarity index 100% rename from apps/parser/test/schema-parser/spectral-rule-v2.spec.ts rename to packages/parser/test/schema-parser/spectral-rule-v2.spec.ts diff --git a/apps/parser/test/spectral.spec.ts b/packages/parser/test/spectral.spec.ts similarity index 100% rename from apps/parser/test/spectral.spec.ts rename to packages/parser/test/spectral.spec.ts diff --git a/apps/parser/test/stringify.spec.ts b/packages/parser/test/stringify.spec.ts similarity index 100% rename from apps/parser/test/stringify.spec.ts rename to packages/parser/test/stringify.spec.ts diff --git a/apps/parser/test/utils.spec.ts b/packages/parser/test/utils.spec.ts similarity index 100% rename from apps/parser/test/utils.spec.ts rename to packages/parser/test/utils.spec.ts diff --git a/apps/parser/test/utils.ts b/packages/parser/test/utils.ts similarity index 100% rename from apps/parser/test/utils.ts rename to packages/parser/test/utils.ts diff --git a/apps/parser/test/validate.spec.ts b/packages/parser/test/validate.spec.ts similarity index 100% rename from apps/parser/test/validate.spec.ts rename to packages/parser/test/validate.spec.ts diff --git a/apps/parser/tsconfig.cjs.json b/packages/parser/tsconfig.cjs.json similarity index 100% rename from apps/parser/tsconfig.cjs.json rename to packages/parser/tsconfig.cjs.json diff --git a/apps/parser/tsconfig.json b/packages/parser/tsconfig.json similarity index 100% rename from apps/parser/tsconfig.json rename to packages/parser/tsconfig.json diff --git a/apps/parser/webpack.config.js b/packages/parser/webpack.config.js similarity index 100% rename from apps/parser/webpack.config.js rename to packages/parser/webpack.config.js From 7cb0562ce108c6b6d7387cc8542ea4b1e348c5e1 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 23 Jun 2024 12:45:36 +0530 Subject: [PATCH 064/107] updated the realealse fie. --- .github/workflows/release-with-changesets.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index fde21edbf..5d7660c41 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -20,7 +20,11 @@ jobs: # "commits" contains an array of objects where one of the properties is the commit "message" # Release workflow will be skipped if release conventional commits are not used if: | - true + startsWith( github.repository, 'asyncapi/' ) && + (startsWith( github.event.commits[0].message , 'fix:' ) || + startsWith( github.event.commits[0].message, 'fix!:' ) || + startsWith( github.event.commits[0].message, 'feat:' ) || + startsWith( github.event.commits[0].message, 'feat!:' )) name: Test NodeJS release on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: From c57c65e773fd0bad160f5ba94a7e82302b1a40e7 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Tue, 25 Jun 2024 00:10:37 +0530 Subject: [PATCH 065/107] Added the correct config for the changesets. --- .github/workflows/release-with-changesets.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 5d7660c41..5229b730d 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -106,16 +106,17 @@ jobs: - if: steps.packagejson.outputs.exists == 'true' name: Install changelog shell: bash - run: npm install --save-dev @changesets/changelog-git @changesets/cli + run: npm install @changesets/changelog-git@0.2.0 @changesets/cli@2.27.6 - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub uses: changesets/action@v1 id: release with: - version: npm run changeset version + version: npx -p @changesets/cli changeset version commit: version packages title: "chore: version packages" - publish: npm run turbo run build && npm changeset publish + publish: npx -p @changesets/cli changeset publish + setupGitUser: false env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From faf1aa152a6b6bff6f35b31feb52b58b77ae2883 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Tue, 25 Jun 2024 00:24:32 +0530 Subject: [PATCH 066/107] removed the unwated files. --- .github/workflows/release-with-changesets.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 5229b730d..cd65ef658 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -12,7 +12,6 @@ on: - beta - alpha - next - - feat-mastertest jobs: test-nodejs: From 2d3f25436ad5af5146c72ea10f3bb289f83e6532 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Tue, 25 Jun 2024 01:04:39 +0530 Subject: [PATCH 067/107] updated the package.json --- package-lock.json | 2300 ++++++++++----------------------------------- package.json | 8 +- 2 files changed, 481 insertions(+), 1827 deletions(-) diff --git a/package-lock.json b/package-lock.json index cbcb4cfda..89594a5a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,6 @@ "apps/*", "packages/*" ], - "dependencies": { - "@changesets/cli": "^2.26.2" - }, "devDependencies": { "turbo": "1.13.3" }, @@ -22,6 +19,7 @@ "apps/parser": { "name": "@ayushnautiyal706020/parser", "version": "3.0.14", + "extraneous": true, "license": "Apache-2.0", "dependencies": { "@asyncapi/specs": "^6.6.0", @@ -74,231 +72,6 @@ "webpack-cli": "^4.10.0" } }, - "apps/parser/node_modules/@types/node": { - "version": "18.19.31", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "apps/parser/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "apps/parser/node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "apps/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "apps/parser/node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "apps/parser/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "apps/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "apps/parser/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "apps/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "apps/parser/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "apps/parser/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "apps/parser/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "apps/parser/node_modules/typescript": { - "version": "4.9.5", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "dev": true, @@ -330,7 +103,7 @@ } }, "node_modules/@asyncapi/parser": { - "resolved": "apps/parser", + "resolved": "packages/parser", "link": true }, "node_modules/@asyncapi/specs": { @@ -340,12 +113,9 @@ "@types/json-schema": "^7.0.11" } }, - "node_modules/@ayushnautiyal706020/parser": { - "resolved": "apps/parser", - "link": true - }, "node_modules/@babel/code-frame": { "version": "7.24.2", + "dev": true, "license": "MIT", "dependencies": { "@babel/highlight": "^7.24.2", @@ -537,6 +307,7 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -565,6 +336,7 @@ }, "node_modules/@babel/highlight": { "version": "7.24.2", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", @@ -752,6 +524,7 @@ }, "node_modules/@babel/runtime": { "version": "7.24.4", + "dev": true, "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" @@ -811,334 +584,32 @@ "dev": true, "license": "MIT" }, - "node_modules/@changesets/apply-release-plan": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.3.tgz", - "integrity": "sha512-klL6LCdmfbEe9oyfLxnidIf/stFXmrbFO/3gT5LU5pcyoZytzJe4gWpTBx3BPmyNPl16dZ1xrkcW7b98e3tYkA==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/config": "^3.0.1", - "@changesets/get-version-range-type": "^0.4.0", - "@changesets/git": "^3.0.0", - "@changesets/should-skip-package": "^0.1.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", - "prettier": "^2.7.1", - "resolve-from": "^5.0.0", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=12" } }, - "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@changesets/assemble-release-plan": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.2.tgz", - "integrity": "sha512-n9/Tdq+ze+iUtjmq0mZO3pEhJTKkku9hUxtUadW30jlN7kONqJG3O6ALeXrmc6gsi/nvoCuKjqEJ68Hk8RbMTQ==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.0", - "@changesets/should-skip-package": "^0.1.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/changelog-git": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", - "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", - "dependencies": { - "@changesets/types": "^6.0.0" - } - }, - "node_modules/@changesets/cli": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.5.tgz", - "integrity": "sha512-UVppOvzCjjylBenFcwcZNG5IaZ8jsIaEVraV/pbXgukYNb0Oqa0d8UWb0LkYzA1Bf1HmUrOfccFcRLheRuA7pA==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/apply-release-plan": "^7.0.3", - "@changesets/assemble-release-plan": "^6.0.2", - "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.1", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.0", - "@changesets/get-release-plan": "^4.0.2", - "@changesets/git": "^3.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/pre": "^2.0.0", - "@changesets/read": "^0.6.0", - "@changesets/should-skip-package": "^0.1.0", - "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.1", - "@manypkg/get-packages": "^1.1.3", - "@types/semver": "^7.5.0", - "ansi-colors": "^4.1.3", - "chalk": "^2.1.0", - "ci-info": "^3.7.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "meow": "^6.0.0", - "outdent": "^0.5.0", - "p-limit": "^2.2.0", - "preferred-pm": "^3.0.0", - "resolve-from": "^5.0.0", - "semver": "^7.5.3", - "spawndamnit": "^2.0.0", - "term-size": "^2.1.0", - "tty-table": "^4.1.5" - }, - "bin": { - "changeset": "bin.js" - } - }, - "node_modules/@changesets/cli/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@changesets/cli/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@changesets/config": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.1.tgz", - "integrity": "sha512-nCr8pOemUjvGJ8aUu8TYVjqnUL+++bFOQHBVmtNbLvKzIDkN/uiP/Z4RKmr7NNaiujIURHySDEGFPftR4GbTUA==", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.0", - "@changesets/logger": "^0.1.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1", - "micromatch": "^4.0.2" - } - }, - "node_modules/@changesets/errors": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", - "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", - "dependencies": { - "extendable-error": "^0.1.5" - } - }, - "node_modules/@changesets/get-dependents-graph": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.0.tgz", - "integrity": "sha512-QOt6pQq9RVXKGHPVvyKimJDYJumx7p4DO5MO9AhRJYgAPgv0emhNqAqqysSVKHBm4sxKlGN4S1zXOIb5yCFuhQ==", - "dependencies": { - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/get-release-plan": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.2.tgz", - "integrity": "sha512-rOalz7nMuMV2vyeP7KBeAhqEB7FM2GFPO5RQSoOoUKKH9L6wW3QyPA2K+/rG9kBrWl2HckPVES73/AuwPvbH3w==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/assemble-release-plan": "^6.0.2", - "@changesets/config": "^3.0.1", - "@changesets/pre": "^2.0.0", - "@changesets/read": "^0.6.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" - } - }, - "node_modules/@changesets/get-version-range-type": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", - "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==" - }, - "node_modules/@changesets/git": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.0.tgz", - "integrity": "sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "is-subdir": "^1.1.1", - "micromatch": "^4.0.2", - "spawndamnit": "^2.0.0" - } - }, - "node_modules/@changesets/logger": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.0.tgz", - "integrity": "sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==", - "dependencies": { - "chalk": "^2.1.0" - } - }, - "node_modules/@changesets/parse": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", - "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", - "dependencies": { - "@changesets/types": "^6.0.0", - "js-yaml": "^3.13.1" - } - }, - "node_modules/@changesets/parse/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@changesets/parse/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@changesets/pre": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.0.tgz", - "integrity": "sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1" - } - }, - "node_modules/@changesets/read": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.0.tgz", - "integrity": "sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/git": "^3.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/parse": "^0.4.0", - "@changesets/types": "^6.0.0", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "p-filter": "^2.1.0" - } - }, - "node_modules/@changesets/should-skip-package": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.0.tgz", - "integrity": "sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" - } - }, - "node_modules/@changesets/types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", - "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==" - }, - "node_modules/@changesets/write": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.1.tgz", - "integrity": "sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "prettier": "^2.7.1" - } - }, - "node_modules/@changesets/write/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" } }, "node_modules/@eslint-community/eslint-utils": { @@ -2127,116 +1598,9 @@ "jsep": "^0.4.0||^1.0.0" } }, - "node_modules/@manypkg/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@types/node": "^12.7.1", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" - } - }, - "node_modules/@manypkg/find-root/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@manypkg/find-root/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@manypkg/find-root/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@manypkg/get-packages": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", - "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@changesets/types": "^4.0.1", - "@manypkg/find-root": "^1.1.0", - "fs-extra": "^8.1.0", - "globby": "^11.0.0", - "read-yaml-file": "^1.1.0" - } - }, - "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", - "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==" - }, - "node_modules/@manypkg/get-packages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -2248,6 +1612,7 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -2255,6 +1620,7 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -2900,11 +2266,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" - }, "node_modules/@types/node": { "version": "20.12.7", "license": "MIT", @@ -2921,13 +2282,9 @@ "form-data": "^4.0.0" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" - }, "node_modules/@types/semver": { "version": "7.5.8", + "dev": true, "license": "MIT" }, "node_modules/@types/stack-utils": { @@ -3476,14 +2833,6 @@ "node": ">=0.4.2" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "dev": true, @@ -3511,6 +2860,7 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3518,6 +2868,7 @@ }, "node_modules/ansi-styles": { "version": "3.2.1", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^1.9.0" @@ -3603,6 +2954,7 @@ }, "node_modules/array-union": { "version": "2.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3629,6 +2981,7 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", + "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -3680,14 +3033,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/asn1.js": { "version": "4.10.1", "dev": true, @@ -3969,17 +3314,6 @@ ], "license": "MIT" }, - "node_modules/better-path-resolve": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", - "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", - "dependencies": { - "is-windows": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/bl": { "version": "4.1.0", "dev": true, @@ -4005,6 +3339,7 @@ }, "node_modules/braces": { "version": "3.0.2", + "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.0.1" @@ -4013,14 +3348,6 @@ "node": ">=8" } }, - "node_modules/breakword": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/breakword/-/breakword-1.0.6.tgz", - "integrity": "sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==", - "dependencies": { - "wcwidth": "^1.0.1" - } - }, "node_modules/brorand": { "version": "1.1.0", "dev": true, @@ -4446,38 +3773,12 @@ }, "node_modules/camelcase": { "version": "5.3.1", + "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001611", "dev": true, @@ -4499,6 +3800,7 @@ }, "node_modules/chalk": { "version": "2.4.2", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", @@ -4517,11 +3819,6 @@ "node": ">=10" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, "node_modules/chownr": { "version": "1.1.4", "dev": true, @@ -4537,6 +3834,7 @@ }, "node_modules/ci-info": { "version": "3.9.0", + "dev": true, "funding": [ { "type": "github", @@ -4564,6 +3862,7 @@ }, "node_modules/cliui": { "version": "8.0.1", + "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -4574,14 +3873,6 @@ "node": ">=12" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "dev": true, @@ -4631,6 +3922,7 @@ }, "node_modules/color-convert": { "version": "1.9.3", + "dev": true, "license": "MIT", "dependencies": { "color-name": "1.1.3" @@ -4638,6 +3930,7 @@ }, "node_modules/color-name": { "version": "1.1.3", + "dev": true, "license": "MIT" }, "node_modules/colorette": { @@ -4944,35 +4237,6 @@ "node": "*" } }, - "node_modules/csv": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz", - "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", - "dependencies": { - "csv-generate": "^3.4.3", - "csv-parse": "^4.16.3", - "csv-stringify": "^5.6.5", - "stream-transform": "^2.1.3" - }, - "engines": { - "node": ">= 0.1.90" - } - }, - "node_modules/csv-generate": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz", - "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==" - }, - "node_modules/csv-parse": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", - "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" - }, - "node_modules/csv-stringify": { - "version": "5.6.5", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", - "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "dev": true, @@ -5049,29 +4313,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dedent": { "version": "1.5.3", "dev": true, @@ -5098,17 +4339,6 @@ "node": ">=0.10.0" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "license": "MIT", @@ -5193,14 +4423,6 @@ "minimalistic-assert": "^1.0.0" } }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "engines": { - "node": ">=8" - } - }, "node_modules/detective": { "version": "5.2.1", "dev": true, @@ -5263,6 +4485,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", + "dev": true, "license": "MIT", "dependencies": { "path-type": "^4.0.0" @@ -5401,18 +4624,6 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/envinfo": { "version": "7.12.0", "dev": true, @@ -5426,6 +4637,7 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -5579,6 +4791,7 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.2", + "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.0" @@ -5601,6 +4814,7 @@ }, "node_modules/escalade": { "version": "3.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -5608,6 +4822,7 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -6190,6 +5405,7 @@ }, "node_modules/esprima": { "version": "4.0.1", + "dev": true, "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", @@ -6566,24 +5782,6 @@ "node": ">=0.10.0" } }, - "node_modules/extendable-error": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", - "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/extract-zip": { "version": "2.0.1", "dev": true, @@ -6628,6 +5826,7 @@ }, "node_modules/fast-glob": { "version": "3.3.2", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -6642,6 +5841,7 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -6679,6 +5879,7 @@ }, "node_modules/fastq": { "version": "1.17.1", + "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -6713,6 +5914,7 @@ }, "node_modules/fill-range": { "version": "7.0.1", + "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -6728,6 +5930,7 @@ }, "node_modules/find-up": { "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { "locate-path": "^6.0.0", @@ -6740,15 +5943,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-yarn-workspace-root2": { - "version": "1.2.16", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", - "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", - "dependencies": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" - } - }, "node_modules/flat": { "version": "5.0.2", "dev": true, @@ -6808,19 +6002,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -6883,6 +6064,7 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", + "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -6978,6 +6160,7 @@ }, "node_modules/globby": { "version": "11.1.0", + "dev": true, "license": "MIT", "dependencies": { "array-union": "^2.1.0", @@ -7019,13 +6202,9 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", + "dev": true, "license": "ISC" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, "node_modules/graphemer": { "version": "1.4.0", "dev": true, @@ -7090,14 +6269,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.4", "dev": true, @@ -7115,6 +6286,7 @@ }, "node_modules/has-flag": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -7212,11 +6384,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, "node_modules/html-escaper": { "version": "2.0.2", "dev": true, @@ -7235,11 +6402,6 @@ "dev": true, "license": "MIT" }, - "node_modules/human-id": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", - "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==" - }, "node_modules/human-signals": { "version": "2.1.0", "dev": true, @@ -7248,17 +6410,6 @@ "node": ">=10.17.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "dev": true, @@ -7280,6 +6431,7 @@ }, "node_modules/ignore": { "version": "5.3.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -7334,14 +6486,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "dev": true, @@ -7428,6 +6572,7 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", + "dev": true, "license": "MIT" }, "node_modules/is-async-function": { @@ -7485,6 +6630,7 @@ }, "node_modules/is-core-module": { "version": "2.13.1", + "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.0" @@ -7534,6 +6680,7 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -7552,6 +6699,7 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7581,6 +6729,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", + "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -7612,6 +6761,7 @@ }, "node_modules/is-number": { "version": "7.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -7638,14 +6788,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "dev": true, @@ -7719,17 +6861,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-subdir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", - "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", - "dependencies": { - "better-path-resolve": "1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/is-symbol": { "version": "1.0.4", "license": "MIT", @@ -7792,20 +6923,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/isarray": { "version": "2.0.5", "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", + "dev": true, "license": "ISC" }, "node_modules/isobject": { @@ -9726,6 +8850,7 @@ }, "node_modules/js-tokens": { "version": "4.0.0", + "dev": true, "license": "MIT" }, "node_modules/js-yaml": { @@ -9763,6 +8888,7 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", + "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -9798,14 +8924,6 @@ "version": "2.2.1", "license": "MIT" }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/jsonify": { "version": "0.0.1", "dev": true, @@ -9949,6 +9067,7 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", + "dev": true, "license": "MIT" }, "node_modules/list-item": { @@ -9976,40 +9095,6 @@ "node": ">=0.10.0" } }, - "node_modules/load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/load-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/loader-runner": { "version": "4.3.0", "dev": true, @@ -10020,6 +9105,7 @@ }, "node_modules/locate-path": { "version": "6.0.0", + "dev": true, "license": "MIT", "dependencies": { "p-locate": "^5.0.0" @@ -10065,11 +9151,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, "node_modules/lodash.template": { "version": "4.5.0", "dev": true, @@ -10133,6 +9214,7 @@ }, "node_modules/map-obj": { "version": "1.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -10186,53 +9268,6 @@ "safe-buffer": "^5.1.2" } }, - "node_modules/meow": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", - "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "dev": true, @@ -10240,6 +9275,7 @@ }, "node_modules/merge2": { "version": "1.4.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -10247,6 +9283,7 @@ }, "node_modules/micromatch": { "version": "4.0.5", + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.2", @@ -10300,14 +9337,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "engines": { - "node": ">=4" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "dev": true, @@ -10340,27 +9369,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minimist-options/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mixin-deep": { "version": "1.3.2", "dev": true, @@ -10384,14 +9392,6 @@ "node": ">=0.10.0" } }, - "node_modules/mixme": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.10.tgz", - "integrity": "sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==", - "engines": { - "node": ">= 8.0.0" - } - }, "node_modules/mkdirp-classic": { "version": "0.5.3", "dev": true, @@ -10546,25 +9546,6 @@ "dev": true, "license": "MIT" }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "dev": true, @@ -10735,32 +9716,9 @@ "dev": true, "license": "MIT" }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/outdent": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", - "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==" - }, - "node_modules/p-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", - "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", - "dependencies": { - "p-map": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { "version": "3.1.0", + "dev": true, "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" @@ -10774,6 +9732,7 @@ }, "node_modules/p-locate": { "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { "p-limit": "^3.0.2" @@ -10785,16 +9744,9 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, "node_modules/p-try": { "version": "2.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -10842,6 +9794,7 @@ }, "node_modules/parse-json": { "version": "5.2.0", + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", @@ -10871,6 +9824,7 @@ }, "node_modules/path-exists": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10894,6 +9848,7 @@ }, "node_modules/path-parse": { "version": "1.0.7", + "dev": true, "license": "MIT" }, "node_modules/path-platform": { @@ -10906,6 +9861,7 @@ }, "node_modules/path-type": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10933,10 +9889,12 @@ }, "node_modules/picocolors": { "version": "1.0.0", + "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -10945,14 +9903,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, "node_modules/pirates": { "version": "4.0.6", "dev": true, @@ -10963,6 +9913,7 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", + "dev": true, "license": "MIT", "dependencies": { "find-up": "^4.0.0" @@ -10973,6 +9924,7 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", + "dev": true, "license": "MIT", "dependencies": { "locate-path": "^5.0.0", @@ -10984,6 +9936,7 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { "p-locate": "^4.1.0" @@ -10994,6 +9947,7 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", + "dev": true, "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -11007,6 +9961,7 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", + "dev": true, "license": "MIT", "dependencies": { "p-limit": "^2.2.0" @@ -11029,20 +9984,6 @@ "node": ">= 0.4" } }, - "node_modules/preferred-pm": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.3.tgz", - "integrity": "sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==", - "dependencies": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -11143,11 +10084,6 @@ "dev": true, "license": "MIT" }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, "node_modules/public-encrypt": { "version": "4.0.3", "dev": true, @@ -11265,6 +10201,7 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", + "dev": true, "funding": [ { "type": "github", @@ -11281,14 +10218,6 @@ ], "license": "MIT" }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "engines": { - "node": ">=8" - } - }, "node_modules/randomatic": { "version": "3.1.1", "dev": true, @@ -11375,151 +10304,23 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-yaml-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", - "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.6.1", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/read-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "dev": true, - "license": "MIT", + "node_modules/rechoir": { + "version": "0.7.1", + "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -11527,18 +10328,6 @@ "node": ">= 0.10" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", "dev": true, @@ -11561,6 +10350,7 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.1", + "dev": true, "license": "MIT" }, "node_modules/regexp-tree": { @@ -11734,6 +10524,7 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -11746,13 +10537,9 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, "node_modules/resolve": { "version": "1.22.8", + "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", @@ -11803,6 +10590,7 @@ }, "node_modules/reusify": { "version": "1.0.4", + "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -11873,6 +10661,7 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "dev": true, "funding": [ { "type": "github", @@ -11954,11 +10743,6 @@ "version": "1.1.1", "license": "MIT" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "node_modules/schema-utils": { "version": "3.3.0", "dev": true, @@ -11978,6 +10762,7 @@ }, "node_modules/semver": { "version": "7.6.0", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -11991,6 +10776,7 @@ }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -12001,6 +10787,7 @@ }, "node_modules/semver/node_modules/yallist": { "version": "4.0.0", + "dev": true, "license": "ISC" }, "node_modules/serialize-javascript": { @@ -12011,11 +10798,6 @@ "randombytes": "^2.1.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, "node_modules/set-function-length": { "version": "1.2.2", "license": "MIT", @@ -12148,6 +10930,7 @@ }, "node_modules/signal-exit": { "version": "3.0.7", + "dev": true, "license": "ISC" }, "node_modules/simple-concat": { @@ -12199,355 +10982,108 @@ }, "node_modules/slash": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/smartwrap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz", - "integrity": "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==", - "dependencies": { - "array.prototype.flat": "^1.2.3", - "breakword": "^1.0.5", - "grapheme-splitter": "^1.0.4", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - }, - "bin": { - "smartwrap": "src/terminal-adapter.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/smartwrap/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/smartwrap/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "node": ">=0.10.0" } }, - "node_modules/smartwrap/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/source-map-support": { + "version": "0.5.13", + "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/smartwrap/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, - "node_modules/smartwrap/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/stack-utils": { + "version": "2.0.6", + "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/smartwrap/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/smartwrap/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/stream-browserify": { + "version": "2.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/smartwrap/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/smartwrap/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/smartwrap/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "node_modules/stream-browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" }, - "node_modules/smartwrap/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/smartwrap/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/stream-combiner2": { + "version": "1.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" } }, - "node_modules/source-map": { - "version": "0.6.1", + "node_modules/stream-combiner2/node_modules/isarray": { + "version": "1.0.0", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spawndamnit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", - "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", - "dependencies": { - "cross-spawn": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "node_modules/spawndamnit/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/spawndamnit/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/spawndamnit/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawndamnit/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawndamnit/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/spawndamnit/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-browserify/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" + "license": "MIT" }, "node_modules/stream-combiner2/node_modules/readable-stream": { "version": "2.3.8", @@ -12628,14 +11164,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/stream-transform": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz", - "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", - "dependencies": { - "mixme": "^0.5.1" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "dev": true, @@ -12658,6 +11186,7 @@ }, "node_modules/string-width": { "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -12670,6 +11199,7 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", + "dev": true, "license": "MIT" }, "node_modules/string.prototype.trim": { @@ -12717,6 +11247,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -12727,6 +11258,7 @@ }, "node_modules/strip-bom": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -12748,17 +11280,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, @@ -12780,6 +11301,7 @@ }, "node_modules/supports-color": { "version": "5.5.0", + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^3.0.0" @@ -12790,6 +11312,7 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -12849,17 +11372,6 @@ "node": ">=6" } }, - "node_modules/term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ternary": { "version": "1.0.0", "dev": true, @@ -13077,17 +11589,6 @@ "node": ">=0.6.0" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/tmpl": { "version": "1.0.5", "dev": true, @@ -13114,6 +11615,7 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -13168,14 +11670,6 @@ "dev": true, "license": "MIT" }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "engines": { - "node": ">=8" - } - }, "node_modules/ts-api-utils": { "version": "1.3.0", "dev": true, @@ -13370,98 +11864,6 @@ "dev": true, "license": "MIT" }, - "node_modules/tty-table": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.3.tgz", - "integrity": "sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==", - "dependencies": { - "chalk": "^4.1.2", - "csv": "^5.5.3", - "kleur": "^4.1.5", - "smartwrap": "^2.0.2", - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.1", - "yargs": "^17.7.1" - }, - "bin": { - "tty-table": "adapters/terminal-adapter.js" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/tty-table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tty-table/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/tty-table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tty-table/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/tty-table/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/tty-table/node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tty-table/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/turbo": { "version": "1.13.3", "dev": true, @@ -13652,14 +12054,6 @@ "version": "5.26.5", "license": "MIT" }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/update-browserslist-db": { "version": "1.0.13", "dev": true, @@ -13757,15 +12151,6 @@ "node": ">=10.12.0" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/vm-browserify": { "version": "1.1.2", "dev": true, @@ -13791,14 +12176,6 @@ "node": ">=10.13.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/webidl-conversions": { "version": "3.0.1", "license": "BSD-2-Clause" @@ -14074,23 +12451,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" - }, - "node_modules/which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", - "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8.15" - } - }, "node_modules/which-typed-array": { "version": "1.1.15", "license": "MIT", @@ -14115,6 +12475,7 @@ }, "node_modules/wrap-ansi": { "version": "7.0.0", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -14130,6 +12491,7 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -14143,6 +12505,7 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -14153,6 +12516,7 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, "node_modules/wrappy": { @@ -14202,6 +12566,7 @@ }, "node_modules/y18n": { "version": "5.0.8", + "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -14214,6 +12579,7 @@ }, "node_modules/yargs": { "version": "17.7.2", + "dev": true, "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -14230,6 +12596,7 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", + "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -14254,6 +12621,7 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -14261,6 +12629,298 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "packages/parser": { + "version": "3.0.14", + "license": "Apache-2.0", + "dependencies": { + "@asyncapi/specs": "^6.6.0", + "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", + "@stoplight/json": "^3.20.2", + "@stoplight/json-ref-readers": "^1.2.2", + "@stoplight/json-ref-resolver": "^3.1.5", + "@stoplight/spectral-core": "^1.16.1", + "@stoplight/spectral-functions": "^1.7.2", + "@stoplight/spectral-parsers": "^1.0.2", + "@stoplight/spectral-ref-resolver": "^1.0.3", + "@stoplight/types": "^13.12.0", + "@types/json-schema": "^7.0.11", + "@types/urijs": "^1.19.19", + "ajv": "^8.11.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "avsc": "^5.7.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^7.2.0", + "node-fetch": "2.6.7" + }, + "devDependencies": { + "@asyncapi/avro-schema-parser": "^3.0.22", + "@jest/types": "^29.0.2", + "@swc/core": "^1.2.248", + "@swc/jest": "^0.2.22", + "@types/jest": "^27.4.1", + "@types/js-yaml": "^4.0.5", + "@types/node": "^18.16.1", + "@types/node-fetch": "^2.6.2", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "browserify": "^16.3.0", + "browserify-shim": "^3.8.14", + "cross-env": "^7.0.3", + "eslint": "^8.23.0", + "eslint-plugin-github": "^4.3.7", + "eslint-plugin-security": "^1.5.0", + "eslint-plugin-sonarjs": "^0.15.0", + "jest": "^29.0.2", + "markdown-toc": "^1.2.0", + "path-browserify": "^1.0.1", + "puppeteer": "^17.1.1", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "typescript": "^4.8.2", + "webpack": "^5.74.0", + "webpack-bundle-analyzer": "^4.6.1", + "webpack-cli": "^4.10.0" + } + }, + "packages/parser/node_modules/@types/node": { + "version": "18.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.39.tgz", + "integrity": "sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "packages/parser/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/parser/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/parser/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/parser/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/parser/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "packages/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/parser/node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/parser/node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "packages/parser/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "packages/parser/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } } } } diff --git a/package.json b/package.json index b44a4683e..096710c20 100644 --- a/package.json +++ b/package.json @@ -9,17 +9,11 @@ "parser:test:unit": "turbo run test:unit --filter=@asyncapi/parser", "parser:test": "turbo run test --filter=@asyncapi/parser", "parser:test:browser": "turbo run test:browser --filter=@asyncapi/parser", - "parser:build": "turbo run build --filter=@asyncapi/parser", - "changeset": "changeset", - "version-packages": "changeset version", - "publish-packages": "turbo run build && changeset publish" + "parser:build": "turbo run build --filter=@asyncapi/parser" }, "devDependencies": { "turbo": "1.13.3" }, - "dependencies": { - "@changesets/cli": "^2.26.2" - }, "engines": { "node": ">=18" }, From 65655e1f3856b2519c747a23533c6692a03f8f64 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 30 Jun 2024 13:56:36 +0530 Subject: [PATCH 068/107] updated the config and realease --- .changeset/config.json | 5 ++++- .github/workflows/release-with-changesets.yml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index 36d8410c0..fd8a409cc 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,9 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": "@changesets/cli/changelog", + "changelog": [ + "@changesets/changelog-git", + { "repo": "@ayushnautiyal706020/parser" } + ], "commit": false, "fixed": [], "linked": [], diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index cd65ef658..c2480fa75 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -105,7 +105,7 @@ jobs: - if: steps.packagejson.outputs.exists == 'true' name: Install changelog shell: bash - run: npm install @changesets/changelog-git@0.2.0 @changesets/cli@2.27.6 + run: npm install @changesets/changelog-git@0.2.0 - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub uses: changesets/action@v1 From db156174485c5b99934a5fb45e9e5dc57e9b9866 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 30 Jun 2024 13:57:20 +0530 Subject: [PATCH 069/107] updated the name of the package.json. --- .changeset/config.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index fd8a409cc..4fabd2731 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,9 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": [ - "@changesets/changelog-git", - { "repo": "@ayushnautiyal706020/parser" } - ], + "changelog": ["@changesets/changelog-git", { "repo": "@asyncapi/parser" }], "commit": false, "fixed": [], "linked": [], From a14d5126b767d60c6c080c74d61950b2c1217886 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 30 Jun 2024 14:35:21 +0530 Subject: [PATCH 070/107] updated the name. --- .changeset/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index 4fabd2731..4788c3633 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": ["@changesets/changelog-git", { "repo": "@asyncapi/parser" }], + "changelog": ["@changesets/changelog-git", { "repo": "@asyncapi/parser-js" }], "commit": false, "fixed": [], "linked": [], From c30002f24638b63522128599f12c2f9cba98139e Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 30 Jun 2024 15:46:17 +0530 Subject: [PATCH 071/107] updated the name of the repo name --- .changeset/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index 4788c3633..121e38d1f 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": ["@changesets/changelog-git", { "repo": "@asyncapi/parser-js" }], + "changelog": ["@changesets/changelog-git", { "repo": "asyncapi/parser-js" }], "commit": false, "fixed": [], "linked": [], From dd0afd60e3ace2c6ea2269ad95345636a7a8317d Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 01:15:09 +0530 Subject: [PATCH 072/107] Added the changes for the config and relase. --- .changeset/config.json | 2 +- .github/workflows/release-with-changesets.yml | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index 36d8410c0..121e38d1f 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": "@changesets/cli/changelog", + "changelog": ["@changesets/changelog-git", { "repo": "asyncapi/parser-js" }], "commit": false, "fixed": [], "linked": [], diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index fde21edbf..c2480fa75 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -12,7 +12,6 @@ on: - beta - alpha - next - - feat-mastertest jobs: test-nodejs: @@ -20,7 +19,11 @@ jobs: # "commits" contains an array of objects where one of the properties is the commit "message" # Release workflow will be skipped if release conventional commits are not used if: | - true + startsWith( github.repository, 'asyncapi/' ) && + (startsWith( github.event.commits[0].message , 'fix:' ) || + startsWith( github.event.commits[0].message, 'fix!:' ) || + startsWith( github.event.commits[0].message, 'feat:' ) || + startsWith( github.event.commits[0].message, 'feat!:' )) name: Test NodeJS release on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: @@ -102,16 +105,17 @@ jobs: - if: steps.packagejson.outputs.exists == 'true' name: Install changelog shell: bash - run: npm install --save-dev @changesets/changelog-git @changesets/cli + run: npm install @changesets/changelog-git@0.2.0 - if: steps.packagejson.outputs.exists == 'true' name: Publish to any of NPM, Github, and Docker Hub uses: changesets/action@v1 id: release with: - version: npm run changeset version + version: npx -p @changesets/cli changeset version commit: version packages title: "chore: version packages" - publish: npm run turbo run build && npm changeset publish + publish: npx -p @changesets/cli changeset publish + setupGitUser: false env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From f76eb198e4419ad0f339914529994917ed9d72fd Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 01:22:29 +0530 Subject: [PATCH 073/107] updated the package.json. --- package-lock.json | 643 +++++++++++++--------------------------------- 1 file changed, 185 insertions(+), 458 deletions(-) diff --git a/package-lock.json b/package-lock.json index bb9b362d3..c1375321a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1206,9 +1206,10 @@ } }, "node_modules/@jest/core/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/@jest/core/node_modules/supports-color": { "version": "7.2.0", @@ -1355,15 +1356,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -1395,25 +1387,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", "dev": true, @@ -1422,17 +1395,6 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@jest/reporters/node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -1990,13 +1952,14 @@ } }, "node_modules/@stoplight/spectral-core/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -2087,13 +2050,14 @@ } }, "node_modules/@stoplight/spectral-functions/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -2312,9 +2276,10 @@ } }, "node_modules/@swc/jest/node_modules/jsonc-parser": { - "version": "3.2.1", - "dev": true, - "license": "MIT" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true }, "node_modules/@swc/types": { "version": "0.1.6", @@ -2464,8 +2429,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.12.7", - "license": "MIT", + "version": "18.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.39.tgz", + "integrity": "sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==", "dependencies": { "undici-types": "~5.26.4" } @@ -2524,20 +2490,19 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz", + "integrity": "sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/type-utils": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4", + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/type-utils": "7.15.0", + "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "engines": { @@ -2558,14 +2523,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.15.0.tgz", + "integrity": "sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/typescript-estree": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "debug": "^4.3.4" }, "engines": { @@ -2585,12 +2551,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz", + "integrity": "sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0" + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -2601,12 +2568,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz", + "integrity": "sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/utils": "7.7.0", + "@typescript-eslint/typescript-estree": "7.15.0", + "@typescript-eslint/utils": "7.15.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -2627,9 +2595,10 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", + "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -2639,12 +2608,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz", + "integrity": "sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2666,17 +2636,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.15.0.tgz", + "integrity": "sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "semver": "^7.6.0" + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/typescript-estree": "7.15.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -2690,11 +2658,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.7.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz", + "integrity": "sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/types": "7.15.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -2910,9 +2879,10 @@ "license": "MIT" }, "node_modules/acorn": { - "version": "8.11.3", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2966,9 +2936,13 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.2", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, - "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -3004,13 +2978,14 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -3750,19 +3725,6 @@ "dev": true, "license": "MIT" }, - "node_modules/browserify-sign/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/browserify-zlib": { "version": "0.2.0", "dev": true, @@ -3771,15 +3733,6 @@ "pako": "~1.0.5" } }, - "node_modules/browserify/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/browserify/node_modules/buffer": { "version": "5.2.1", "dev": true, @@ -3789,41 +3742,11 @@ "ieee754": "^1.1.4" } }, - "node_modules/browserify/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/browserify/node_modules/isarray": { "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/browserify/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/browserify/node_modules/path-browserify": { "version": "0.0.1", "dev": true, @@ -3853,14 +3776,6 @@ "dev": true, "license": "MIT" }, - "node_modules/browserify/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/browserslist": { "version": "4.23.0", "dev": true, @@ -4227,14 +4142,6 @@ "dev": true, "license": "MIT" }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/concat-with-sourcemaps": { "version": "1.1.0", "dev": true, @@ -4768,14 +4675,6 @@ "dev": true, "license": "MIT" }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/electron-to-chromium": { "version": "1.4.745", "dev": true, @@ -5910,9 +5809,10 @@ } }, "node_modules/expect/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/expect/node_modules/supports-color": { "version": "7.2.0", @@ -6123,9 +6023,10 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6331,6 +6232,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "dev": true, @@ -6347,6 +6269,28 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/globals": { "version": "11.12.0", "dev": true, @@ -7159,9 +7103,10 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.2", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -7424,9 +7369,10 @@ } }, "node_modules/jest-circus/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-circus/node_modules/supports-color": { "version": "7.2.0", @@ -7593,15 +7539,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -7633,25 +7570,6 @@ "dev": true, "license": "MIT" }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", "dev": true, @@ -7660,17 +7578,6 @@ "node": ">=8" } }, - "node_modules/jest-config/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/jest-config/node_modules/pretty-format": { "version": "29.7.0", "dev": true, @@ -7696,9 +7603,10 @@ } }, "node_modules/jest-config/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-config/node_modules/supports-color": { "version": "7.2.0", @@ -7909,9 +7817,10 @@ } }, "node_modules/jest-each/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-each/node_modules/supports-color": { "version": "7.2.0", @@ -8009,9 +7918,10 @@ } }, "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-matcher-utils": { "version": "27.5.1", @@ -8196,9 +8106,10 @@ } }, "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-message-util/node_modules/supports-color": { "version": "7.2.0", @@ -8484,15 +8395,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/jest-runtime/node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -8524,25 +8426,6 @@ "dev": true, "license": "MIT" }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", "dev": true, @@ -8551,17 +8434,6 @@ "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/jest-runtime/node_modules/strip-bom": { "version": "4.0.0", "dev": true, @@ -8725,9 +8597,10 @@ } }, "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", @@ -8925,9 +8798,10 @@ } }, "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", @@ -9692,14 +9566,6 @@ "dev": true, "license": "MIT" }, - "node_modules/module-deps/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/mothership": { "version": "0.3.0", "dev": true, @@ -10400,11 +10266,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, "node_modules/process": { "version": "0.11.10", "dev": true, @@ -10681,6 +10542,12 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, "node_modules/read-only-stream": { "version": "2.0.0", "dev": true, @@ -10713,14 +10580,6 @@ "dev": true, "license": "MIT" }, - "node_modules/read-only-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "dev": true, @@ -11028,45 +10887,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/ripemd160": { "version": "2.0.2", "dev": true, @@ -11178,12 +10998,10 @@ } }, "node_modules/semver": { - "version": "7.6.0", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -11191,22 +11009,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/serialize-javascript": { "version": "6.0.2", "dev": true, @@ -11478,14 +11280,6 @@ "dev": true, "license": "MIT" }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-combiner2": { "version": "1.1.1", "dev": true, @@ -11519,14 +11313,6 @@ "dev": true, "license": "MIT" }, - "node_modules/stream-combiner2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-http": { "version": "3.2.0", "dev": true, @@ -11571,21 +11357,20 @@ "dev": true, "license": "MIT" }, - "node_modules/stream-splicer/node_modules/string_decoder": { + "node_modules/string_decoder": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/string-length": { "version": "4.0.2", @@ -11913,25 +11698,6 @@ "concat-map": "0.0.1" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/test-exclude/node_modules/minimatch": { "version": "3.1.2", "dev": true, @@ -11986,14 +11752,6 @@ "dev": true, "license": "MIT" }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/timers-browserify": { "version": "1.4.2", "dev": true, @@ -12252,8 +12010,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -12408,16 +12167,16 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.4.5", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, - "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/umd": { @@ -12710,9 +12469,10 @@ } }, "node_modules/webpack-bundle-analyzer/node_modules/ws": { - "version": "7.5.9", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -13289,19 +13049,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "packages/multi-parser/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "packages/parser": { "name": "@asyncapi/parser", "version": "3.0.14", @@ -13357,14 +13104,6 @@ "webpack-cli": "^4.10.0" } }, - "packages/parser/node_modules/@types/node": { - "version": "18.19.39", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, "packages/parser/node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "dev": true, @@ -13569,18 +13308,6 @@ "packages/parser/node_modules/json-schema-traverse": { "version": "1.0.0", "license": "MIT" - }, - "packages/parser/node_modules/typescript": { - "version": "4.9.5", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } } } } From 16edb24d83ef0cee6b063e00244b67726fe6cc73 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 01:25:35 +0530 Subject: [PATCH 074/107] Added the required changes for the multiparser. --- .changeset/wise-laws-retire.md | 4 ++-- packages/multi-parser/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.changeset/wise-laws-retire.md b/.changeset/wise-laws-retire.md index 056c0bfee..3c58e84a3 100644 --- a/.changeset/wise-laws-retire.md +++ b/.changeset/wise-laws-retire.md @@ -1,5 +1,5 @@ --- -"@asyncapi/parser": minor +"@asyncapi/multi-parser": minor --- -Turning Parser-JS into monorepo by integrating Turborepo. No new features or bugfixes were introduced. +Adding the Multiparser into monorepo (Turborepo). No new features or bugfixes were introduced. diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index 264b21d95..c1cab1341 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -1,5 +1,5 @@ { - "name": "@smoya/multi-parser", + "name": "@asyncapi/multi-parser", "version": "2.0.0", "description": "This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version", "bugs": { From 30b1f0c8eccbd7adc1e2dfd91b6fe978cb619d65 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 01:27:05 +0530 Subject: [PATCH 075/107] updated the package.json. --- package-lock.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index c1375321a..bfc959a4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,6 +45,10 @@ "avsc": "^5.7.6" } }, + "node_modules/@asyncapi/multi-parser": { + "resolved": "packages/multi-parser", + "link": true + }, "node_modules/@asyncapi/openapi-schema-parser": { "version": "3.0.24", "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.24.tgz", @@ -1829,10 +1833,6 @@ "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@smoya/multi-parser": { - "resolved": "packages/multi-parser", - "link": true - }, "node_modules/@stoplight/json": { "version": "3.21.0", "license": "Apache-2.0", @@ -12830,7 +12830,7 @@ } }, "packages/multi-parser": { - "name": "@smoya/multi-parser", + "name": "@asyncapi/multi-parser", "version": "2.0.0", "license": "Apache-2.0", "dependencies": { From 9d22849c3baee0b192f676020a3018de73a329f2 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 01:34:46 +0530 Subject: [PATCH 076/107] fixed the lint file. --- packages/parser/.eslintrc => .eslintrc | 0 packages/parser/LICENSE => LICENSE | 0 packages/multi-parser/package.json | 4 ++-- packages/parser/.eslintignore | 11 ----------- 4 files changed, 2 insertions(+), 13 deletions(-) rename packages/parser/.eslintrc => .eslintrc (100%) rename packages/parser/LICENSE => LICENSE (100%) delete mode 100644 packages/parser/.eslintignore diff --git a/packages/parser/.eslintrc b/.eslintrc similarity index 100% rename from packages/parser/.eslintrc rename to .eslintrc diff --git a/packages/parser/LICENSE b/LICENSE similarity index 100% rename from packages/parser/LICENSE rename to LICENSE diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index c1cab1341..8b9a2a293 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -30,8 +30,8 @@ "build:cjs": "tsc --project ./tsconfig.cjs.json", "test": "npm run test:unit", "test:unit": "cross-env CI=true jest --coverage", - "lint": "eslint --max-warnings 0 --config .eslintrc --ignore-path ../../.eslintignore .", - "lint:fix": "eslint --max-warnings 0 --config .eslintrc --ignore-path ../../.eslintignore . --fix", + "lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .", + "lint:fix": "eslint --max-warnings 0 --config .../../eslintrc --ignore-path ../../.eslintignore . --fix", "generate:readme:toc": "markdown-toc -i \"README.md\"", "generate:assets": "npm run build && npm run generate:readme:toc", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", diff --git a/packages/parser/.eslintignore b/packages/parser/.eslintignore deleted file mode 100644 index 2fb12ca0f..000000000 --- a/packages/parser/.eslintignore +++ /dev/null @@ -1,11 +0,0 @@ -node_modules -.vscode -.DS_Store -/docs -/coverage -/lib -/esm -/cjs -/browser -esm -cjs From 517b508daa68cef95f7c5e995e7bbba7147f2613 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:03:42 +0530 Subject: [PATCH 077/107] removed the unwanted files. --- packages/multi-parser/.editorconfig | 12 -- .../workflows/if-nodejs-pr-testing.yml | 78 ----------- .../.github/workflows/if-nodejs-release.yml | 126 ------------------ .../.github/workflows/lint-pr-title.yml | 47 ------- packages/multi-parser/.npmignore | 9 -- packages/multi-parser/.sonarcloud.properties | 1 - packages/multi-parser/README.md | 2 - 7 files changed, 275 deletions(-) delete mode 100644 packages/multi-parser/.editorconfig delete mode 100644 packages/multi-parser/.github/workflows/if-nodejs-pr-testing.yml delete mode 100644 packages/multi-parser/.github/workflows/if-nodejs-release.yml delete mode 100644 packages/multi-parser/.github/workflows/lint-pr-title.yml delete mode 100644 packages/multi-parser/.npmignore delete mode 100644 packages/multi-parser/.sonarcloud.properties delete mode 100644 packages/multi-parser/README.md diff --git a/packages/multi-parser/.editorconfig b/packages/multi-parser/.editorconfig deleted file mode 100644 index 1cbf16249..000000000 --- a/packages/multi-parser/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true - -[*.js] -indent_size = 2 -indent_style = space -quote_type = single \ No newline at end of file diff --git a/packages/multi-parser/.github/workflows/if-nodejs-pr-testing.yml b/packages/multi-parser/.github/workflows/if-nodejs-pr-testing.yml deleted file mode 100644 index 9ce9f9a19..000000000 --- a/packages/multi-parser/.github/workflows/if-nodejs-pr-testing.yml +++ /dev/null @@ -1,78 +0,0 @@ -# This action is centrally managed in https://github.com/asyncapi/.github/ -# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo - -# It does magic only if there is package.json file in the root of the project -name: PR testing - if Node project - -on: - pull_request: - types: [opened, reopened, synchronize, ready_for_review] - -jobs: - test-nodejs-pr: - name: Test NodeJS PR - ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - steps: - - if: > - !github.event.pull_request.draft && !( - (github.actor == 'asyncapi-bot' && ( - startsWith(github.event.pull_request.title, 'ci: update of files from global .github repo') || - startsWith(github.event.pull_request.title, 'chore(release):') - )) || - (github.actor == 'asyncapi-bot-eve' && ( - startsWith(github.event.pull_request.title, 'ci: update of files from global .github repo') || - startsWith(github.event.pull_request.title, 'chore(release):') - )) || - (github.actor == 'allcontributors[bot]' && - startsWith(github.event.pull_request.title, 'docs: add') - ) - ) - id: should_run - name: Should Run - run: echo "shouldrun=true" >> $GITHUB_OUTPUT - - if: steps.should_run.outputs.shouldrun == 'true' - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows - run: | - git config --global core.autocrlf false - git config --global core.eol lf - - if: steps.should_run.outputs.shouldrun == 'true' - name: Checkout repository - uses: actions/checkout@v3 - - if: steps.should_run.outputs.shouldrun == 'true' - name: Check if Node.js project and has package.json - id: packagejson - run: test -e ./package.json && echo "exists=true" >> $GITHUB_OUTPUT || echo "exists=false" >> $GITHUB_OUTPUT - shell: bash - - if: steps.packagejson.outputs.exists == 'true' - name: Check package-lock version - uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master - id: lockversion - - if: steps.packagejson.outputs.exists == 'true' - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: "${{ steps.lockversion.outputs.version }}" - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - - if: steps.packagejson.outputs.exists == 'true' - name: Install dependencies - id: first-installation - run: npm install --loglevel verbose - continue-on-error: true - - if: steps.first-installation.outputs.status == 'failure' && steps.packagejson.outputs.exists == 'true' - name: Clear NPM cache and install deps again - run: | - npm cache clean --force - npm install --loglevel verbose - - if: steps.packagejson.outputs.exists == 'true' - name: Test - run: npm test --if-present - - if: steps.packagejson.outputs.exists == 'true' - name: Run linter - run: npm run lint --if-present - - if: steps.packagejson.outputs.exists == 'true' - name: Run release assets generation to make sure PR does not break it - run: npm run generate:assets --if-present diff --git a/packages/multi-parser/.github/workflows/if-nodejs-release.yml b/packages/multi-parser/.github/workflows/if-nodejs-release.yml deleted file mode 100644 index 32bd8a8f7..000000000 --- a/packages/multi-parser/.github/workflows/if-nodejs-release.yml +++ /dev/null @@ -1,126 +0,0 @@ -# This action is centrally managed in https://github.com/asyncapi/.github/ -# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo - -# It does magic only if there is package.json file in the root of the project -name: Release - if Node project - -on: - push: - branches: - - main - # below lines are not enough to have release supported for these branches - # make sure configuration of `semantic-release` package mentions these branches - - next-spec - - next-major - - next-major-spec - - beta - - alpha - -jobs: - - test-nodejs: - # We just check the message of first commit as there is always just one commit because we squash into one before merging - # "commits" contains array of objects where one of the properties is commit "message" - # Release workflow will be skipped if release conventional commits are not used - if: | - startsWith( github.repository, 'smoya/' ) && - (startsWith( github.event.commits[0].message , 'fix:' ) || - startsWith( github.event.commits[0].message, 'fix!:' ) || - startsWith( github.event.commits[0].message, 'feat:' ) || - startsWith( github.event.commits[0].message, 'feat!:' )) - name: Test NodeJS release on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - steps: - - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows - run: | - git config --global core.autocrlf false - git config --global core.eol lf - - name: Checkout repository - uses: actions/checkout@v3 - - name: Check if Node.js project and has package.json - id: packagejson - run: test -e ./package.json && echo "exists=true" >> $GITHUB_OUTPUT || echo "exists=false" >> $GITHUB_OUTPUT - shell: bash - - if: steps.packagejson.outputs.exists == 'true' - name: Check package-lock version - uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master - id: lockversion - - if: steps.packagejson.outputs.exists == 'true' - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: "${{ steps.lockversion.outputs.version }}" - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - - if: steps.packagejson.outputs.exists == 'true' - name: Install dependencies - run: npm install - - if: steps.packagejson.outputs.exists == 'true' - name: Run test - run: npm test --if-present - - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel - name: Report workflow run status to Slack - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,action,workflow - text: 'Release workflow failed in testing job' - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} - - release: - needs: [test-nodejs] - name: Publish to any of NPM, Github, or Docker Hub - runs-on: ubuntu-latest - steps: - - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows - run: | - git config --global core.autocrlf false - git config --global core.eol lf - - name: Checkout repository - uses: actions/checkout@v3 - - name: Check if Node.js project and has package.json - id: packagejson - run: test -e ./package.json && echo "exists=true" >> $GITHUB_OUTPUT || echo "exists=false" >> $GITHUB_OUTPUT - - if: steps.packagejson.outputs.exists == 'true' - name: Check package-lock version - uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master - id: lockversion - - if: steps.packagejson.outputs.exists == 'true' - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: "${{ steps.lockversion.outputs.version }}" - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - - if: steps.packagejson.outputs.exists == 'true' - name: Install dependencies - run: npm install - - if: steps.packagejson.outputs.exists == 'true' - name: Add plugin for conventional commits for semantic-release - run: npm install --save-dev conventional-changelog-conventionalcommits@5.0.0 - - if: steps.packagejson.outputs.exists == 'true' - name: Publish to any of NPM, Github, and Docker Hub - id: release - env: - GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - GIT_AUTHOR_NAME: smoya - GIT_AUTHOR_EMAIL: 1083296+smoya@users.noreply.github.com - GIT_COMMITTER_NAME: smoya - GIT_COMMITTER_EMAIL: 1083296+smoya@users.noreply.github.com - run: npx semantic-release@19.0.4 - - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel - name: Report workflow run status to Slack - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,action,workflow - text: 'Release workflow failed in release job' - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} diff --git a/packages/multi-parser/.github/workflows/lint-pr-title.yml b/packages/multi-parser/.github/workflows/lint-pr-title.yml deleted file mode 100644 index 77aa1c6e4..000000000 --- a/packages/multi-parser/.github/workflows/lint-pr-title.yml +++ /dev/null @@ -1,47 +0,0 @@ -# This action is centrally managed in https://github.com/asyncapi/.github/ -# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo - -name: Lint PR title - -on: - pull_request_target: - types: [opened, reopened, synchronize, edited, ready_for_review] - -jobs: - lint-pr-title: - name: Lint PR title - runs-on: ubuntu-latest - steps: - # Since this workflow is REQUIRED for a PR to be mergable, we have to have this 'if' statement in step level instead of job level. - - if: ${{ !contains(fromJson('["asyncapi-bot", "dependabot[bot]", "dependabot-preview[bot]", "allcontributors[bot]"]'), github.actor) }} - uses: amannn/action-semantic-pull-request@c3cd5d1ea3580753008872425915e343e351ab54 #version 5.2.0 https://github.com/amannn/action-semantic-pull-request/releases/tag/v5.2.0 - id: lint_pr_title - env: - GITHUB_TOKEN: ${{ secrets.GH_TOKEN}} - with: - subjectPattern: ^(?![A-Z]).+$ - subjectPatternError: | - The subject "{subject}" found in the pull request title "{title}" should start with a lowercase character. - - # Comments the error message from the above lint_pr_title action - - if: ${{ always() && steps.lint_pr_title.outputs.error_message != null && !contains(fromJson('["asyncapi-bot", "dependabot[bot]", "dependabot-preview[bot]", "allcontributors[bot]"]'), github.actor)}} - name: Comment on PR - uses: marocchino/sticky-pull-request-comment@3d60a5b2dae89d44e0c6ddc69dd7536aec2071cd #use 2.5.0 https://github.com/marocchino/sticky-pull-request-comment/releases/tag/v2.5.0 - with: - header: pr-title-lint-error - GITHUB_TOKEN: ${{ secrets.GH_TOKEN}} - message: | - - We require all PRs to follow [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/). - More details 👇🏼 - ``` - ${{ steps.lint_pr_title.outputs.error_message}} - ``` - # deletes the error comment if the title is correct - - if: ${{ steps.lint_pr_title.outputs.error_message == null }} - name: delete the comment - uses: marocchino/sticky-pull-request-comment@3d60a5b2dae89d44e0c6ddc69dd7536aec2071cd #use 2.5.0 https://github.com/marocchino/sticky-pull-request-comment/releases/tag/v2.5.0 - with: - header: pr-title-lint-error - delete: true - GITHUB_TOKEN: ${{ secrets.GH_TOKEN}} diff --git a/packages/multi-parser/.npmignore b/packages/multi-parser/.npmignore deleted file mode 100644 index 0a6120ec2..000000000 --- a/packages/multi-parser/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -.DS_Store -*.swp -.github -.all-contributorsrc -.editorconfig -assets/logo.png -vscode -coverage -node_modules diff --git a/packages/multi-parser/.sonarcloud.properties b/packages/multi-parser/.sonarcloud.properties deleted file mode 100644 index 16365be9c..000000000 --- a/packages/multi-parser/.sonarcloud.properties +++ /dev/null @@ -1 +0,0 @@ -sonar.exclusions=test/**/* diff --git a/packages/multi-parser/README.md b/packages/multi-parser/README.md deleted file mode 100644 index e07e4e787..000000000 --- a/packages/multi-parser/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# multi-parser-js -This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version From f6cfbdf9767ebaea470d848e00db4238d0a1244d Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:06:30 +0530 Subject: [PATCH 078/107] adde the relase file. --- .github/workflows/release-with-changesets.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index c2480fa75..4bc735a81 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -12,6 +12,7 @@ on: - beta - alpha - next + - feat-master-multiparser-testing jobs: test-nodejs: @@ -113,7 +114,7 @@ jobs: with: version: npx -p @changesets/cli changeset version commit: version packages - title: "chore: version packages" + title: "feat: version packages" publish: npx -p @changesets/cli changeset publish setupGitUser: false env: From 1893a99c771ef91896ec241998699e7135fcefb3 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:08:30 +0530 Subject: [PATCH 079/107] updated the files. --- .github/workflows/release-with-changesets.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 4bc735a81..55152091d 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -20,11 +20,7 @@ jobs: # "commits" contains an array of objects where one of the properties is the commit "message" # Release workflow will be skipped if release conventional commits are not used if: | - startsWith( github.repository, 'asyncapi/' ) && - (startsWith( github.event.commits[0].message , 'fix:' ) || - startsWith( github.event.commits[0].message, 'fix!:' ) || - startsWith( github.event.commits[0].message, 'feat:' ) || - startsWith( github.event.commits[0].message, 'feat!:' )) + true name: Test NodeJS release on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: From c27646f0196a67960813e8eb2470d13fa6daf735 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:11:53 +0530 Subject: [PATCH 080/107] updated the release. --- .github/workflows/release-with-changesets.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 55152091d..9a20c54f3 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -58,6 +58,10 @@ jobs: name: Install dependencies shell: bash run: npm ci + - if: steps.packagejson.outputs.exists == 'true' + name: Install dependencies + shell: bash + run: npm dedupe - if: steps.packagejson.outputs.exists == 'true' name: Run test run: npm test --if-present From 3e3e6052069a6ab3255fb33f94d06984b11dfc79 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:14:23 +0530 Subject: [PATCH 081/107] get back to original. --- .github/workflows/release-with-changesets.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 9a20c54f3..55152091d 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -58,10 +58,6 @@ jobs: name: Install dependencies shell: bash run: npm ci - - if: steps.packagejson.outputs.exists == 'true' - name: Install dependencies - shell: bash - run: npm dedupe - if: steps.packagejson.outputs.exists == 'true' name: Run test run: npm test --if-present From d7831773015609eae5365e95bc77e86897f12c19 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:27:13 +0530 Subject: [PATCH 082/107] updated the jest config. --- packages/multi-parser/jest.config.ts | 5 ++++- packages/multi-parser/tsconfig.json | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/multi-parser/jest.config.ts b/packages/multi-parser/jest.config.ts index c59d3b93e..dec79d53d 100644 --- a/packages/multi-parser/jest.config.ts +++ b/packages/multi-parser/jest.config.ts @@ -20,6 +20,9 @@ const config: Config.InitialOptions = { collectCoverageFrom: [ 'src/**' ], + moduleNameMapper: { + '^@asyncapi/parser$': '/../parser' + } }; -export default config; \ No newline at end of file +export default config; diff --git a/packages/multi-parser/tsconfig.json b/packages/multi-parser/tsconfig.json index cf73ca08b..4989c569c 100644 --- a/packages/multi-parser/tsconfig.json +++ b/packages/multi-parser/tsconfig.json @@ -20,7 +20,10 @@ "resolveJsonModule": true, "isolatedModules": true, }, + "paths": { + "@asyncapi/parser": ["../parser"] + }, "include": [ "src" ] -} \ No newline at end of file +} From a9c4c13b8d1a3976d8d8b3829a3fd847a8c60dbf Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:29:58 +0530 Subject: [PATCH 083/107] update the files. --- .github/workflows/release-with-changesets.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index 55152091d..c629f44b7 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -58,6 +58,10 @@ jobs: name: Install dependencies shell: bash run: npm ci + - if: steps.packagejson.outputs.exists == 'true' + name: Install dependencies + shell: bash + run: ls -la && ls -la ../parser - if: steps.packagejson.outputs.exists == 'true' name: Run test run: npm test --if-present From 67ebd8c08b01f2facb0e1f9b1ddbc29e48bf807b Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:37:16 +0530 Subject: [PATCH 084/107] updated the files. --- .github/workflows/release-with-changesets.yml | 2 +- packages/multi-parser/jest.config.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index c629f44b7..ce7f2d51b 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -61,7 +61,7 @@ jobs: - if: steps.packagejson.outputs.exists == 'true' name: Install dependencies shell: bash - run: ls -la && ls -la ../parser + run: ls -la packages && pwd && ls -la packages/parser - if: steps.packagejson.outputs.exists == 'true' name: Run test run: npm test --if-present diff --git a/packages/multi-parser/jest.config.ts b/packages/multi-parser/jest.config.ts index dec79d53d..60a36dd43 100644 --- a/packages/multi-parser/jest.config.ts +++ b/packages/multi-parser/jest.config.ts @@ -1,4 +1,5 @@ import type { Config } from '@jest/types'; +import path from 'path'; const config: Config.InitialOptions = { coverageReporters: [ @@ -21,7 +22,7 @@ const config: Config.InitialOptions = { 'src/**' ], moduleNameMapper: { - '^@asyncapi/parser$': '/../parser' + '^@asyncapi/parser$': path.resolve(__dirname, 'packages/parser') } }; From 9e4dd1c028cad023efcb3976a4f76861a09a8b19 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:40:44 +0530 Subject: [PATCH 085/107] u[dpated the files. --- packages/multi-parser/jest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/multi-parser/jest.config.ts b/packages/multi-parser/jest.config.ts index 60a36dd43..ec7f1cd2a 100644 --- a/packages/multi-parser/jest.config.ts +++ b/packages/multi-parser/jest.config.ts @@ -22,7 +22,7 @@ const config: Config.InitialOptions = { 'src/**' ], moduleNameMapper: { - '^@asyncapi/parser$': path.resolve(__dirname, 'packages/parser') + '^@asyncapi/parser$': path.resolve(__dirname, '../parser') } }; From 93ca50f6597386f0b1404add408f3dc561f99581 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:46:32 +0530 Subject: [PATCH 086/107] updated the files --- packages/multi-parser/jest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/multi-parser/jest.config.ts b/packages/multi-parser/jest.config.ts index ec7f1cd2a..327b42e3c 100644 --- a/packages/multi-parser/jest.config.ts +++ b/packages/multi-parser/jest.config.ts @@ -22,7 +22,7 @@ const config: Config.InitialOptions = { 'src/**' ], moduleNameMapper: { - '^@asyncapi/parser$': path.resolve(__dirname, '../parser') + '^@asyncapi/parser$': path.resolve(__dirname, '../../parser') } }; From e8b5a2d074717b0b48ecb701eeb374522ff6857c Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:49:09 +0530 Subject: [PATCH 087/107] updated the file. --- packages/multi-parser/jest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/multi-parser/jest.config.ts b/packages/multi-parser/jest.config.ts index 327b42e3c..809d54bee 100644 --- a/packages/multi-parser/jest.config.ts +++ b/packages/multi-parser/jest.config.ts @@ -22,7 +22,7 @@ const config: Config.InitialOptions = { 'src/**' ], moduleNameMapper: { - '^@asyncapi/parser$': path.resolve(__dirname, '../../parser') + '^@asyncapi/parser$': path.resolve(__dirname, '../../packages/parser') } }; From 08309378c81e1f2bd1279c999ae1723f09944408 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 21:59:16 +0530 Subject: [PATCH 088/107] updated the files. --- packages/multi-parser/test/convert.spec.ts | 2 +- packages/multi-parser/test/parse.spec.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/multi-parser/test/convert.spec.ts b/packages/multi-parser/test/convert.spec.ts index 11e491e0b..bf89f70e7 100644 --- a/packages/multi-parser/test/convert.spec.ts +++ b/packages/multi-parser/test/convert.spec.ts @@ -1,7 +1,7 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from '@asyncapi/parser'; +import { Parser as ParserV3 } from '@asyncapi/parser/esm/index'; import { AsyncAPIDocument, ConvertDocumentParserAPIVersion } from '../src/convert'; diff --git a/packages/multi-parser/test/parse.spec.ts b/packages/multi-parser/test/parse.spec.ts index 1cc8b6150..58674eb20 100644 --- a/packages/multi-parser/test/parse.spec.ts +++ b/packages/multi-parser/test/parse.spec.ts @@ -1,7 +1,7 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from '@asyncapi/parser'; +import { Parser as ParserV3 } from '@asyncapi/parser/esm/index'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; From 92649380e01b1ea2eae9ad29df3cfbbcc7ef2a7a Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 22:11:19 +0530 Subject: [PATCH 089/107] updated the release. --- .github/workflows/release-with-changesets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index c2480fa75..fc13c16c3 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -113,7 +113,7 @@ jobs: with: version: npx -p @changesets/cli changeset version commit: version packages - title: "chore: version packages" + title: "feat: version packages" publish: npx -p @changesets/cli changeset publish setupGitUser: false env: From 2f30855d03dfa0fbdaafb7847aff10c4cad33971 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 22:16:13 +0530 Subject: [PATCH 090/107] updated the release. --- .github/workflows/release-with-changesets.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index ce7f2d51b..fc13c16c3 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -12,7 +12,6 @@ on: - beta - alpha - next - - feat-master-multiparser-testing jobs: test-nodejs: @@ -20,7 +19,11 @@ jobs: # "commits" contains an array of objects where one of the properties is the commit "message" # Release workflow will be skipped if release conventional commits are not used if: | - true + startsWith( github.repository, 'asyncapi/' ) && + (startsWith( github.event.commits[0].message , 'fix:' ) || + startsWith( github.event.commits[0].message, 'fix!:' ) || + startsWith( github.event.commits[0].message, 'feat:' ) || + startsWith( github.event.commits[0].message, 'feat!:' )) name: Test NodeJS release on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: @@ -58,10 +61,6 @@ jobs: name: Install dependencies shell: bash run: npm ci - - if: steps.packagejson.outputs.exists == 'true' - name: Install dependencies - shell: bash - run: ls -la packages && pwd && ls -la packages/parser - if: steps.packagejson.outputs.exists == 'true' name: Run test run: npm test --if-present From 3babd71f1903e57aaa6af99784f23015f7345a98 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 22:17:34 +0530 Subject: [PATCH 091/107] updated the links. --- packages/multi-parser/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index 8b9a2a293..b548e1752 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -2,18 +2,18 @@ "name": "@asyncapi/multi-parser", "version": "2.0.0", "description": "This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version", - "bugs": { - "url": "https://github.com/smoya/multi-parser-js/issues" +"bugs": { + "url": "https://github.com/asyncapi/parser-js/issues" }, "repository": { "type": "git", - "url": "git://github.com/smoya/multi-parser-js.git" + "url": "git://github.com/asyncapi/parser-js.git" }, "publishConfig": { "access": "public" }, "license": "Apache-2.0", - "homepage": "https://github.com/smoya/multi-parser-js", + "homepage": "https://github.com/asyncapi/parser-js", "sideEffects": false, "main": "cjs/index.js", "module": "esm/index.js", From 1a208ea3fac6d6b08689856a84627ca0a33e4e48 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 22:18:21 +0530 Subject: [PATCH 092/107] updated the jest config. --- packages/multi-parser/jest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/multi-parser/jest.config.ts b/packages/multi-parser/jest.config.ts index 809d54bee..ec7f1cd2a 100644 --- a/packages/multi-parser/jest.config.ts +++ b/packages/multi-parser/jest.config.ts @@ -22,7 +22,7 @@ const config: Config.InitialOptions = { 'src/**' ], moduleNameMapper: { - '^@asyncapi/parser$': path.resolve(__dirname, '../../packages/parser') + '^@asyncapi/parser$': path.resolve(__dirname, '../parser') } }; From 41952f52dcb0094c7bc301309961af0f9b4b80b4 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 22:35:09 +0530 Subject: [PATCH 093/107] Added the new esm/index directory updated the gitignore. --- .gitignore | 2 ++ packages/multi-parser/src/convert.ts | 4 ++-- packages/multi-parser/src/parse.ts | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 70f71a941..915f1ac7b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ node_modules /browser *.tgz .turbo +cjs +esm diff --git a/packages/multi-parser/src/convert.ts b/packages/multi-parser/src/convert.ts index a41fa238b..5ca12044c 100644 --- a/packages/multi-parser/src/convert.ts +++ b/packages/multi-parser/src/convert.ts @@ -1,10 +1,10 @@ import { createAsyncAPIDocument as createAsyncAPIDocumentParserV1 } from 'parserapiv1'; import { createAsyncAPIDocument as createAsyncAPIDocumentParserV2 } from 'parserapiv2'; -import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from '@asyncapi/parser'; +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from '@asyncapi/parser/esm/index'; import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV1 } from 'parserapiv1'; import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV2 } from 'parserapiv2'; -import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from '@asyncapi/parser'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from '@asyncapi/parser/esm/index'; import type { DetailedAsyncAPI as DetailedAsyncAPIParserV1 } from 'parserapiv1/esm/types'; import type { DetailedAsyncAPI as DetailedAsyncAPIParserV2 } from 'parserapiv2/esm/types'; diff --git a/packages/multi-parser/src/parse.ts b/packages/multi-parser/src/parse.ts index a23a87316..73df755ec 100644 --- a/packages/multi-parser/src/parse.ts +++ b/packages/multi-parser/src/parse.ts @@ -1,6 +1,6 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from '@asyncapi/parser'; +import { Parser as ParserV3 } from '@asyncapi/parser/esm/index'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; From e6302d3dabc264743f10f070f172275f219c3213 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 22:59:58 +0530 Subject: [PATCH 094/107] fix: the failing tests. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 713a26982..db14f83bf 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "parser-js", "private": true, "scripts": { - "test": "turbo run test", + "test": "turbo run build && turbo run test", "lint": "turbo run lint", "lint:fix": "turbo run lint:fix", "build": "turbo run build", From ba54c655669668106ee7663094e782404e98f3fc Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 23:23:53 +0530 Subject: [PATCH 095/107] removed the unwated gitignore records. --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 915f1ac7b..70f71a941 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,3 @@ node_modules /browser *.tgz .turbo -cjs -esm From 7acb0371f2674cb41c137c4ae692dff9253640df Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Thu, 4 Jul 2024 23:26:07 +0530 Subject: [PATCH 096/107] updated the gitignore files. --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 70f71a941..a058191b0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ node_modules .vscode .DS_Store -/docs/api.md +/docs /coverage /lib /esm From b44928c974453acdedf5231c2b3ffa7653ea9473 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Fri, 5 Jul 2024 20:27:43 +0530 Subject: [PATCH 097/107] removed the requirement for the releasing with feat and added the chore(release ) back. --- .github/workflows/release-with-changesets.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index fc13c16c3..bd8e6a89e 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -19,11 +19,7 @@ jobs: # "commits" contains an array of objects where one of the properties is the commit "message" # Release workflow will be skipped if release conventional commits are not used if: | - startsWith( github.repository, 'asyncapi/' ) && - (startsWith( github.event.commits[0].message , 'fix:' ) || - startsWith( github.event.commits[0].message, 'fix!:' ) || - startsWith( github.event.commits[0].message, 'feat:' ) || - startsWith( github.event.commits[0].message, 'feat!:' )) + startsWith( github.repository, 'asyncapi/' ) name: Test NodeJS release on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: @@ -113,7 +109,7 @@ jobs: with: version: npx -p @changesets/cli changeset version commit: version packages - title: "feat: version packages" + title: "chore(release): version packages" publish: npx -p @changesets/cli changeset publish setupGitUser: false env: From 7cb9de8d090bbd867175ffad9ca42e7b7aa86ebb Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Fri, 5 Jul 2024 21:22:17 +0530 Subject: [PATCH 098/107] added the script for the prepublishOnly. --- package.json | 3 ++- packages/multi-parser/package.json | 2 +- packages/parser/package.json | 2 +- turbo.json | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index db14f83bf..d16460acd 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "parser:build": "turbo run build --filter=@asyncapi/parser", "multi-parser:build": "turbo run build --filter=@asyncapi/multi-parser", "multi-parser:test:unit": "turbo run test:unit --filter=@asyncapi/multi-parser", - "multi-parser:test": "turbo run test --filter=@asyncapi/multi-parser" + "multi-parser:test": "turbo run test --filter=@asyncapi/multi-parser", + "prepublishOnly": "turbo run prepublishOnly" }, "devDependencies": { "turbo": "1.13.3" diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index b548e1752..3226ae2d0 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -32,7 +32,7 @@ "test:unit": "cross-env CI=true jest --coverage", "lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .", "lint:fix": "eslint --max-warnings 0 --config .../../eslintrc --ignore-path ../../.eslintignore . --fix", - "generate:readme:toc": "markdown-toc -i \"README.md\"", + "generate:readme:toc": "markdown-toc -i \"../../README.md\"", "generate:assets": "npm run build && npm run generate:readme:toc", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", "prepublishOnly": "npm run generate:assets" diff --git a/packages/parser/package.json b/packages/parser/package.json index 2f155213f..b1a457729 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -36,7 +36,7 @@ "test:browser": "npm run build:browser && cross-env CI=true jest -- ./test/browser/*", "lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .", "lint:fix": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore . --fix", - "generate:readme:toc": "markdown-toc -i \"README.md\"", + "generate:readme:toc": "markdown-toc -i \"../../README.md\"", "generate:assets": "npm run build && npm run generate:readme:toc", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", "prepublishOnly": "npm run generate:assets" diff --git a/turbo.json b/turbo.json index 36dffb94d..3fc08e58f 100644 --- a/turbo.json +++ b/turbo.json @@ -2,6 +2,7 @@ "$schema": "https://turbo.build/schema.json", "pipeline": { "test": {"cache": false}, + "prepublishOnly": {"cache": false}, "test:unit": {"cache": false}, "test:integration": {"cache": false}, "test:browser": {"cache": false}, From eaa122a8ab83e1f5b2331b8600bf5a6269d69532 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Fri, 5 Jul 2024 21:23:14 +0530 Subject: [PATCH 099/107] update the package.json. --- packages/multi-parser/package.json | 2 +- packages/parser/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index 3226ae2d0..5b3bd11a0 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -33,7 +33,7 @@ "lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .", "lint:fix": "eslint --max-warnings 0 --config .../../eslintrc --ignore-path ../../.eslintignore . --fix", "generate:readme:toc": "markdown-toc -i \"../../README.md\"", - "generate:assets": "npm run build && npm run generate:readme:toc", + "generate:assets": "npm run generate:readme:toc", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", "prepublishOnly": "npm run generate:assets" }, diff --git a/packages/parser/package.json b/packages/parser/package.json index b1a457729..a6bcae791 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -37,7 +37,7 @@ "lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .", "lint:fix": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore . --fix", "generate:readme:toc": "markdown-toc -i \"../../README.md\"", - "generate:assets": "npm run build && npm run generate:readme:toc", + "generate:assets": "npm run generate:readme:toc", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", "prepublishOnly": "npm run generate:assets" }, From 4d697447b468c66b6ad6a37b9c702b17ba1cfa24 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sat, 6 Jul 2024 03:40:09 +0530 Subject: [PATCH 100/107] changed the asyncapi/parser from dev dependency to dependency. --- package-lock.json | 2 +- packages/multi-parser/package.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 626565167..b8a3c1e14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12626,13 +12626,13 @@ "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.3", "@asyncapi/openapi-schema-parser": "^3.0.4", + "@asyncapi/parser": "file:../parser", "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8" }, "devDependencies": { - "@asyncapi/parser": "file:../parser", "@jest/types": "^29.0.2", "@swc/core": "^1.2.248", "@swc/jest": "^0.2.22", diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index 5b3bd11a0..ed70573b0 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -43,7 +43,9 @@ "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", - "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8" + "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", + "@asyncapi/parser": "file:../parser" + }, "devDependencies": { "@jest/types": "^29.0.2", @@ -61,7 +63,5 @@ "markdown-toc": "^1.2.0", "ts-loader": "^9.3.1", "ts-node": "^10.9.1", - "typescript": "^4.8.2", - "@asyncapi/parser": "file:../parser" - } + "typescript": "^4.8.2" } } From 5b2fa3257c52f16096d9e0e2475822f7f53e9b47 Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Sun, 7 Jul 2024 12:55:54 +0530 Subject: [PATCH 101/107] added the private false to the multiparser. --- packages/multi-parser/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index ed70573b0..c8c9419c6 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -2,6 +2,7 @@ "name": "@asyncapi/multi-parser", "version": "2.0.0", "description": "This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version", + "private":false, "bugs": { "url": "https://github.com/asyncapi/parser-js/issues" }, From f3ff616b934b8cd29739eda2802e8ae24dcbd01f Mon Sep 17 00:00:00 2001 From: AyushNautiyalDeveloper Date: Mon, 8 Jul 2024 22:22:42 +0530 Subject: [PATCH 102/107] updated the files. --- packages/multi-parser/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index c8c9419c6..b6dd86026 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -3,7 +3,7 @@ "version": "2.0.0", "description": "This tool allows to parse AsyncAPI documents and produce a desired interface based on a given Parser-API version", "private":false, -"bugs": { + "bugs": { "url": "https://github.com/asyncapi/parser-js/issues" }, "repository": { From 16aef3e2955cb685a301ca90d2cb2046dc0750b7 Mon Sep 17 00:00:00 2001 From: ayushnau Date: Thu, 18 Jul 2024 20:55:04 +0530 Subject: [PATCH 103/107] added the build script for the release --- .github/workflows/release-with-changesets.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release-with-changesets.yml b/.github/workflows/release-with-changesets.yml index bd8e6a89e..85f19ee78 100644 --- a/.github/workflows/release-with-changesets.yml +++ b/.github/workflows/release-with-changesets.yml @@ -98,6 +98,10 @@ jobs: name: Install dependencies shell: bash run: npm ci + - if: steps.packagejson.outputs.exists == 'true' + name: Build dependency + shell: bash + run: npm run build - if: steps.packagejson.outputs.exists == 'true' name: Install changelog shell: bash From 7b07740314b25777a4d385b8a49d18319e824e54 Mon Sep 17 00:00:00 2001 From: ayushnau Date: Fri, 19 Jul 2024 12:00:54 +0530 Subject: [PATCH 104/107] updated the dependency for the stoplight json. --- package-lock.json | 7553 ++++++++++++++++------------------ package.json | 2 +- packages/parser/package.json | 2 +- 3 files changed, 3527 insertions(+), 4030 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8a3c1e14..29cba2338 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,18 +16,11 @@ "node": ">=18" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@ampproject/remapping": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -37,10 +30,11 @@ } }, "node_modules/@asyncapi/avro-schema-parser": { - "version": "3.0.22", - "license": "Apache-2.0", + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.24.tgz", + "integrity": "sha512-YMyr2S2heMrWHRyECknjHeejlZl5exUSv9nD1gTejAT13fSf0PqIRydZ9ZuoglCLBg55AeehypR2zLIBu/9kHQ==", "dependencies": { - "@asyncapi/parser": "^3.0.14", + "@asyncapi/parser": "^3.1.0", "@types/json-schema": "^7.0.11", "avsc": "^5.7.6" } @@ -51,7 +45,8 @@ }, "node_modules/@asyncapi/openapi-schema-parser": { "version": "3.0.24", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.24.tgz", + "integrity": "sha512-7wz2yVDedJMS+TzOuqCvRWJMc6pNHICKZcOhnW6ZvyVLAh7hYIqQE1WA4OoXT4cKVbwSU3V2Q4bZagSsAIQd6Q==", "dependencies": { "@asyncapi/parser": "^3.1.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", @@ -60,38 +55,14 @@ "ajv-formats": "^2.1.1" } }, - "node_modules/@asyncapi/openapi-schema-parser/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@asyncapi/openapi-schema-parser/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@asyncapi/openapi-schema-parser/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/@asyncapi/parser": { "resolved": "packages/parser", "link": true }, "node_modules/@asyncapi/protobuf-schema-parser": { "version": "3.2.14", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/protobuf-schema-parser/-/protobuf-schema-parser-3.2.14.tgz", + "integrity": "sha512-7v64Jxhz2IBfaQECUhfwuLRMFQTysvmqtvT+Esgd9NooIPRnkEzgCbBnC25oGjzSB6Sju28G406lQpO15HHaEw==", "dependencies": { "@asyncapi/parser": "^3.1.0", "@types/protocol-buffers-schema": "^3.4.1", @@ -100,7 +71,8 @@ }, "node_modules/@asyncapi/raml-dt-schema-parser": { "version": "4.0.24", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.24.tgz", + "integrity": "sha512-Fy9IwCXPpXoG4Mkm7sXgWucSwYg8POwdx16xuHAmV6AerpcM8nk5mT/tARLtR3wrMst3OBwReEVYzwT3esSb8g==", "dependencies": { "@asyncapi/parser": "^3.1.0", "js-yaml": "^4.1.0", @@ -110,17 +82,19 @@ }, "node_modules/@asyncapi/specs": { "version": "6.7.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.7.1.tgz", + "integrity": "sha512-jEaW2vgAwD9GboCdO/TI1zN2k+iowL8YFYwiZwTIr4U4KDmsgo3BLypScl6Jl4+IvY9RdsWE67nuzVX7jooiqQ==", "dependencies": { "@types/json-schema": "^7.0.11" } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { @@ -128,28 +102,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.4", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz", + "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.4", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", + "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.9", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -164,20 +140,28 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.24.4", + "version": "7.24.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", + "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0", + "@babel/types": "^7.24.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -187,13 +171,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -203,64 +188,74 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.23.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", + "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -270,78 +265,86 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.4", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.2", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -350,10 +353,82 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/parser": { - "version": "7.24.4", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -363,8 +438,9 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -374,8 +450,9 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -385,8 +462,9 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -396,8 +474,9 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -407,8 +486,9 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -417,11 +497,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -432,8 +513,9 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -443,8 +525,9 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -454,8 +537,9 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -465,8 +549,9 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -476,8 +561,9 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -487,8 +573,9 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -498,8 +585,9 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -511,11 +599,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -524,43 +613,34 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.24.4", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/template": { - "version": "7.24.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -568,13 +648,23 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.24.0", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", + "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -583,13 +673,15 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -599,8 +691,9 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -608,16 +701,18 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -629,17 +724,19 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -658,68 +755,49 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/@eslint/js": { "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@github/browserslist-config": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", + "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", + "dev": true }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, - "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -729,30 +807,11 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -763,13 +822,16 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -783,16 +845,18 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -803,8 +867,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -815,8 +880,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -826,8 +892,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -840,8 +907,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -851,24 +919,27 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -881,103 +952,40 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -992,62 +1000,22 @@ } }, "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/@jest/core/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -1057,37 +1025,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@jest/core/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/@jest/create-cache-key-function": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3" }, @@ -1097,8 +1045,9 @@ }, "node_modules/@jest/environment": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -1111,8 +1060,9 @@ }, "node_modules/@jest/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, - "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -1123,8 +1073,9 @@ }, "node_modules/@jest/expect-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1134,8 +1085,9 @@ }, "node_modules/@jest/fake-timers": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1150,8 +1102,9 @@ }, "node_modules/@jest/globals": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1164,8 +1117,9 @@ }, "node_modules/@jest/reporters": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, - "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1204,74 +1158,11 @@ } } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, - "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1281,8 +1172,9 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1294,8 +1186,9 @@ }, "node_modules/@jest/test-result": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1308,8 +1201,9 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1322,8 +1216,9 @@ }, "node_modules/@jest/transform": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1345,197 +1240,82 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=6.0.0" } }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true, - "license": "MIT" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1543,7 +1323,8 @@ }, "node_modules/@jsep-plugin/regex": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.3.tgz", + "integrity": "sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==", "engines": { "node": ">= 10.16.0" }, @@ -1553,7 +1334,8 @@ }, "node_modules/@jsep-plugin/ternary": { "version": "1.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.3.tgz", + "integrity": "sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==", "engines": { "node": ">= 10.16.0" }, @@ -1563,8 +1345,9 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1575,16 +1358,18 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1595,15 +1380,17 @@ }, "node_modules/@openapi-contrib/openapi-schema-to-json-schema": { "version": "3.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.2.0.tgz", + "integrity": "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==", "dependencies": { "fast-deep-equal": "^3.1.3" } }, "node_modules/@pkgr/core": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, @@ -1613,28 +1400,34 @@ }, "node_modules/@polka/url": { "version": "1.0.0-next.25", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" }, "node_modules/@protobufjs/base64": { "version": "1.1.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" @@ -1642,48 +1435,72 @@ }, "node_modules/@protobufjs/float": { "version": "1.0.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" }, "node_modules/@protobufjs/path": { "version": "1.1.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" }, "node_modules/@protobufjs/pool": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true }, "node_modules/@sinonjs/commons": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dependencies": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, "node_modules/@stoplight/json": { "version": "3.21.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.0.tgz", + "integrity": "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==", "dependencies": { "@stoplight/ordered-object-literal": "^1.0.3", "@stoplight/path": "^1.3.2", @@ -1698,7 +1515,8 @@ }, "node_modules/@stoplight/json-ref-readers": { "version": "1.2.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", + "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", "dependencies": { "node-fetch": "^2.6.0", "tslib": "^1.14.1" @@ -1707,13 +1525,10 @@ "node": ">=8.3.0" } }, - "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, "node_modules/@stoplight/json-ref-resolver": { "version": "3.1.6", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", + "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", "dependencies": { "@stoplight/json": "^3.21.0", "@stoplight/path": "^1.3.2", @@ -1730,23 +1545,31 @@ "node": ">=8.3.0" } }, + "node_modules/@stoplight/json-ref-resolver/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/ordered-object-literal": { "version": "1.0.5", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.5.tgz", + "integrity": "sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==", "engines": { "node": ">=8" } }, "node_modules/@stoplight/path": { "version": "1.3.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", + "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", "engines": { "node": ">=8" } }, "node_modules/@stoplight/spectral-core": { "version": "1.18.3", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz", + "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==", "dependencies": { "@stoplight/better-ajv-errors": "1.0.3", "@stoplight/json": "~3.21.0", @@ -1774,23 +1597,10 @@ "node": "^12.20 || >= 14.13" } }, - "node_modules/@stoplight/spectral-core/node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", - "license": "Apache-2.0", - "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { "version": "13.6.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", + "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -1799,59 +1609,23 @@ "node": "^12.20 || >=14.13" } }, - "node_modules/@stoplight/spectral-core/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@stoplight/spectral-core/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/@stoplight/spectral-core/node_modules/jsonpath-plus": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz", + "integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==", "engines": { "node": ">=12.0.0" } }, - "node_modules/@stoplight/spectral-core/node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "node_modules/@stoplight/spectral-core/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/@stoplight/spectral-formats": { "version": "1.6.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.6.0.tgz", + "integrity": "sha512-X27qhUfNluiduH0u/QwJqhOd8Wk5YKdxVmKM03Aijlx0AH1H5mYt3l9r7t2L4iyJrsBaFPnMGt7UYJDGxszbNA==", "dependencies": { "@stoplight/json": "^3.17.0", "@stoplight/spectral-core": "^1.8.0", @@ -1862,9 +1636,15 @@ "node": ">=12" } }, + "node_modules/@stoplight/spectral-formats/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/spectral-functions": { - "version": "1.7.2", - "license": "Apache-2.0", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.8.0.tgz", + "integrity": "sha512-ZrAkYA/ZGbuQ6EyG1gisF4yQ5nWP/+glcqVoGmS6kH6ekaynz2Yp6FL0oIamWj3rWedFUN7ppwTRUdo+9f/uCw==", "dependencies": { "@stoplight/better-ajv-errors": "1.0.3", "@stoplight/json": "^3.17.1", @@ -1882,60 +1662,15 @@ "node": ">=12" } }, - "node_modules/@stoplight/spectral-functions/node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", - "license": "Apache-2.0", - "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv-draft-04": { - "version": "1.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.5.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/@stoplight/spectral-functions/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" + "node_modules/@stoplight/spectral-functions/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/@stoplight/spectral-parsers": { "version": "1.0.4", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.4.tgz", + "integrity": "sha512-nCTVvtX6q71M8o5Uvv9kxU31Gk1TRmgD6/k8HBhdCmKG6FWcwgjiZouA/R3xHLn/VwTI/9k8SdG5Mkdy0RBqbQ==", "dependencies": { "@stoplight/json": "~3.21.0", "@stoplight/types": "^14.1.1", @@ -1948,7 +1683,8 @@ }, "node_modules/@stoplight/spectral-parsers/node_modules/@stoplight/types": { "version": "14.1.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -1957,9 +1693,15 @@ "node": "^12.20 || >=14.13" } }, + "node_modules/@stoplight/spectral-parsers/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/spectral-ref-resolver": { "version": "1.0.4", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.4.tgz", + "integrity": "sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==", "dependencies": { "@stoplight/json-ref-readers": "1.2.2", "@stoplight/json-ref-resolver": "~3.1.6", @@ -1971,9 +1713,15 @@ "node": ">=12" } }, + "node_modules/@stoplight/spectral-ref-resolver/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/spectral-runtime": { "version": "1.1.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.2.tgz", + "integrity": "sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==", "dependencies": { "@stoplight/json": "^3.17.0", "@stoplight/path": "^1.3.2", @@ -1989,7 +1737,8 @@ }, "node_modules/@stoplight/spectral-runtime/node_modules/@stoplight/types": { "version": "12.5.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-12.5.0.tgz", + "integrity": "sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -1998,9 +1747,15 @@ "node": ">=8" } }, + "node_modules/@stoplight/spectral-runtime/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@stoplight/types": { "version": "13.20.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.20.0.tgz", + "integrity": "sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -2011,7 +1766,8 @@ }, "node_modules/@stoplight/yaml": { "version": "4.3.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.3.0.tgz", + "integrity": "sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==", "dependencies": { "@stoplight/ordered-object-literal": "^1.0.5", "@stoplight/types": "^14.1.1", @@ -2024,11 +1780,13 @@ }, "node_modules/@stoplight/yaml-ast-parser": { "version": "0.0.50", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.50.tgz", + "integrity": "sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==" }, "node_modules/@stoplight/yaml/node_modules/@stoplight/types": { "version": "14.1.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" @@ -2037,14 +1795,20 @@ "node": "^12.20 || >=14.13" } }, + "node_modules/@stoplight/yaml/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, "node_modules/@swc/core": { - "version": "1.4.16", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.0.tgz", + "integrity": "sha512-d4vMzH6ICllDwlPuhset2h8gu/USHdbyfJim+2hQEdxC0UONtfpmu38XBgNqRjStrji1Q5M10jfeUZL3cu1i8g==", "dev": true, "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { - "@swc/counter": "^0.1.2", - "@swc/types": "^0.1.5" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.9" }, "engines": { "node": ">=10" @@ -2054,19 +1818,19 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.4.16", - "@swc/core-darwin-x64": "1.4.16", - "@swc/core-linux-arm-gnueabihf": "1.4.16", - "@swc/core-linux-arm64-gnu": "1.4.16", - "@swc/core-linux-arm64-musl": "1.4.16", - "@swc/core-linux-x64-gnu": "1.4.16", - "@swc/core-linux-x64-musl": "1.4.16", - "@swc/core-win32-arm64-msvc": "1.4.16", - "@swc/core-win32-ia32-msvc": "1.4.16", - "@swc/core-win32-x64-msvc": "1.4.16" + "@swc/core-darwin-arm64": "1.7.0", + "@swc/core-darwin-x64": "1.7.0", + "@swc/core-linux-arm-gnueabihf": "1.7.0", + "@swc/core-linux-arm64-gnu": "1.7.0", + "@swc/core-linux-arm64-musl": "1.7.0", + "@swc/core-linux-x64-gnu": "1.7.0", + "@swc/core-linux-x64-musl": "1.7.0", + "@swc/core-win32-arm64-msvc": "1.7.0", + "@swc/core-win32-ia32-msvc": "1.7.0", + "@swc/core-win32-x64-msvc": "1.7.0" }, "peerDependencies": { - "@swc/helpers": "^0.5.0" + "@swc/helpers": "*" }, "peerDependenciesMeta": { "@swc/helpers": { @@ -2075,12 +1839,13 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.4.16", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.0.tgz", + "integrity": "sha512-2ylhM7f0HwUwLrFYZAe/dse8PCbPsYcJS3Dt7Q8NT3PUn7vy6QOMxNcOPPuDrnmaXqQQO3oxdmRapguTxaat9g==", "cpu": [ "arm64" ], "dev": true, - "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -2089,26 +1854,161 @@ "node": ">=10" } }, - "node_modules/@swc/counter": { - "version": "0.1.3", + "node_modules/@swc/core-darwin-x64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.0.tgz", + "integrity": "sha512-SgVnN4gT1Rb9YfTkp4FCUITqSs7Yj0uB2SUciu5CV3HuGvS5YXCUzh+KrwpLFtx8NIgivISKcNnb41mJi98X8Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } }, - "node_modules/@swc/helpers": { - "version": "0.5.5", + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.0.tgz", + "integrity": "sha512-+Z9Dayart1iKJQEJJ9N/KS4z5EdXJE3WPFikY0jonKTo4Dd8RuyVz5yLvqcIMeVdz/SwximATaL6iJXw7hZS9A==", + "cpu": [ + "arm" + ], "dev": true, - "license": "Apache-2.0", "optional": true, - "peer": true, - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.0.tgz", + "integrity": "sha512-UnLrCiZ1EI4shznJn0xP6DLgsXUSwtfsdgHhGYCrvbgVBBve3S9iFgVFEB3SPl7Q/TdowNbrN4zHU0oChfiNfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.0.tgz", + "integrity": "sha512-H724UANA+ptsfwKRr9mnaDa9cb5fw0oFysiGKTgb3DMYcgk3Od0jMTnXVPFSVpo7FlmyxeC9K8ueUPBOoOK6XA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.0.tgz", + "integrity": "sha512-SY3HA0K0Dpqt1HIfMLGpwL4hd4UaL2xHP5oZXPlRQPhUDZrbb4PbI3ZJnh66c63eL4ZR8EJ+HRFI0Alx5p69Zw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.0.tgz", + "integrity": "sha512-cEJ2ebtV1v/5Ilb55E05J6F5SrHKQWzUttIhR5Mkayyo+yvPslcpByuFC3D+J7X1ebziTOBpWuMpUdjLfh3SMQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.0.tgz", + "integrity": "sha512-ecQOOmzEssz+m0pR4xDYCGuvn3E/l0nQ3tk5jp1NA1lsAy4bMV0YbYCHjptYvWL/UjhIerIp3IlCJ8x5DodSog==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.0.tgz", + "integrity": "sha512-gz81seZkRn3zMnVOc7L5k6F4vQC82gIxmHiL+GedK+A37XI/X26AASU3zxvORnqQbwQYXQ+AEVckxBmFlz3v2g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.0.tgz", + "integrity": "sha512-b5Fd1xEOw9uqBpj2lqsaR4Iq9UhiL84hNDcEsi6DQA7Y1l85waQAslTbS0E4/pJ1PISAs0jW0zIGLco1eaWBOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" } }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true + }, "node_modules/@swc/jest": { "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz", + "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/create-cache-key-function": "^29.7.0", "@swc/counter": "^0.1.3", @@ -2123,41 +2023,48 @@ }, "node_modules/@swc/jest/node_modules/jsonc-parser": { "version": "3.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true }, "node_modules/@swc/types": { - "version": "0.1.6", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.9.tgz", + "integrity": "sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, "node_modules/@tsconfig/node10": { "version": "1.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true }, "node_modules/@types/babel__core": { "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -2168,40 +2075,45 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.5", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/es-aggregate-error": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.6.tgz", + "integrity": "sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/eslint": { "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2209,8 +2121,9 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2218,42 +2131,48 @@ }, "node_modules/@types/estree": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/graceful-fs": { "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", "dev": true, - "license": "MIT", "dependencies": { "jest-matcher-utils": "^27.0.0", "pretty-format": "^27.0.0" @@ -2261,29 +2180,34 @@ }, "node_modules/@types/js-yaml": { "version": "4.0.9", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "dev": true }, "node_modules/@types/json-schema": { "version": "7.0.15", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, "node_modules/@types/node": { - "version": "18.19.39", - "license": "MIT", + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/node-fetch": { "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -2291,57 +2215,59 @@ }, "node_modules/@types/protocol-buffers-schema": { "version": "3.4.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/protocol-buffers-schema/-/protocol-buffers-schema-3.4.3.tgz", + "integrity": "sha512-8cCg6BiIj4jS0LXUFq3sndmd46yyPLYqMzvXLcTM1MRubh3sfZlQiehoCjGDxSHTqGSjjx8EtVNryIAl0njQWg==", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/semver": { - "version": "7.5.8", - "dev": true, - "license": "MIT" - }, "node_modules/@types/stack-utils": { "version": "2.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true }, "node_modules/@types/urijs": { "version": "1.19.25", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.25.tgz", + "integrity": "sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==" }, "node_modules/@types/yargs": { "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true }, "node_modules/@types/yauzl": { "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", + "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/type-utils": "7.15.0", - "@typescript-eslint/utils": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/type-utils": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -2365,14 +2291,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", + "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "debug": "^4.3.4" }, "engines": { @@ -2392,12 +2319,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", + "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0" + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -2408,12 +2336,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", + "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/utils": "7.16.1", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -2434,9 +2363,10 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -2446,12 +2376,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", + "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2472,15 +2403,46 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/utils": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", + "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0" + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -2494,11 +2456,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.15.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/types": "7.16.1", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -2511,13 +2474,15 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -2525,23 +2490,27 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2550,13 +2519,15 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -2566,29 +2537,33 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -2602,8 +2577,9 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -2614,8 +2590,9 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -2625,8 +2602,9 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2638,8 +2616,9 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" @@ -2647,8 +2626,9 @@ }, "node_modules/@webpack-cli/configtest": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack": "4.x.x || 5.x.x", "webpack-cli": "4.x.x" @@ -2656,8 +2636,9 @@ }, "node_modules/@webpack-cli/info": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, - "license": "MIT", "dependencies": { "envinfo": "^7.7.3" }, @@ -2667,8 +2648,9 @@ }, "node_modules/@webpack-cli/serve": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack-cli": "4.x.x" }, @@ -2680,17 +2662,20 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/abort-controller": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -2700,23 +2685,20 @@ }, "node_modules/accessory": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/accessory/-/accessory-1.1.0.tgz", + "integrity": "sha512-DlgiZ+jTuCIZLURquQhOfclRvPu6gQKgOzr9wAiZtjWYjd1lMK8Hr6XXEDWuEAxpTWEccgn6YVREJ6C7fhvrww==", "dev": true, - "license": "MIT", "dependencies": { "ap": "~0.2.0", "balanced-match": "~0.2.0", "dot-parts": "~1.0.0" } }, - "node_modules/accessory/node_modules/balanced-match": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/acorn": { "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2724,26 +2706,29 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^8" } }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-node": { "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, - "license": "Apache-2.0", "dependencies": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -2752,8 +2737,9 @@ }, "node_modules/acorn-node/node_modules/acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2761,48 +2747,48 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-node/node_modules/acorn-walk": { + "node_modules/acorn-walk": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.3", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "license": "MIT", "dependencies": { - "acorn": "^8.11.0" + "debug": "4" }, "engines": { - "node": ">=0.4.0" + "node": ">= 6.0.0" } }, "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", "peerDependencies": { - "ajv": "^8.0.0" + "ajv": "^8.5.0" }, "peerDependenciesMeta": { "ajv": { @@ -2810,36 +2796,35 @@ } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "peerDependencies": { + "ajv": "^8.0.1" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "dev": true, - "license": "MIT", + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, "peerDependencies": { - "ajv": "^6.9.1" + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, "node_modules/amdefine": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", "dev": true, - "license": "BSD-3-Clause OR MIT", "optional": true, "engines": { "node": ">=0.4.2" @@ -2847,8 +2832,9 @@ }, "node_modules/ansi-escapes": { "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -2859,10 +2845,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-red": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", "dev": true, - "license": "MIT", "dependencies": { "ansi-wrap": "0.1.0" }, @@ -2872,35 +2871,42 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { - "version": "3.2.1", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/ansi-wrap": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2911,29 +2917,34 @@ }, "node_modules/ap": { "version": "0.2.0", - "dev": true, - "license": "MIT/X11" + "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz", + "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==", + "dev": true }, "node_modules/arg": { "version": "4.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "node_modules/argparse": { "version": "2.0.1", - "license": "Python-2.0" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, - "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" @@ -2947,8 +2958,9 @@ }, "node_modules/array-includes": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -2966,16 +2978,18 @@ }, "node_modules/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -2993,8 +3007,9 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -3010,8 +3025,9 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -3027,7 +3043,8 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -3047,8 +3064,9 @@ }, "node_modules/asn1.js": { "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -3057,13 +3075,15 @@ }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/assert": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", "dev": true, - "license": "MIT", "dependencies": { "object.assign": "^4.1.4", "util": "^0.10.4" @@ -3071,32 +3091,37 @@ }, "node_modules/ast-types-flow": { "version": "0.0.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true }, "node_modules/astring": { "version": "1.8.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", "bin": { "astring": "bin/astring" } }, "node_modules/asynckit": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/autolinker": { "version": "0.28.1", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", + "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==", "dev": true, - "license": "MIT", "dependencies": { "gulp-header": "^1.7.1" } }, "node_modules/available-typed-arrays": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -3109,31 +3134,35 @@ }, "node_modules/avsc": { "version": "5.7.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", + "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==", "engines": { "node": ">=0.11" } }, "node_modules/axe-core": { - "version": "4.7.0", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz", + "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==", "dev": true, - "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "3.2.1", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/babel-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -3150,74 +3179,11 @@ "@babel/core": "^7.8.0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -3231,8 +3197,9 @@ }, "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -3246,16 +3213,18 @@ }, "node_modules/babel-plugin-istanbul/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -3268,8 +3237,9 @@ }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -3290,8 +3260,9 @@ }, "node_modules/babel-preset-jest": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, - "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -3304,11 +3275,15 @@ } }, "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.1.tgz", + "integrity": "sha512-euSOvfze1jPOf85KQOmZ2UcWDJ/dUJukTJdj4o9ZZLyjl7IjdIyE4fAQRSuGrxAjB9nvvvrl4N3bPtRq+W+SyQ==", + "dev": true }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -3323,38 +3298,96 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/bl": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bn.js": { "version": "5.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true }, "node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, + "node_modules/brace-expansion/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "node_modules/braces": { - "version": "3.0.2", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" @@ -3362,13 +3395,15 @@ }, "node_modules/brorand": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true }, "node_modules/browser-pack": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, - "license": "MIT", "dependencies": { "combine-source-map": "~0.8.0", "defined": "^1.0.0", @@ -3383,16 +3418,18 @@ }, "node_modules/browser-resolve": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.17.0" } }, "node_modules/browserify": { "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", "dev": true, - "license": "MIT", "dependencies": { "assert": "^1.4.0", "browser-pack": "^6.0.1", @@ -3452,8 +3489,9 @@ }, "node_modules/browserify-aes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -3465,8 +3503,9 @@ }, "node_modules/browserify-cipher": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, - "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -3475,8 +3514,9 @@ }, "node_modules/browserify-des": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -3486,8 +3526,9 @@ }, "node_modules/browserify-rsa": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -3495,8 +3536,9 @@ }, "node_modules/browserify-shim": { "version": "3.8.16", + "resolved": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.16.tgz", + "integrity": "sha512-+Ap0xOKUC5Hz8sdUROxCJHgzA5IeU7pgUquCdlbBxyxkexzU4kpU6u1TsIvnFJcdx1bxO902J08AEjbMqDbA3g==", "dev": true, - "license": "MIT", "dependencies": { "exposify": "~0.5.0", "mothership": "~0.3.0", @@ -3510,13 +3552,15 @@ }, "node_modules/browserify-shim/node_modules/resolve": { "version": "0.6.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "dev": true }, "node_modules/browserify-sign": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", "dev": true, - "license": "ISC", "dependencies": { "bn.js": "^5.2.1", "browserify-rsa": "^4.1.0", @@ -3533,83 +3577,25 @@ "node": ">= 0.12" } }, - "node_modules/browserify-sign/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/browserify-zlib": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "license": "MIT", "dependencies": { "pako": "~1.0.5" } }, - "node_modules/browserify/node_modules/buffer": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/browserify/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/browserify/node_modules/path-browserify": { "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify/node_modules/punycode": { - "version": "1.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true }, - "node_modules/browserify/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/browserslist": { - "version": "4.23.0", + "node_modules/browserslist": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "funding": [ { @@ -3625,12 +3611,11 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -3641,66 +3626,60 @@ }, "node_modules/bser": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/buffer": { - "version": "5.7.1", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, "node_modules/buffer-crc32": { "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/buffer-xor": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true }, "node_modules/builtin-status-codes": { "version": "3.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true }, "node_modules/cached-path-relative": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true }, "node_modules/call-bind": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -3717,22 +3696,26 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001611", + "version": "1.0.30001642", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz", + "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==", "dev": true, "funding": [ { @@ -3747,45 +3730,52 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chalk": { - "version": "2.4.2", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/chownr": { "version": "1.1.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "node_modules/chrome-trace-event": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -3793,29 +3783,31 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cipher-base": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "dev": true, - "license": "MIT" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", + "dev": true }, "node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -3827,8 +3819,9 @@ }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -3840,15 +3833,17 @@ }, "node_modules/clone-deep/node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/co": { "version": "4.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -3856,8 +3851,10 @@ }, "node_modules/coffee-script": { "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", "dev": true, - "license": "MIT", "bin": { "cake": "bin/cake", "coffee": "bin/coffee" @@ -3868,31 +3865,39 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true }, "node_modules/color-convert": { - "version": "1.9.3", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/colorette": { "version": "2.0.20", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, "node_modules/combine-source-map": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", "dev": true, - "license": "MIT", "dependencies": { "convert-source-map": "~1.1.0", "inline-source-map": "~0.6.0", @@ -3900,23 +3905,11 @@ "source-map": "~0.5.3" } }, - "node_modules/combine-source-map/node_modules/convert-source-map": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/combine-source-map/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -3926,22 +3919,25 @@ }, "node_modules/commander": { "version": "5.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "engines": { "node": ">= 6" } }, "node_modules/concat-map": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -3949,61 +3945,53 @@ "typedarray": "^0.0.6" } }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/concat-with-sourcemaps": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", "dev": true, - "license": "ISC", "dependencies": { "source-map": "^0.6.1" } }, + "node_modules/concat-with-sourcemaps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/console-browserify": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "node_modules/constants-browserify": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true }, "node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true }, "node_modules/core-util-is": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "node_modules/create-ecdh": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -4011,13 +3999,15 @@ }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/create-hash": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -4028,8 +4018,9 @@ }, "node_modules/create-hmac": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -4041,8 +4032,9 @@ }, "node_modules/create-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -4059,79 +4051,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/create-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/create-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/create-jest/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/create-jest/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/create-jest/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/create-jest/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/create-require": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "node_modules/cross-env": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.1" }, @@ -4147,16 +4077,18 @@ }, "node_modules/cross-fetch": { "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dev": true, - "license": "MIT", "dependencies": { "node-fetch": "2.6.7" } }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4168,8 +4100,9 @@ }, "node_modules/crypto-browserify": { "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, - "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -4189,17 +4122,20 @@ }, "node_modules/damerau-levenshtein": { "version": "1.0.8", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true }, "node_modules/dash-ast": { "version": "1.0.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true }, "node_modules/data-view-buffer": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -4214,7 +4150,8 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -4229,7 +4166,8 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -4244,13 +4182,15 @@ }, "node_modules/debounce": { "version": "1.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true }, "node_modules/debug": { - "version": "4.3.4", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -4265,8 +4205,9 @@ }, "node_modules/dedent": { "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, - "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -4276,22 +4217,57 @@ } } }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, "node_modules/deepmerge": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/define-data-property": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -4306,7 +4282,8 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -4321,31 +4298,35 @@ }, "node_modules/defined": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/delayed-stream": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/dependency-graph": { "version": "0.11.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "engines": { "node": ">= 0.6.0" } }, "node_modules/deps-sort": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", "dev": true, - "license": "MIT", "dependencies": { "JSONStream": "^1.0.3", "shasum-object": "^1.0.0", @@ -4358,25 +4339,37 @@ }, "node_modules/dequal": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/des.js": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "node_modules/detective": { - "version": "5.2.1", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", "dev": true, - "license": "MIT", "dependencies": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -4391,37 +4384,42 @@ }, "node_modules/devtools-protocol": { "version": "0.0.1036444", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz", + "integrity": "sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw==", + "dev": true }, "node_modules/diacritics-map": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", + "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/diff": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/diff-sequences": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/diffie-hellman": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -4430,13 +4428,15 @@ }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -4446,8 +4446,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -4457,8 +4458,9 @@ }, "node_modules/domain-browser": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -4466,55 +4468,36 @@ }, "node_modules/dot-parts": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz", + "integrity": "sha512-DcAuaZ2hguFLkxrAwOlvYNFb4IE6xg1Ldzqpma4/UeiT0utd8/E17z1h9mH8s+9Hwh7SeLn83LpIykh/oBBxSw==", + "dev": true }, "node_modules/duplexer": { "version": "0.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true }, "node_modules/duplexer2": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "readable-stream": "^2.0.2" } }, - "node_modules/duplexer2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexer2/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/electron-to-chromium": { - "version": "1.4.745", - "dev": true, - "license": "ISC" + "version": "1.4.830", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.830.tgz", + "integrity": "sha512-TrPKKH20HeN0J1LHzsYLs2qwXrp8TF4nHdu4sq61ozGbzMpWhI7iIOPYPPkxeq1azMT9PZ8enPFcftbs/Npcjg==", + "dev": true }, "node_modules/elliptic": { - "version": "6.5.5", + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.6.tgz", + "integrity": "sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -4527,13 +4510,15 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/emittery": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -4543,21 +4528,24 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/end-of-stream": { "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -4567,9 +4555,10 @@ } }, "node_modules/envinfo": { - "version": "7.12.0", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -4579,15 +4568,17 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.23.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -4645,7 +4636,8 @@ }, "node_modules/es-aggregate-error": { "version": "1.0.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.13.tgz", + "integrity": "sha512-KkzhUUuD2CUMqEc8JEqsXEMDHzDPE8RCjZeUBitsnB1eNcAJWQPiciKsMXe3Yytj4Flw1XLl46Qcf9OxvZha7A==", "dependencies": { "define-data-property": "^1.1.4", "define-properties": "^1.2.1", @@ -4665,7 +4657,8 @@ }, "node_modules/es-define-property": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -4675,19 +4668,41 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { "node": ">= 0.4" } }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-iterator-helpers": { - "version": "1.0.18", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", @@ -4705,13 +4720,15 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.0", - "dev": true, - "license": "MIT" + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true }, "node_modules/es-object-atoms": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dependencies": { "es-errors": "^1.3.0" }, @@ -4721,7 +4738,8 @@ }, "node_modules/es-set-tostringtag": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", @@ -4733,15 +4751,17 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, - "license": "MIT", "dependencies": { "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4756,24 +4776,95 @@ }, "node_modules/escalade": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { - "version": "1.0.5", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", + "integrity": "sha512-md+WjA8K+DJELEYe0n4XAOE0XbUYfw2rzb8T+nhZ19OnQxlh+0jMLS6d+z2oqWugIh3uYKu1+KJh6QKeoogLzg==", + "dev": true, + "dependencies": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": "~0.1.30" + } + }, + "node_modules/escodegen/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/escodegen/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4826,8 +4917,9 @@ }, "node_modules/eslint-config-prettier": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -4837,8 +4929,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -4847,16 +4940,18 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -4871,16 +4966,18 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-escompat": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", + "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", "dev": true, - "license": "MIT", "dependencies": { "browserslist": "^4.21.0" }, @@ -4890,8 +4987,9 @@ }, "node_modules/eslint-plugin-eslint-comments": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5", "ignore": "^5.0.5" @@ -4906,10 +5004,20 @@ "eslint": ">=4.19.1" } }, + "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/eslint-plugin-filenames": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", "dev": true, - "license": "MIT", "dependencies": { "lodash.camelcase": "4.3.0", "lodash.kebabcase": "4.1.1", @@ -4922,8 +5030,9 @@ }, "node_modules/eslint-plugin-github": { "version": "4.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.10.2.tgz", + "integrity": "sha512-F1F5aAFgi1Y5hYoTFzGQACBkw5W1hu2Fu5FSTrMlXqrojJnKl1S2pWO/rprlowRQpt+hzHhqSpsfnodJEVd5QA==", "dev": true, - "license": "MIT", "dependencies": { "@github/browserslist-config": "^1.0.0", "@typescript-eslint/eslint-plugin": "^7.0.1", @@ -4952,16 +5061,18 @@ }, "node_modules/eslint-plugin-i18n-text": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", + "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", "dev": true, - "license": "MIT", "peerDependencies": { "eslint": ">=5.0.0" } }, "node_modules/eslint-plugin-import": { "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -4988,27 +5099,20 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5016,46 +5120,37 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", + "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" }, "engines": { "node": ">=4.0" @@ -5064,41 +5159,32 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "deep-equal": "^2.0.5" } }, "node_modules/eslint-plugin-no-only-tests": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", "dev": true, - "license": "MIT", "engines": { "node": ">=5.0.0" } }, "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", "dev": true, - "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" + "synckit": "^0.9.1" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -5121,33 +5207,20 @@ } } }, - "node_modules/eslint-plugin-prettier/node_modules/synckit": { - "version": "0.8.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/eslint-plugin-security": { "version": "1.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", + "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "safe-regex": "^2.1.1" } }, "node_modules/eslint-plugin-sonarjs": { "version": "0.15.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz", + "integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==", "dev": true, - "license": "LGPL-3.0", "engines": { "node": ">=12" }, @@ -5157,36 +5230,34 @@ }, "node_modules/eslint-rule-documentation": { "version": "1.0.23", + "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", + "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/eslint-scope": { - "version": "5.1.1", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5194,145 +5265,33 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -5347,7 +5306,8 @@ }, "node_modules/esprima": { "version": "4.0.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5357,7 +5317,9 @@ } }, "node_modules/esprima-fb": { - "version": "3001.0001.0000-dev-harmony-fb", + "version": "3001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", + "integrity": "sha512-a3RFiCVBiy8KdO6q/C+8BQiP/sRk8XshBU3QHHDP8tNzjYwR3FKBOImu+PXfVhPoZL0JKtJLBAOWlDMCCFY8SQ==", "dev": true, "bin": { "esparse": "bin/esparse.js", @@ -5368,9 +5330,10 @@ } }, "node_modules/esquery": { - "version": "1.5.0", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -5380,8 +5343,9 @@ }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -5391,39 +5355,44 @@ }, "node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/event-target-shim": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "engines": { "node": ">=6" } }, "node_modules/events": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.x" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -5431,8 +5400,9 @@ }, "node_modules/execa": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -5453,6 +5423,8 @@ }, "node_modules/exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -5460,8 +5432,9 @@ }, "node_modules/expand-range": { "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^2.1.0" }, @@ -5469,52 +5442,11 @@ "node": ">=0.10.0" } }, - "node_modules/expand-range/node_modules/fill-range": { - "version": "2.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/is-number": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/expand-range/node_modules/isobject": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -5527,70 +5459,31 @@ } }, "node_modules/expect/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/chalk": { - "version": "4.1.2", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/expect/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/expect/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/expect/node_modules/diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/expect/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/expect/node_modules/jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -5603,8 +5496,9 @@ }, "node_modules/expect/node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -5617,8 +5511,9 @@ }, "node_modules/expect/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -5628,37 +5523,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/expect/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/expect/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/exposify": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/exposify/-/exposify-0.5.0.tgz", + "integrity": "sha512-SXS1oEW6VXYinz7RbTPUj+RhO3ZXuj2cmUTWTaO8KcWMcxLZF3wzjqSuaOW0EZYBoKooUM8DIkvfWWOMXTMQFQ==", "dev": true, - "license": "MIT", "dependencies": { "globo": "~1.1.0", "map-obj": "~1.0.1", @@ -5669,18 +5544,21 @@ }, "node_modules/exposify/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true }, "node_modules/exposify/node_modules/object-keys": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", + "dev": true }, "node_modules/exposify/node_modules/readable-stream": { "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -5690,13 +5568,15 @@ }, "node_modules/exposify/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true }, "node_modules/exposify/node_modules/through2": { "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~1.0.17", "xtend": "~2.1.1" @@ -5704,6 +5584,8 @@ }, "node_modules/exposify/node_modules/xtend": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", "dev": true, "dependencies": { "object-keys": "~0.4.0" @@ -5714,8 +5596,9 @@ }, "node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -5725,8 +5608,9 @@ }, "node_modules/extract-zip": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -5744,8 +5628,9 @@ }, "node_modules/extract-zip/node_modules/get-stream": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, - "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -5758,17 +5643,20 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -5782,8 +5670,9 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -5793,58 +5682,72 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, "node_modules/fast-memoize": { "version": "2.5.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" }, "node_modules/fastest-levenshtein": { "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.9.1" } }, "node_modules/fastq": { "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, - "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/fd-slicer": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "license": "MIT", "dependencies": { "pend": "~1.2.0" } }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -5853,25 +5756,32 @@ } }, "node_modules/fill-range": { - "version": "7.1.1", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, - "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/find-parent-dir": { "version": "0.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", + "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", + "dev": true }, "node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -5885,16 +5795,18 @@ }, "node_modules/flat": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -5906,28 +5818,32 @@ }, "node_modules/flatted": { "version": "3.3.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true }, "node_modules/for-each": { "version": "0.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/for-in": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/form-data": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, - "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5939,18 +5855,22 @@ }, "node_modules/fs-constants": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "license": "MIT", + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -5961,14 +5881,16 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/function.prototype.name": { "version": "1.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5984,35 +5906,40 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-assigned-identifiers": { "version": "1.2.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -6029,16 +5956,18 @@ }, "node_modules/get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -6048,7 +5977,8 @@ }, "node_modules/get-symbol-description": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -6063,8 +5993,10 @@ }, "node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6082,8 +6014,9 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -6093,42 +6026,32 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "type-fest": "^0.20.2" }, "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { - "version": "1.0.3", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -6139,8 +6062,9 @@ }, "node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6158,8 +6082,9 @@ }, "node_modules/globo": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/globo/-/globo-1.1.0.tgz", + "integrity": "sha512-9kacJpRuOo2IPxzYdogGZKnREZXMLs7P2/gaeHxynuL7kmxdB9o4EVtpd69f81CeUFWmZSxj1heZFEXQDTkaLQ==", "dev": true, - "license": "MIT", "dependencies": { "accessory": "~1.1.0", "is-defined": "~1.0.0", @@ -6171,7 +6096,8 @@ }, "node_modules/gopd": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -6181,18 +6107,21 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, "node_modules/gray-matter": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", + "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-red": "^0.1.1", "coffee-script": "^1.12.4", @@ -6206,16 +6135,18 @@ }, "node_modules/gray-matter/node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/gray-matter/node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -6226,8 +6157,10 @@ }, "node_modules/gulp-header": { "version": "1.8.12", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", + "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", + "deprecated": "Removed event-stream from gulp-header", "dev": true, - "license": "MIT", "dependencies": { "concat-with-sourcemaps": "*", "lodash.template": "^4.4.0", @@ -6236,8 +6169,9 @@ }, "node_modules/gzip-size": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, - "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -6250,30 +6184,34 @@ }, "node_modules/has": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/has-bigints": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { "es-define-property": "^1.0.0" }, @@ -6283,7 +6221,8 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -6293,15 +6232,26 @@ }, "node_modules/has-require": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz", + "integrity": "sha512-JHMVoV2TG3LEFw/8UjxXJzCRGdOHJzzAXft7BafERh2rdPYZcS5N6Twv7Q8yLy9mciKsVBkXmpWSuLp5GUXNng==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.3" } }, + "node_modules/has-require/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/has-symbols": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -6311,7 +6261,8 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { "has-symbols": "^1.0.3" }, @@ -6324,8 +6275,9 @@ }, "node_modules/hash-base": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -6336,8 +6288,9 @@ }, "node_modules/hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -6345,7 +6298,8 @@ }, "node_modules/hasown": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -6355,8 +6309,9 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, - "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -6365,32 +6320,51 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, "node_modules/htmlescape": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/https-browserify": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "license": "MIT" + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -6405,20 +6379,21 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/immer": { "version": "9.0.21", - "license": "MIT", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -6426,8 +6401,9 @@ }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6441,8 +6417,9 @@ }, "node_modules/import-local": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -6459,16 +6436,19 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6476,29 +6456,24 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/inline-source-map": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.3.tgz", + "integrity": "sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==", "dev": true, - "license": "MIT", "dependencies": { "source-map": "~0.5.3" } }, - "node_modules/inline-source-map/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/insert-module-globals": { "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", "dev": true, - "license": "MIT", "dependencies": { "acorn-node": "^1.5.2", "combine-source-map": "^0.8.0", @@ -6517,7 +6492,8 @@ }, "node_modules/internal-slot": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -6529,15 +6505,33 @@ }, "node_modules/interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -6551,13 +6545,15 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, "node_modules/is-async-function": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6570,7 +6566,8 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { "has-bigints": "^1.0.1" }, @@ -6580,7 +6577,8 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -6594,12 +6592,14 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "node_modules/is-callable": { "version": "1.2.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { "node": ">= 0.4" }, @@ -6608,11 +6608,15 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, - "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6620,7 +6624,8 @@ }, "node_modules/is-data-view": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dependencies": { "is-typed-array": "^1.1.13" }, @@ -6633,7 +6638,8 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6646,29 +6652,33 @@ }, "node_modules/is-defined": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz", + "integrity": "sha512-/drGiPCBGsJDhtnLkdcNl8QtEo9ddV10m0Y7wzkopIQM4u91wXhe84pZSH6RLukO2uJDtQoaAr1XoP0ilwsYzg==", + "dev": true }, "node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -6678,24 +6688,27 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-generator-function": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6708,8 +6721,9 @@ }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -6719,8 +6733,9 @@ }, "node_modules/is-map": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6730,7 +6745,8 @@ }, "node_modules/is-negative-zero": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "engines": { "node": ">= 0.4" }, @@ -6739,16 +6755,21 @@ } }, "node_modules/is-number": { - "version": "7.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", "dev": true, - "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=0.12.0" + "node": ">=0.10.0" } }, "node_modules/is-number-object": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6761,16 +6782,18 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -6778,9 +6801,19 @@ "node": ">=0.10.0" } }, + "node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-regex": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -6794,8 +6827,9 @@ }, "node_modules/is-set": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6805,7 +6839,8 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { "call-bind": "^1.0.7" }, @@ -6818,8 +6853,9 @@ }, "node_modules/is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -6829,7 +6865,8 @@ }, "node_modules/is-string": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6842,7 +6879,8 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { "has-symbols": "^1.0.2" }, @@ -6855,7 +6893,8 @@ }, "node_modules/is-typed-array": { "version": "1.1.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { "which-typed-array": "^1.1.14" }, @@ -6868,8 +6907,9 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6879,7 +6919,8 @@ }, "node_modules/is-weakref": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { "call-bind": "^1.0.2" }, @@ -6889,8 +6930,9 @@ }, "node_modules/is-weakset": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4" @@ -6904,33 +6946,47 @@ }, "node_modules/isarray": { "version": "2.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isobject": { - "version": "3.0.1", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, - "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, "engines": { "node": ">=0.10.0" } }, + "node_modules/isobject/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -6944,8 +7000,9 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -6955,29 +7012,11 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -6987,10 +7026,20 @@ "node": ">=10" } }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/istanbul-reports": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -7001,8 +7050,9 @@ }, "node_modules/iterator.prototype": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, - "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", @@ -7013,8 +7063,9 @@ }, "node_modules/jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -7038,8 +7089,9 @@ }, "node_modules/jest-changed-files": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -7051,8 +7103,9 @@ }, "node_modules/jest-circus": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -7080,70 +7133,31 @@ } }, "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-circus/node_modules/diff-sequences": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/jest-diff": { - "version": "29.7.0", - "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -7156,8 +7170,9 @@ }, "node_modules/jest-circus/node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -7170,8 +7185,9 @@ }, "node_modules/jest-circus/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7181,37 +7197,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-circus/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-cli": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -7240,74 +7236,11 @@ } } }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-config": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -7349,62 +7282,22 @@ } }, "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-config/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7414,37 +7307,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-config/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-diff": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -7455,82 +7328,20 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-diff/node_modules/jest-get-type": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-docblock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, - "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -7538,18 +7349,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-docblock/node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-each": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -7562,62 +7366,22 @@ } }, "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.7.0", - "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7627,37 +7391,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-each/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-environment-node": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -7672,16 +7416,18 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -7704,8 +7450,9 @@ }, "node_modules/jest-leak-detector": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -7716,8 +7463,9 @@ }, "node_modules/jest-leak-detector/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7727,8 +7475,9 @@ }, "node_modules/jest-leak-detector/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7740,13 +7489,15 @@ }, "node_modules/jest-leak-detector/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-matcher-utils": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -7757,82 +7508,20 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-matcher-utils/node_modules/jest-get-type": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-message-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -7849,62 +7538,22 @@ } }, "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7914,37 +7563,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-message-util/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/jest-mock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -7956,8 +7585,9 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -7972,16 +7602,18 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -7999,8 +7631,9 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, - "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -8009,74 +7642,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -8104,74 +7674,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -8200,401 +7707,93 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-snapshot": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-snapshot/node_modules/diff-sequences": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/pretty-format": { + "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8604,119 +7803,114 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/react-is": { + "node_modules/jest-snapshot/node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-watcher": { + "node_modules/jest-validate": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -8727,18 +7921,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8751,12 +7938,14 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { "argparse": "^2.0.1" }, @@ -8765,16 +7954,18 @@ } }, "node_modules/jsep": { - "version": "1.3.8", - "license": "MIT", + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.9.tgz", + "integrity": "sha512-i1rBX5N7VPl0eYb6+mHNp52sEuaS2Wi8CDYx1X5sn9naevL78+265XJqy1qENEk7mRKwS06NHpUqiBwR7qeodw==", "engines": { "node": ">= 10.16.0" } }, "node_modules/jsesc": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -8784,24 +7975,28 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema-migrate": { "version": "0.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-0.2.0.tgz", + "integrity": "sha512-dq4/oHWmtw/+0ytnXsDqVn+VsVweTEmzm5jLgguPn9BjSzn6/q58ZiZx3BHiQyJs612f0T5Z+MrUEUUY5DHsRg==", "dependencies": { "ajv": "^5.0.0" } }, "node_modules/json-schema-migrate/node_modules/ajv": { "version": "5.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", "dependencies": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -8811,33 +8006,39 @@ }, "node_modules/json-schema-migrate/node_modules/fast-deep-equal": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" }, "node_modules/json-schema-migrate/node_modules/json-schema-traverse": { "version": "0.3.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" }, "node_modules/json-schema-traverse": { - "version": "0.4.1", - "license": "MIT" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json-stable-stringify": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", "dev": true, - "license": "MIT", "dependencies": { "jsonify": "~0.0.0" } }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -8847,42 +8048,48 @@ }, "node_modules/jsonc-parser": { "version": "2.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", + "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==" }, "node_modules/jsonify": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "dev": true, - "license": "Public Domain", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" - ], - "license": "MIT" + ] }, "node_modules/jsonpath-plus": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", + "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", "engines": { "node": ">=12.0.0" } }, "node_modules/jsonpointer": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/JSONStream": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, - "license": "(MIT OR Apache-2.0)", "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -8896,8 +8103,9 @@ }, "node_modules/jsx-ast-utils": { "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -8910,16 +8118,18 @@ }, "node_modules/keyv": { "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, - "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -8929,30 +8139,34 @@ }, "node_modules/kleur": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/labeled-stream-splicer": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "stream-splicer": "^2.0.0" } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "dev": true, - "license": "CC0-1.0" + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true }, "node_modules/language-tags": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dev": true, - "license": "MIT", "dependencies": { "language-subtag-registry": "^0.3.20" }, @@ -8962,8 +8176,9 @@ }, "node_modules/lazy-cache": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", "dev": true, - "license": "MIT", "dependencies": { "set-getter": "^0.1.0" }, @@ -8973,15 +8188,17 @@ }, "node_modules/leven": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -8992,13 +8209,15 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, "node_modules/list-item": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", + "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==", "dev": true, - "license": "MIT", "dependencies": { "expand-range": "^1.8.1", "extend-shallow": "^2.0.1", @@ -9009,29 +8228,20 @@ "node": ">=0.10.0" } }, - "node_modules/list-item/node_modules/is-number": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/loader-runner": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -9044,42 +8254,50 @@ }, "node_modules/lodash": { "version": "4.17.21", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash._reinterpolate": { "version": "3.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true }, "node_modules/lodash.kebabcase": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true }, "node_modules/lodash.memoize": { "version": "3.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/lodash.snakecase": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true }, "node_modules/lodash.template": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, - "license": "MIT", "dependencies": { "lodash._reinterpolate": "^3.0.0", "lodash.templatesettings": "^4.0.0" @@ -9087,37 +8305,43 @@ }, "node_modules/lodash.templatesettings": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, - "license": "MIT", "dependencies": { "lodash._reinterpolate": "^3.0.0" } }, "node_modules/lodash.topath": { "version": "4.5.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" }, "node_modules/lodash.upperfirst": { "version": "4.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true }, "node_modules/long": { "version": "5.2.3", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -9130,37 +8354,42 @@ }, "node_modules/make-error": { "version": "1.3.6", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "node_modules/makeerror": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/map-obj": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/markdown-link": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", + "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/markdown-toc": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", + "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", "dev": true, - "license": "MIT", "dependencies": { "concat-stream": "^1.5.2", "diacritics-map": "^0.1.0", @@ -9184,13 +8413,15 @@ }, "node_modules/math-random": { "version": "1.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true }, "node_modules/md5.js": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -9199,23 +8430,26 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, - "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -9224,8 +8458,9 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -9236,21 +8471,24 @@ }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/mime-db": { "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -9260,49 +8498,50 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/mixin-deep": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "license": "MIT", "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -9313,8 +8552,9 @@ }, "node_modules/mixin-deep/node_modules/is-extendable": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -9324,13 +8564,15 @@ }, "node_modules/mkdirp-classic": { "version": "0.5.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true }, "node_modules/module-deps": { "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, - "license": "MIT", "dependencies": { "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", @@ -9355,69 +8597,46 @@ "node": ">= 0.8.0" } }, - "node_modules/module-deps/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/module-deps/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/module-deps/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/mothership": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mothership/-/mothership-0.3.0.tgz", + "integrity": "sha512-/ORGXVhkG5Qal0ZD3BnxG/JtMcCJKOn7FkbbTA8N9HwJyXGsBYq9EXH7WbsRCpGUwmwrpQqN6ENLUL+ebmNTCQ==", "dev": true, - "license": "MIT", "dependencies": { "find-parent-dir": "~0.3.0" } }, "node_modules/mrmime": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/nimma": { "version": "0.2.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.2.tgz", + "integrity": "sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==", "dependencies": { "@jsep-plugin/regex": "^1.0.1", "@jsep-plugin/ternary": "^1.0.2", @@ -9434,7 +8653,8 @@ }, "node_modules/nimma/node_modules/jsonpath-plus": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", + "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", "optional": true, "engines": { "node": ">=10.0.0" @@ -9442,7 +8662,8 @@ }, "node_modules/node-fetch": { "version": "2.6.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -9460,26 +8681,30 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true }, "node_modules/node-releases": { - "version": "2.0.14", - "dev": true, - "license": "MIT" + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz", + "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==", + "dev": true }, "node_modules/normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -9488,22 +8713,44 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "license": "MIT", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -9517,23 +8764,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/object.fromentries": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -9549,8 +8784,9 @@ }, "node_modules/object.groupby": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -9562,8 +8798,9 @@ }, "node_modules/object.pick": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -9571,10 +8808,20 @@ "node": ">=0.10.0" } }, + "node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.values": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -9589,16 +8836,18 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -9611,23 +8860,25 @@ }, "node_modules/opener": { "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, - "license": "(WTFPL OR MIT)", "bin": { "opener": "bin/opener-bin.js" } }, "node_modules/optionator": { - "version": "0.9.3", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -9635,13 +8886,15 @@ }, "node_modules/os-browserify": { "version": "0.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true }, "node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -9654,8 +8907,9 @@ }, "node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -9668,21 +8922,24 @@ }, "node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pako": { "version": "1.0.11", - "dev": true, - "license": "(MIT AND Zlib)" + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -9692,16 +8949,18 @@ }, "node_modules/parents": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", "dev": true, - "license": "MIT", "dependencies": { "path-platform": "~0.11.15" } }, "node_modules/parse-asn1": { "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", "dev": true, - "license": "ISC", "dependencies": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", @@ -9716,8 +8975,9 @@ }, "node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9734,7 +8994,8 @@ "node_modules/parserapiv1": { "name": "@asyncapi/parser", "version": "2.1.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.1.2.tgz", + "integrity": "sha512-2pHKnr2P8EujcrvZo4x4zNwsEIAg5vb1ZEhl2+OH0YBg8EYH/Xx73XZ+bbwLaYIg1gvFjm29jNB9UL3CMeDU5w==", "dependencies": { "@asyncapi/specs": "^5.1.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", @@ -9759,40 +9020,17 @@ }, "node_modules/parserapiv1/node_modules/@asyncapi/specs": { "version": "5.1.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.1.0.tgz", + "integrity": "sha512-yffhETqehkim43luMnPKOwzY0D0YtU4bKpORIXIaid6p5Y5kDLrMGJaEPkNieQp03HMjhjFrnUPtT8kvqe0+aQ==", "dependencies": { "@types/json-schema": "^7.0.11" } }, - "node_modules/parserapiv1/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/parserapiv1/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/parserapiv1/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/parserapiv2": { "name": "@asyncapi/parser", "version": "3.0.0-next-major-spec.8", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.0.0-next-major-spec.8.tgz", + "integrity": "sha512-d8ebYM08BCsx3Q4AeLke6naU/NrcAXFEVpS6b3EWcKRdUDce+v0X5k9aDH+YXWCaQApEF28UzcxhlSOJvhIFgQ==", "dependencies": { "@asyncapi/specs": "^6.0.0-next-major-spec.9", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", @@ -9813,93 +9051,77 @@ "webapi-parser": "^0.5.0" } }, - "node_modules/parserapiv2/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/parserapiv2/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" - } - }, - "node_modules/parserapiv2/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/patch-text": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", + "integrity": "sha512-r1P+pfiTgWrsMOk/aW64RGv0oLjdyP0LeaLv2dF+iUfaVLqicXRi2dkjGYDgQ/kHVYm4z4GEHnx36Q6uqiFNlA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-browserify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-platform": { "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, - "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -9913,18 +9135,21 @@ }, "node_modules/pend": { "version": "1.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, "node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true }, "node_modules/picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -9934,16 +9159,18 @@ }, "node_modules/pirates": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -9953,8 +9180,9 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -9965,8 +9193,9 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -9976,8 +9205,9 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -9990,8 +9220,9 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -10001,30 +9232,34 @@ }, "node_modules/pony-cause": { "version": "1.1.1", - "license": "0BSD", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", + "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", "engines": { "node": ">=12.0.0" } }, "node_modules/possible-typed-array-names": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", "engines": { "node": ">= 0.4" } }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "3.2.5", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -10037,8 +9272,9 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -10048,8 +9284,9 @@ }, "node_modules/pretty-format": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -10061,8 +9298,9 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -10072,29 +9310,33 @@ }, "node_modules/process": { "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/prompts": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -10105,8 +9347,9 @@ }, "node_modules/protobufjs": { "version": "7.3.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz", + "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==", "hasInstallScript": true, - "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -10127,13 +9370,15 @@ }, "node_modules/proxy-from-env": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, "node_modules/public-encrypt": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -10145,30 +9390,33 @@ }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/pump": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, - "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true }, "node_modules/puppeteer": { "version": "17.1.3", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.1.3.tgz", + "integrity": "sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw==", + "deprecated": "< 22.6.4 is no longer supported", "dev": true, "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { "cross-fetch": "3.1.5", "debug": "4.3.4", @@ -10186,31 +9434,27 @@ "node": ">=14.1.0" } }, - "node_modules/puppeteer/node_modules/agent-base": { - "version": "6.0.2", + "node_modules/puppeteer/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "4" + "ms": "2.1.2" }, "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/puppeteer/node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" + "node": ">=6.0" }, - "engines": { - "node": ">= 6" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/pure-rand": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -10221,13 +9465,13 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ], - "license": "MIT" + ] }, "node_modules/qs": { - "version": "6.12.1", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" }, @@ -10240,6 +9484,8 @@ }, "node_modules/querystring-es3": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, "engines": { "node": ">=0.4.x" @@ -10247,6 +9493,8 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -10261,12 +9509,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/ramldt2jsonschema": { "version": "1.2.3", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/ramldt2jsonschema/-/ramldt2jsonschema-1.2.3.tgz", + "integrity": "sha512-+wLDAV2NNv9NkfEUOYStaDu/6RYgYXeC1zLtXE+dMU/jDfjpN4iJnBGycDwFTFaIQGosOQhxph7fEX6Mpwxdug==", "dependencies": { "commander": "^5.0.0", "js-yaml": "^3.14.0", @@ -10280,14 +9528,16 @@ }, "node_modules/ramldt2jsonschema/node_modules/argparse": { "version": "1.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/ramldt2jsonschema/node_modules/js-yaml": { "version": "3.14.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -10298,8 +9548,9 @@ }, "node_modules/randomatic": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^4.0.0", "kind-of": "^6.0.0", @@ -10311,32 +9562,36 @@ }, "node_modules/randomatic/node_modules/is-number": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/randomatic/node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomfill": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, - "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -10344,26 +9599,24 @@ }, "node_modules/react-is": { "version": "17.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true }, "node_modules/read-only-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "^2.0.2" } }, - "node_modules/read-only-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/read-only-stream/node_modules/readable-stream": { + "node_modules/readable-stream": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10374,28 +9627,32 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/read-only-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "safe-buffer": "~5.1.0" } }, "node_modules/rechoir": { "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -10405,8 +9662,9 @@ }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -10423,22 +9681,19 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "dev": true, - "license": "MIT" - }, "node_modules/regexp-tree": { "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, - "license": "MIT", "bin": { "regexp-tree": "bin/regexp-tree" } }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dependencies": { "call-bind": "^1.0.6", "define-properties": "^1.2.1", @@ -10454,8 +9709,9 @@ }, "node_modules/remarkable": { "version": "1.7.4", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", + "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.10", "autolinker": "~0.28.0" @@ -10469,104 +9725,55 @@ }, "node_modules/remarkable/node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/rename-function-calls": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz", + "integrity": "sha512-F+z4csKBo6gw4y5vhIbOhG+UcZVWNh42fW35dagdFP74YrY4ET932NTZZEimMdJz8Efha73caz/OFGxt1vReOA==", "dev": true, - "license": "MIT", "dependencies": { "detective": "~3.1.0" } }, "node_modules/rename-function-calls/node_modules/detective": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", + "integrity": "sha512-BIvQHuiVSRMufK1OnlpeAzVqF2yXD75ZzYIx8XV4VQiJ48chF/MMYAdsz/NkulhZznwb4fAX8vyi5CUc24I2BA==", "dev": true, - "license": "MIT", "dependencies": { "escodegen": "~1.1.0", "esprima-fb": "3001.1.0-dev-harmony-fb" } }, - "node_modules/rename-function-calls/node_modules/escodegen": { - "version": "1.1.0", - "dev": true, - "dependencies": { - "esprima": "~1.0.4", - "estraverse": "~1.5.0", - "esutils": "~1.0.0" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=0.4.0" - }, - "optionalDependencies": { - "source-map": "~0.1.30" - } - }, - "node_modules/rename-function-calls/node_modules/esprima": { - "version": "1.0.4", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/rename-function-calls/node_modules/estraverse": { - "version": "1.5.1", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/rename-function-calls/node_modules/esutils": { - "version": "1.0.0", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rename-function-calls/node_modules/source-map": { - "version": "0.1.43", - "dev": true, - "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/repeat-element": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/replace-requires": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.4.tgz", + "integrity": "sha512-9PpQ4IWrhJ+waLnakqT26sOIFW8SPTWZ/aEmz35Pq1V1k1A352nYDTkbhznTGUmYS2MsC0ULJ+2vChstBTxKRw==", "dev": true, - "license": "MIT", "dependencies": { "detective": "^4.5.0", "has-require": "~1.2.1", @@ -10579,8 +9786,9 @@ }, "node_modules/replace-requires/node_modules/acorn": { "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -10590,8 +9798,9 @@ }, "node_modules/replace-requires/node_modules/detective": { "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "dev": true, - "license": "MIT", "dependencies": { "acorn": "^5.2.1", "defined": "^1.0.0" @@ -10599,23 +9808,26 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -10630,8 +9842,9 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -10641,32 +9854,36 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/resolve.exports": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/reusify": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -10674,8 +9891,10 @@ }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -10688,8 +9907,9 @@ }, "node_modules/ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -10697,6 +9917,8 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -10712,14 +9934,14 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-array-concat": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -10735,6 +9957,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -10749,20 +9973,21 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safe-regex": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", "dev": true, - "license": "MIT", "dependencies": { "regexp-tree": "~0.1.1" } }, "node_modules/safe-regex-test": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -10777,12 +10002,14 @@ }, "node_modules/safe-stable-stringify": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" }, "node_modules/schema-utils": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -10796,10 +10023,42 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "node_modules/semver": { - "version": "7.6.2", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -10809,15 +10068,17 @@ }, "node_modules/serialize-javascript": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/set-function-length": { "version": "1.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -10832,7 +10093,8 @@ }, "node_modules/set-function-name": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -10845,8 +10107,9 @@ }, "node_modules/set-getter": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", + "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", "dev": true, - "license": "MIT", "dependencies": { "to-object-path": "^0.3.0" }, @@ -10856,8 +10119,9 @@ }, "node_modules/sha.js": { "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -10868,8 +10132,9 @@ }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -10879,16 +10144,18 @@ }, "node_modules/shallow-clone/node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/shasum": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", "dev": true, - "license": "MIT", "dependencies": { "json-stable-stringify": "~0.0.0", "sha.js": "~2.4.4" @@ -10896,16 +10163,18 @@ }, "node_modules/shasum-object": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "fast-safe-stringify": "^2.0.7" } }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -10915,23 +10184,26 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/side-channel": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -10947,11 +10219,14 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "node_modules/simple-concat": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true, "funding": [ { @@ -10966,12 +10241,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/simple-eval": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.0.tgz", + "integrity": "sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==", "dependencies": { "jsep": "^1.1.2" }, @@ -10981,8 +10256,9 @@ }, "node_modules/sirv": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, - "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", @@ -10994,42 +10270,57 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, "node_modules/slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/source-map": { - "version": "0.6.1", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/stack-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -11039,82 +10330,50 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/stream-browserify/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/stream-browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/stream-combiner2": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, - "license": "MIT", "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, - "node_modules/stream-combiner2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-combiner2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-combiner2/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/stream-http": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", "dev": true, - "license": "MIT", "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.4", @@ -11122,56 +10381,44 @@ "xtend": "^4.0.2" } }, - "node_modules/stream-splicer": { - "version": "2.0.1", + "node_modules/stream-http/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/stream-splicer/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-splicer/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/stream-splicer/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/string_decoder": { - "version": "1.1.1", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/string-length": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -11182,8 +10429,9 @@ }, "node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -11195,12 +10443,24 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", "dev": true, - "license": "MIT" + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, "node_modules/string.prototype.trim": { "version": "1.2.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -11216,7 +10476,8 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -11228,7 +10489,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -11243,8 +10505,9 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11253,33 +10516,37 @@ } }, "node_modules/strip-bom": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-color": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -11289,27 +10556,30 @@ }, "node_modules/subarg": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.1.0" } }, "node_modules/supports-color": { - "version": "5.5.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11319,33 +10589,59 @@ }, "node_modules/svg-element-attributes": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", + "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/synckit/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, "node_modules/syntax-error": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, - "license": "MIT", "dependencies": { "acorn-node": "^1.2.0" } }, "node_modules/tapable": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tar-fs": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, - "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -11355,8 +10651,9 @@ }, "node_modules/tar-stream": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, - "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -11368,15 +10665,31 @@ "node": ">=6" } }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/ternary": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz", + "integrity": "sha512-/e+OUAGiEqytNLXnDfFkuel0N0y9IGkmvuGIPkirI+zv0dx/jPvUZ2l8qV6KYk8lmmLrAqk4iLJtRduUA6AUKw==", + "dev": true }, "node_modules/terser": { - "version": "5.30.3", + "version": "5.31.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -11392,8 +10705,9 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -11423,18 +10737,11 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11446,8 +10753,9 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11460,13 +10768,24 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11474,8 +10793,9 @@ }, "node_modules/test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -11485,71 +10805,32 @@ "node": ">=8" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/through": { "version": "2.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/through2": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/timers-browserify": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", "dev": true, "dependencies": { "process": "~0.11.0" @@ -11560,21 +10841,24 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true }, "node_modules/to-fast-properties": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-object-path": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11584,8 +10868,9 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -11593,40 +10878,55 @@ "node": ">=8.0" } }, + "node_modules/to-regex-range/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/toml": { "version": "2.3.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true }, "node_modules/totalist": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/transformify": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz", + "integrity": "sha512-BUZAqCslm5pVXExA8PfXcvp7exsUNqRcNzx+KXj3Bv0oMROqnAt4bvs9U8Z2wVPa40NvLWJ/oswN0kreNFxBUg==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~1.1.9" } }, "node_modules/transformify/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true }, "node_modules/transformify/node_modules/readable-stream": { "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -11636,13 +10936,15 @@ }, "node_modules/transformify/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true }, "node_modules/ts-api-utils": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=16" }, @@ -11652,8 +10954,9 @@ }, "node_modules/ts-loader": { "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -11669,82 +10972,20 @@ "webpack": "^5.0.0" } }, - "node_modules/ts-loader/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ts-loader/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/ts-loader/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ts-loader/node_modules/source-map": { "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, - "node_modules/ts-loader/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ts-node": { "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, - "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -11783,10 +11024,23 @@ } } }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -11796,8 +11050,9 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -11805,38 +11060,31 @@ "json5": "lib/cli.js" } }, - "node_modules/tslib": { - "version": "2.6.3", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "node": ">=4" } }, - "node_modules/tsutils/node_modules/tslib": { + "node_modules/tslib": { "version": "1.14.1", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/tty-browserify": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true }, "node_modules/turbo": { "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.3.tgz", + "integrity": "sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==", "dev": true, - "license": "MPL-2.0", "bin": { "turbo": "bin/turbo" }, @@ -11849,22 +11097,89 @@ "turbo-windows-arm64": "1.13.3" } }, + "node_modules/turbo-darwin-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.13.3.tgz", + "integrity": "sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, "node_modules/turbo-darwin-arm64": { "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.3.tgz", + "integrity": "sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==", "cpu": [ "arm64" ], "dev": true, - "license": "MPL-2.0", "optional": true, "os": [ "darwin" ] }, + "node_modules/turbo-linux-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.13.3.tgz", + "integrity": "sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.13.3.tgz", + "integrity": "sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.13.3.tgz", + "integrity": "sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.13.3.tgz", + "integrity": "sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -11874,16 +11189,18 @@ }, "node_modules/type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { - "version": "0.21.3", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -11893,7 +11210,8 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -11905,7 +11223,8 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -11922,7 +11241,8 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -11940,7 +11260,8 @@ }, "node_modules/typed-array-length": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -11958,13 +11279,15 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true }, "node_modules/typescript": { "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -11975,15 +11298,17 @@ }, "node_modules/umd": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", "dev": true, - "license": "MIT", "bin": { "umd": "bin/cli.js" } }, "node_modules/unbox-primitive": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -11996,8 +11321,9 @@ }, "node_modules/unbzip2-stream": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" @@ -12005,8 +11331,9 @@ }, "node_modules/undeclared-identifiers": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "acorn-node": "^1.3.0", "dash-ast": "^1.0.0", @@ -12020,10 +11347,13 @@ }, "node_modules/undici-types": { "version": "5.26.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/update-browserslist-db": { - "version": "1.0.13", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -12039,10 +11369,9 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -12053,63 +11382,75 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, "node_modules/urijs": { "version": "1.19.11", - "license": "MIT" + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" }, "node_modules/url": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dev": true, - "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.11.2" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "dev": true, - "license": "MIT" - }, "node_modules/util": { "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "2.0.3" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true }, "node_modules/utility-types": { "version": "3.11.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "engines": { "node": ">= 4" } }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.2.0", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, - "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -12119,23 +11460,32 @@ "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/vm-browserify": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true }, "node_modules/walker": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watchpack": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -12146,14 +11496,16 @@ }, "node_modules/webapi-parser": { "version": "0.5.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/webapi-parser/-/webapi-parser-0.5.0.tgz", + "integrity": "sha512-fPt6XuMqLSvBz8exwX4QE1UT+pROLHa00EMDCdO0ybICduwQ1V4f7AWX4pNOpCp+x+0FjczEsOxtQU0d8L3QKw==", "dependencies": { "ajv": "6.5.2" } }, "node_modules/webapi-parser/node_modules/ajv": { "version": "6.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dependencies": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -12163,16 +11515,24 @@ }, "node_modules/webapi-parser/node_modules/fast-deep-equal": { "version": "2.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + }, + "node_modules/webapi-parser/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.91.0", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -12180,10 +11540,10 @@ "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -12217,8 +11577,9 @@ }, "node_modules/webpack-bundle-analyzer": { "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -12240,29 +11601,32 @@ "node": ">= 10.13.0" } }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, - "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { - "node": ">= 10" + "node": ">=0.4.0" } }, - "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, "node_modules/webpack-bundle-analyzer/node_modules/ws": { "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -12281,8 +11645,9 @@ }, "node_modules/webpack-cli": { "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^1.2.0", @@ -12327,16 +11692,18 @@ }, "node_modules/webpack-cli/node_modules/commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-merge": { "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -12348,23 +11715,48 @@ }, "node_modules/webpack-sources": { "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.13.0" } }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/webpack/node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -12372,8 +11764,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -12386,7 +11779,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -12400,8 +11794,9 @@ }, "node_modules/which-builtin-type": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", "dev": true, - "license": "MIT", "dependencies": { "function.prototype.name": "^1.1.5", "has-tostringtag": "^1.0.0", @@ -12425,8 +11820,9 @@ }, "node_modules/which-collection": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, - "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -12442,7 +11838,8 @@ }, "node_modules/which-typed-array": { "version": "1.1.15", - "license": "MIT", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -12459,13 +11856,24 @@ }, "node_modules/wildcard": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, "node_modules/wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -12478,45 +11886,17 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/write-file-atomic": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -12527,8 +11907,9 @@ }, "node_modules/ws": { "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -12547,29 +11928,33 @@ }, "node_modules/xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "node_modules/yargs": { "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -12585,16 +11970,18 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yauzl": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, - "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -12602,16 +11989,18 @@ }, "node_modules/yn": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -12684,6 +12073,20 @@ } } }, + "packages/multi-parser/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "packages/multi-parser/node_modules/@typescript-eslint/parser": { "version": "5.62.0", "dev": true, @@ -12752,6 +12155,20 @@ } } }, + "packages/multi-parser/node_modules/@typescript-eslint/type-utils/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "packages/multi-parser/node_modules/@typescript-eslint/types": { "version": "5.62.0", "dev": true, @@ -12790,6 +12207,20 @@ } } }, + "packages/multi-parser/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "packages/multi-parser/node_modules/@typescript-eslint/utils": { "version": "5.62.0", "dev": true, @@ -12831,6 +12262,26 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "packages/multi-parser/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "packages/multi-parser/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "packages/parser": { "name": "@asyncapi/parser", "version": "3.1.0", @@ -12838,7 +12289,7 @@ "dependencies": { "@asyncapi/specs": "^6.6.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", + "@stoplight/json": "3.21.0", "@stoplight/json-ref-readers": "^1.2.2", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", @@ -12886,6 +12337,15 @@ "webpack-cli": "^4.10.0" } }, + "packages/parser/node_modules/@types/node": { + "version": "18.19.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.41.tgz", + "integrity": "sha512-LX84pRJ+evD2e2nrgYCHObGWkiQJ1mL+meAgbvnwk/US6vmMY7S2ygBTGV2Jw91s9vUsLSXeDEkUHZIJGLrhsg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, "packages/parser/node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "dev": true, @@ -12919,6 +12379,20 @@ } } }, + "packages/parser/node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "packages/parser/node_modules/@typescript-eslint/parser": { "version": "5.62.0", "dev": true, @@ -12987,6 +12461,20 @@ } } }, + "packages/parser/node_modules/@typescript-eslint/type-utils/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "packages/parser/node_modules/@typescript-eslint/types": { "version": "5.62.0", "dev": true, @@ -13025,6 +12513,20 @@ } } }, + "packages/parser/node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "packages/parser/node_modules/@typescript-eslint/utils": { "version": "5.62.0", "dev": true, @@ -13066,30 +12568,25 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "packages/parser/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", + "packages/parser/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=8.0.0" } }, - "packages/parser/node_modules/ajv-errors": { - "version": "3.0.0", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" + "packages/parser/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } - }, - "packages/parser/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" } } } diff --git a/package.json b/package.json index d16460acd..521c8ced9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "parser-js", "private": true, "scripts": { - "test": "turbo run build && turbo run test", + "test": "turbo run test", "lint": "turbo run lint", "lint:fix": "turbo run lint:fix", "build": "turbo run build", diff --git a/packages/parser/package.json b/packages/parser/package.json index a6bcae791..e96674779 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -44,7 +44,7 @@ "dependencies": { "@asyncapi/specs": "^6.6.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", - "@stoplight/json": "^3.20.2", + "@stoplight/json": "3.21.0", "@stoplight/json-ref-readers": "^1.2.2", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", From 4fda2a4252d58a33c570a5a576f05a0eb5c1035d Mon Sep 17 00:00:00 2001 From: ayushnau Date: Fri, 19 Jul 2024 12:08:19 +0530 Subject: [PATCH 105/107] changed the name to parserapiv3 --- package-lock.json | 8 ++++++-- packages/multi-parser/jest.config.ts | 2 +- packages/multi-parser/package.json | 2 +- packages/multi-parser/src/convert.ts | 6 +++--- packages/multi-parser/src/parse.ts | 4 ++-- packages/multi-parser/test/convert.spec.ts | 2 +- packages/multi-parser/test/parse.spec.ts | 2 +- 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29cba2338..6ef8ca241 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9051,6 +9051,10 @@ "webapi-parser": "^0.5.0" } }, + "node_modules/parserapiv3": { + "resolved": "packages/parser", + "link": true + }, "node_modules/patch-text": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz", @@ -12015,11 +12019,11 @@ "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.3", "@asyncapi/openapi-schema-parser": "^3.0.4", - "@asyncapi/parser": "file:../parser", "@asyncapi/protobuf-schema-parser": "^3.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", - "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8" + "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", + "parserapiv3": "file:../parser" }, "devDependencies": { "@jest/types": "^29.0.2", diff --git a/packages/multi-parser/jest.config.ts b/packages/multi-parser/jest.config.ts index ec7f1cd2a..53bedc3cb 100644 --- a/packages/multi-parser/jest.config.ts +++ b/packages/multi-parser/jest.config.ts @@ -22,7 +22,7 @@ const config: Config.InitialOptions = { 'src/**' ], moduleNameMapper: { - '^@asyncapi/parser$': path.resolve(__dirname, '../parser') + '^parserapiv3$': path.resolve(__dirname, '../parser') } }; diff --git a/packages/multi-parser/package.json b/packages/multi-parser/package.json index b6dd86026..031f2e824 100644 --- a/packages/multi-parser/package.json +++ b/packages/multi-parser/package.json @@ -45,7 +45,7 @@ "@asyncapi/raml-dt-schema-parser": "^4.0.4", "parserapiv1": "npm:@asyncapi/parser@^2.1.0", "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8", - "@asyncapi/parser": "file:../parser" + "parserapiv3": "file:../parser" }, "devDependencies": { diff --git a/packages/multi-parser/src/convert.ts b/packages/multi-parser/src/convert.ts index 5ca12044c..f8916e6a4 100644 --- a/packages/multi-parser/src/convert.ts +++ b/packages/multi-parser/src/convert.ts @@ -1,14 +1,14 @@ import { createAsyncAPIDocument as createAsyncAPIDocumentParserV1 } from 'parserapiv1'; import { createAsyncAPIDocument as createAsyncAPIDocumentParserV2 } from 'parserapiv2'; -import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from '@asyncapi/parser/esm/index'; +import { createAsyncAPIDocument as createAsyncAPIDocumentParserV3 } from 'parserapiv3/esm/index'; import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV1 } from 'parserapiv1'; import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV2 } from 'parserapiv2'; -import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from '@asyncapi/parser/esm/index'; +import type { AsyncAPIDocumentInterface as AsyncAPIDocumentInterfaceParserV3 } from 'parserapiv3/esm/index'; import type { DetailedAsyncAPI as DetailedAsyncAPIParserV1 } from 'parserapiv1/esm/types'; import type { DetailedAsyncAPI as DetailedAsyncAPIParserV2 } from 'parserapiv2/esm/types'; -import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from '@asyncapi/parser/esm/types'; +import type { DetailedAsyncAPI as DetailedAsyncAPIParserV3 } from 'parserapiv3/esm/types'; export type AsyncAPIDocument = AsyncAPIDocumentInterfaceParserV1 | AsyncAPIDocumentInterfaceParserV2 | AsyncAPIDocumentInterfaceParserV3; diff --git a/packages/multi-parser/src/parse.ts b/packages/multi-parser/src/parse.ts index 73df755ec..9569b3502 100644 --- a/packages/multi-parser/src/parse.ts +++ b/packages/multi-parser/src/parse.ts @@ -1,6 +1,6 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from '@asyncapi/parser/esm/index'; +import { Parser as ParserV3 } from 'parserapiv3/esm/index'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; @@ -9,7 +9,7 @@ import { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser'; import type { ParserOptions as ParserOptionsParserV1 } from 'parserapiv1/esm/parser'; import type { ParserOptions as ParserOptionsParserV2 } from 'parserapiv2/esm/parser'; -import type { ParserOptions as ParserOptionsParserV3 } from '@asyncapi/parser/esm/parser'; +import type { ParserOptions as ParserOptionsParserV3 } from 'parserapiv3/esm/parser'; export type ParserOptions = ParserOptionsParserV1 | ParserOptionsParserV2 | ParserOptionsParserV3; export type Options = { diff --git a/packages/multi-parser/test/convert.spec.ts b/packages/multi-parser/test/convert.spec.ts index bf89f70e7..82b4acfd1 100644 --- a/packages/multi-parser/test/convert.spec.ts +++ b/packages/multi-parser/test/convert.spec.ts @@ -1,7 +1,7 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from '@asyncapi/parser/esm/index'; +import { Parser as ParserV3 } from 'parserapiv3/esm/index'; import { AsyncAPIDocument, ConvertDocumentParserAPIVersion } from '../src/convert'; diff --git a/packages/multi-parser/test/parse.spec.ts b/packages/multi-parser/test/parse.spec.ts index 58674eb20..303516c1f 100644 --- a/packages/multi-parser/test/parse.spec.ts +++ b/packages/multi-parser/test/parse.spec.ts @@ -1,7 +1,7 @@ import { Parser as ParserV1 } from 'parserapiv1'; import { Parser as ParserV2 } from 'parserapiv2'; -import { Parser as ParserV3 } from '@asyncapi/parser/esm/index'; +import { Parser as ParserV3 } from 'parserapiv3/esm/index'; import { AvroSchemaParser } from '@asyncapi/avro-schema-parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; From f10b7fc75bb5ff5a696fd2a35183797a83c34e04 Mon Sep 17 00:00:00 2001 From: ayushnau Date: Fri, 19 Jul 2024 12:15:16 +0530 Subject: [PATCH 106/107] corrected the indentation. --- turbo.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/turbo.json b/turbo.json index 3fc08e58f..7dbfcdf0e 100644 --- a/turbo.json +++ b/turbo.json @@ -3,14 +3,14 @@ "pipeline": { "test": {"cache": false}, "prepublishOnly": {"cache": false}, - "test:unit": {"cache": false}, - "test:integration": {"cache": false}, - "test:browser": {"cache": false}, - "lint": {"cache": false}, - "lint:fix": {"cache": false}, - "build": {"cache": false , "dependsOn": ["@asyncapi/parser#build"]}, - "@asyncapi/parser#build":{"cache": false}, - "multi-parser:build":{"cache":false, "dependsOn": ["@asyncapi/parser#build"]} + "test:unit": {"cache": false}, + "test:integration": {"cache": false}, + "test:browser": {"cache": false}, + "lint": {"cache": false}, + "lint:fix": {"cache": false}, + "build": {"cache": false , "dependsOn": ["@asyncapi/parser#build"]}, + "@asyncapi/parser#build":{"cache": false}, + "multi-parser:build":{"cache":false, "dependsOn": ["@asyncapi/parser#build"]} } } From dfcdec6295c01c9f6a84b2862dd1bc56de4b1086 Mon Sep 17 00:00:00 2001 From: ayushnau Date: Fri, 19 Jul 2024 12:28:15 +0530 Subject: [PATCH 107/107] added the build script in the test. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 521c8ced9..d16460acd 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "parser-js", "private": true, "scripts": { - "test": "turbo run test", + "test": "turbo run build && turbo run test", "lint": "turbo run lint", "lint:fix": "turbo run lint:fix", "build": "turbo run build",